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
mδ
sδ
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 δδδ +=
Mδ
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
mδ
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)