Robotics1 10.09.15
Robotics1 10.09.15
...
For a revolute robot joint, consider the rest-to-rest motion q = q(t) defined by the jerk profile q (t)
shown in Fig. 1, with given jmax > 0. The motion starts from q(0) = q0 at time t = 0, with zero
initial velocity (q̇(0) = 0) and zero initial acceleration (q̈(0) = 0).
i) Let the bounds |q̇(t)| ≤ vmax , |q̈(t)| ≤ amax (with vmax > 0 and amax > 0) be assigned, as
well as the time interval Tv ≥ 0. Under the assumption
vmax amax
− ≥ 0,
amax jmax
determine the analytic expression of the maximum feasible displacement ∆q = q(T ) − q0 that
can be realized. Provide the numerical solution for
ii) Let the bounds |q̇(t)| ≤ vmax , |q̈(t)| ≤ amax (with vmax > 0 and amax > 0) be assigned, as
well as the total displacement ∆q > 0. Under the assumptions
vmax amax vmax amax
− ≥0 ∆q ≥ vmax + ,
amax jmax amax jmax
determine the analytic expression of the minimum feasible motion time T that can be realized.
Provide the numerical solution for
1
Solution
September 15, 2010
The solution is obtained by integration of the jerk profile, using the given initial conditions at time
t = 0 and then the suitable boundary conditions at the instants of jerk switching. In addition, due
to the symmetry of the trajectory derivatives with respect to T /2, it is sufficient to analyze only the
first half of the motion. Without loss of generality, we set q0 = 0 (only the displacement w.r.t. the
initial position matters). We will also see that the assumptions made on the velocity, acceleration,
and jerk bounds, as well as on the total displacement assigned in problem ii), guarantee that none
of the motion segments will vanish.
...
• First segment: q (t) = jmax , for t ∈ [0, Ts )
amax
q̈(t) = jmax t q̈(Ts ) = jmax Ts = amax ⇒ Ts =
jmax
1 2 1
q̇(t) = 2 jmax t ⇒ q̇(Ts ) = 2 jmax Ts2
1 3 1
q(t) = 6 jmax t q(Ts ) = 6 jmax Ts3
...
• Second segment: q (t) = 0, for t ∈ [Ts , Ts + Ta )
q̈(t) = amax
1
q̇(t) = 2 jmax Ts2 + amax (t − Ts )
1 1 1
q(t) = 6 jmax Ts3 + 2 jmax Ts2 (t − Ts ) + 2 amax (t − Ts )2
q̈(Ts + Ta ) = amax
1
⇒ q̇(Ts + Ta ) = 2 jmax Ts2 + amax Ta
1 1 1
q(Ts + Ta ) = 6 jmax Ts3 + 2 jmax Ts2 Ta + 2 amax Ta2
...
• Third segment: q (t) = −jmax , for t ∈ [Ts + Ta , 2Ts + Ta )
2
...
• First half of fourth segment: q (t) = 0, for t ∈ [2Ts + Ta , 2Ts + Ta + Tv /2).
q̈(t) = 0
q̇(t) = vmax
q(t) = q(2Ts + Ta ) + vmax (t − (2Ts + Ta ))
Tv
q̈ 2Ts + Ta + =0
2
Tv
⇒ q̇ 2Ts + Ta + = vmax
2
Tv Tv
q 2Ts + Ta + = q(2Ts + Ta ) + vmax
2 2
T Tv
Since we have that = 2Ts + Ta + , due to the symmetry of the trajectory, we have
2 2
T ∆q
q = ,
2 2
or
1 1 1 1 Tv ∆q
jmax Ts2 Ta + amax Ta2 + ( jmax Ts2 + amax Ta ) Ts + amax Ts2 + vmax = .
2 2 2 2 2 2
While
amax
Ts = >0
jmax
always hold, we note that the assumptions made on the relative amplitudes of the bounds vmax ,
amax , jmax and on ∆q simultaneously guarantee that
Ta ≥ 0, Tv ≥ 0.
3
Plugging the data of problem i) in eq. (3) yields ∆q = 9.05 [rad] (with a total time T = 4.033 [s]).
The obtained profiles of position, velocity, acceleration, and jerk are shown in Fig. 2. With the
data of problem ii), from eq. (2) we have T = 2.4 [s]. The associated profiles of position, velocity,
acceleration, and jerk are shown in Fig. 3. Matlab sources are available.
∗∗∗∗∗
4
displacem ent = 9.05 rad, tota l tim e = 4 .0 333 s
10
position (rad)
5
0
0 0.5 1 1 .5 2 2.5 3 3 .5 4 4.5
tim e (s)
vm a x = 3 rad/s, T v = 2 s
3
2.5
2
velocity (rad/s)
1.5
0.5
− 0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
tim e (s)
2
acce le ration (rad/s2 )
−2
−4
−6
0 0.5 1 1.5 2 2 .5 3 3.5 4 4 .5
tim e (s)
jm a x = 1 2 rad/s2 , T s = 0.41 66 7 s
15
10
5
je rk (ra d/s3 )
−5
−10
−15
0 0.5 1 1.5 2 2 .5 3 3.5 4 4 .5
tim e (s)
Figure 2: Position, velocity, acceleration, and jerk profiles for the solution to problem i)
5
displacem ent = 3 rad, tota l tim e = 2 .4 s
3
2.5
position (rad)
1.5
0.5
0
0 0 .5 1 1.5 2 2 .5
tim e (s)
vm ax = 2 rad/s, T v = 0.6 s
2
1.5
1
ve locity (ra d/s)
0.5
− 0.5
0 0.5 1 1.5 2 2 .5
tim e (s)
2
a m ax = 4 rad/s , T a = 0 .1 s
4
1
acce le ration (rad/s2 )
−1
−2
−3
−4
−5
0 0.5 1 1 .5 2 2.5
tim e (s)
2
jm ax = 10 ra d/s , T s = 0 .4 s
10
2
je rk (ra d/s3 )
−2
−4
−6
−8
− 10
0 0 .5 1 1.5 2 2 .5
tim e (s)
Figure 3: Position, velocity, acceleration, and jerk profiles for the solution to problem ii)