## For instruction on writing tutorials ## http://www.ros.org/wiki/WritingTutorials #################################### ##FILL ME IN #################################### ## for a custom note with links: ## note = ## for the canned note of "This tutorial assumes that you have completed the previous tutorials:" just add the links ## note.0=[[teb_local_planner/Tutorials/Setup and test Optimization|Set up and test Optimization]] ## note.1=[[teb_local_planner/Tutorials/Obstacle Avoidance and Robot Footprint Model|Obstacle Avoidance and Robot Footprint Model]] ## descriptive title for the tutorial ## title = Planning for holonomic robots ## multi-line description to be displayed in search ## description = In this tutorial you will learn how to set up the planner for holonomic robots (experimental). ## the next tutorial description (optional) ## next = ## links to next tutorial (optional) ## next.0.link=[[teb_local_planner/Tutorials/Incorporate customized Obstacles|Incorporate customized Obstacles]] ## next.1.link= ## what level user is this tutorial for ## level= IntermediateCategory ## keywords = Trajectory Optimization Local Planner Navigation Holonomic Omnidirectional #################################### <> <> This tutorial targets version 0.6+ of the teb_local_planner package. == Planner Configuration == In general, holonomic robots are able to follow any trajectory that is feasible also for non-holonomic robots. Hence, the teb_local_planner navigation setup can be directly applied as mentioned in the previous tutorials. However, in that case the robot does not take any advantages of its ability to move in any direction into account. The teb_local_planner package provides additional parameters which account for the extended robot's flexibility. A working navigation setup in combination with the teb_local_planner is assumed before proceeding with the extended configuration: 1. In case of a non-holonomic robot, the strafing velocity `max_vel_y` (velocity towards the y-direction w.r.t. the robot base frame) must be zero. Choose a positive bound in order to activate the support of holonomic robots. The value is considered for both strafing to the left and to the right side. 2. The desired maximum y acceleration can be set using parameter `acc_lim_y`. Note, taking acceleration limits into account might be waived for faster computation times by setting the corresponding penalty weight `weight_acc_lim_y` to zero. 3. Parameter `weight_kinematics_nh` specifies the weight for satisfying the non-holonomic constraint by the optimizer and is usually set to a high value for non-holonomic robots. Reduce the value in order to weaken the penalty and hence allowing the robot to consider non-zero y velocities. The actual choice often depends on the application and particular robot. Keeping at least a small value (approx. 1) is often recommended for regularization purposes. == Example Setup == You can find an example setup with the stage simulator in the [[teb_local_planner_tutorials|teb_local_planner_tutorials]] package. 1. Install the [[teb_local_planner_tutorials|teb_local_planner_tutorials]] package 3. Inspect the parameter/config files 4. Launch the navigation setup: `roslaunch teb_local_planner_tutorials robot_omnidir_in_stage.launch` 5. Modify parameters using `rosrun rqt_reconfigure rqt_reconfigure` or by adapting the files. ## AUTOGENERATED DO NOT DELETE ## TutorialCategory ## FILL IN THE STACK TUTORIAL CATEGORY HERE