Mobile Robot Kinematics Equations
Learn details about mobile robot kinematics equations including unicycle, bicycle, differential drive, and Ackermann models. This topic covers the variables and specific equations for each motion model [1]. For an example that simulates the different mobile robots using these models, see Simulate Different Kinematic Models for Mobile Robots.
Variable Overview
The robot state is represented as a three-element vector: [ ].
For a given robot state:
: Global vehicle x-position in meters
: Global vehicle y-position in meters
: Global vehicle heading in radians
For Ackermann kinematics, the state also includes steering angle:
: Vehicle steering angle in radians
The unicycle, bicycle, and differential drive models share a generalized control input, which accepts the following:
: Vehicle speed in meters/s
: Vehicle angular velocity in radians/s
Other variables represented in the kinematics equations are:
: Wheel radius in meters
: Wheel speed in radians/s
: Track width in meters
: Wheel base in meters
: Vehicle steering angle in radians
Unicycle Kinematics
The unicycle kinematics equations model a single rolling wheel that pivots about a central axis using the unicycleKinematics
object.
The unicycle model state is [ ].
Variables
: Global vehicle x-position in meters
: Global vehicle y-position in meters
: Global vehicle heading in radians
: Wheel speed in meters/s
: Wheel radius in meters
: Vehicle speed in meters/s
: Vehicle heading angular velocity in radians/s
Kinematic Equations
Depending on the VehicleInputs
name-value argument, you can input only wheel speeds or the vehicle speed and heading rate. This change in input affects the equations.
Wheel Speed Equation
Vehicle Speed and Heading Rate Equation (Generalized)
When the generalized inputs are given as the speed and vehicle heading angular velocity , the equation simplifies to:
Bicycle Kinematics
The bicycle kinematics equations model a car-like vehicle that accepts the front steering angle as a control input using the bicycleKinematics
object.
The bicycle model state is [ ].
Variables
: Global vehicle x-position in meters
: Global vehicle y-position in meters
: Global vehicle heading in radians
: Wheel base, in meters
: Vehicle steering angle in radians
: Vehicle speed in meters/s
: Vehicle heading angular velocity in radians/s
Kinematic Equations
Depending on the VehicleInputs
name-value argument, you can input the vehicle speed as either the steering angle or heading rate. This change in input affects the equations.
Steering Angle Equation
Vehicle Speed and Heading Rate Equation (Generalized)
In this generalized format, the heading rate can be related to the steering angle with the relation . Then, the ODE simplifies to:
Differential Drive Kinematics
The differential drive kinematics equations model a vehicle where the wheels on the left and right may spin independently using the differentialDriveKinematics
object.
The differential drive model state is [ ].
Variables
: Global vehicle x-position, in meters
: Global vehicle y-position, in meters
: Global vehicle heading, in radians
: Left wheel speed in meters/s
: Right wheel speed in meters/s
: Wheel radius in meters
: Track width in meters
: Vehicle speed in meters/s
: Vehicle heading angular velocity in radians/s
Kinematic Equations
Depending on the VehicleInputs
name-value argument, you can input the wheel speed as either the steering angle or heading rate. This change in input affects the equations.
Wheel Speed Equation
Vehicle Speed and Heading Rate Equation (Generalized)
In the generalized format, the inputs are given as the speed and vehicle heading angular velocity . The ODE simplifies to:
Ackermann Kinematics
The Ackermann kinematic equations model a car-like vehicle model with an Ackermann-steering mechanism using the ackermannKinematics
object. The equation adjusts the position of the axle tires based on the track width so that the tires follow concentric circles. Mathematically, this means that the input has to be the steering heading angular velocity , and there is no generalized format.
The Ackermann model state is [ ].
Variables
: Global vehicle x-position in meters
: Global vehicle y-position in meters
: Global vehicle heading in radians
: Vehicle steering angle in radians
: Wheel base in meters
: Vehicle speed in meters/s
Kinematic Equations
For the Ackermann kinematics model, the ODE is:
References
[1] Lynch, Kevin M., and Frank C. Park. Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press, 2017.
For an example the simulates the different mobile robot using these models, see Simulate Different Kinematic Models for Mobile Robots.