Angular velocity to steering angle conversion [closed]

asked 2016-12-15 05:16:05 -0600

OMC gravatar image

I am following the tutorial to use the teb local planner with car-like robots. The function convert_trans_rot_vel_to_steering_angle(v, omega, wheelbase) considers that the linear velocity is taken at the center of the rear track, which is not exactly the same as at the center of mass (at the center of mass the radius is a bit greater, therefore the linear velocity must be a bit greater as well).

I assume the planner gives velocity commands for the center of mass of the vehicle, so, is this conversion a deliberate approximation? If so, the exact approach would be:

radius= v/omega //at the C.M.
return wheelbase/(std::sqrt(radius*radius-wheelbase*wheelbase/4))

This last line can be proven defining r = sqrt(radius*radius-(wheelbase/2)*(wheelbase/2)) - track/2 and steering_angle = atan(wheelbase /(r+track/2)).


edit retag flag offensive reopen merge delete

Closed for the following reason duplicate question by OMC
close date 2016-12-15 07:27:11.057807


gvdhoorn gravatar image gvdhoorn  ( 2016-12-15 05:53:05 -0600 )edit