You are on page 1of 18

Mobile Robot Kinematics

Wheeled Mobile Robots (WMRs)


• WMRs, as the name implies, have the ability to move around
(on the ground surface) with the help of wheels.
• DoF is three for the ground/land-based wheeled mobile
robots. i.e., two translations and one orientation in a plane.
Kinematic Simulation of a Mobile Robot
• Kinematics is the study of (the mathematics) motion without considering
the forces/efforts that effect the motion.
• Kinematic simulation of a mobile robot involves modeling the motion of the
robot and predicting its behavior based on its kinematic properties.
• Kinematic simulations help in designing, controlling, and optimizing the
performance of a mobile robot.
Need of a Mathematical Model
• To understand the behavior of the system and design the system,
• To design suitable controllers, navigation systems and adjust their
performances,
• To predict or estimate the system parameters, to illustrate or mimic
or simulate the real system, etc.
Degree of freedom (DoF):
• Minimum number of variables (or number of
independent variables) to describe the system.
• For the land-based wheeled mobile robots
and water surface vehicles: degree of freedom
is three (two translations and one orientation
in a plane).
• For the aerial, space and underwater robots:
degree of freedom is six (three translations
and three orientations in space).
Forward Differential Kinematics of Mobile Robot
• Forward kinematics is the process of determining the position and
orientation of a robot's end-effector (or any specific point on the robot)
based on its joint angles and link lengths.
• For mobile robots, forward kinematics typically involves calculating the
robot's position and orientation in the workspace based on its wheel
velocities and geometric parameters.
• Simulating or analyzing the system in velocity level.
Forward Differential Kinematics of a Mobile Robot
x Mobile robot

v
u
𝒚ሶ = 𝒖 𝒔𝒊𝒏 𝝍ሶ + 𝒗 𝒄𝒐𝒔 𝝍 v 𝑣 cos 𝜓
r

𝑦𝑏 𝑥𝑏 𝝍
𝑣 cos 𝜓 ● 𝑣 sin 𝜓
B
𝑦ሶ
u
y 𝑢 sin 𝜓
𝑢 sin 𝜓
𝑢 cos 𝜓
𝑦𝑖
I: Inertial Coordinate of the Mobile Robot about a fixed point
I● B: Body fixed coordinate of the Mobile Robot
𝑥𝑖
x: Forward displacement of the mobile robot w.r.t. I
𝑣 sin 𝜓 y: Lateral displacement of the mobile robot w.r.t. I
𝝍 : Angular displacement of the mobile robot w.r.t. I
𝑢 cos 𝜓 u: Forward velocity of the mobile robot w.r.t. B
𝑥ሶ
v: Lateral velocity of the mobile robot w.r.t. B
𝑥ሶ = 𝑢 cos 𝜓 − 𝑣 sin 𝜓
r : Angular velocity of the mobile robot w.r.t. B
𝑥ሶ = 𝑢 cos 𝜓 − 𝑣 sin 𝜓
𝑦ሶ = 𝑢 𝑠𝑖𝑛 𝜓ሶ + 𝑣 𝑐𝑜𝑠 𝜓
𝜓ሶ = r

Rewriting in matrix form,


𝑥ሶ 𝑢 cos 𝜓 − 𝑣 sin 𝜓
𝑦ሶ = 𝑢 sin 𝜓 + 𝑣 cos 𝜓
𝜓ሶ 𝑟
Inertial fixed time derivative
of the generalized coordinate

Body fixed
𝑥ሶ cos 𝜓 −𝑠𝑖𝑛 𝜓 0 𝑢 Instantaneous
𝑦ሶ = sin 𝜓 cos 𝜓 0 𝑣 velocity
𝜓ሶ 0 0 1 𝑟

𝜂ሶ = 𝐽 𝜓 𝜍
It describes the relation between the velocity input commands 𝜍 and the derivatives of generalized coordinates 𝜂.ሶ

𝐽 𝜓 is the Jacobian (or velocity transformation) matrix.


The known mobile robot Forward kinematic model, as:

𝜂ሶ = 𝐽 𝜓 𝜍
Based on wheel configuration

Where:

W= Wheel Configuration Matrix which depends on the type of wheel


𝜔 = Vector of angular velocity of the wheel
𝜂ሶ = is the vector of time derivative of generalized coordinates
𝐽 𝜓 = Jacobian matrix which maps the input velocity commands to
the derivatives of the generalized coordinates
𝜍 = Vector of velocity input commands
Inverse Differential Kinematics of a Mobile Robot

• Inverse kinematics refers to the process of determining the joint


parameters or velocities required to achieve a desired end-effector
position and orientation.
• For mobile robots, inverse kinematics involves calculating the required
wheel velocities to achieve a desired linear and angular velocity for the
given position trajectory.
−1
𝜍=𝐽 𝜓 𝜂ሶ

Controlling the system in velocity level.


A Generalized Wheel Model
Let us consider a mecanum wheel mobile robot configuration with four Mecanum
wheels

𝑦𝑏
𝑥𝑏
B

𝑦𝑖

I 𝑥𝑖
Let us consider one of the ith wheel
mecanum wheel of the
mobile robot configuration

𝑦𝑏

● 𝑥𝑏
B

I: Inertial Coordinate of the Mobile Robot about a fixed point


B: Body fixed coordinate of the Mobile Robot
x: Forward displacement of the mobile robot w.r.t. I
𝑦𝑖 y: Lateral displacement of the mobile robot w.r.t. I
𝝍 : Angular displacement of the mobile robot w.r.t. I
I 𝑥𝑖 u: Forward velocity of the mobile robot w.r.t. B
v: Lateral velocity of the mobile robot w.r.t. B
r : Angular velocity of the mobile robot w.r.t. B
V 𝑠𝑙𝑖𝑑𝑒 V drive

𝑦𝑏
𝑥𝑏
B● th
V drive - Tangential velocity of the i wheel
th
𝜔𝑖 - Angular velocity of the i wheel.
th
𝑎𝑖 - Radius of the i wheel
V drive = 𝝎𝒊 × 𝒂𝒊

𝑦𝑖
V 𝑠𝑙𝑖𝑑𝑒 - Tangential velocity of the Passive roller
𝛽𝑖ሶ - Angular velocity of the passive roller
I 𝑥𝑖
𝜌𝑖 - Radius of the passive roller
V 𝒔𝒍𝒊𝒅𝒆 = 𝜷𝒊ሶ × 𝝆𝒊
V drive = 𝜔𝑖 𝑎𝑖 From the diagram we can write:
𝛽𝑖ሶ 𝜌𝑖 𝑐𝑜𝑠 ∅𝑖
Lateral velocity at Ci, 𝑦𝑐𝑖ሶ = 𝛽𝑖ሶ 𝜌𝑖 cos ∅𝑖
V 𝑠𝑙𝑖𝑑𝑒 = 𝛽𝑖ሶ 𝜌𝑖 ∅𝑖
𝑦𝐶𝑖 𝑦𝑐𝑖ሶ
𝑥𝐶𝑖 ⇒ 𝛽𝑖ሶ 𝜌𝑖 =
● cos ∅𝑖
𝑪𝒊
𝑥𝑐𝑖ሶ = 𝜔𝑖 𝑎𝑖 − 𝛽𝑖ሶ 𝜌𝑖 sin ∅𝑖
𝑦𝑐𝑖ሶ
𝛽𝑖ሶ 𝜌𝑖 sin ∅𝑖 𝑥𝑐𝑖ሶ = 𝜔𝑖 𝑎𝑖 − sin ∅𝑖
cos ∅𝑖
th
𝑪𝒊 - wheel frame center of the i wheel
th
𝑥𝑐𝑖ሶ = 𝜔𝑖 𝑎𝑖 − 𝑦𝑐𝑖ሶ tan ∅𝑖
V drive - Tangential velocity of the I wheel
𝜔𝑖 - Angular velocity of the i
th
wheel. ⇒ 𝜔𝑖 𝑎𝑖 = 𝑥𝑐𝑖ሶ + 𝑦𝑐𝑖ሶ tan ∅𝑖
th
𝑎𝑖 - Radius of the i wheel. Rewriting the above
V 𝑠𝑙𝑖𝑑𝑒 - Tangential velocity of the Passive roller
1
𝛽𝑖ሶ - Angular velocity of the passive roller ⇒ 𝜔𝑖 = (𝑥𝑐𝑖ሶ + 𝑦𝑐𝑖ሶ tan ∅𝑖 )
𝑎𝑖
𝜌𝑖 - Radius of the passive roller
Rearranging in matrix form
∅𝑖 - Angle between roller axis to the Xci axis.
𝑦𝑐𝑖ሶ - Lateral Velocity 1 1 𝑥𝑐𝑖ሶ
𝜔𝑖 = tan ∅𝑖 --- (1)
𝑥𝑐𝑖ሶ - Longitudinal velocity 𝑎𝑖 𝑎𝑖 𝑦𝑐𝑖ሶ
Let us assume that for an arbitrary case Linear velocity vector of 𝑐𝑖 with respect to the frame of 𝑐𝑖
is given by :
𝜃𝐵𝑖 is the angle between 𝑥𝐶𝑖 and 𝑥𝑏 𝑥𝑐𝑖ሶ
𝐶𝑖
.𝑣𝐶𝑖 =
𝑦𝑐𝑖ሶ
𝑦𝑐𝑖ሶ But we need Linear velocity vector of 𝑐𝑖 with respect to the frame B
𝜃𝐵𝑖 𝑥𝑐𝑖ሶ
𝑥𝐶𝑖 𝐵 𝐵 𝑥ሶ 𝑐𝑖
𝑦𝐶𝑖 𝜃𝐵𝑖 .𝑣𝐶𝑖 = 𝑐𝑖 𝑅(𝜃𝐵𝑖 ) 𝑦ሶ 𝑐𝑖

𝑪𝒊
Velocity component along 𝑥𝐵 , 𝑥ሶ 𝑐𝑖 cos 𝜃𝐵𝑖 − 𝑦ሶ 𝑐𝑖 sin 𝜃𝐵𝑖
Velocity component along 𝑦𝐵 , 𝑥ሶ 𝑐𝑖 sin 𝜃𝐵𝑖 + 𝑦ሶ 𝑐𝑖 cos 𝜃𝐵𝑖
} ---(2)
𝑦𝑏


𝐵 𝑥𝑏
𝐵𝑣 cos 𝜃𝐵𝑖 − sin 𝜃𝐵𝑖 𝑥ሶ 𝑐𝑖
. 𝐶𝑖 =
𝑥𝑐𝑖ሶ - Longitudinal velocity sin 𝜃𝐵𝑖 cos 𝜃𝐵𝑖 𝑦ሶ 𝑐𝑖
𝑦𝑐𝑖ሶ - Lateral Velocity
𝜃𝐵𝑖 - Angle between the vehicle frame (B) to the wheel frame (ci ).
𝐶𝑖 𝑣 - Linear velocity vector of 𝑐 with respect to the frame of 𝑐
. 𝐶𝑖 𝑖 𝑖
𝐵
.𝑣𝐶𝑖 - Linear velocity vector of 𝑐𝑖 with respect to the frame B
𝐵
𝑐𝑖 𝑅(𝜃𝐵𝑖 ) –Rotation Matrix
The frame B and Ci are part of a single body, thus if B is rotated Ci also will be rotated
If u, v, r are the instantaneous velocities at B, then equivalent velocity at 𝐶𝑖 can be given by
From Fig. we can write,
𝑣
Velocity component along 𝑥𝑏 = 𝑢 − 𝑟𝑑𝑦𝑖
𝑟𝑑𝑥𝑖
Velocity component along 𝑦𝑏 =𝑣 + 𝑟𝑑𝑥𝑖
} --- (3)
𝑥𝑐𝑖
𝑟𝑑𝑦𝑖 ●𝑐
𝜃𝐵𝑖
𝑖 𝑢
1 0 −𝑑𝑦𝑖 𝑢
𝐵𝑣 = 𝑣
. 𝐶𝑖
0 1 𝑑𝑥𝑖 𝑟
𝑑𝑦𝑖

𝑣 Equating 2 & 3,
𝑦𝑏 r 𝑢 − 𝑟𝑑𝑦𝑖 = 𝑥ሶ 𝑐𝑖 cos 𝜃𝐵𝑖 − 𝑦ሶ 𝑐𝑖 sin 𝜃𝐵𝑖
𝐵

𝑥𝑏
𝑢
𝑣 + 𝑟𝑑𝑥𝑖 = 𝑥ሶ 𝑐𝑖 sin 𝜃𝐵𝑖 + 𝑦ሶ 𝑐𝑖 cos 𝜃𝐵𝑖
} --- (4)
𝑑𝑥𝑖

dxi and dyi are the position coordinates of ci with reference to B.


Writing above in matrix form we get

1 0 −𝑑𝑦𝑖 𝑢
cos 𝜃𝐵𝑖 − sin 𝜃𝐵𝑖 𝑥ሶ 𝑐𝑖
0 1 𝑑𝑥𝑖
𝑣 =
𝑟
sin 𝜃𝐵𝑖 cos 𝜃𝐵𝑖 𝑦ሶ 𝑐𝑖 } --- (5)
By matrix manipulation we get,
−1
1 0 −𝑑𝑦𝑖 𝑢
𝑥ሶ 𝑐𝑖 cos 𝜃𝐵𝑖 − sin 𝜃𝐵𝑖
= 𝑣
𝑦ሶ 𝑐𝑖 sin 𝜃𝐵𝑖 cos 𝜃𝐵𝑖 0 1 𝑑𝑥𝑖 𝑟
1 0 −𝑑𝑦𝑖 𝑢
𝑥ሶ 𝑐𝑖 cos 𝜃𝐵𝑖 sin 𝜃𝐵𝑖
= 𝑣 --- (6)
𝑦ሶ 𝑐𝑖 −sin 𝜃𝐵𝑖 cos 𝜃𝐵𝑖 0 1 𝑑𝑥𝑖 𝑟
Substituting eqn.(6) in eqn.(1),
1 1 𝑢
cos 𝜃𝐵𝑖 sin 𝜃𝐵𝑖 1 0 −𝑑𝑦𝑖
𝜔𝑖 = tan ∅𝑖 𝑣 --- (7)
𝑎𝑖 𝑎𝑖 −sin 𝜃𝐵𝑖 cos 𝜃𝐵𝑖 0 1 𝑑𝑥𝑖
𝑟
We have Forward kinematic model of the Mobile Robot as,
𝑥ሶ cos 𝜓 −𝑠𝑖𝑛 𝜓 0 𝑢
𝑦ሶ = sin 𝜓 cos 𝜓 0 𝑣
𝜓ሶ 0 0 1 𝑟

By Matrix operation
−1 𝑥ሶ
𝑢 cos 𝜓 −𝑠𝑖𝑛 𝜓 0
𝑣 = sin 𝜓 cos 𝜓 0 𝑦ሶ
𝑟 0 0 1 𝜓ሶ

𝑢 cos 𝜓 𝑠𝑖𝑛 𝜓 0 𝑥ሶ
𝑣 = − sin 𝜓 cos 𝜓 0 𝑦ሶ
𝑟 0 0 1 𝜓ሶ
Substituting and simplifying eqn.(7) we get,
cos 𝜓 𝑠𝑖𝑛 𝜓 0 𝑥ሶ
1 1 cos 𝜃𝐵𝑖 sin 𝜃𝐵𝑖 1 0 −𝑑𝑦𝑖
𝜔𝑖 = tan ∅𝑖 − sin 𝜓 cos 𝜓 0 𝑦ሶ
𝑎𝑖 𝑎𝑖 −sin 𝜃𝐵𝑖 cos 𝜃𝐵𝑖 0 1 𝑑𝑥𝑖
0 0 1 𝜓ሶ

You might also like