Robotics Classification
Robotics Classification
ROBOT CLASSIFICATION
3 DYNAMICS &CONTROL
REFERENCES
How many
DOF?
Robot Geometry: Degrees of Freedom (DOF)
How many
DOF?
Robot Geometry: Degrees of Freedom (DOF)
Robot configurations
• In general, the fundamental mechanical
configurations of robot manipulators are
categorized as Cartesian, Cylindrical,
Spherical and Articulated / Jointed-arm.
• Cartesian is divided into traverse & gantry
types.
• Articulated is divided into horizontal & vertical
types.
Robot Geometry: Robot configurations & Work envelope
Gant Traver
ry se
Robot Geometry: Robot configurations & Work envelope
2. Cylindrical robot
• The manipulator has 2 linear motions and 1 rotary
motion.
• Robot’s manipulator has 1 rotational degree of
freedom and 2 translational (linear) degrees of
freedom.
• A cylindrical-coordinated robot generally results in a
larger work envelope than cartesian-coordinated robot.
• This robot is ideally suitable for pick and place
operation.
• Typical applications are assembly, conveyor pallet
transfer, palletizing etc.
Robot Geometry: Robot configurations & Work envelope
Cylindric
al
Robot Geometry: Robot configurations & Work envelope
Spherica
l
Robot Geometry: Robot configurations & Work envelope
Spherical coordinates (vertical) One linear axis, two rotating Can’t reach around obstacles
θ, y, β (base rotation, elevation axes Generally has short vertical
angle, reach angle) Long horizontal reach reach
Articulated (or jointed-arm) Three rotating axes Two or four ways to reach a
coordinates (vertical) Can reach above or below point
θ, β, α (base rotation, elevation obstacles Most complex manipulator
angle, reach angle) Largest work area for least
floor space
SCARA coordinates (horizontal) One linear axis, two rotating Two ways to reach a point
θ, Φ, z (base rotation, reach axes Difficult to program off-line
angle, height) Height axis is rigid Highly complex arm
Large work area for floor
space
Can reach around obstacles
Summary of work
envelope
Robot Geometry: Work envelope
End of Lecture 6
Kinematics & Planning: Transformations
Example:
The vector defining C
is given in {W} frame.
We may need to
transform this into the
robot base co-
ordinate frame {B}
and/or into the end
effector frame {E}.
Kinematics & Planning: Transformations
Point P is located
in coordinate
frame {A}.
1. Pure translation
Transform point C vector: Pure translation from frame
{W} to {B}.
**Frame {B} and {W} have the same orientation.
Kinematics & Planning: Transformations
A B A
P = P + PBORG
Kinematics & Planning: Transformations
2. Pure rotation
Transform point C vector: Pure Wrotation
C B
C of
to .
**Frame {B} and {W} have the same origin
position.
Rotation around
z-axis:
B
C X = L1 − L2
B
CY = L3 + L4
B W
CZ = CZ
Kinematics & Planning: Transformations
B W W
C X = C X cos θ − CY sin θ
B
CY = W C X sin θ + W CY cos θ
B W
CZ = CZ
These equations can be expressed
inB matrix form: w
⎡ C X ⎤ ⎡cos θ − sin θ 0⎤ ⎡ C X ⎤
⎢B ⎥ ⎢ ⎥ ⎢w ⎥
⎢ C Y ⎥ = ⎢ sin θ cos θ 0⎥ ⎢ C Y ⎥
⎢ BC Z ⎥ ⎢⎣ 0 0 w
1 ⎦ ⎣ C Z ⎥⎦
⎥ ⎢
⎣ ⎦
B B W
C = RW × C
Kinematics & Planning: Transformations
T
( R ) × R =I
B
W
B
W
−1 T
B
R =( R ) =( R )
W
W
B
W
B
Kinematics & Planning: Transformations
Summary
Rotation matrices:
⎡cos θ − sin θ 0 ⎤
ROT (z, θ ) = ⎢⎢ sin θ cos θ 0 ⎥⎥
⎢⎣ 0 0 1 ⎥⎦
⎡ cos θ 0 sin θ ⎤
ROT (y, θ ) = ⎢⎢ 0 1 0 ⎥⎥
⎢⎣ − sin θ 0 cos θ ⎥⎦
⎡1 0 0 ⎤
ROT (x, θ ) = ⎢⎢0 cos θ − sin θ ⎥⎥
⎢⎣0 sin θ cos θ ⎥⎦
Exercise
1) Pure
translation
Answer
⎡3⎤ ⎡ 2 ⎤ ⎡5 ⎤
B
C = ⎢⎢5 ⎥⎥ + ⎢⎢ −3⎥⎥ = ⎢⎢ 2 ⎥⎥
⎢⎣6 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣7 ⎥⎦
Exercise
1) Pure
rotation at
θ=30
Answer
o
⎡cos 30 − sin 30 0 ⎤ ⎡ 4 ⎤
B
C = ⎢⎢ sin 30 cos 30 0 ⎥⎥ ⎢⎢ 2 ⎥⎥
⎢⎣ 0 0 1 ⎥⎦ ⎢⎣ 2 ⎥⎦
⎡ 2.46 ⎤
B
C = ⎢⎢ 3.73 ⎥⎥
⎢⎣ 2 ⎥⎦
A
P = ( RB × P )+ PBORG
A B A
Kinematics & Planning: Transformations
A
P = ( RB × P )+ PBORG
A B A
A A A B
⎡ P⎤ ⎡ RB PBORG ⎤ ⎡ P ⎤
⎢ ⎥=⎢ ⎥⎢ ⎥
⎢⎣ 1 ⎥⎦ ⎢⎣0 0 0 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
1. Translational operators
A
P2 = A P1 + AQ = TRANS (qx , q y , qz )× A P1
⎡1 0 0 qx ⎤
⎢0 1 0 q y ⎥⎥
TRANS (qx , q y , qz )= ⎢
⎢0 0 1 qz ⎥
⎢ ⎥
⎣0 0 0 1⎦
Kinematics & Planning: Transformations
A
2. Rotational operators P2 = R × A P1
⎡cos θ − sin θ 0 0⎤
⎢ sin θ cos θ 0 0 ⎥⎥
ROT (z, θ ) = ⎢
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
⎡ cos θ 0 sin θ 0⎤
⎢ 0 1 0 0 ⎥⎥
ROT (y, θ ) = ⎢
⎢ − sin θ 0 cos θ 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
⎡1 0 0 0⎤
⎢0 cos θ − sin θ 0 ⎥⎥
ROT (x, θ ) = ⎢
⎢0 sin θ cos θ 0⎥
⎢ ⎥
⎣0 0 0 1⎦
Kinematics & Planning: Transformations
3. Transformation operators
Operator T rotates and translates AaP1 vector
to compute
A
P2 a new vector .
A A
P2 = T × P1
Kinematics & Planning: Transformations
B
P = BTW × W P
B
TW = TRANS (x B , y B , z B ) × ROT(θ1 , y B ) × ROT(θ 2 , z B )
(θ1 = 90o , θ 2 = 90o )
B
P = TRANS (x B , y B , z B ) × ROT(θ1 , y B ) × ROT(θ 2 , z B ) × W P
Kinematics & Planning: Transformations
B
P = BTW × W P
B
TW = ROT(θ1 , y B ) × TRANS (x B , y B , z B ) × ROT(θ 2 , z B )
(θ1 = 90o , θ 2 = 90o )
B
P = ROT(θ1 , y B ) × TRANS (x B , y B , z B ) × ROT(θ 2 , z B ) × W P
⎡9⎤
⎢4⎥
ANSWER, B P = ⎢ ⎥
⎢ −1⎥
⎢ ⎥
⎣1⎦
Kinematics & Planning: Transformations
B B W
P = TW × P
B
TW = ROT(θ1 , z w ) × ROT(θ 2 , y w ) × TRANS (xW , yW , zW )
(θ1 = 90o , θ 2 = 90o )
B
P = ROT(θ1 , z w ) × ROT(θ 2 , y w ) × TRANS (xW , yW , zW ) × W P
Kinematics & Planning: Transformations
B B W
P = TW × P
B
TW = ROT(θ1 , z w ) × TRANS (xW , yW , zW ) × ROT(θ 2 , y w )
(θ1 = 90o , θ 2 = 90o )
B
P = ROT(θ1 , z w ) × TRANS (xW , yW , zW ) × ROT(θ 2 , y w ) × W P
⎡0 ⎤
⎢6 ⎥
ANSWER, B P = ⎢ ⎥
⎢0 ⎥
⎢ ⎥
⎣1 ⎦
Kinematics & Planning: Transformations
Compound transformations
Kinematics & Planning: Transformations
B {B}.B C
Frame {C} is relative to frameP = TC × P
Frame {B} is relative to frame
A {A}.A B
P = TB × P
A A B C
A B B A
P = TB × TC × P
TB × TC ≠ TC × TB A A B
TC = TB × TC
A
⎡
TC = ⎢
A
RB × RC B
(R
A
B × PCORG )+ PBORG ⎤
B A
⎥
⎢⎣0 0 0 1 ⎥⎦
Kinematics & Planning: Transformations
−1
T ×T = I
Kinematics & Planning: Forward Kinematics
Forward kinematics
Forward kinematics is used to determine the location of
an end effector with respect to a reference coordinate
frame.
n
Tn +1 = ROT ( z , θ n +1 ) × TRANS(0, 0, d n +1 ) × TRANS(a n +1 , 0, 0) × ROT (x, α n +1 )
⎡Cθ n +1 − Sθ n +1 0 0 ⎤ ⎡1 0 0 0 ⎤ ⎡1 0 0 an +1 ⎤ ⎡1 0 0 0⎤
⎢ Sθ Cθ n +1 0 0 ⎥⎥ ⎢⎢0 1 0 0 ⎥⎥ ⎢⎢0 1 0 0 ⎥⎥ ⎢⎢0 Cα n +1 − Sα n +1 0 ⎥⎥
⎢ n +1 × × ×
⎢ 0 0 1 0 ⎥ ⎢0 0 1 d n +1 ⎥ ⎢0 0 1 0 ⎥ ⎢0 Sα n +1 Cα n +1 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ 0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0 0 0 1 ⎦ ⎣0 0 0 1⎦
0
Example: 3 DOF T3 = 0T1 1T2 2T3 = A1 × A2 × A3
robot
Kinematics & Planning: Forward Kinematics
Kinematics & Planning: Forward Kinematics
Kinematics & Planning: Inverse Kinematics
Inverse kinematics
Inverse kinematics is the calculation of the joint variables from the end effector position and orientation.
In inverse kinematics, we will pre-multiply the RT matrix with individual A -1 in order to calculate the angles, θ .
H n n
R R 1 2 n −1
TH = T1 T2 T3 ....... Tn = A1 A2 A3 ....... An .
Kinematics & Planning: Inverse Kinematics
A2 −1 × A1−1 × 0T3 = A3
End of Lecture 8
Kinematics & Planning: Dynamics & Control
Differential motion
Suppose you have a robot welding two pieces
together. For best results, you want the robot
to move at a constant speed. This means that
the differential motions of the hand frame must
be defined to represent a constant speed in a
particular direction. This relates to the
differential motion of the frame. However, the
motion is caused by the robot. Thus, we have
to calculate the speeds of each and every joint
at any instant, such that the total motion
2. Differential rotations
• A small rotation of the frame.
• Since the rotations are small:
➢ Sin δx = δx (in radians)
➢ Cos δx = 1
Differential rotation
matrices:
⎡ 1 −δ z 0 0 ⎤ ⎡cos θ − sin θ 0 0⎤
⎢δ z 1 0 0 ⎥⎥ ⎢ sin θ cos θ 0 0 ⎥⎥
ROT (z, δ z ) = ⎢ ROT (z, θ ) = ⎢
⎢0 0 1 0⎥ ⎢ 0 0 1 0⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣ 0 0 0 1⎦
⎡ 1 0 δ y 0⎤ ⎡ cos θ 0 sin θ 0⎤
⎢ 0 1 0 0 ⎥⎥ ⎢ 0 1 0 0 ⎥⎥
ROT (y, δ y ) = ⎢ ROT (y, θ ) = ⎢
⎢ −δ y 0 1 0⎥ ⎢ − sin θ 0 cos θ 0⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 0 0 1⎦ ⎣ 0 0 0 1⎦
⎡1 0 0 0⎤ ⎡1 0 0 0⎤
⎢0 1 −δ x 0 ⎥⎥ ⎢0 cos θ − sin θ 0 ⎥⎥
ROT (x, δ x ) = ⎢ ROT (x, θ ) = ⎢
⎢0 δ x 1 0⎥ ⎢0 sin θ cos θ 0⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1⎦
Differential rotation
operator = ⎡ 1 −δ z δ y 0⎤
⎢ δz 1 −δ x 0 ⎥⎥
ROT (x, δ x )× ROT (y, δ y )× ROT (z, δ z ) = ⎢
⎢ −δ y δ x 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
3. Differential transformations
The differential transformation of a frame is
a combination of differential translations &
rotations.
[T + dT ] = [TRANS (dx, dy, dz ) × ROT (k, d θ )][T ]
dT = [TRANS (dx, dy, dz ) × ROT (k, d θ ) ][T ]− [T ]
dT = [TRANS (dx, dy, dz ) × ROT (k, d θ ) − I ][T ]
dT = [Δ ][T ]
⎡ 0 −δ z δ y dx ⎤
⎢ δz 0 −δ x dy ⎥
Δ=⎢ ⎥ Differential operato
⎢ −δ y δ x 0 dz ⎥
⎢ ⎥
⎣ 0 0 0 0⎦
⎢ dz ⎥ ⎢ ROBOT ⎥ ⎢ dθ ⎥
be
⎢ ⎥=⎢
δ x
⎢ ⎥ ⎢ linked using
JACOBI ⎥⎢
⎥⎢ dθthe
⎥
⎥
3
4
D
robot J
JACOBIAN.D
[ ] [ ][ ]
= θ
⎢δ y ⎥ ⎢ AN ⎥ ⎢ dθ5 ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎣δ z ⎦ ⎣ dθ
⎦ ⎣⎢ 6 ⎦⎥
Solution:
1. Use [D]=[J][Dθ] to find dx,dy,dz,δx and δy.
2. Substitute the values into the differential
operator matrix.
3. Use [dT]=[∆][T] to get the differential
motion of the frame.
4. Use Tnew = Toriginal⎡⎢ 1+ dT −0.1 0 5.1 ⎤
to get the⎥ new
⎢ 0 0 −1 2.85⎥
T6( newframe
location of the ) =
⎢0.1 after
0 0the2.1
differential
⎥
motion. ⎢ ⎥ End of Lecture 9
⎣0 0 0 1 ⎦
5. Final answer
Thank You
Thank you