Professional Documents
Culture Documents
Lecture 3
Robot Kinematics
robots
z The basis for the coordinate system decides on the simplicity
p1 = Rp 0
⎡ 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 ⎦
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⎦
¾ Robot position: ξ I = [x y θ ]T
[ϕ&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
¾ v = 0 at contact point v
z No slipping, skidding or sliding
z No friction for rotation around contact point
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 Resulting in
⎡1 0 1 ⎤
⎢1 0 −1⎥ R(θ )ξ& = ⎡ J 2ϕ ⎤
⎢ ⎥ I ⎢ 0 ⎥
⎢⎣0 1 0 ⎥⎦ ⎣ ⎦
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
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
δ 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
z Motion control is not straight forward because mobile robots are non-
holonomic systems.
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
for for
Kinematic Position Control: Remarks
z Proof:
for small x −> cosx = 1, sinx = x
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)