0% found this document useful (0 votes)
43 views

Requirements For Motion Control

The document discusses kinematic models for wheeled mobile robots. It describes the requirements for motion control of autonomous robots and introduces concepts like robot kinematics and constraints. The chapter then examines forward and inverse kinematic models and wheel constraints like no slippage or deformation for differential drive robots.

Uploaded by

books san
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Requirements For Motion Control

The document discusses kinematic models for wheeled mobile robots. It describes the requirements for motion control of autonomous robots and introduces concepts like robot kinematics and constraints. The chapter then examines forward and inverse kinematic models and wheel constraints like no slippage or deformation for differential drive robots.

Uploaded by

books san
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Autonomous Mobile Robots, Chapter 3 3

Motion Control (wheeled robots)


• Requirements for Motion Control
 Kinematic / dynamic model of the robot
 Model of the interaction between the
wheel and the ground
 Definition of required motion ->
speed control, position control
 Control law that satisfies the requirements

Localization "Position" Cognition


Global Map

Environment Model Path


Local Map

Perception Real World Motion Control


Environment
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3
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

© 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)

   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
 
© 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

 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 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 1R
• 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

• Combining these individual formulas yields a kinematic model for the


differential-drive example robot:

© 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

• No slipping, skidding or sliding


XI
• No friction for rotation around contact point
• Steering axes orthogonal to the surface
• Wheels connected by rigid frame (chassis)

© 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

• Suppose that the wheel A is in position such that


a = 0 and  = 0
• This would place the contact point of the wheel on XI with the plane of
the wheel oriented parallel to YI. If  = 0, then ths sliding constraint
reduces to:

© 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

• Three wheels is sufficient for static stability


 additional wheels need to be synchronized
 this is also the case for some arrangements with three wheels

• It can be derived using the equation seen before


 Degree of mobility m
 Degree of steerability s
 Robots maneuverability M  m s

© 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

 Geometrically this can be shown by the Instantaneous Center of Rotation


(ICR)

© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.1
Mobile Robot Maneuverability: Instantaneous Center of Rotation

• Ackermann Steering Bicycle

© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.1
Mobile Robot Maneuverability: More on Degree of Mobility

• Robot chassis kinematics is a function of the set of independent


constraints rankC1 (  s )
 the greater the rank of , C1 (  s ) the more constrained is the mobility

• 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

© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 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

© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.3.3
Mobile Robot Maneuverability: Robot Maneuverability
• Degree of Maneuverability
M  m s

 Two robots with same  M are not necessary equal


 Example: Differential drive and Tricycle (next slide)

 For any robot with  M  2 the ICR is always constrained


to lie on a line
 For any robot with  M  3 the ICR is not constrained an
can be set to any point on the plane

• The Synchro Drive example:  M   m   s 11  2

© 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 11  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

• DOF degrees of freedom:


 Robots ability to achieve various poses
• DDOF differentiable degrees of freedom:
 Robots ability to achieve various path

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.

• However, it has been studied by various research groups and some


adequate solutions for (kinematic) motion control of a mobile robot
system are available.

• Most controllers are not considering the dynamics of the system

© 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

• Find a control matrix K, if


exists
yR  k11 k12 k13 
K 
k 21 k 22 k 23 
xR
v(t)
 with kij=k(t,e)
(t) • such that the control of v(t)
start
e and (t)
R
 x
 v(t )   y
goal  (t )  K  e  K   
   
• drives the error e to zero.
lim e(t )  0
t 
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Motion Control:
Kinematic Position Control
The kinematic of a differential drive mobile
robot described in the initial frame {xI, yI,
} is given by,

 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

System description, in the new polar coordinates

for for
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: Remarks

• The coordinates transformation is not defined at x = y = 0; as in such


a point the determinant of the Jacobian matrix of the transformation
is not defined, i.e. it is unbounded

• For the forward direction of the robot points toward


the goal, for it is the backward direction.

• By properly defining the forward direction of the robot at its initial


configuration, it is always possible to have at t=0. However
this does not mean that a remains in I1 for all time t.

© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: The Control Law
• It can be shown, that with

the feedback controlled system

• will drive the robot to ,a,  0,0,0


• The control signal v has always constant sign,
 the direction of movement is kept positive or negative during movement
 parking maneuver is performed always in the most natural way and
without ever inverting its motion.
© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.6.2
Kinematic Position Control: Resulting Path

© 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

and the characteristic polynomial of the matrix A of all roots

have negative real parts.


© R. Siegwart, I. Nourbakhsh
Autonomous Mobile Robots, Chapter 3 3.XX
Mobile Robot Kinematics: Non-Holonomic Systems

yI x1, y1

s1=s2 ; s1R=s2R ; s1L=s2L


s1L s1 s1R
but: x1 = x2 ; y1 = y2
s2L x2, y2
s2
s2R

• 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  ;  ; 
xy yx 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:

2s 2s 2s 2s 2s 2s


 ;  ; 
xy yx x x y y

 the second (-sin=0) and third (cos=0) term in equation do not hold!

© R. Siegwart, I. Nourbakhsh

You might also like