Ackermann Kinematic Model
Car-like vehicle motion using Ackermann kinematic model
Robotics System Toolbox / Mobile Robot Algorithms
The Ackermann Kinematic Model block creates a car-like vehicle model that
uses Ackermann steering. This model represents a vehicle with two axles separated by the
Wheel base. The
state of the vehicle is defined as a four-element vector, [x y θ ψ], with
an global xy-position, vehicle heading, θ, and steering
angle, ψ. The vehicle heading and xy-position are
defined at the center of the rear axle. Angles are specified in radians and the global
positions are specified in meters. The steering input for the vehicle is given as
radians per second.
v — Vehicle speed
Vehicle speed, specified in meters per second.
dψ/dt — Steering angular velocity
Steering angular velocity of the vehicle, specified in radians per second.
state — State of vehicle
Current xy-position, orientation, and steering angle, specified as [x y θ ψ], in meters and radians.
stateDot — Derivatives of
The linear and angular velocities of the vehicle, specified as a [xDot
yDot thetaDot psiDot] vector in meters per second and radians per second.
The linear and angular velocities are calculated by taking the time derivatives of the
Wheel base — Distance between front and rear axles
1 (default) | positive numeric scalar
The wheel base refers to the distance between the front and rear vehicle axles, specified in meters.
Vehicle speed range — Minimum and maximum vehicle speeds
[-Inf Inf] (default) | two-element vector
The wheel speed range is a two-element vector that provides the minimum and maximum vehicle wheel speeds, [MinSpeed MaxSpeed], specified in radians per second.
Maximum steering angle — Distance between front and rear axles
pi/4 (default) | positive numeric scalar
The maximum steering angle, refers to the maximum amount the vehicle can be steered
to the right or left, specified in radians. The default value is
Initial state — Initial state of vehicle
[0;0;0;0] (default) | four-element vector
The initial x-,
heading angle, theta, and steering angle, psi, of
Simulate using — Type of simulation to run
Interpreted execution (default) |
Interpreted execution— Simulate model using the MATLAB® interpreter. For more information, see Simulation Modes (Simulink).
Code generation— Simulate model using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change.
 Lynch, Kevin M., and Frank C. Park. Modern Robotics: Mechanics, Planning, and Control. 1st ed. Cambridge, MA: Cambridge University Press, 2017.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2019b