You are on page 1of 51

CPE 521A: Introduction to Autonomous Mobile Robots

Lecture 3
Robot Kinematics

Prof. Yan Meng


Department of Electrical and Computer Engineering
Stevens Institute of Technology
Outline
z Introduction
z Coordinate Systems
z Kinematic Models and Constraints
z Mobile Robot Maneuverability
z Mobile Robot Workspace
z Beyond Basic Kiematics
z Kinematic Control
z Wrap up
Introduction: Mobile Robot Kinematics
z 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
Motion Control
z Requirements
¾ Kinematic / Dynamic model of the robot
¾ Model of ground / wheel interaction
¾ Definition of required motion -> velocity / position control
¾ Design of control law to satisfy constraints
Kinematic Models and Constraints
z Mobile robot model -> bottom up process

z Wheels contributes to the robot motion and impose constraints on


robot motion too

z Wheels are tired together based on robot chassis geometry

z The forces and constraints of each wheel must be expressed with


respect to a clear and consistent reference frame. In other words, a
clear mapping between the global and local robot frames of reference
is required
Coordinate Systems
z Points in space can be described by their position P
⎡ x⎤
P = ⎢⎢ y ⎥⎥
⎢⎣ z ⎥⎦

z For structures the orientation is also of interest (α , φ , θ )


z Coordinate transformations are essential to modeling of

robots
z The basis for the coordinate system decides on the simplicity

of the model and control


Transformations
z Translation is easy p r = p 0 + p t
z Rotation can be modeled through a rotation matrix

p1 = Rp 0

z Rotation α around X axis ⎡1 0 0 ⎤


R x ,α = ⎢⎢0 cos α − sin α ⎥⎥
⎢⎣0 sin α cos α ⎥⎦
z and similarly for Y and Z rotations
z Rotations are commutative R xy = R x R y
Homogeneous Coordinates
z It would be useful to integrate scaling, translation, and
rotation into a single representation.
z Use of format

⎡ wX ⎤
⎢ wY ⎥
p=⎢ ⎥
⎢ wZ ⎥
⎢ ⎥
⎣ w ⎦

z Now
x = wX , y = wY , z = wZ
Transformation
z Now a transformation is a 4 X 4 matrix with a structure of

⎡ R 3×3 p3×1 ⎤
T=⎢ ⎥
⎣ 1×3
0 s 1×1 ⎦

⎡ rotation − matrix translation − vector ⎤


=⎢ ⎥
⎣ 01×3 scale − factor ⎦

z Example: ⎡ x1 ⎤ ⎡ x0 ⎤
P1 = T10 P0 ⎢y ⎥ ⎢y ⎥
⎢ 1 ⎥ = T⎢ 0 ⎥
⎢ z1 ⎥ ⎢ z0 ⎥
⎢ ⎥ ⎢ ⎥
⎣1⎦ ⎣1⎦
Homogenous Transformation
z Rotation around X
⎡1 0 0 0⎤
⎢0 cos α − sin α 0⎥⎥
Tx ,α =⎢
⎢0 sin α cos α 0⎥
⎢ ⎥
⎣0 0 0 1⎦
z And translation
⎡1 0 0 dx ⎤
⎢0 1 0 dy ⎥⎥
Ttrans =⎢
⎢0 0 1 dz ⎥
⎢ ⎥
⎣0 0 0 1⎦

z Offer a unified model frequently used


Representing Robot Position
z Representing the robot within an arbitrary initial frame
¾ Initial frame: {X I , YI }
¾ Robot frame: {X R , YR }

¾ Robot position: ξ I = [x y θ ]T

¾ Mapping between the two frames


[
¾ ξ&R = R (θ )ξ&I = R (θ ) ⋅ x& y& θ&
T
]
⎡ cosθ sin θ 0⎤
R(θ ) = ⎢⎢− sin θ cosθ 0⎥⎥
⎢⎣ 0 0 1⎥⎦
Rotation Example
¾Example: Robot aligned with YI
Kinematic Modeling
z Determine the robot speed
&
ζ = x& y& θ [ & T
]
as a function of wheel
speed ϕ& , steering angle β , steering speed β& and the geometric
parameters of the robot.
z Forward kinematics
⎡ x& ⎤
ζ& = ⎢⎢ y& ⎥⎥ = f (ϕ&1 ,..., ϕ& n , β1 ,..., β m , β&1 ,...., β&m )
⎢⎣θ& ⎥⎦
z Inverse kinematics

[ϕ&1 ,..., ϕ& n , β1 ,..., β m , β&1 ,...., β&m ]T = f ( x& , y& , θ&)

z Why not ⎡ x⎤
ζ = ⎢⎢ y ⎥⎥ = f (ϕ1 ,..., ϕ n , β1 ,..., β m )
⎢⎣θ ⎥⎦
the relationship is not straight forward.
Forward Kinematric Model: Differential Drive
Differential Drive Model
Differential Drive Model
Differential Motion
Wheel Kinematic Constraints: Assumptions

z Movement on a horizontal plane


z Point contact of the wheels

z Wheels not deformable ϕ& ⋅ r


z Pure rolling

¾ v = 0 at contact point v
z No slipping, skidding or sliding
z No friction for rotation around contact point

z Steering axes orthogonal to the surface

z Wheels connected by rigid frame (chassis)


Wheel Kinematic Constraints:
Fixed Standard Wheel
Fixed Standard Wheels
Wheel Kinematic Constraints:
Steered Standard Wheel
z Rolling and sliding constraints are identical to fixed standard wheel,
except the orientation of the wheel to the robot chassis β (t ) is not
fixed.
Wheel Kinematic Constraints:
Castor Wheel
z Any motion orthogonal to the wheel plane must be balanced by an
equivalent and opposite amount of castor steering motion dβ& .

Omnidirectional
Move with any velocity in
the space of possible
robot motions
Wheel Kinematic Constraints:
Swedish Wheel
z γ represents the angle between the main wheel plane and the axis of
rotation of the small circumferential rollers

omnidirectional
Wheel Kinematic Constraints:
Spherical Wheel
z No direct constraints on motion
¾ such a mechanism has no principal axis of rotation, and therefore no
appropriate rolling or sliding constraints exist).

omnidirectional
Robot Kinematic Constraints
z 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
z 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 L 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 ) = ⎢ ⎥
C ( β
⎣ 1s s ⎦)
(N f + N s )×3
Example: Differential Drive
[sin(α + β ) − cos(α + β ) − l cos β ]R(θ )ξ& − rϕ& = 0
⎡ J1 ( β s ) ⎤ & = ⎡ J 2ϕ ⎤
⎢C ( β ) ⎥ R (θ )ξ I ⎢ 0 ⎥ [cos(α + β ) sin(α + β ) l sin β ]R (θ )ξ& = 0
⎣ 1 s ⎦ ⎣ ⎦

z Assume robot axis along +XR. Then α = −π / 2, β = π for right wheel,


and α = π / 2, β = 0 for left wheel.

z Resulting in
⎡1 0 1 ⎤
⎢1 0 −1⎥ R(θ )ξ& = ⎡ J 2ϕ ⎤
⎢ ⎥ I ⎢ 0 ⎥
⎢⎣0 1 0 ⎥⎦ ⎣ ⎦

z Inverting the equation results in


−1
⎡1 0 1 ⎤ ⎡1 1 0 ⎤
⎡J ϕ ⎤ 1 ⎡J ϕ ⎤
ξ&I = R(θ ) −1 ⎢⎢1 0 −1⎥⎥ ⎢ 2 ⎥ = R(θ ) −1 ⎢⎢0 0 2 ⎥⎥ ⎢ 2 ⎥
⎢⎣ 0 1 0 ⎥⎦ ⎣
0 ⎦ 2
⎢⎣1 −1 0 ⎥⎦ ⎣
0 ⎦
Mobile Robot Maneuverability
z 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

z Three wheels are sufficient for the static stability


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

z It can be derived using the equation seen before


¾ Degree of mobility δm
¾ Degree of steerability δs
¾ Robots maneuverability δM = δm +δs
Mobile Robot Maneuverability: Degree of Mobility
z 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 ) ⎦

z 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)
Mobile Robot Maneuverability: Instantaneous Center of
Rotation (ICR)
z At any given instant, wheel motion along the zero motion line must be
zero
¾ The wheel must be moving instantaneously along some circle of radius R
such that the center of that circle is located on the zero motion line
z Ackermann Steering Bicycle
Mobile Robot Maneuverability: More on Degree of
Mobility
z 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

z 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
z Examples:
¾ Unicycle: One single fixed standard wheel
¾ Differential drive: Two fixed standard wheels
Mobile Robot Maneuverability: Degree of
Steerability
z 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
z Range of δ s : 0 ≤δs ≤ 2

z Examples:
¾ one steered wheel: Tricycle
¾ two steered wheels: No fixed standard wheel
¾ car (Ackermann steering): Nf = 2, Ns=2 -> common axle
Mobile Robot Maneuverability: Robot
Maneuverability
z 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. ICR
can be set to any point on the plane

z The Synchro Drive example: δ M = δm + δ s =1+1 = 2


Mobile Robot Maneuverability: Wheel
Configurations
z Differential Drive Tricycle
Five Basic Types of Three-Wheel Configurations
Synchro Drive

δ M = δm + δ s =1+1 = 2
Mobile Robot Workspace: Degrees of Freedom
z Maneuverability is equivalent to the vehicle’s degree of freedom
(DOF)
z But what is the degree of vehicle’s freedom in its environment?

¾ Car example
z Workspace
¾ how the vehicle is able to move between different configuration in its
workspace?
z The robot’s independently achievable velocities
¾ = differentiable degrees of freedom (DDOF) = δ m
¾ Bicycle: δ M = δ m + δ s = 1 + 1 DDOF = 1; DOF=2
¾ Omni Drive: δ M = δ m + δ s = 3 + 0 DDOF=3; DOF=3
Mobile Robot Workspace: Degrees of Freedom,
Holonomy
z DOF degrees of freedom:
¾ Robots ability to achieve various poses
z DDOF differentiable degrees of freedom:
¾ Robots ability to achieve various path

DDOF ≤ δ M ≤ DOF
z Holonomic Robots
¾ A holonomic kinematic constraint can be expressed as 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
Path / Trajectory Considerations: Omnidirectional
Drive
A trajectory is like a path, except it occupies an additional dimension: time.
Path / Trajectory Considerations: Two-Steer

The two-steer requires changes to internal DOF and because these changes
take time, arbitrary trajectories are not attainable.
Beyond Basic Kinematics
z For the high-speed mobile robots, dynamic constraints must be
expressed in addition to kinematic constraints
z The friction model for interaction between surface and wheel must be

considered
z Dynamics is separate field of research in robotics. Beyond the scope of

this course.
z Motorization

¾ Appropriate actuation of the robot’s DOF


z Controllability
¾ Under what condition can a mobile robot travel from the initial pose to
the goal pose in bounded time?
Motion Control (kinematic control)
z The objective of a kinematic controller is to follow a trajectory
described by its position and/or velocity profiles as function of time.

z Motion control is not straight forward because mobile robots are non-
holonomic systems.

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


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

z Most controllers are not considering the dynamics of the system


Motion Control: Open Loop Control
z trajectory (path) divided in motion segments of
clearly defined shape:
¾ straight lines and segments of a circle.
z control problem:
¾ pre-compute a smooth trajectory
based on line and circle segments
z 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
changes of the environment occur.
¾ The resulting trajectories are usually not smooth
Motion Control: Feedback Control, Problem
Statement
z Find a control matrix K, if
exists
⎡ k11 k12 k13 ⎤
K =⎢
⎣k 21 k 22 k 23 ⎥⎦

with kij=k(t,e)
z such that the control of v(t)

and ω(t)
R
⎡ x⎤
⎡ v(t ) ⎤ ⎢ y⎥
⎢ω (t )⎥ = K ⋅ e = K ⋅ ⎢ ⎥
⎣ ⎦ ⎢⎣θ ⎥⎦
z drives the error e to zero.
lim e(t ) = 0
t →∞
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 frame.
Δy Let α 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.
Kinematic Position Control: Coordinates
Transformation
Coordinates transformation into polar coordinates
with its origin at goal position:

Δy

System description, in the new polar coordinates

for for
Kinematic Position Control: Remarks

z 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

z For the forward direction of the robot points toward


the goal, for it is the backward direction.

z 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 α remains in I1 for all time t.
Kinematic Position Control: The Control Law
z It can be shown, that with

the feedback controlled system

z will drive the robot to (ρ ,α ,β ) = (0 ,0 ,0 )


z 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.
Kinematic Position Control: Resulting Path
Kinematic Position Control: Stability Issue
z It can further be shown, that the closed loop control system is locally
exponentially stable if
k ρ > 0 ; kβ < 0 ; k α − k ρ > 0

z Proof:
for small x −> cosx = 1, sinx = x

and the characteristic polynomial of the matrix A of all roots

have negative real parts.


Mobile Robot Kinematics: Non-Holonomic
Systems

s1=s2 ; s1R=s2R ; s1L=s2L


but: x1 = x2 ; y1 = y2

z Non-holonomic systems
¾ 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.
Homework 2 (Due on next class)
z Calculate the mobility, steerability, and maneuverability of the robot
configurations in Table 2.1 (2.1, 3.1, 3.3, 3.4, 4.1, 4.3, 4.6)

You might also like