ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Curvu local trajectories with teb_local_planner

asked 2020-04-15 03:17:25 -0600

Yehor gravatar image

updated 2020-04-17 02:55:10 -0600

Good afternoon,

I faced the problem and can't fix it related to teb_local_planner. The planner builds the global path very good, however, the local planner is very bad. It is very curved.

image description

As you can see in the image above, the yellow line is a global path and the black one is a local path. My prediction is that probably I have to say to the planner that my robot can perform in_plac_rotation, but I don't know is it possible with teb_local_planner. Also maybe I have to forbid backward movements.

Does anyone have an idea about that problem?

Thank you Regards,

Additional photo, image description

New problem, image description

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-04-15 03:24:54 -0600

croesmann gravatar image

updated 2020-04-15 05:04:03 -0600

The local planner output is correct as it is the time-optimal solution for your parameter setting. Turning while moving forward is faster than rotating in place given your linear and angular velocity resp. acceleration limits.

However, you can tweak the behavior, as you said, by further penalizing backward motions according to this question and answer.

You can also have a look at the path following mode in case this is your preferred objective.

edit flag offensive delete link more


@croesmann thank you for your fast answer and help. I have set the backward motion to 0.0 and now will try to navigate. So as far as I understand there is no option to turn on only in place rotation.

Yehor gravatar image Yehor  ( 2020-04-15 03:29:09 -0600 )edit

@croesmann I want to ask also, is it possible to set min velocity (linear and rotation). Because the robot rotates too fast.

Yehor gravatar image Yehor  ( 2020-04-15 03:47:33 -0600 )edit

I have also received this (((

Yehor gravatar image Yehor  ( 2020-04-15 03:50:33 -0600 )edit

Please follow the complete steps in my link. You must set weight_kinematics_forward_drive to a very large value. You cannot set minimum limits.

croesmann gravatar image croesmann  ( 2020-04-15 03:59:02 -0600 )edit

Backward velocity should be at least set to penalty_epsilon to avoid numerical issues. I am not sure yet, if I detect this programmatically

croesmann gravatar image croesmann  ( 2020-04-15 04:00:40 -0600 )edit

@croesmann I did what you suggested. However, my robot always turns to much and even with a straight line direction it moves likes a snake.

I also have that warning: TebLocalPlannerROS: possible oscillation (of the robot or its local plan) detected. Activating recovery strategy (prefer current turning direction during optimization).

Do you have any idea? Thank you

Yehor gravatar image Yehor  ( 2020-04-15 06:45:10 -0600 )edit

@croesmann I added an additional photo, which represents how the robot started to move. Initially, the route was just a straight line, but the robot moves up and then start to move back down.

Yehor gravatar image Yehor  ( 2020-04-15 07:02:09 -0600 )edit

@croesmann Sorry maybe you know the answer for that question, the planner pan local plan through the table. Check please last image .

Yehor gravatar image Yehor  ( 2020-04-17 02:56:10 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2020-04-15 03:17:25 -0600

Seen: 510 times

Last updated: Apr 17 '20