ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

After looking at the example package you provided (and fixing some issues with it, please make sure things compile on your own machine in the future), I believe the following is the problem (from #q69583 in fact):

from dynamic_reconfigure.parameter_generator import *

This is the line you would use for the old version of dynamic_reconfigure, ie: the one for rosbuild. For Catkin, the line should read:

from dynamic_reconfigure.parameter_generator_catkin import *

note the _catkin suffix there.

I would suggest to take a look at the How to Write Your First .cfg File tutorial, just to see whether the .cfg file contains some other rosbuild-isms.

After looking at the example package you provided (and fixing some issues with it, please make sure things compile on your own machine in the future), I believe the following is the problem (from #q69583 in fact):

from dynamic_reconfigure.parameter_generator import *

This is the line you would use for the old version of dynamic_reconfigure, ie: the one for rosbuild. For Catkin, the line should read:

from dynamic_reconfigure.parameter_generator_catkin import *

note the _catkin suffix there.

I would suggest to take a look at the How to Write Your First .cfg File tutorial, just to see whether the .cfg file contains some other rosbuild-isms.


Edit: changes to the pkg and files I had to make:

  • the .cfg file was not executable
  • the Start() prototype in the .cpp file did not agree with the one in the header
  • the prototype for Stop() in the .cpp file included an extra S, prefixed to the class name
  • the CMakeLists.txt referenced Boost twice without a find_package(Boost ..) anywhere
  • the CMakeLists.txt referenced a non-existing include directory

In addition, with the Catkin version of the dynamic_reconfigure generator, the cfg/cpp directory should not be on the include path any longer.