You are on page 1of 61

Kinematics H.I.

Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Robot Kinematics
Henrik I Christensen

Centre for Autonomous Systems

Kungl Tekniska Hgskolan o hic@kth.se

March 27, 2006

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

Motion Control
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Requirements
Kinematic / dynamic model of the robot Model of ground/wheel interaction Denition of required motion velocity / position control Design of control law to satisfy constriants

Mobile Robot Kinematics


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Model of mechanical behaviour of robot for design and control Models can be used both for mobile systems and manipulators Manipulators allow direct estimation of position, which is not always true for mobile systems Position to be derived from integration over time Motion is not free. There are constraints to be considered in the design and control generation.

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

Coordinate Systems
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Points in space can be described by their position p x p= y z For structures the orientation is also of interest (, , ) Coordinate transformations are essential to modelling of robots The basis for the coordinate system decides on the simplicity of the model and control.

Transformations
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Translation is easy: pr = p0 + pt Rotation can modelled through a rotation matrix p1 = Rp0 Rotation around X axis 1 0 0 Rx, = 0 cos sin 0 sin cos and similarly for Y and Z rotations Rotations are commutative Rxy = Rx Ry

Homogeneous Coordinates
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

It would be useful to integrate scaling, translation and rotation into a single representation! Use of format wX wY p= wZ w x =
wX w

Now y=
wY w

z=

wZ w

Transformations
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Now a transformation is a 4 4 matrix with a structure of Rotation | translation R33 | p31 matrix | vector = T = perspective | scale f13 | s11
transf | factor

Homogenous Transformations
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Rotation around X 1 0 0 cos = 0 sin 0 0 0 sin cos 0 0 0 0 1

Tx,

And translation 1 0 = 0 0 0 1 0 0 0 0 1 0 dx dy dz 1

Ttrans

Oer a unied model frequently used.

Types of Joints
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Revolute pure rotation Planar motion in the plane Cylindrical motion along a xed axis Prismatic translation wo rotation along axis Spherical 3D rotation Screw motion along threaded axis

Joint examples
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Reference frames
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Description of motion across the dierence coordinate systems Control is in each axis. What is the overall motion

Denavit-Hartenberg Representation
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Relations are described by 4 parameters hi1 shift along Zi1 axis i is rotation X axis i is the rotation around the X axis di is the translation along the Xi axis

The resulting transformation


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Reference frames
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The DH representation is widely used. There are many reference frames for articulated systems The estimation and control is critically dependent on consideration of reference frames. Keep this is mind.

Sony AIBO ERS-220 reference frames


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup
zh2R xh1,zh2L yh1,xh2 yh3 xh3 yh4 xh4 z0 yf1 xf2 yf3 xf3 yf4 xf4 zf4R zh4R x4R zh2R,yh3R yh2R zh3R zf2R yf2R zh3L yh3L yh2L zh2L zh1 xh1 y0 x0 yf2L zf2L,yf3L

ERS-2xx Legs
x y z 1. - shoulder 59.5 0 0 2. - elevator 0 0 59.2 3. - knee 64 0 12.8 f4. - ball 55.748 -11.708 0.5 h4. - ball 60.627 -22.171 0.5 Paw button is intersection of a 24.606 diameter cylinder and a 27.922 diameter sphere
Each link offset is relative to previous link Legs are shown with knees bent at 35

zf3L xf1 zf1 yf3R zf3R

x0 zf2R

xf1,zf2L

y2R x2R zf3R

zf1

z0,yf1 y0,zh1 yh1

y2L x2L zh3L x3L

zh3R x3R

zf3L

zf4L zh4L x4L

Simplied reference frames


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Inertial reference frame (I) Robot references frame (R) Robot pose x y I =

YR

XI

Transformation between reference frames


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The relation between the references frame is through the standard orthogonal rotation transformation: cos() sin() 0 R() = sin() cos() 0 0 0 1 Enable handling of motion between frames = R()I R

Simple 90 rotation
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Now with I = R() R I = R( ) 2 R 0 R( ) = 1 2 0 Implies 0 I = R( ) = 1 R 2 0 x y 1 0 0 0 y = x 0 1 1 0 0 0 0 1

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

Kinematic modelling
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Goal:

T Determine the robot speed = x y as a function of wheel speed , steering angle , steering speed and the geometric parameters of the robot. Forward kinematics x = y = f (1 , . . . , n , 1 , . . . , m , 1 , . . . , m )

Inverse kinematics 1 . . . n 1 . . . m 1 . . . m
T

= f (x, y , )

Why not x y = f (1 , . . . , n , 1 , . . . , m ) the relation is not straight forward. See later.

Forward kinematic model dierential drive


Kinematics H.I. Christensen Intro
r

Coords Models Maneuverability Workspace Beyond Basics Control Wrapup


P l l

Assume a set up with two drive wheels. Wheels have radius r , and a places at a distance l from the center. Wheels rotate at speeds 1 and 2 Prediction of the motion of the robot motion in the global frame x I = y = f (l, r , , 1 , 2 )

Dierential drive model


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Given I = R()1 R Speed of each wheel is r i , the translational speed is the average velocity 1 + 2 xR = r 2 The instantaneous rotation of P for one wheel is 1 = The total rotation is then r = (1 2 ) 2l r 1 2l

Dierential drive model


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Given I = R()1 R The full model is then: + 2 r 1 0 I = R()1 2 1 2


l

The rotation matrix is trivial to invert cos() sin() 0 R()1 = sin() cos() 0 0 0 1

Dierential motion
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

ICCor ICR

The Instantaneous Center of Rotation (ICR) or Instantaneous Center of Curvature is relevant. Characterised by rotation and radius R: R=l 1 + 2 1 2

With 1 = 2 R =

Kinematic constraints
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Assumptions
Plane of wheel is always vertical Single point of contact with surface Motion is purely by rolling (no slippage) Rotation of wheel is around the vertical axis

Fixed wheel constraint


Kinematics H.I. Christensen The motion of the wheel must be in the plane of the wheel Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup
l v alpha beta

Speed of wheel v = r
r

The motion must then be (rolling constraint): sin( + ) cos( + ) (l) cos() R()I r = 0

Motion in the orthogonal plane must be zero (sliding constraint), i.e. cos( + ) sin( + ) l sin() R()I = 0

Wheels cannot slide sideways! Similar models can be developed for Swedish and Spherical wheels (see the book!)

Steering wheel constraint


Kinematics H.I. Christensen Intro Coords
r

The motion of the wheel must be in the plane of the wheel Speed of wheel v = r , Rotation speed is The motion must then be (rolling constraint): sin( + ) cos( + ) (l) cos() R()I r = 0

Models Maneuverability Workspace Beyond Basics Control Wrapup


d l alpha beta v d

Motion in the orthogonal plane must be zero (sliding constraint), i.e. cos( + ) sin( + ) (d + l) sin() R()I + = 0

Rolling constraint similar to xed wheel, but the sliding constraint is wrt the wheel-contact point

Robot Kinematic Constraints


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Combination of the wheel constraints imposes the overall constraints for the vehicle Dierential between xed and steerable wheels Assume N wheels divided into Nf xed and Ns steerable wheels f is orientation of xed wheels s (t) is the steering angle of the controllable wheels Dene motion of wheels as: (t) = f (t) s (t)

Kinematic constraints
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The rolling constraints can be collected: J1 (s )R()I J2 = 0 where J1 (s ) = J1f J1s (s )

J1f is an Nf 3 constant matrix and J1s is an Ns 3 matrix of constraints. J2 is a diagonal matrix with wheel radii ri A similar set of constraints can be dened for sliding (C )

Dierential drive constraints example


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Fusing rolling and sliding constraints we obtain: J1 (s ) C1 (s ) R()I = J2 0

Assume robot axis along +XR , then = , and = 2 for right wheel and = and = 0 for left wheel 2

Dierential drive contraint


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup 2 1 1 4 1 I = R() 0 0 0 1 31 2 1 l 1 J2 1 4 0 l 5 = R() 0 1 2 0 l 1 0 1 l 3 0 J2 2 5 0 0

Resulting in
2 4 1 1 0 0 0 1 3 l J2 l 5 R()I = 0 0

Inverting the equation results in:

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

Degree of mobility
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The sliding constraints can be separated between xed and steerable wheels: C1f R()I C1s (s )R()I = 0 = 0

Motion of the robot must belong to the null space of C1 , i.e. C1 (s )m = 0, m null(C1 ) Constraint is also shown by the instantaneous centre of rotation (ICR) mentioned earlier

Instantaneous centre of rotation


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

ICR

ICR

Ackermann st ering e

Bicycle

Mobility constraints
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The rank(C1 ) denes the number of independent constraints The degree of mobility is dened by the dimensionality of the null space of C1 which for a mobile platform is equal to: m = dim(null(C1 )) = 3 rank(C1 ) Robot Examples: Dierential drive Bicycle m 2 1

Degree of steerability
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Steerability is the number of independent DOF that can be controlled s = rank(C1s ) Similarly the degree of maneuverability is dened as M = m + s

Maneuverability examples
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

The Workspace / Degree of Freedom


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Maneuverability:controllable degree of freedom The workspace: the space of possible congurations The velocity space: independent degree of motion that can be controlled. Sometimes referred to as the Dierentiable degree of freedom (DDOF). DDOF = m . DDOF M DOF

Holonomic Systems
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Holonomy is frequently used in robotics Holonomic kinematic constraints: dened by position / pose variables Non-holonomic kinematic constraints: dened by dierential variables. The pose cannot be recovered by integration. Non-holonomic systems are also referred to as non-integrable systems.

Holonomic systems
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Example, xed wheel sliding constraint: cos( + ) sin( + ) l sin() R()I = 0

the constraint is in terms of rather the as it constraint the motion not the nal conguration. A systems is only holonomic i DDOF = DOF.

Path/trajectory considerations
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The constraints only dene what can be achieved and the limitations. For systems there is a a need to consider how to achieve dierent conguration. Trajectory planning: partly covered in nal lecture Trajectory control/tracking: given a specication how can the robot be moved to achieve the specied trajectory

Example of trajectory control


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

Beyond Basic Kinematics


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

The above analysis has been performed under a strong set of assumptions: only rolling motion with no sliding Tanks, rigid vehicles, etc use skid steering in which sliding motion is utilized to ensure control of the vehicle. Requires consideration of dynamic models beyond pure kinematics The friction model for interaction between surface and wheel must be considered. High speed motion also requires explicit modelling of system dynamics for the control. Dynamics is a separate eld of research in robotics. Beyond the scope of this course.

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

Kinematic Control
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Start Goal

Trajectory following
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Kinematic control is following of a pre-specied trajectory described in terms of positions and velocities Often the trajectory is divided into trajectory segments Simple controllers use a combination of arcs and line segments (as done on American roads). Others use clothoids in which the curvature changes linearly with time, as done on European roads An entire eld of robotics is devoted to path planning See http://msl.cs.uiuc.edu/planning for comprehensive / free book on the topic.

Feedback control
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

A more appropriate strategy is a trajectory feedback controller that uses the path specication as control points to drive the robot system

Problem statement
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

In the robot reference frame the error is e = [x, y , ]T R The task is now to design a control matrix K K= Such that v (t) (t) k11 k12 k13 k21 k22 k23 kij = k(t, e)

x = Ke = K y R
e(t)

drives the error to zero limt

=0

The basic setup for control


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Kinematic model
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Consider a dierential drive robot x cos() y = sin() 0

in the inertial frame 0 v 0 1

In polar coordinates the error is now


= x 2 + y 2

= + atan2(y , x) =

Kinematic control
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Rephrased in polar coordinates: cos() = sin() sin()

0 1 0

The control law


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Control the linear control law: v = k

= k + k Which generates a closed loop system of: k cos() = k sin() k k k sin()

Stability requirement
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

It can be shown that the system is exponentially stable if: k > 0 k < 0 k k > 0 Sketch of proof (cos x = 1, sin x = x): k 0 0 = 0 (k k ) k 0 k 0

Sketch of stability requirement


Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

if A has all eigenvalues where the real part is negative it is exponentially stable Characteristic polynomial: ( + k )(2 + (k k ) k k )

Control examples
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Outline
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

1 2 3 4 5 6 7 8

Introduction Coordinate Systems Kinematic Models and Constraints Mobile Robot Maneuverability Mobile Robot Workspace Beyond Basic Kinematics Kinematic Control Wrapup

WRAP-UP
Kinematics H.I. Christensen Intro Coords Models Maneuverability Workspace Beyond Basics Control Wrapup

Brief introduction to kinematic modelling of mobile systems Presentation of constraints and its use in models Example models for robots Brief example of kinematic control

You might also like