I have an Ackermann steering drive based robot or in other words ***car-like robot***. I am using `move_base` with `teb_local_planner` for path planning and control.
This is how my local and global plan look like:

You can see that the global plan (in green) is quite straightforward for the chosen goal and starting point. The local plan (in blue) is all over the place. And the robot ends up and gets stuck far away from the global plan. I suspect something is wrong with my parameter configuration, but I cannot figure out what.
Here are my params for the `TEBLocalPlanner`:
TebLocalPlannerROS:
odom_topic: /vesc/odom
map_frame: map
transform_tolerance: 0.3
# ******* Trajectory **********
teb_autosize: True
dt_ref: 0.4
dt_hysteresis: 0.1
global_plan_overwrite_orientation: True
allow_init_with_backwards_motion: True
max_global_plan_lookahead_dist: 3.0
feasibility_check_no_poses: 2
# ********** Robot **********
max_vel_x: 1.5
max_vel_x_backwards: 1.0
max_vel_y: 0.0
max_vel_theta: 2.5
acc_lim_x: 2.0
acc_lim_theta: 4.0
# ********************** Carlike robot parameters ********************
min_turning_radius: 0.82
wheelbase: 0.34
cmd_angle_instead_rotvel: False
footprint_model:
type: "line"
line_start: [0.0, 0.0]
line_end: [0.3, 0.0]
# ********** GoalTolerance **********
xy_goal_tolerance: 0.2
yaw_goal_tolerance: 3.0
free_goal_vel: False
# ********** Obstacles **********
min_obstacle_dist: 0.20
include_costmap_obstacles: True
costmap_obstacles_behind_robot_dist: 0.3
obstacle_poses_affected: 30
inflation_dist: 0.25
costmap_converter_plugin: ""
costmap_converter_spin_thread: True
costmap_converter_rate: 5
# ********** Optimization Parameters **********
weight_kinematics_forward_drive: 100.0
weight_kinematics_turning_radius: 500.0
weight_acc_lim_x: 0.0
# ********** Parallel Planning Parameters **********
enable_homotopy_class_planning: True
Most of the parameters are set to the default values. Some notable exceptions:
1. `min_turning_radius: 0.82`. I have a car like robot with max steering angle of 22 degrees and wheel base of 0.34 m.
2. `weight_kinematics_turning_radius: 500.0`. I increased it from 1 to 500 so that turning radius constraints
are enforced.
3. `weight_kinematics_forward_drive: 100.0`. I want the robot to favour forward motion.
↧