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

Revision history [back]

I'm totally in the dark

Yes, it seems so. :-)

The cubic spline controller (and all other trajectory controllers) are for robot arms, not for the robot base. That means the trajectories are joint trajectories, not trajectories in 2D or 3D cartesian space. If you want the robot base to follow a trajectory, you basically have to write your own code.

What move_base does is navigation. It provides an action interface that accepts 2D cartesian coordinates. The move_base node will try to reach the coordinate given using local and global path planners, taking the map of the environment into account and avoiding collisions with obstacles. This means you have obstacle avoidance, but you don't have full control over the path that move_base chooses to reach its goal.

So, what do you want? If you want the robot to drive along a series of waypoints while doing obstacle avoidance, and you don't really care about the exact path the robot chooses, use move_base. If you want the robot to follow a spline through a series of waypoints, and you care very much about the path being exactly on that spline, but you don't want obstacle avoidance, write your own code that directly publishes to the cmd_vel topic (see this tutorial).