Requirements For Motion Control
Requirements For Motion Control
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.1
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).
forward kinematics yI
v(t)
x s(t)
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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.1
Representing Robot Position
• Representing to robot within an arbitrary initial frame
Initial frame: X I ,YI YI
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 cos 0
YI
XR
0 0 1
YR
Example: Robot aligned with YI
XI
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.1
Example
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.2
Forward Kinematic Models
• How does the robot move, given its geometry and the speeds of its
wheels?
• This differential drive robot has two wheels, each with diameter r.
Given a point P centered between the two drive wheels, each wheel is
a distance l from P. Given l, r, , and the spinning speed of each wheel,
𝜑1ሶ and 𝜑2ሶ , a forward kinematic model would predict the robot’s overall
speed in the global reference frame:
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.2
Forward Kinematic Models
• From R R I we know that we can compute the robot’s motion in
the global reference frame from motion in its local reference frame:
I R 1R
• Therefore, the strategy will be to first compute the contribution of each
of the two wheels in the local reference frame R
• If one wheel spins while the other wheel contributes nothing and is
stationary, since P is halfway between the two wheels, it will move
instantaneously with half the speed:
• For rotational component, the contributions of each wheel can be
computed independently and just added. Consider the right wheel.
Forward spin of this wheel results in counterclockwise rotation at point
P.
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.2
Forward Kinematic Models
• Recall that if wheel 1 spins alone, the robot pivots around wheel 2. The
rotation velocity 𝜔1 at P can be computed because the wheel is
instantaneously moving along the arc of a circle of radius 2l
• The same calculation applies to the left wheel, with the exception that
forward spin results in clockwise rotation at point
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Wheel Kinematic Constraints: Assumptions
YI
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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Wheel Kinematic Constraints:
Fixed Standard Wheel
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Example
Rolling constraint
Slipping constraint
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Wheel Kinematic Constraints:
Steered Standard Wheel
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Wheel Kinematic Constraints:
Castor Wheel
Rolling constraint
Slipping constraint
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Wheel Kinematic Constraints:
Swedish Wheel
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.3
Wheel Kinematic Constraints:
Spherical Wheel
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.4
Robot Kinematic Constraints
• Given a robot with M wheels
each wheel imposes zero or more constraints on the robot motion
only fixed and steerable standard wheels impose constraints
• What is the maneuverability of a robot considering a combination of
different wheels?
• Suppose we have a total of N=Nf + Ns standard wheels
We can develop the equations for the constraints in matrix forms:
Rolling
f (t ) J1 f
J1 ( s ) R( ) I J 2 0 (t ) J1 ( s ) J 2 diag (r1 rN )
s (t ) J (
1s s )
N f N s 1 N f N s 3
Lateral movement
C1 f
C1 ( s ) R( )I 0 C1 ( s )
C1s ( s )
N f N s 3
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.5
Example: Differential Drive Robot
• Read page 63
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.2.5
Example: Omnidirectional Robot
• Read page 65
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3
Mobile Robot Maneuverability
• The maneuverability of a mobile robot is the combination
of the mobility available based on the sliding constraints
plus additional freedom contributed by the steering
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.1
Mobile Robot Maneuverability: Degree of Mobility
• To avoid any lateral slip the motion vector R ( )I has to satisfy the
following constraints:
C1 f R ( )I 0 C1 f
C1 ( s )
C1s ( s ) R( )I 0 C1s ( s )
• 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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.1
Mobile Robot Maneuverability: Instantaneous Center of Rotation
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.1
Mobile Robot Maneuverability: More on Degree of Mobility
• Mathematically
m dim N C1 ( s ) 3 rankC1 ( s ) 0 rankC1 ( s ) 3
o no standard wheels rankC1 ( s ) 0
o all direction constrained rankC1 ( 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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.2
Mobile Robot Maneuverability: Degree of Steerability
• Indirect degree of motion
s rankC1s ( 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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.3
Mobile Robot Maneuverability: Robot Maneuverability
• Degree of Maneuverability
M m s
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.3
Mobile Robot Maneuverability: Wheel Configurations
• Differential Drive Tricycle
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.3
Five Basic Types of Three-Wheel Configurations
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.3
Synchro Drive
M m s 11 2
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.4.2
Mobile Robot Workspace: Degrees of Freedom, Holonomy
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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.4.3
Path / Trajectory Considerations: Omnidirectional Drive
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.4.3
Path / Trajectory Considerations: Two-Steer
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 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.
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.1
Motion Control: Open Loop Control
• trajectory (path) divided in motion segments of
clearly defined shape:
yI
goal
straight lines and segments of a circle.
• control problem:
pre-compute a smooth trajectory
based on line and circle segments
• Disadvantages:
It is not at all an easy task to pre-compute
a feasible trajectory
limitations and constraints of the robots
velocities and accelerations
does not adapt or correct the trajectory if dynamical xI
changes of the environment occur.
The resulting trajectories are usually not smooth
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Motion Control: Feedback Control, Problem Statement
x cos
I
0
y sin v
0
0 1
where and are the linear velocities in
the direction of the xI and yI of the initial
Dy frame.
Let a denote the angle between the xR axis
of the robots reference frame and the vector
connecting the center of the axle of the
wheels with the final position.
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: Coordinates Transformation
Coordinates transformation into polar coordinates
with its origin at goal position:
Dy
for for
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: Remarks
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: The Control Law
• It can be shown, that with
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: Stability Issue
• It can further be shown, that the closed loop control system is locally
exponentially stable if
k > 0 ; k 0 ; ka k > 0
• Proof:
for small x > cosx = 1, sinx = x
yI x1, y1
• 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.
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 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
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 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!
© R. Siegwart, I. Nourbakhsh