Ask Your Question

How does the teb_local_planner calculate path points for ackermann steering vehicles?

asked 2021-09-13 13:32:20 -0500

xparr45 gravatar image

Hello all,

I am trying to understand whether the steering angle and vehicle velocity commands make sense from the teb_local_planner given the local path poses and orientation. Trying to get an intuitive understanding of what's going on with conventional bicycle model equations. I can't seem to get the calculations right or are the results just an approximation of the kinematic model from teb_local_planner? I am not quite certain which is the case. Appreciate any help you guys can offer!

pose0 from the local_path output should be the initial position of the vehicle. (x,y,yaw) = (-21.87,11.4,-0.157), t_stamp=0.866s

pose1 from the local_path output should be the next position the vehicle is trying to reach. (x,y,yaw) = (-21.78,11.39,-0.102),t_stamp=0.866s according to my understanding positive yaw is CCW

The command is applied at t_stamp=0.866s is (cmd_vel,tire_wheel_angle) = (0.222,0.148) according to my understanding wheel_angle positive is CW

The bicycle model I am referring to is from pages 23 - 24. I would post the pictures here but my account is too new. "Chapter 2, Lateral Vehicle Dynamics", R. Rajamani, Vehicle Dynamics and Control, Mechanical Engineering Series, (2012) (2012)

I am calculating the center of rotation from the rear axle lf = 2.1685 lr = 0 delta_f = tire_wheel_angle from teb_local_planner psi = yaw from teb_local_planner

From the calculations, I get the following (d_x, d_y, d_psi) = (1.1e-2,-3.3e-3,-7.5e-4). These values are after multiplying dt =0.05

Adding these values to pose0, these don't seem to be close to pose1. If anyone could help offer any insight, I would greatly appreciate your help.

Thank you!

edit retag flag offensive close merge delete


Very interesting question. What I am not clear is the connection to teb_local_planner calculation as you don’t show the output of such. I read in the documentation of how the Ackerman model is defined in this module so I’m not sure if you are referring to this or not.

osilva gravatar image osilva  ( 2021-09-13 18:54:17 -0500 )edit

This is the code Ackermann drive to teb_local_planner to help your analysis:

osilva gravatar image osilva  ( 2021-09-13 19:04:36 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2021-09-15 07:19:23 -0500

osilva gravatar image

updated 2021-09-15 07:21:10 -0500

The following paper discusses that teb planner is optimizing based on "minimizing a cost function which capturing partially conflicting objectives" . The bicycle model may be an oversimplification unless you set parameters accordingly:

image description

Source: Online Trajectory Optimization and Navigation in Dynamic Environments in ROS Franz Albers??, Christoph R¨osmann, Frank Hoffmann and Torsten Bertram

edit flag offensive delete link more

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: 2021-09-13 13:32:20 -0500

Seen: 45 times

Last updated: Sep 15 '21