rst-tu-dortmund / teb_local_planner

An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package)
http://wiki.ros.org/teb_local_planner
BSD 3-Clause "New" or "Revised" License
992 stars 546 forks source link

Ackermann drive robot not following global path planned with TEB #307

Open saratpoluri opened 3 years ago

saratpoluri commented 3 years ago

I am currently using a Upsquared robot prokit which is an ackermann drive robot with front wheel steering. A single motor drives all 4 wheels. I use the SMAC planner using Reeds Shepp algo, in navigation2, for global path planning. I am using TEB as the controller.

I have my wheelbase at 0.16, min turning radius 0.4, cmd_angle_instead_rotvel = True. I use a tolerance value of 0.2.

The robot has multiple undesirable behaviors:

  1. Goes in the direction of the global path and when it gets closer to the goal starts readjusting and ends up in a worse pose when compared to goal.
  2. Gets to goal pose using the opposite direction of the suggested global path.

I am new to Robotics and have no clue how to debug this scenario. I have two questions:

  1. Has TEB in nav2 been tested with an ackermann robot?
  2. What is best way to debug the main issue: TEB not following the global path planned?

This is my configuration file: nav2_prokit_teb.yaml.txt

I have asked my question on ROS answers to no avail. Please point me in the right direction.