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.
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?