Robotics1 24.07.08
Robotics1 24.07.08
July 8, 2024
82 384 88
A5 A6
82 107
A4 A7 Y7
X
7
A3
316
Z7
A2
ZZ0
333
A1
Y0 X0
Exercise 2
In the orientation specified by the rotation matrix
855 855
√ √
√2/2 0 √2/2
R = 2/2 0 − 2/2 ,
0 1 0
ISO CUBE
280 280
yw
robot B
robot A
𝛾
xw
∆
Exercise 4
Consider a rest-to-rest trajectory planning problem for a RP planar robot. The robot should
move its end effector along a linear path between the two Cartesian positions pi = (0.6, −0.3) and
pf = (−0.3, 0.6) [m], using a trapezoidal speed profile. The velocities of the two joints are bounded
by |q̇1 | ≤ 2 rad/s and |q̇2 | ≤ 1 m/s, while the acceleration along the path is bounded in norm as
kp̈k ≤ A = 0.5 m/s2 . What is the minimum feasible motion time T for this task? Provide also the
corresponding value of the joint velocity q̇ at the midpoint of the path.
2
Franka Research 3
Solution Release Version: 1.1 (August 2022)
July 8, 2024 Document number: 120020
Exercise 1
DIMENSIONS
The 7R robot in Fig. 1 is a Franka Research&3.WORKSPACE
A correct assignment of D-H frames satisfying
the requests is shown in Fig. 3, while Tab. 1 contains the corresponding (non-negative) constant
parameters, as well as the values of the joint variables θ in the configuration shown. The axes z1 ,
z3 and z5 are coming out the sheet (denoted with ).
82 384 88
X4
A5 A6
Z4 Z5 Y5 X6
⨀
Y3 Z6
82 107
⨀ X3 X5
Z3 A4 A7 Y7
X
7
A3
316 Z2
Z7
Y1
X2 X1
⨀ A2
Z1
Z Z0
333
A1
Y0 X0
i αi ai di θi
1 π/2 0 333 0
855 855
2 π/2 0 0 π
3 π/2 82 316 π
4 π/2 82 0 π/2
ISO CUBE
5 π/2 0 384 π
7 0 0 107 0
R 805
ge // to base
reach with flan
333
Table 1: D-H parameters tor the frame assignment in Fig. ge
5 3 an(units in [rad] or [mm]).
85 of fl R ch
rea
ISO CUBE
x.
ma
362 365
3
280 280
The inverse relations from an orientation matrix R = {Rij } to (α, β, γ) are given by
R13 R11 R32 R22
q
2
β = atan2 −R12 , ± R11 + R13 2 α = atan2 , γ = atan2 , ,
cβ cβ cβ cβ
p
out of the representation singularity cβ = R112 + R2 = 0.
13
For the given rotation matrix R, this gives the two regular solutions
α1 π/4 α2 −3π/4
φ1 = β1 = 0 φ2 = β2 = π .
γ1 π/2 γ2 −π/2
The contributions of the three time derivatives α̇, β̇ and γ̇ to ω when the orientation is φ is
computed as1
1 0 0
ω = ω γ̇ + ω β̇ + ω α̇ = 0 γ̇ + RX (γ) 0 β̇ + RX (γ)RZ (β) 1 α̇
0 1 0
Note that det T (β, γ) = cβ vanishes exactly at the singularity of the YZX RPY-type representation.
Evaluating T for the two solution triples φ1 and φ2 gives
0 0 1 0 0 1
T 1 = T (β1 , γ1 ) = 0 −1 0 T 2 = T (β2 , γ2 ) = 0 1 0 .
1 0 0 1 0 0
1 An alternative but more lengthy way would be to use the relationship Ṙ(φ)RT (φ) = S(ω), and then extracting
from the off-diagonal elements of the skew-symmetric matrix S the components ωx , ωy and ωz . Also, the elements
of matrix Ṙ have a linear dependence on the components α̇, β̇ and γ̇ of φ̇.
4
Exercise 3
The problem involves the use of a suitable homogeneous transformation between the base frames
of the two robots and can be solved in different ways. The following is a simple one.
Through its direct kinematics, the end-effector position of robot A for q A = (π/4, −π/3) [rad] is
w cos qA1 + cos(qA1 + qA2 ) 1.6730
pA = f A (q A ) = = [m].
sin qA1 + sin(qA1 + qA2 ) 0.4483
as expressed in the world frame, which coincides with the base frame of robot A. Robot B should
place its end effector in this same position, facing the end effector of robot A and with an orientation
that is aligned with the second link of this robot. Thus, it is convenient to extend the robot A by
adding to its second link also the length of the second link of robot B (all links have unit length),
namely with the modified direct kinematics
w cos qA1 + 2 cos(qA1 + qA2 ) 2.6390
pE = = [m].
sin qA1 + 2 sin(qA1 + qA2 ) 0.1895
The position pE is shown in Fig. 4. This point should be the target for the tip of the first link
of robot B, without further conditions on the orientation part of the collaborative task (already
satisfied by the ‘trick’ of extending the second link of robot A). Accordingly, the robot B mounted
on a sliding base and taken up to the tip of the first link can be seen as an equivalent PR robot
with a fixed base placed at the intersection between the line Γ and the world axis xw .
yw
qB1
qA2 xb
pA = pB 𝛾
xB
pE
qA1
qB2 xw
yB
Figure 4: Graphical illustration of the two solutions for the collaborative task.
Place then the base frame of robot B as in Fig. 4. The homogeneous transformation2 between the
2 Since the problem is planar, we will use here a 3×3 homogeneous matrix, with a 2×2 rotation matrix R ∈ SO(2)
5
base frames A (≡ w) and B is then
√ √
cos γ − sin γ ∆ − 2/2 − 2/2 4
w A √ √
T B = T B = sin γ cos γ 0 = 2/2 − 2/2 0 .
0 0 1 0 0 1
As a result, we compute
w
B B w w −1 pE
pE,hom = T w pE,hom = TB
1
√ √
− 2/2 2/2 2.8284 2.6390 1.0964 B
√ √
pE
= − 2/2 − 2/2 2.8284 0.1895 = 0.8284 = .
1
0 0 1 1 1
The joint angle qB2 of robot B is found by setting the difference between the absolute orientations
of the two end effectors so that they face each other; i.e., the difference should be equal to π:
Setting now B pBeq = B pE = (1.0964, 0.8284) [m], two solutions are found, as sketched graphically
in Fig. 4; one solution is closer to the base frame of robot B
1.0343
xb = 0.6037 m qB = [rad],
−0.5107
Exercise 4
The RP planar robot3 and the desired motion task are shown in Fig. 5. The linear path has length
L = pf − pi = 1.2728 m and is traced by
pf − pi
p(s) = pi + s s ∈ [0, L],
L
where s is the path parameter (here, the arc length). The timing law s(t), for t ∈ [0, T ], should
have a rest-to-rest (symmetric) trapezoidal profile for the speed ṡ, which is fully described by the
3 This is by default the most common structure of a PR planar robot. Moreover, we shall assume that q2 > 0.
6
pf
q2
q1
x
pi
cruising speed V along the path and by the acceleration A in the first phase (with a rise time
Tr = V /A). The Cartesian velocity and acceleration of the robot end effector are, respectively,
pf − pi pf − pi
ṗ = ṡ p̈ = s̈.
L L
While we have for the acceleration norm kp̈k = |s̈| ≤ A = 0.5 m/s2 , there is instead no explicit
bound specified in the Cartesian space for the velocity norm kṗk = |ṡ| ≤ V . This should be derived
from the available velocity limits in the joint space.
Note first that, using the inverse kinematics of the RP robot
q
q1 = atan2 {py , px } q2 = kpk = p2x + p2y ,
−0.4636
2.0344
qi = [rad, m] qf = [rad, m].
0.6708 0.6708
The revolute (first) joint has to travel by ∆q1 = qf,1 − qi,1 = 2.4981 rad. Therefore, its motion
time is lower bounded by |∆q1 |/V1 = 1.2490 s (assuming an infinite joint acceleration). Moreover,
the joint value at the midpoint is qm,1 = (qi,1 + qf,1 ) /2 = 0.7854 rad. On the other hand, since
qf,2 = qi,2 = 0.6708, the prismatic (second) joint needs first to reduce its length in order to remain
on the linear Cartesian path, and then to reverse motion increasing the length back to the initial
value in a symmetric
way with respect to the path midpoint; the minimum extension will be at
pm = pi + pf /2 = (0.15, 0.15) m, corresponding to qm,2 = 0.2121 m. Therefore, the motion
time of the second joint is lower bounded by (|qm,2 − qi,2 | + |qf,2 − qm,2 |)/V2 = 0.9174 s (assuming
again an infinite joint acceleration).
The above analysis shows that the limiting velocity factor is due to the revolute joint. As a result,
we can take as upper bound for the Cartesian speed along the path the worst case situation, namely
when the distance to the path is minimum, i.e., at qm,2 = 0.2121 m, and evaluate
|ṡ| ≤ V = qm,2 · V1 = 0.4243 m/s.
7
With L, V , and A, we compute the minimum feasible motion time along the linear path when
using a trapezoidal profile4 as
LA + V 2 L V
T = = + = 3.8485 s.
VA V A
To evaluate the joint velocity q̇ at the path midpoint (corresponding to q m = (0.7854, 0.2121) [rad,m]),
we need the task Jacobian for this robot:
√ !
−q2 sin q1 cos q1 −0.15
2/2
J (q) = ⇒ J m = J (q m ) = √ .
q2 cos q1 sin q1 0.15 2/2
Being ṗm = V (pf − pi )/L = (−0.3, 0.3) [m/s] (the speed at the path midpoint is certainly at the
cruise value), we have as expected
−1 2
q̇ m = J m ṗm = [rad, m].
0
Figure 6 shows the components of the planned trajectory in the Cartesian space and of the corre-
sponding trajectory in the joint space, together with their velocity and acceleration.
0.5
[m]
-0.5
velocity
0.2
[m/s]
0
-0.2
-0.4
0 0.5 1 1.5 2 2.5 3 3.5
[s]
acceleration
0.5
[m/s 2]
-0.5
0 0.5 1 1.5 2 2.5 3 3.5
Figure 6: Left: The components of the minimum-time Cartesian trajectory using a trapezoidal
speed profile. Right: The components of the corresponding jont trajectory.
∗∗∗∗∗
4 Since L > V 2 /A, the existence of a motion phase at cruise speed V is guaranteed.