16-311-Q INTRODUCTION TO ROBOTICS
LECTURE 5 (CONTINUED):
KINEMATIC CONSTRAINTS
DEGREES OF FREEDOM/MOBILITY
MOBILE ROBOT MANEUVERABILITY
The kinematic mobility (maneuverability) of a robot chassis is its
ability to directly move in the environment, which is the result of:
1. The rule that every standard wheel must satisfy its no sliding and rolling
constraints ( Each wheel imposes zero or more constraints on the motion)
Determine the Degree of mobility, 𝜹𝙢: degrees of controllable
freedom based on changes in wheels’ velocity
2. The additional freedom contributed by steering and spinning steerable wheels
Determine the Degree of steerability, 𝜹𝘴: degrees of controllable
freedom based on steering wheels and then moving
Mathematically, the degree of maneuverability 𝜹M
is defined as the sum of:
Degree of mobility, 𝜹𝙢 and Degree of steerability, 𝜹𝘴
𝜹M = 𝜹𝙢 + 𝜹𝘴 2
MANEUVERABILITY AND (NON)HOLONOMY
The degree of mobility quantifies the controllable degrees of freedom
of a mobile robot based on the changes applied to wheel velocities
Holonomic: If the controllable degrees of freedom is equal to total
degrees of freedom, then the robot is said to be Holonomic,
Non-Holonomic otherwise
1. In the following we will first derive the controllable degrees of freedom using
algebraic reasoning (matrix rank, notion of linear independence)
2. Then, we will show that kinematic constraints of a robot with respect to the
degree of mobility can be also demonstrated geometrically using:
Instantaneous center of rotation (ICR) / Instantaneous center of curvature (ICC)
3. Finally, we will relate maneuverability, DOFs, holonomic and non
holonomic constraints, fully and under actuated robot systems
3
RECAP: TYPES OF WHEELS
Fixed standard
Steered standard /
Orientable
d
Mecanum/Swedish
Castor /
Off-centered orientable Spherical 4
F I X E D S TA N D A R D W H E E L
2 3 Reference wheel point A (on the β: angle of wheel
ẋ
6 7 axle) is in polar coordinates: A(l, α) plane wrt chassis
⇠R = R(✓)⇠I = R(✓) 6
˙ ˙ ẏ
4 5
7
✓˙ Wheel
axle
ne
p l a
YR e el
h
W
'˙
v
P
XR
• Rolling constraint (pure rolling at the contact point): All motion along the
direction of the wheel plane is determined by wheel spin
• Sliding constraint: The component of the wheel’s motion orthogonal to the
wheel plane must be zero
5
F I X E D S TA N D A R D W H E E L : C O N S T R A I N T S E Q U AT I O N S
The wheel, of radius r,
spins over time such that
its rotational position
around the horizontal
axle is a function of time:
'˙
and linear velocity is r '˙
Rolling constraint:
R
projections of [ẋ ẏ ✓˙]
along wheel plane must equal
linear velocity from wheel
3 component projection vectors Sliding constraint:
𝜶, β, l are parameters projections of R [ẋ ẏ ✓˙]
in the local {R} frame orthogonal to the wheel
plane must be zero 6
FIXED STANDARD WHEEL: ROLLING CONSTRAINT
.. . .
• R[ x y ] are the components of 𝜉 the pose velocity
𝝷 R
vector in the coordinate frame {R} fixed to the
robot in the reference point P.
• Projections of all robot’s velocities (linear and
angular) on the wheel’s velocity plane must equal
the velocity implied by the wheel’s spinning (under
pure rolling assumption)
• Projection of x. along wheel velocity plane:
. .
x cos(90-(𝜶+𝜷)) → x sin(𝜶+𝜷)
• Projection of .y along wheel velocity plane:
.
y (-cos(𝜶+𝜷))
.
• Projection of the robot angular velocity 𝛉 (-l)
𝜶+𝜷 along wheel velocity plane:
.
90-(𝜶+𝜷) 𝛉 (-l) cos(𝜷) 7
FIXED STANDARD WHEEL: SUMMARY OF CONSTRAINTS
(Pure) Rolling constraint 2 3
⇥ ⇤ ẋR
Standard wheel A: PẋR PẏR P✓˙R 4ẏR 5 = r '˙
✓˙R
PẋR , PẏR , P✓˙R = Projections of ẋR , ẏR , ✓˙R along the wheel plane
No sliding (no side motion) constraint
2 3
h i ẋR
Standard wheel A: Pẋ?R Pẏ?R P✓˙? 4ẏR 5 = 0
R
✓˙R
Pẋ?R , Pẏ?R , P✓˙? = Projections of ẋR , ẏR , ✓˙R orthogonal to the wheel plane
R
NUMERIC EXAMPLE: NO SIDE MOTION CONSTRAINT
Wheel A is in position such that:
α = 0, β = 0, θ = 0
2 32 3 2 3
YR YI 1 0 0 ẋ ẋ
⇥ ⇤6 76 7 ⇥ ⇤6 7
1 0 0 6
4
0 1 07 6ẏ 7 = 1 0 0 6ẏ 7 = 0
54 5 4 5
0 0 1 ✓˙ ✓˙
v XR
A . XI
No instantaneous motion is possible along
Wheel plane the x axis of the robot frame, dx/dt=0
• Projection of robot’s velocity component along the YR axis on the wheel’s plane
(perpendicular to v) is 0, being perpendicular to each other
• Projection of robot’s velocity component along the XR axis on the wheel’s plane is
1, being wheel’s plane and XR fully aligned
• Projection of robot’s velocity component from rotation d𝜃/dt is 0, because of 𝛽=0
• R(𝜃) = I because of no relative rotation between {R} and {I} 9
S TA N D A R D S T E E R A B L E W H E E L
Additional degree of freedom:
Now the angle β of the wheel
wrt the chassis is not fixed
anymore, but is time-varying,
as result of the control actions
Instantaneously, the rate of variation of β(t) does not have an impact on the motion
constraints. It’s only by time integration that the changes in the steering angle have
an impact on robot mobility. 10
CASTOR WHEEL
✦ The rolling constraint is identical to the standard steering case since the offset axis
does not play a role during motion
✦ The sliding constraint changes: the lateral force on the wheel occurs at A because
this is the attachment of the wheel to the chassis
✦ All lateral motion is balanced by an equivalent caster steering motion such
that no resistance to motion is opposed by the castor wheel 11
CASTOR WHEEL
✦ In a steered standard wheel, the steering
action does not by itself cause a movement
of the robot chassis.
✦ In a castor wheel the steering action itself
moves the robot chassis because of the
offset between the ground contact point
and the vertical axis of rotation.
Given any robot chassis motion ⇠˙I , there exists some value for spin speed, ',
˙ and
steering speed, ˙ , such that the constraints are met.
Kinematic constraint equations are integrable! (steering must be free)
Therefore, a robot with only castor wheels can move with
any velocity in the space of possible robot motions: omnidirectional system 12
SWEDISH WHEEL
✦ A fixed standard wheel with rollers attached to the wheel perimeter, with
axes that are antiparallel to the main axis of the fixed wheel component.
✦ The exact angle 𝜸 between the roller axes and the main axis can vary
Capable of omnidirectional motion
13
SPHERICAL WHEEL
✦ Same equations as in the fixed case, but now β gives the direction of motion,
and is a free variable derived from the sliding constraint equation.
✦ Example: If the robot translates in direction YR, then the second equation
becomes: sin(α+β) = 0, making β = -α
Omnidirectional motion. Neither rolling nor sliding constraints
14
A R O B O T W I T H N S TA N D A R D W H E E L S
OUT OF M WHEELS
A. Each wheel can impose zero or more constraints on the motion
B. Only fixed and steerable standard wheels impose kinematic constraints
Let’s assume to have N = Nf + Ns standard (Fixed + Steerable) wheels
• Rolling constraints:
Rolling constraints
J1 ( s )R(✓)⇠˙I J2 '˙ = 0
" # " #
'f (t) J1f
'(t) = , J1 ( s ) = , J2 = di ag(r1 , r2 , . . . , rN )
's (t) J1s ( s )
Sliding constraints
• Lateral movement:
" #
C1f
C1 ( s )R(✓)⇠˙I = 0, C1 ( s ) =
C1s ( s )
15
A R O B O T W I T H N S TA N D A R D W H E E L S
OUT OF M WHEELS
• Rollingconstraints
Rolling constraints:
J1 ( s )R(✓)⇠˙I J2 '˙ = 0
" # " #
'f (t) J1f
'(t) = , J1 ( s ) = , J2 = di ag(r1 , r2 , . . . , rN )
's (t) J1s ( s )
'(t) = (Nf + Ns ) ⇥ 1, J1 = (Nf + Ns ) ⇥ 3
J1 is a matrix with projections for all wheels to their motions along their individual
wheel planes, which have a fixed angle for the fixed wheels and
a time-varying angle for the steerable wheels
• Lateral movement:
" #
Sliding constraints C1f
C1 ( s )R(✓)⇠˙I = 0, C1 ( s ) =
C1s ( s )
C1 = (Nf + Ns ) ⇥ 3
C1 is a matrix with projections for all wheels to their motions in the
16
direction orthogonal to wheels’ planes
DIFFERENTIAL DRIVE ROBOT EXAMPLE
YR
chassis AL
P l
l XR
AR
Right wheel: AR (l, α = -𝛑/2), β = 𝛑
Left wheel: AL ( l, α = 𝛑/2), β = 0
No steering
" # " # " # " #
J1 ( s ) J2 '˙ wheels J1f J2 '˙
R(✓)⇠˙I = ➔ R(✓)⇠˙I =
C1 ( s ) 0 C1f 0
17
DIFFERENTIAL DRIVE ROBOT EXAMPLE
" # " #
𝜷=0, wheel plane is J1f J2 '˙ Linear velocities from
aligned with robot Y axis R(✓)⇠˙I = wheels 1 and 2
Wheel’s motion is all C1f 0
projected along
robot’s X axis 2" #3 2 3
1 0 ` " # r '˙ 1
Wheel plane, no- 6 7 J2 '˙ 6 7
motion line, is 6 1 0 ` 7 R(✓)⇠˙I = =6 r ˙
' 7
4 5 0 4 2 5
fully aligned with ⇥ ⇤
robot Y axis
⇥ 0 1 0⇤ 0
0 ⨉1 0
The two no-sliding constraints are equal because the
two wheels are parallel, one is redundant, removed
Expliciting wrt the velocity pose of the robot in {I}:
kinematic equations for differential drive robot
2 3 1 2 3
1 0 ` " # 1/2 1/2 0 " #
6 7 J2 '˙ 6 7 J2 '˙
⇠˙I = R(✓) 1 61 0 `7 = R(✓) 1 6 0 0 17
4 5 0 4 5 0
0 1 0 1/2` 1/2` 0
18