Planner for cart pushing-style motion (in-place pivoting)

asked 2019-07-18 07:58:02 -0500

AlexM gravatar image

I have a 4-wheel differential robot that is not well suited for translation and simultaneous rotation - in other words, it can only drive straight, then stop and turn in-place (pivot), then drive another straight line and so on. Like pushing a cart. Therefore it doesn't play nicely with most planners (both local and global), because they all draw pretty quadratic curved paths.

Is there a way to tune one of the existing move_base planners for this behavior?

edit retag flag offensive close merge delete

Comments

2

I'm not a navigation expert, but have you tried teb_local_planner?

It has quite a few knobs to turn and @croesmann has been pretty responsive here on this forum.

gvdhoorn gravatar image gvdhoorn  ( 2019-07-18 10:05:08 -0500 )edit

Thank you, this is exactly what I'm spending my second full day with. However I cannot find the right approach. I learned that increasing rotational acceleration limits are somewhat helpful, but it's not enough.

Additionally the planner seems to be pretty slow (?!), missing control cycles sometimes by seconds on a pretty fast machine - causing the robot to overshoot the turning point continuously.

AlexM gravatar image AlexM  ( 2019-07-18 10:08:49 -0500 )edit

this is exactly what I'm spending my second full day with.

then why didn't you list the planners that you've already tried?

gvdhoorn gravatar image gvdhoorn  ( 2019-07-18 10:19:03 -0500 )edit

You are right, sorry. I've tried base_local_planner with Trajectory Rollout, dwa_local_planner and teb_local_planner. Also tried global_planner and carrot global planner. And read all relevant answers on answers.ros.org, and the 'ROS Navigation Tuning Guide' by K.Zheng. So far I've got the impression that this motion model is basically not supported and has to be implemented.

AlexM gravatar image AlexM  ( 2019-07-18 11:56:54 -0500 )edit