Kinematic Models and Constraints
Kinematic Models and Constraints
MODULE II
MOBILE ROBOT KINEMATICS
Introduction: Mobile Robot Kinematics
• Aim
Description of mechanical behavior of the robot for
design and control
Similar to robot manipulator kinematics
However, mobile robots can move unbound with respect to its
environment
o there is no direct way to measure the robot’s position
o Position must be integrated over time
o Leads to inaccuracies of the position (motion) estimate
-> the number 1 challenge in mobile robotics
Understanding mobile robot motion starts with understanding wheel
constraints placed on the robots mobility
Introduction: Kinematics Model
• Goal:
establish the robot speed
x
y T
as a function of the wheel speeds i ,
steering angles i , steering speeds i and the geometric parameters of the
robot (configuration coordinates).
yI
forward kinematics v(t)
x s(t)
y f ( 1 , n , 1 , m , 1 , m )
Inverse kinematics xI
1 n 1 m 1 m T
f ( x , y , )
why not x
y f ( , , , )
1 n 1 m -> not straight forward
Representing Robot Position
• Representing to robot within an arbitrary initial frame
Initial frame: X I , YI YI
Robot frame: X R , YR YR
I x y T
XR
Robot position:
P
Mapping between the two frames
R R I R x y
T XI
cos sin 0
R sin 0
YI
cos XR
0 0 1
YR
Example: Robot aligned with YI
XI
Example
Forward Kinematic Models
• forward kinematic model would predict the robot’s overall speed in
the global reference frame:
YR
• Movement on a horizontal plane
• Point contact of the wheels XR
• Wheels not deformable r
• Pure rolling
v = 0 at contact point v P
• Mathematically:
R ( ) I must belong to the null space of the projection matrix C1 ( s )
Null space of C1 ( s ) is the space N such that for any vector n in N
C1 ( s ) n 0
• Mathematically
m dim N C1 ( s ) 3 rank C1 ( s ) 0 rank C1 ( s ) 3
o no standard wheels rank C1 ( s ) 0
o all direction constrained rank C1 ( s ) 3
• Examples:
Unicycle: One single fixed standard wheel
Differential drive: Two fixed standard wheels
o wheels on same axle
o wheels on different axle
3.3.2
Mobile Robot Maneuverability: Degree of Steerability
• Indirect degree of motion
s rank C1s ( s )
The particular orientation at any instant imposes a kinematic constraint
However, the ability to change that orientation can lead additional
degree of maneuverability
• Range of s : 0 s 2
• Examples:
one steered wheel: Tricycle
two steered wheels: No fixed standard wheel
car (Ackermann steering): Nf = 2, Ns=2 -> common axle
3.3.3
Mobile Robot Maneuverability: Robot Maneuverability
• Degree of Maneuverability
M m s
M m s 11 2
3.4.1
Mobile Robot Workspace: Degrees of Freedom
• Maneuverability is equivalent to the vehicle’s degree of freedom
(DOF)
• But what is the degree of vehicle’s freedom in its environment?
Car example
• Workspace
how the vehicle is able to move between different configuration in its
workspace?
• The robot’s independently achievable velocities
= differentiable degrees of freedom (DDOF) = m
Bicycle: M m s 1 1 DDOF = 1; DOF=3
Omni Drive: M m s 1 1 DDOF=3; DOF=3
3.4.2
DDOF m DOF
• Holonomic Robots
A holonomic kinematic constraint can be expressed a an explicit function
of position variables only
A non-holonomic constraint requires a different relationship, such as the
derivative of a position variable
Fixed and steered standard wheels impose non-holonomic constraints
3.4.2
Mobile Robot Workspace:
Examples of Holonomic Robots
3.4.3
Path / Trajectory Considerations: Omnidirectional Drive
3.4.3
Path / Trajectory Considerations: Two-Steer
3.5
Beyond Basic Kinematics
3.6
Motion Control (kinematic control)
• The objective of a kinematic controller is to follow a trajectory
described by its position and/or velocity profiles as function of time.
• Motion control is not straight forward because mobile robots are non-
holonomic systems.
y
for for
3.6.2
Kinematic Position Control: Remarks
• Proof:
for small xcosx = 1, sinx = x
• Non-holonomic systems xI
differential equations are not integrable to the final position.
the measure of the traveled distance of each wheel is not sufficient to
calculate the final position of the robot. One has also to know how this
movement was executed as a function of time.
3.XX
Non-Holonomic Systems: Mathematical Interpretation
• A mobile robot is running along a trajectory s(t). yI
v(t)
At every instant of the movement its velocity v(t) is:
s(t)
s x y
v(t ) cos sin
t t t
ds dx cos dy sin
xI
• Function v(t) is said to be integrable (holonomic) if there exists a trajectory function s(t)
that can be described by the values x, y, and only.
s s ( x, y , )
2s 2s 2s 2s 2s 2s
• This is the case if ; ;
xy yx x x y y
Condition for integrable function
s s s
• With s = s(x,y,) we get for ds ds dx dy d
x y
3.XX
Non-Holonomic Systems: The Mobile Robot Example
• In the case of a mobile robot where
ds dx cos dy sin
• and by comparing the equation above with
s s s
ds dx dy d
x y
• we find
s s s
cos ; sin ; 0
x y
• Condition for an integrable (holonomic) function:
the second (-sin=0) and third (cos=0) term in equation do not hold!