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

Revision history [back]

The planners are loaded into move_base using pluginlib, which is entirely C++ and does not have Python capabilities. However, you could possibly use Boost::Python capabilities to embed Python into C++. This wouldn't be trivial, but is probably possible, although you might have a real hard time debugging a plugin that embeds Boost::Python, so you will probably want to write a number of standalone tests before you even try to move such a planner into move_base as a plugin.

I'm not sure from your question if you are also looking for general docs on how to actually write a new planner in just C++, but basically, the docs you need are pluginlib which tells you how to actually expose and load the class you design, and the nav_core docs which tell you the base classes you need to derive from (an instance of a pluginlib loader basically can only load one type of base class). If developing a local planner, there are a number of helper classes in the base_local_planner package for things like odometry or the "latched_xy_controller".