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
1.03k stars 546 forks source link

deltaT initialization has huge impact on forward or reverse motion #409

Open Ajay-2017 opened 1 year ago

Ajay-2017 commented 1 year ago

In this function TimedElasticBand::initTrajectoryToGoal(const PoseSE2& start, const PoseSE2& goal, double diststep, double max_vel_x, int min_samples, bool guess_backwards_motion)

It is written that, TODO: timestep ~ max_vel_x_backwards for backwards motions Could you please clarify this?

In my implementation of TEB, I observe that when deltaT is initialized with std::max(dt_constant_motion, rot_dist / max_vel_theta);

TEB is preferring forward motion, and creating path by violating minTurning radius constraint for diff drive robot where as if I keep dt_constant_motion = trans_dist / max_vel_x; ignoring angular velocity it does backward motion and return valid path.

Why do we see this behavior? Any intuition?