0% found this document useful (0 votes)
541 views4 pages

Foundations of Robot Motion: 1.1 Degrees of Freedom of A Rigid Body

1. The document discusses degrees of freedom and constraints of robotic linkages. It defines configuration space and provides Grubler's formula to calculate degrees of freedom based on the number of links and joints in a robotic system. 2. It describes two representations of configuration space - explicit using coordinates and implicit using constraints in higher dimensions to avoid singularities. 3. Holonomic constraints reduce the dimension of configuration space by restricting the coordinates that can be independently varied.

Uploaded by

Bhushan Rane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
541 views4 pages

Foundations of Robot Motion: 1.1 Degrees of Freedom of A Rigid Body

1. The document discusses degrees of freedom and constraints of robotic linkages. It defines configuration space and provides Grubler's formula to calculate degrees of freedom based on the number of links and joints in a robotic system. 2. It describes two representations of configuration space - explicit using coordinates and implicit using constraints in higher dimensions to avoid singularities. 3. Holonomic constraints reduce the dimension of configuration space by restricting the coordinates that can be independently varied.

Uploaded by

Bhushan Rane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Modern Robotics: Mechanics, Planning, and Control Ayman DAMOUN

Constraints c Constraints c We say two spaces have the same ”shape”, or more formally that
1 Foundations of Robot Motion between two between two they are TOPOLOGICALLY EQUIVALENT, if one can be smoothly
Joint type dof f
1.1 Degrees of Freedom of a Rigid Body planar spatial deformed into the other, without cutting or gluing. The topology
rigid bodies rigid bodies of the space is independent of the representation of the space.
Configuration: a specification of the positions of all the points Revolute (R) 1 2 5
Prismatic (P) 1 2 5 Explicit Representation:
of the robot.
Helical (H) 1 N/A 5 It uses n parameters to represent a n-dimensional space. But
Robots are constructed of rigid bodies called links. These links
Cylindrical (C) 2 N/A 4 it has sigularities, for example the North/South pole situation.
are connected together by joints.
Universal (U) 2 N/A 4 There are two solutions for the sigularities:
C-space: is the space of all configurations of the robot.
Spherical (S) 3 N/A 3 -Use multiple coordinate charts (atlas).
The number of degrees of freedom (DOF) is the dimension of
-Use implicit representation.
the C-space, or the minimum number of real numbers you need
The number of degrees of freedom f and constraints c
to represent the configuration Implicit Representation:
provided by common joints.
It uses more parameters than the space’s dof. It views the
N = # of bodies, including ground. n-dimensional space as embedded in a Euclidean space of
J = # of joints, m = 6 for spatial bodies, 3 for planar more than n dimensions. It uses the coordinates of the higher-
dimensional space, but subjects these coordinates to con-
J J
straints that reduce the number of degrees of freedom. It has
dof = m(N − 1) − ∑ ci = m(N − 1) − ∑ (m − fi )
| {z } i=1 i=1
advantage in representing closed-chain mechanism.
rigid body freedoms | {z }
joint constraints
1.3 Holonomic constraints
Grübler’s formula (all constraints independent)
J Constraints that reduce the dimension of C-space. The C-space
dof = m(N − 1 − J) + ∑ fi can be viewed as a surface of dimension n − k embedded in Rn ,
i=1 where n indicates the number of parameters that are used to
Rigid body in space has six total degrees of freedom, three of represent the space, and k indicates the number of constraints
which are linear, or x-y-z, and three of which are angles, some- 1.2 Configuration Space Topology holonomic. (In the example of the planar, closed-chain, four-bar
times called roll, pitch, and yaw. linkage, n = 4 and k = 3)
dof = ∑ (freedoms of bodies) − numbers of independent con- 
g1 (θ1 , . . . , θn )

straints. θ = [θ1 · · ·n ]T g(θ) = =0
gk (θ1 , . . . , θn )
A rigid body in n-dimensional space has m total degrees of free-  ∂g1 
dom. How many of these m degrees of freedom are angular ∂g1
∂θ1
(θ)θ̇1 + · · · + ∂θ (θ)θ̇n
n
(not linear)? m − n=n(n − 1)/2  .. 
=0
.

 
∂gk ∂gk
∂θ1
(θ)θ̇1 + · · · + ∂θ (θ)θ̇n
n
 ∂g1 ∂g1 
(θ) · · · (θ)

∂θ ∂θn θ̇1
 1. .. ..  . 

 .. . .   ..  = A(θ)θ̇ = 0

∂gk
∂θ1
(θ) · · · ∂gk (θ)
∂θn
θ̇n
where the A matrix has k rows and n columns. Velocity con-
straints like this are called Pfaffian constraints.
Holonomic Constraints: Constraints on configuration. Con-
straints that reduce the dimension of C-space.
Nonholonomic Constraints: Constraints on velocity. Pfaffian
constraints that are non-integrable. (example: A coin rolling on
Typical robot joints. a plane without slipping)
Modern Robotics: Mechanics, Planning, and Control Ayman DAMOUN

1.4 Task Space and Workspace Notation: skew-symmetric matrices


p(θ) = e[ω̂]θ p(0)
Task Space: The space in which the robot’s task is naturally de- x × y =[x]y
scribed.
  
x1 0 −x3 x2
[x] = −[x]T e[ω̂]θ serves as a rotation matrix that rotates vector p(0) to p(θ).
x =  x2  ∈ R3 , [x] =  x3 0 −x1 
Work Space: A specification of the reachable configurations of e[ω̂]θ , after expansion, can be written as:
x3 −x2 x1 0
the end-effector.
The set of all 3 × 3 skew-symmetric real matrices is called so(3).
Both spaces are distinct from the robot’s C-space. e[ω̂]θ = I + sin θ[ω̂] + (1 − cos θ)[ω̂]2
Ṙsb = x̂˙b ŷ˙b ẑ˙b = [ωs ] Rsb
 

ωb = Rbs ωs = R−1 T
sb ωs = Rsb ωs For a matrix A ∈ Rn×n , eA is the matrix exponential of A. Here the
1.5 Rotation Matrices equation that uses the matrix exponential of [ω̂]θ to represent a
then rotation matrix is called Rodrigues’ formula:
A rotation matrix R is in SO(3)(special orthogonal group). [ωb ] = R−1 Ṙ = RT Ṙ
The special orthogonal group SO(3) is the set of all 3 × 3 real
matrices R satisfying RT R = I and det R = 1 [ωs ] = ṘR−1 = ṘRT
Rot(ω̂, θ) = e[ω̂]θ = I + sin θ[ω̂] + (1 − cos θ)[ω̂]2 ∈ SO(3)
Properties of rotation matrices
1.7 Exponential Coordinates of Rotation
inverse: R−1 = RT ∈ SO(3) Recall that, when using rotation matrix as rotation operation,
closure: R1 R2 ∈ SO(3) Any orientation can be achieved from an initial orientation ω̂ is coordinate-dependent. Thus pre-multiplying and post-
associative: (R1 R2 ) R3 = R1 (R2 R3 ) aligned with the space frame by rotating about some unit axis multiplying a rotation matrix can have difference results.
not commutative:R1 R2 6= R2 R1 by a particular angle. We call the unit axis ω̂ and the rotation dis-
tance θ. If we multiply these two together, we get the 3-vectorω̂θ. exp : [ω̂]θ ∈ so(3) →R ∈ SO(3)
x ∈ R3 , kRxk = kx | log : R ∈ SO(3) → [ω̂]θ ∈ so(3)
We call these 3 parameters the exponential coordinates repre-
senting the orientation of one frame relative to another. This is
Usages of Rotation Matrices:
an alternative representation to a rotation matrix. We call these
- Representing an orientation
exponential coordinates because of the connection to linear dif- Rot(ω̂, θ) =
Here the rotation matrix Rsb can be considered as the represen- 
cθ + ω̂21 (1 − cθ ) ω̂1 ω̂2 (1 − cθ ) − ω̂3 sθ ω̂1 ω̂3 (1 − cθ ) + ω̂2 sθ

ferential equations.
tation of the three axes in b at s.  ω̂1 ω̂2 (1 − cθ ) + ω̂3 Sθ cθ + ω̂22 (1 − cθ ) ω̂2 ω̂3 (1 − cθ ) − ω̂1 sθ 
- Changing the reference frame ω̂1 ω̂3 (1 − cθ ) − ω̂2 Sθ ω̂2 ω̂3 (1 − cθ ) + ω̂1 Sθ cθ + ω̂23 (1 − cθ )
Here the rotation matrix Rsb can be considered as an operation
to change the reference frame of a matrix from s to b. A sub- tr R = r11 + r22 + r33 = 1 + 2 cos θ
scription cancellation rule can be exploited.
- Rotating a vector or a frame 1.8 Homogeneous Transformation Matrices
Here the rotation matrix Rsb can be considered as an operation
The special Euclidean group SE(3) is the set of all 4 × 4 real ma-
that rotates s about an axis ω̂ for θ to b. We have R = Rot(ω̂, θ).
trices T of the form
 
During the rotation, we have: r11 r12 r13 p1
1.6 Angular Velocities  
R p  r21 r22 r23 p2 
T= = 
Angular velocity is defined as w = ŵθ̇. It’s a 3-vector, where ŵ in- ṗ = [ω̂]p 0 1  r31 r32 r33 p3 
dicates the axis of rotation and θ̇ indicates the rate of rotation. 0 0 0 1
this equation can be considered as a differential equation of the
form ẋ = Ax, the solution is: R ∈ SO(3), p ∈ R3
For a given body frame,
 whose orientation is represented by a
rotation matrix R = r1 r2 r3 . As it rotate with the fixed an- p(t) = e[ω̂]t p(0)  −1
R p
gular velocity ωs , which is described in s, R is a function of time inverse: T −1 =
t. The rate of change of R can then be represented as: 0 1
where p(0) is the initial position of vector p. Since the rate of RT −RT p
 

Ṙ = ωs × r1 ωs × r2 ωs × r 3

= ωs × R rotation is 1 rad/s, we can replace t by θ, so we have: = ∈ SE(3)
0 1
Modern Robotics: Mechanics, Planning, and Control Ayman DAMOUN

closure: T1 T2 ∈ SE(3) 1.9 Twists where [ωb ] is the angular velocity expressed in the b frame.
associative: (T1 T2 ) T3 = T1 (T2 T3 ) νb = RT ṗ, which can be written as Rbs ps = pb , is the linear ve-
not commutative: T1 T2 6= T2 T1 Any rigid-body velocity, which consists of a linear component
locity of the origin of frame b expressed in b.
and an angular component, is equivalent to the instantaneous
velocity about some screw axis. 
[ωs ] νs

Usages of Transformation Matrices [Vs ] = Ṫ T −1 = ∈ se(3)
0 0
Analogous to rotation matrices, transformation matrices have
three usages:
Representing a configuration
S = (Sω , Sv )
exp : se(3) → SE(3)
If Sω = 0, kSvk = 1 : 
[S ]θ I Sv θ
e =
0 1
If kSω k"= 1 :   #
e[Sω ]θ Iθ + (1 − cos θ) [Sω ] + (θ − sin θ) [Sω ]2 Sv
e[S ]θ =
0 1
 
Rsb p
Tsb =
0 1 screw
   
Sω angular velocity when θ̇ = 1
Tsb = Tbs−1 S= =
Sv linear velocity of the origin when θ̇ = 1
Changing the reference frame of a vector or a frame
 
ω
The subscript cancellation rule also applies here: twist: V = = S θ̇
v
- Pitch h is infinite:
Tab Tbc = Tac
Sω = 0, kSv k = 1, θ̇ = linear speed
Tab vb = va
- Pitch h is finite:
If S is expressed in {b} :
Displacing(rotating and translating) a vector or a frame We kSω k = 1, θ̇ = rotational speed
have: If S is defined in {b}, Vb = (ωb , vb ) = S θ̇ is the body twist. Tsb0 = Tsb e[Sb ]θ
A transformation matrix can be seen as a combination of roat- If S is defined in {s}, Vs = (ωs , vs ) = S θ̇ is the spatial twist.
ion and translation operations. If S is expressed in {s}
Change the frame of representation of a twist
Same with rotation matrix, transformation matrix here is The 6 × 6 adjoint representation of a transformation matrix Tsb0 = e[Ss ]θ Tsb
coordinate-dependent. Whether we pre-multiply or post-    
multiply Tsb by T = (R, p) determines whether the ω̂-axis and p R p R 0 Wrenches
T= is [AdT ] = ∈ R6×6
are interpreted as in the fixed frame or the body frame: 0 1 [p]R R Given a reference frame a, a force fa ∈ R3 creates a torque /
ω̂ is interpreted as in the fixed frame Va = [AdTab ] Vb moment ma ∈ R3 after acting on a rigid body at point ra ∈ R3 :
Recall that rotation matrices have a property that:
Tsb0 = T Tsb = Trans(p) Rot(ω̂, θ)Tsb m a = ra × f a
ṘR−1 = [ωs ]
| {z }
rotate, then translate
Combining moment and force together, we have the six-
R−1 Ṙ = [ωb ] dimensional spatial force / wrench Fa :
ω̂ is interpreted as in the body frame
Homogeneous transformation matrices have a similar one:
Tsb00 = Tsb T = Tsb Trans(p) Rot(ω̂, θ) 
[ωb ] νb
  
ma
| {z } [Vb ] = T −1 Ṫ = ∈ se(3) Fa = ∈ R6
translate, then rotate 0 0 fa
Modern Robotics: Mechanics, Planning, and Control Ayman DAMOUN

Similar with the case of twist, the reference frame of a wrench References
can be switched with the help of the adjoint representation of a Modern Robotics Course
transformation matrix. But the case is slightly different here: https://www.coursera.org/specializations/modernrobotics
Modern Robotics Course Notes
https://muchensun.github.io/ModernRoboticsCourseNotes/
Innovative Innovation
F b = Ad T Tab (F a) = [AdTab ]T Fa https://github.com/innovativeinnovation

The dot product of a twist and a wrench is power. Power does


not depend on a coordinate frame, and therefore the power
must be the same whether the wrench and twist are represented
in the b frame or in the s frame.

VbT Fb = power

Example A robot hand holding an apple subject to gravity

 
0  
 

 0 
 1 0 0 −L
ma  0   0 1 0 0 
Fa = =  Ta f =
 
fa 
 0 
 0 0 1 0 
 −mg  0 0 0 1
0

 T
F f = AdTa f Fa
 
0
 

 0 

mf  −mgL 
Ff = = 
ff 
 0 

 −mg 
0

Summary

You might also like