Hi Stefan, The sbpl and sbpl_lattice_planner packages are for global planning only. In their current form there is not any code that would run it as a local reactive planner. It would be possible to code something computationally feasible that runs of sbpl_lattice_planner in a local window around the robot in order to generate 1 or 2 motion primitives to follow a global path but I think it would produce similar behavior to the BaseLocalPlanner. Your main issue is that you've given sbpl a set of motion primitives for a car robot and BaseLocalPlanner uses different "motion primitives" for its trajectory roll-out. While the trajectories that BaseLocalPlanner tries are somewhat customizable, you can't represent arbitrary motions just by changing the ros params you give it. I don't think you can disable turning in place or enable backing up as a standard roll-out just with ros params. I think the easiest solution would be to modify the code for BaseLocalPlanner somewhat in the createTrajectories function in trajectory_planner.cpp. It tries a series of forward-and-curve motions and scores them based on how close they follow the path, how far they are from obstacles, and how close they get you to the final goal (with tunable weights on all of the terms). It then tries turn in place motions. It then chooses the motion with the best score. What you want to do is add the appropriate backward-and-curve motions to the first part so that they are scored and can be chosen as well. You want to remove the section that tries turn in place motions. You essentially want to modify the trajectories it tries to be the same set (or superset) of the motion primitives you gave to sbpl. This way the local planner will try to follow the path in the way sbpl intended. -Mike- Date: Wed, 12 Jan 2011 20:55:38 +0100 From: Stefan Stiene Subject: [ros-users] sbpl as local reactive planner for a car like robot To: ros-users Message-ID: <1294862138.2051.83.camel@lenovo> Content-Type: text/plain; charset="UTF-8" Hi, I'm new to ros. I tried the sbpl_Lattice_Planner example which is totally impressing. I changed the motion primitive file to get a global plan for a car like robot. My problem is that the BaseLocalPlanner in the move_base stack is not suitable for car like robots (turning in place commands are used and no backward directed velocity commands are computed) and the robot does not move along the planned path. Is it possible to use the sbpl lib as local reactive planner for obstacle avoidance or is this computational infeasible? What would be the best starting point to see how to realize this reactive sbpl planner (I already did the basic tutorials)? Is there a comparable node for example? Best Stefan