Difference Between Ackermann Kinematic Model and Bicycle Kinematic Model
조회 수: 57(최근 30일)
In the simulink Robotics System Toolbox, the Ackermann Kinematic Model block and Bicycle Kinematic block both output the x and y position states of the vehicle, using the kinematic equations. I want to know, what is the difference between the models used in these blocks, since a car kinematic model can be simplified as a bicycle model.
From what I understood, the ackermann model will gives us the steering angles of each wheel, since they are not the same. but in the end, what does this mean for the x and y position of the base? What is the difference between just using a bicycle model for the state estimation of a car-like robot, and the ackermann model, assuming our control inputs are steering angle, and vehicle velocity?
Prudhvi Peddagoni 2020년 10월 1일
There will be difference in the outputs of Ackermann Kinematic Model block and Bicycle Kinematic block. The working of various models like bicycle, unicycle, Ackermann and differential-drive kinematic models are documented in the examples section of this link.
Hope this helps.
Sajjad Monfared 2021년 9월 30일
편집: Sajjad Monfared 2021년 9월 30일
Ackermann system and bicycle have exactly the same kinematic equations in their full-state formulation and therefore are equivalent. [θ: vehicle orientation, γ: steering angle]
Note that the inputs are v: vehicle speed, w: steering rate. But there is another variation in modeling such vehicles which leads to a different set of equations. This model is obtained by assuming that the steering angle γ (not its rate w) can be directly controlled. This assumption is justified if the steering rate limit w_max is high enough that the steering angle can be changed nearly instantaneously by a lower-level controller. This model is given by:
Note that the inputs are v: vehicle speed, γ: steering angle. Now we can further simplify this equation by a simple input transformation: , in which case we have:
Where the inputs are v: vehicle speed, w_hat: heading rate.
MATLAB uses Eq(1) for Ackermann system, eq(2) for bicycle model in "vehicle speed and steering angle" mode and eq(3) for bicycle model in "vehicle speed and heading angular velocity" mode.
As a final note, I want to emphasize that they both model the same underlying 'car', but with different input commnads.