Setting up the Motion Library Packages - AUV-IITK/AUVWiki GitHub Wiki
MotionLibrary is one of the major components of our auv stack. It is responsible for converting high level motion commands (4 variable system) to low level motor thrust (5 variable system) i.e. receives in [x,y,z,θ] to [pwm1, pwm2, pwm3, pwm4, pwm5, pwm6] one for each thruster.
Clone motionlibrary packages
Error xyzAction.h not auto generated
Actionlib has a bug due to which it requires you to first generate all the msgs defined in the action folder before having any ros node use it. This will most probably be fixed in future releases, till then use this workaround:
- move to source
cd ~/catkin_ws/src/motionXYZ/src - delete all nodes
rm * - edit the CMakeLists.txt
vim ../CMakeLists.txt - delete all the lines of node declaration
- move to workspace
cd ~/catkin_ws - generate actionlib files
catkin_make - move to source
cd ~/catkin_ws/src/motionXYZ - since it is a git repo do
git reset --hard HEAD - move to workspace
cd ~/catkin_ws - build package
catkin_ws