Skip to content

Setting up the Motion Library Packages

Mayank Mittal edited this page Oct 3, 2017 · 1 revision

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