Minimum Jerk Trajectory in One Dimension

Minimum Jerk Trajectory in One Dimension

Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise A MINIMUM-JERK TRAJECTORY Neville Hogan (1984a) noted that smoothness can be quantified as a function of jerk, which is the time derivative of acceleration. Hence, jerk is the third time derivative of location (i.e., position). If the location of a system is specified by variable x()t , then the jerk of that system is: dxt3 () jerk xt( ) = dt3 For your CNS to move your hand or some other end effector smoothly from one point to another, it should minimize the sum of the squared jerk along its trajectory. For a particularly trajectory x1()t that starts at time ti and ends at time t f , you can measure smoothness by calculating a jerk cost: t f x ()tdt2 ∫ 1 tt= i Note that jerk cost is a scalar; the expression above assigns a number to the function x1()t . Hogan wondered what function x()t most smoothly connects a starting point to a target in a given amount of time. This function x()t , among all possible functions, has the minimum jerk cost. Some people find this fact interesting, others simply find it tedious. If you find yourself in the latter category, you might consider skipping over the remainder of this chapter. To make the issue concrete, imagine that you wish to move something 10 cm in a 0.5 s period. The object will be at rest at start time and at the end of the movement. You can write this as: ⎧xx(0)== 0 (0.5) 10 ⎪ Properties of xt( ) :⎨ x (0)== 0 x (0.5) 0 ⎪ ⎩xx(0)== 0 (0.5) 0 What trajectory x()t has the smoothest path? To find x()t , you need to assign a jerk cost to each possible trajectory, and then find the trajectory with the least cost. Mathematically, this calculation corresponds to minimizing the functional: 1 05. Hxt(())= ∫ xdt2 2 t=0 (The ½ factor in the front makes the calculations come out a little prettier; otherwise it has no special significance). To find the minimum of this functional, Hogan used a technique called the calculus of variations. The idea resembles finding the minimum of a function: you find the derivative of the function with respect to a small perturbation and when that derivative is zero, you have found a minimum. The Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise variation is a function that you can name η()t . x(t) e = 2 x(t) + eη(t) e = 1 η(t) Figure 1 shows an example of η()t . The variation has the special property that it smoothly goes away at the boundary conditions, i.e., at the beginning and end of movement: ⎧ηη(0)== 0 (0.5) 0 ⎪ Properties of ηη(t ) :⎨ (0)== 0 η (0.5) 0 ⎪ ⎩ηη(0)== 0 (0.5) 0 Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise x(t) e = 2 x(t) + eη(t) e = 1 η(t) Figure 1. A function x()t and variation η()t . To minimize Hxt(()), you can replace x()t by a variation x()txtet6 ()+ η () and you can find the derivative of the new functional with respect to the variation. 1 0.5 Hxt(())= ∫ xt ()2 dt 2 0 xt()6 xt ()+ eη () t 1 0.5 Hx()+= eηη∫ ( x + e )2 dt 2 0 dH() x+ eη 0.5 =+∫ ()x edtηη e 0 dH() x+ eη 0.5 = ∫ xdtη e e=0 0 Using integration by parts, you can rewrite this integral as: 0.5 0.5 0.5 xη dt== u dv uv0.5 - v du ∫∫0 ∫ 00 0 u== x, dvηη dt, du = x(4) dt, v = 0.5 0.5 0.5 xηηη dt=− x 0.5 x(4) dt =− η x (4) dt ∫∫∫0 000 where x(4) means 4th derivative of function x()t . Continuing the integration by parts, Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise 0.5 0.5 0.5 −=−=−+η x(4) dt u dv uv0.5 v du ∫∫0 ∫ 00 0 u== x(4), dvηη dt, du = x (5) dt, v = 0.5 0.5 0.5 0.5 −=−+=ηηηη x(4)dt x (4) x (5) dt x (5) dt ∫∫∫0 000 0.5 0.5 0.5 0.5 ηηηη x(5)dt=− x (5) x (6) dt =− x (6) dt ∫∫∫0 000 This final integral is the derivative of your functional, and you have: dH() x+ eη 0.5 = −≡∫ ηx(6)dt 0 e e=0 0 The above property must hold true for any function η()t , and therefore you have the fact that x(6) = 0 , which means that some function x()t that happens to have its sixth derivative equal to zero will minimize your jerk function. The differential equation x(6) = 0 has the general solution of: 2345 x()taatatatatat=+++++01 2 3 4 5 with derivatives: 234 x()t=+ a122 at + 3 at 3 + 4 at 4 + 5 at 5 23 xt( )=++ 2 a23 6 at 12 at 4 + 20 at 5 To find the constants, you can plug in what you know about x()t at the boundaries: 345 xaxaaa(0)=→ 00345 = 0, (0.5) = 10 → (0.5) + (0.5) + (0.5) = 10 234 xaxaaa(0)=→ 01345 = 0, (0.5) =→ 0 3 (0.5) + 4 (0.5) + 5 (0.5) = 0 23 xaxaa(0)=→ 02345 = 0, (0.5) =→ 0 6 (0.5) + 12 (0.5) + 20 a (0.5) = 0 aa34==−=800, 2400, a 5 1920 Thus, you arrive at the function that most smoothly travels 10 cm in 0.5 s: xt( )=− 800 t345 2400 t + 1920 t 0 ≤≤ t 0.5 s Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise 10 x(t) x(t) 2 8 1 6 cm 2 4 m/s 0.1 0.2 0.3 0.4 0.5 2 -1 -2 0.1 0.2 0.3 0.4 0.5 35 x(t) x(t) 40 25 30 3 20 cm/s 15 m/s 10 0.1 0.2 0.3 0.4 0.5 5 -10 -20 0.1 0.2 0.3 0.4 0.5 Time (sec) Time (sec) Figure 2 plots this function along with its first three derivatives: velocity, acceleration, and jerk. The function x()t represents the minimum jerk trajectory in one dimension. Hogan noted that, in general, if something you wanted to move something from location x = xi to x = x f in td= seconds, the minimum jerk trajectory would be: 345 x()t=+ xifi ( x − x )10(/)( td − 15(/) td + 6(/) td ) (1) Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise 10 x(t) x(t) 2 8 1 6 cm 2 4 m/s 0.1 0.2 0.3 0.4 0.5 2 -1 -2 0.1 0.2 0.3 0.4 0.5 35 x(t) x(t) 40 25 30 3 20 cm/s 15 m/s 10 0.1 0.2 0.3 0.4 0.5 5 -10 -20 0.1 0.2 0.3 0.4 0.5 Time (sec) Time (sec) Figure 2. Minimum jerk trajectory. The function x()t that has the minimum jerk cost function as it travels 10 cm over 0.5 seconds. Flash and Hogan (1985) found that, for end-effector locations specified as a vector of two or more dimensions, Eq. (1) described the minimum jerk trajectory for each dimension. For example, for a movement in two dimensions, the functional to minimize is: 1 a Hxt(())=+∫ ( x22 y ) dt 2 t=0 and the minimum jerk trajectory in two dimensions is: ⎡⎤345 xxxifi+−( )10(/)( ta − 15(/) tata + 6(/)) xt()= ⎢⎥ ⎢⎥yyy+−( )10(/) ta345 − 15(/) tata + 6(/) ⎣⎦ifi() (2) Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise Eq. (2) implies that a minimum jerk trajectory in two or three dimensions always corresponds to a -0.1 -0.2 xt() y xt() 0.5 -0.3 0.4 0.5 0.3 yt() 0.2 0.4 0.1 x 0.3 -0.4 -0.3 -0.2 -0.1 0.1 0.2 0.1 0.2 0.3 0.4 0.5 Time (sec) straight line. Figure 3 exemplifies this relationship, for a two-joint arm moving from an initial- to a final location in 0.5 s. Note how each component of location in cartesian coordinate moves smoothly to its final value and end-effector location moves along a straight line. -0.1 -0.2 xt() y xt() 0.5 -0.3 0.4 0.5 0.3 yt() 0.2 0.4 0.1 x 0.3 -0.4 -0.3 -0.2 -0.1 0.1 0.2 0.1 0.2 0.3 0.4 0.5 Time (sec) Supplementary documents for “Computational Neurobiology of Reaching and Pointing”, by R. Shadmehr and S. P. Wise Figure 3. A minimum jerk motion in two dimensions is a straight line. The end-effector location of a two-link arm is moved from (-0.09, 0.51) to (-0.39, 0.29) in 0.5 seconds. The trajectory of x- and y- components of end-effector location are plotted, as well as end-effector location. Why not minimum snap, crackle, or pop? The third derivative of location with respect to time is called jerk.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us