Lecture 3 Kinematics

Post on 18-Nov-2014

802 views 1 download

Transcript of Lecture 3 Kinematics

Lecture 3 Robot Kinematics

Prof. Yan MengDepartment of Electrical and Computer Engineering

Stevens Institute of Technology

CPE 521A: Introduction to Autonomous Mobile Robots

Outline

IntroductionCoordinate SystemsKinematic Models and ConstraintsMobile Robot ManeuverabilityMobile Robot WorkspaceBeyond Basic KiematicsKinematic ControlWrap up

Introduction: Mobile Robot Kinematics

AimDescription of mechanical behavior of the robot for design and controlSimilar 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 positiono Position must be integrated over timeo 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

RequirementsKinematic / Dynamic model of the robotModel of ground / wheel interactionDefinition of required motion -> velocity / position controlDesign of control law to satisfy constraints

Kinematic Models and Constraints

Mobile robot model -> bottom up process

Wheels contributes to the robot motion and impose constraints on robot motion too

Wheels are tired together based on robot chassis geometry

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

Points in space can be described by their position P

For structures the orientation is also of interest Coordinate transformations are essential to modeling of robotsThe basis for the coordinate system decides on the simplicity of the model and control

⎥⎥⎥

⎢⎢⎢

⎡=

zyx

P

),,( θφα

Transformations

Translation is easyRotation can be modeled through a rotation matrix

Rotation around X axis

and similarly for Y and Z rotationsRotations are commutative

tr ppp += 0

01 Rpp =

⎥⎥⎥

⎢⎢⎢

⎡−=

ααααα

cossin0sincos0001

,xRα

yxxy RRR =

Homogeneous Coordinates

It would be useful to integrate scaling, translation, and rotation into a single representation.Use of format

Now

⎥⎥⎥⎥

⎢⎢⎢⎢

=

wwZwYwX

p

, ,x wX y wY z wZ= = =

Transformation

Now a transformation is a 4 X 4 matrix with a structure of

Example:

3 3 3 1

1 3 1 1

1 3

0

0

s

rotation matrix translation vectorscale factor

× ×

× ×

×

⎡ ⎤= ⎢ ⎥

⎣ ⎦− −⎡ ⎤

= ⎢ ⎥−⎣ ⎦

R pT

00

11 PTP =

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

110

0

0

1

1

1

zyx

zyx

T

Homogenous Transformation

Rotation around X

And translation

Offer a unified model frequently used

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

10000cossin00sincos00001

, αααα

αxT

⎥⎥⎥⎥

⎢⎢⎢⎢

=

1000100010001

dzdydx

Ttrans

Representing the robot within an arbitrary initial frameInitial frame:Robot frame:

Robot position:

Mapping between the two frames

Representing Robot Position

[ ]TI yx θξ =

{ }II YX ,

{ }RR YX ,

( )⎥⎥⎥

⎢⎢⎢

⎡−=

1000cossin0sincos

θθθθ

θR

( ) ( ) [ ]TIR yxRR θθξθξ &&&&& ⋅==

Rotation Example

Example: Robot aligned with YI

Kinematic Modeling

Determine the robot speed as a function of wheel speed , steering angle , steering speed and the geometric parameters of the robot.Forward kinematics

Inverse kinematics

Why not

the relationship is not straight forward.

[ ]Tyx θζ &&&& =ϕ& β β&

),....,,,...,,,...,( 111 mmnfyx

ββββϕϕθ

ζ &&&&

&

&

&

& =⎥⎥⎥

⎢⎢⎢

⎡=

),,(],....,,,...,,,...,[ 111 θββββϕϕ &&&&&&& yxfTmmn =

),...,,,...,( 11 mnfyx

ββϕϕθ

ζ =⎥⎥⎥

⎢⎢⎢

⎡=

Forward Kinematric Model: Differential Drive

Differential Drive Model

Differential Drive Model

Differential Motion

Wheel Kinematic Constraints: Assumptions

Movement on a horizontal planePoint contact of the wheelsWheels not deformablePure rolling

v = 0 at contact pointNo slipping, skidding or sliding No friction for rotation around contact pointSteering axes orthogonal to the surface Wheels connected by rigid frame (chassis)

r⋅ϕ&

v

Wheel Kinematic Constraints:

Fixed Standard Wheel

Fixed Standard Wheels

Rolling and sliding constraints are identical to fixed standard wheel, except the orientation of the wheel to the robot chassis is not fixed.

Wheel Kinematic Constraints:

Steered Standard Wheel

)(tβ

Wheel Kinematic Constraints:

Castor Wheel

Any motion orthogonal to the wheel plane must be balanced by an equivalent and opposite amount of castor steering motion .β&d

OmnidirectionalMove with any velocity in the space of possible robot motions

Wheel Kinematic Constraints:

Swedish Wheel

represents the angle between the main wheel plane and the axis of rotation of the small circumferential rollersγ

omnidirectional

Wheel Kinematic Constraints:

Spherical Wheel

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

Given a robot with M wheelseach wheel imposes zero or more constraints on the robot motiononly fixed and steerable standard wheels impose constraints

Suppose we have a total of N=Nf + Ns standard wheelsWe can develop the equations for the constraints in matrix forms:Rolling

Lateral movement( ) 1

)()(

)(

×+

⎥⎦

⎤⎢⎣

⎡=

sf NNs

f

tt

tϕϕ

ϕ1 2( ) ( ) 0s IJ R Jβ θ ξ ϕ− =& &

( ) 31

11 )(

)(

×+

⎥⎦

⎤⎢⎣

⎡=

sf NNss

fs J

JJ

ββ )( 12 NrrdiagJ L=

0)()(1 =Is RC ξθβ &

( ) 31

11 )(

)(

×+

⎥⎦

⎤⎢⎣

⎡=

sf NNss

fs C

CC

ββ

Example: Differential Drive

Assume robot axis along +XR. Then for right wheel, and for left wheel.

Resulting in

Inverting the equation results in

2

1 0 11 0 1 ( )

00 1 0

I

JR

ϕθ ξ

⎡ ⎤⎡ ⎤⎢ ⎥− = ⎢ ⎥⎢ ⎥ ⎣ ⎦⎢ ⎥⎣ ⎦

&

πβπα =−= ,2/0,2/ == βπα

1

2 21 1

1 0 1 1 1 01( ) 1 0 1 ( ) 0 0 2

0 020 1 0 1 1 0

I

J JR R

ϕ ϕξ θ θ

− −

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥= − =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦

&

1 2

1

( )( )

( ) 0s

Is

J JR

Cβ ϕ

θ ξβ

⎡ ⎤ ⎡ ⎤=⎢ ⎥ ⎢ ⎥

⎣ ⎦⎣ ⎦&

[sin( ) cos( ) cos ] ( ) 0

[cos( ) sin( ) sin ] ( ) 0

l R r

l R

α β α β β θ ξ ϕ

α β α β β θ ξ

+ − + − − =

+ + =

& &

&

Mobile Robot Maneuverability

The maneuverability of a mobile robot is the combinationof the mobility available based on the sliding constraintsplus additional freedom contributed by the steering

Three wheels are sufficient for the static stabilityadditional wheels need to be synchronizedthis is also the case for some arrangements with three wheels

It can be derived using the equation seen beforeDegree of mobilityDegree of steerabilityRobots maneuverability

smM δδδ +=

Mobile Robot Maneuverability: Degree of Mobility

To avoid any lateral slip, the motion vector has to satisfy the following constraints:

Mathematically:must belong to the null space of the projection matrix

Null space of is the space N such that for any vector n in N

Geometrically this can be shown by the Instantaneous Center of Rotation(ICR)

0)(1 =If RC ξθ &

⎥⎦

⎤⎢⎣

⎡=

)()(

1

11

ss

fs C

CC

ββ

0)()(1 =Iss RC ξθβ &

IR ξθ &)(

IR ξθ &)( )(1 sC β

)(1 sC β

0)(1 =⋅ nC sβ

Mobile Robot Maneuverability: Instantaneous Center of Rotation (ICR)

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

Ackermann Steering Bicycle

Mobile Robot Maneuverability: More on Degree of Mobility

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

the greater the rank of , the more constrained is the mobility

Mathematically

o no standard wheelso all direction constrained

Examples:Unicycle: One single fixed standard wheelDifferential drive: Two fixed standard wheels

[ ])(1 sCrank β)(1 sC β

[ ] [ ])(3)(dim 11 ssm CrankCN ββδ −== [ ] 3)(0 1 ≤≤ sCrank β

[ ] 0)(1 =sCrank β[ ] 3)(1 =sCrank β

Mobile Robot Maneuverability: Degree of Steerability

Indirect degree of motion

The particular orientation at any instant imposes a kinematic constraintHowever, the ability to change that orientation can lead additional degree of maneuverability

Range of :

Examples:one steered wheel: Tricycletwo steered wheels: No fixed standard wheelcar (Ackermann steering): Nf = 2, Ns=2 -> common axle

[ ])(1 sss Crank βδ =

20 ≤≤ sδsδ

Mobile Robot Maneuverability: Robot Maneuverability

Degree of Maneuverability

Two robots with same are not necessary equalExample: Differential drive and Tricycle (next slide)

For any robot with the ICR is always constrained to lie on a lineFor any robot with the ICR is not constrained. ICR can be set to any point on the plane

The Synchro Drive example:

smM δδδ +=

2=Mδ

3=Mδ

211 =+=+= smM δδδ

Mobile Robot Maneuverability: Wheel Configurations

Differential Drive Tricycle

Five Basic Types of Three-Wheel Configurations

Synchro Drive

211 =+=+= smM δδδ

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 exampleWorkspace

how the vehicle is able to move between different configuration in its workspace?

The robot’s independently achievable velocities= differentiable degrees of freedom (DDOF) =Bicycle: DDOF = 1; DOF=2Omni Drive: DDOF=3; DOF=3

11+=+= smM δδδ03 +=+= smM δδδ

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

Holonomic RobotsA holonomic kinematic constraint can be expressed as an explicit function of position variables onlyA non-holonomic constraint requires a different relationship, such as the derivative of a position variableFixed and steered standard wheels impose non-holonomic constraints

DOFDDOF M ≤≤ δ

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

For the high-speed mobile robots, dynamic constraints must be expressed in addition to kinematic constraintsThe friction model for interaction between surface and wheel must be consideredDynamics is separate field of research in robotics. Beyond the scope of this course.Motorization

Appropriate actuation of the robot’s DOFControllability

Under what condition can a mobile robot travel from the initial pose to the goal pose in bounded time?

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

Motion Control: Open Loop Controltrajectory (path) divided in motion segments of clearly defined shape:

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 accelerationsdoes 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

Find a control matrix K, if exists

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

drives the error e to zero.

⎥⎦

⎤⎢⎣

⎡=

232221

131211

kkkkkk

K

⎥⎥⎥

⎢⎢⎢

⎡⋅=⋅=⎥

⎤⎢⎣

θω

yx

KeKttv

R

)()(

0)(lim =∞→

tet

Motion Control:

Kinematic Position ControlThe kinematic of a differential drive mobile robot described in the initial frame {xI, yI, θ} is given by,

where and are the linear velocities in the direction of the xI and yI of the initial frame.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.

⎥⎦

⎤⎢⎣

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

ωθθ

θ

vyxI

100sin0cos

&&

&

Δy

Kinematic Position Control: Coordinates TransformationCoordinates transformation into polar coordinates with its origin at goal position:

System description, in the new polar coordinates

Δy

for for

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 α remains in I1 for all time t.

Kinematic Position Control: The Control LawIt can be shown, that with

the feedback controlled system

will drive the robot to 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.

( ) ( )000 ,,,, =βαρ

Kinematic Position Control: Resulting Path

Kinematic Position Control: Stability IssueIt can further be shown, that the closed loop control system is locally exponentially stable if

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

and the characteristic polynomial of the matrix A of all roots

have negative real parts.

0 ; 0 ; 0 >−<> ραβρ kkkk

Mobile Robot Kinematics: Non-Holonomic Systems

Non-holonomic systemsdifferential 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.

s1=s2 ; s1R=s2R ; s1L=s2L

but: x1 = x2 ; y1 = y2

Homework 2 (Due on next class)

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)