arXiv:1610.02881v2 [cs.RO] 9 Dec 2016  Essential Properties of Numerical Integration for Time-optimal Trajectory Planning Along a Specified Path  Peiyao Shen, Xuebo Zhang and Yongchun Fang  Abstract — This letter summarizes   some known properties   and also presents   several new properties   of the Numerical Integration ( NI ) method for time-optimal trajectory planning along a speci- fied path. The contribution is that   rigorous mathematical proofs  of these properties are presented, most of which have not been reported in existing literatures. We first give some properties regarding switch points and accelerating/decelerating curves of the   NI   method. Then, for the fact that when kinematic constraints are considered, the original version of   NI   which only considers torque constraints may result in failure of trajectory planning, we give the concrete failure conditions with rigorous mathematical proof. Accordingly, a failure detection algorithm is given in a ‘run-and-test’ manner. Some simulation results on a unicycle vehicle are provided to verify those presented properties. Note that though those   known properties   are not discovered first, their mathematical proofs are given first in this letter. The detailed proofs make the theory of   NI   more complete and help interested readers to gain a thorough understanding of the method.  Index Terms — Time-optimal trajectory planning, Numerical Integration, Properties with rigorous proofs.  I. I NTRODUCE  Due to low computational complexity, decoupled planning [1]–[3] becomes a popular motion planning method, which consists of two stages. In the first stage, path planning methods are used to generate a geometric path with high level constraints including obstacle avoidance, curvature, and so on. In the second stage, trajectory planning, which aims to assign a motion time profile to the specified path, could be then simplified as a planning problem in two-dimensional path parametrization space ( s ,    ̇ s ), with   s   and    ̇ s   being the path coordinate and path velocity respectively. To improve working efficiency, several time-optimal methods have been reported for the trajectory planning stage along a specified path, including   Dynamic Programming   [4]–[6],   Convex Op- timization   [7]–[9] and   NI   [10]–[22]. In addition, the work in [23] proposes a real-time trajectory generation approach for omni-directional vehicles by constrained dynamic inversion. In this letter, we will focus on the   NI   method, since its computational efficiency is shown in [13] to be better than other methods. The original version of   NI   is proposed at almost the same time in the works [10], [11], which aims to give a time-optimal trajectory along a specified path in the presence of only torque constraints for manipulators.  This work is supported in part by National Natural Science Foundation of China under Grant 61573195 and Grant 613205017. The authors are with the Institute of Robotics and Automatic Information System, Nankai University, Tianjin 300071, China, and also with the Tianjin Key Laboratory of Intelligent Robotics, Nankai University, Tianjin 300071, China   (e-mail: zhangxuebo@nankai.edu.cn)  Based on Pontryagin Maximum Principle,   NI   possesses a bang-bang structure of torque inputs, thus, the core of   NI  is the computation of switch points. The accelerating and decelerating curves, integrated from those switch points, constitute the   time-optimal trajectory. The work in   [12] presents three types of switch points: tangent, discontinuity and zero-inertia points. The detection methods for zero- inertia switch points are presented in [13]–[15]. Based on previous works, Pham [13] provides a fast, robust and open- source implementation for   NI   in C++/Python, which is subse- quently extended to the case of redundantly-actuated systems in the work [16]. In addition to manipulators [17], [18],  NI   is also applied to spacecrafts [19] and humanoid robots [20]. In real applications, in addition to torque constraints, velocity constraints (bounded actuator velocity and   path velocity) should also be considered. Under these constraints, the works in [21], [22] indicate that the original   NI   method with only torque constraints [10] can not be directly applied. Considering velocity and acceleration constraints, the work [18] focuses on detecting tangent, discontinuity and zero- inertia switch points on the speed limit curve decided by velocity constraints. However, rigorous proofs have not been reported to expose the conditions and underlying reasons of failure cases in aforementioned literatures. In this brief, we summarize some known properties and amend corresponding mathematical proofs which have not been reported in existing literatures; in addition, some new properties are excavated and proven rigorously. Some proper- ties indicate the evolution of accelerating/decelerating curves and their intersection points. And another important property indicates that, when kinematic constraints are considered, the original version of   NI   which only considers torque con- straints, may result in failure of trajectory planning tasks. For this property, we first give the concrete failure conditions and detailed proofs. Accordingly, the failure detection algorithm is given in a ‘run-and-test’ manner. Simulation results on a unicycle vehicle are provided to verify these properties. The main contribution of this letter is the rigorous and detailed proofs for all presented properties: 1) For   Properties 2-3   reported in [24], we first give their mathematical proofs in Section III-A. 2) Some new properties are presented and proven, includ- ing   Property 4   in Section III-B and   Properties 5-6   in Section III-C. These properties and proofs make the theory of   NI   more complete and help interested readers to gain an thorough understanding of the   NI   method. The remainder of this letter is divided into four sections.
Section II introduces notations and procedures of the   NI  method.   Section   III   presents   essential   properties   of   the  NI   method, and provides rigorous mathematical proofs. In Section IV, simulation results are provided to verify the properties. Finally, Section V gives some conclusions. II. N UMERICAL   I NTEGRATION  In this section, we briefly introduce the notations and procedures of the   NI   method in [10], [11]. For the time- optimal path-constrained trajectory planning problem, based on Pontryagin Maximum Principle, the original   NI   method [10], [11] uses a bang-bang structure of torque input to generate a time-optimal trajectory. First, torque constraints are converted to path acceleration constraints along the given path. Then, switch points of path acceleration are found. Finally, a time-optimal trajectory is integrated numerically with maximum and minimum path acceleration. A stable and open-source implementation of   NI   method can be found in [13], and kinematic constraints are handled in the im- plementation with the method proposed in [21]. Yet, in the presence of kinematic constraints, the rigorous proof showing conditions of failure of the original   NI   with only torque constraints, has not been reported.  A. Time-optimal Path-constrained Trajectory Planning  The   time-optimal   path-constrained   trajectory   planning problem is to find a time-optimal velocity profile along the given path for a robot under various constraints such as torque constraints, velocity constraints, and so on. Note that the direction of the path velocity is supposed to be tangent to the given path.  B. Notations  In order to explain various notations clearer, we will refer to Fig. 1 in the following.  s 0  e s 0 s   e  0  1   1  ! " M VC s  sp  ! "  sp  ! "  s  e s  Fig. 1.   Red solid curves  β 0 ,  β 1   represent accelerating  β   - pro f iles . Green solid curves  α 1 ,  α e   represent decelerating  α - pro f iles . Red   ⊲   and green   ⊳  denote the points   sp  β   →  α   and   sp  α →  β   , respectively. The scalars    ̇ s 0 ,    ̇ s e   are respectively the starting and terminal path velocity at the endpoints of the given path. The   s e   is the total length of the given path.  s   : Path coordinate along a specified path.  ̇ s   : Path velocity along a specified path.  ̈ s   : Path acceleration along a specified path.  A A A ( s )    ̈ s   +   B B B ( s )    ̇ s 2   +   C C C ( s )   ≤   0 0 0 [10]: The inequality constraint along a specified path for   s ,    ̇ s ,    ̈ s , which is derived from torque constraints. As an example, for an   n -dof manipulator, in order to guarantee torque constraints in a path-constrained trajectory planning task, the inequality constraint [10]  M (  ξ ξ ξ   )    ̈  ξ ξ ξ   +    ̇  ξ ξ ξ   T P (  ξ ξ ξ   )    ̇  ξ ξ ξ   +   Q Q Q (  ξ ξ ξ   )   ≤   0 0 0   (1) should hold, where the state  ξ ξ ξ   is an   n -dimensional vector,  M   is an   m   ×   n   matrix,   P   is an   n   ×   m   ×   n   tensor and   Q Q Q   is an   m -dimensional vector. Along the specified path, the robot state and its differentials are  ξ ξ ξ   =  ξ ξ ξ   ( s ) ,    ̇  ξ ξ ξ   =  ξ ξ ξ   s    ̇ s ,    ̈  ξ ξ ξ   =  ξ ξ ξ   ss    ̇ s 2   +  ξ ξ ξ   s    ̈ s   (2) where  ξ ξ ξ   s   =   d  ξ ξ ξ   / ds ,  ξ ξ ξ   ss   =   d  ξ ξ ξ   s / ds . After substituting (2) into (1), we obtain that  A A A ( s )    ̈ s   +   B B B ( s )    ̇ s 2   +   C C C ( s )   ≤   0 0 0 ,   (3) with  A A A ( s ) =   M (  ξ ξ ξ   ( s ))  ξ ξ ξ   s ( s ) ,  B B B ( s ) =   M (  ξ ξ ξ   ( s ))  ξ ξ ξ   ss ( s ) +  ξ ξ ξ   s ( s ) T P (  ξ ξ ξ   ( s ))  ξ ξ ξ   s ( s ) ,  C C C ( s ) =   Q Q Q (  ξ ξ ξ   ( s )) .  α ( s ,    ̇ s ) ,  β   ( s ,    ̇ s )   : In order to guarantee torque constraints, the scalars   s ,    ̇ s ,    ̈ s   should satisfy the inequality (3). Therefore, given the path coordinate   s   and path velocity  ̇ s , the path acceleration  ̈ s   satisfies the following inequality  α ( s ,    ̇ s )   ≤    ̈ s   ≤  β   ( s ,    ̇ s ) ,   (4) where the minimum path acceleration  α ( s ,    ̇ s )   and maximum path acceleration  β   ( s ,    ̇ s )   are computed as  α ( s ,    ̇ s ) =   max {  α i |  α i   =   − B i ( s )    ̇ s 2   −   C i ( s )  A i ( s )   ,   A i ( s )   <   0 } ,   (5)  β   ( s ,    ̇ s ) =   min {  β i |  β i   =   − B i ( s )    ̇ s 2   −   C i ( s )  A i ( s )   ,   A i ( s )   >   0 } ,   (6) wherein the integer   i   ∈   [ 1 ,   m ] , with   m   being the dimension of the vector   A A A .   Please see the detailed description in [11] .  MVC : The maximum velocity curve in the plane   ( s ,    ̇ s )   is represented as  MVC ( s ) =   min {    ̇ s   ≥   0 |  α ( s ,    ̇ s ) =  β   ( s ,    ̇ s ) } ,   s   ∈   [ 0 ,   s e ] .   (7) For instance, the cyan dash curve in Fig. 1 is   MVC . If the robot state is on the   MVC , there exists at least one saturated actuator torque.  AR : The admissible region, in the plane   ( s ,    ̇ s ) , is enclosed by the curve   MVC   and the lines  ̇ s   =   0 ,   s   =   0 ,   s   =   s e . Within the   AR   except for the boundary   MVC , all actuator torques are between lower and upper bounds (  α ( s ,    ̇ s )   <  β   ( s ,    ̇ s ) ).  α - pro f ile : The decelerating curve, in the plane   ( s ,    ̇ s ) , is integrated backward with minimum acceleration  α ( s ,    ̇ s )   in (5). The slope   k  α   is computed as   k  α   =   d    ̇ s / ds   =  α ( s ,    ̇ s ) /    ̇ s .  β   - pro f ile : The accelerating curve, in the plane   ( s ,    ̇ s ) , is integrated forward with maximum acceleration  β   ( s ,    ̇ s )   in (6). The slope   k  β   is computed as   k  β   =   d    ̇ s / ds   =  β   ( s ,    ̇ s ) /    ̇ s .  sp  α →  β   [12]: Switch points from decelerating to acceler- ating curves, such as the green   ⊳   in Fig. 1. They are on the   MVC   curve, and there are three different types: tangent, discontinuity or zero-inertia points. At tangent points, the slope   k mvc   =   d    ̇ s / ds   of   MVC   is   equal   to   k  α   (=   k  β   ) .   At
discontinuity points,   MVC   is discontinuous. At zero-inertia points, at least one   A i ( s ) =   0 holds for the corresponding path coordinate   s .  sp  β   →  α   : Switch points from accelerating to decelerating curves, such as the red   ⊲   in Fig. 1.  C. Numerical Integration Algorithm  Procedures of the original version of   NI   [10] which only considers torque constraints are given as follows:  NI-1.   In the plane   ( s ,    ̇ s ) , starting from   ( s   =   0 ,    ̇ s   =    ̇ s 0 ) , the accelerating curve  β   - pro f ile   is integrated forward with maximum path acceleration  β   ( s ,    ̇ s )   until one of the following cases occurs:  •   the curve   MVC   is hit, and go to   NI-2 ;  •   the line  ̇ s   =   0 is hit, and output that this path is not traversable;  •   the line   s   =   s e   is hit, and go to   NI-3 .  NI-2.   From the hitting point, searching forward along  MVC , the first tangent, discontinuity or zero-inertia point found is   sp  α →  β   .  •   If   sp  α →  β   is detected, from the switch point, an  α - pro f ile   is integrated backward with  α ( s ,    ̇ s )  until it intersects the generated  β   - pro f ile   in  NI-1, NI-2   at a point   sp  β   →  α   , and one new  β   - pro f ile   is integrated forward as   NI-1 .  •   If   sp  α →  β   is not detected, go to   NI-3 .  NI-3.   Starting from   ( s   =   s e ,    ̇ s   =    ̇ s e ) , the decelerating curve α - pro f ile   is integrated backward with minimum path acceleration  α ( s ,    ̇ s )   until it intersects the gen- erated  β   - pro f ile   in   NI-1, NI-2   at a point   sp  β   →  α   . Finally, output a time-optimal trajectory consisting of those generated accelerating and decelerating curves in   NI-1, NI-2   and   NI-3 . Note that chattering or vibration is usually caused by high- frequent switching of acceleration. Fortunately, the work in [10] has indicated that switch points are finite for the   NI  method, which generally does not cause severe chattering phenomenons. III. P ROPERTIES  In this section, essential properties of   NI   are provided with rigorous mathematical proofs. Note that   Property 1   has been presented and proven in [24];   Properties 2-3   have been re- ported in [24], and we will amend their mathematical proofs;  Properties 4-5   are first exposed in this letter with rigorous proofs; in the presence of kinematic constraints, the failure of the original   NI   with only torque constraints is reported in [21], [22], and we will give the mathematical conditions and underlying reasons of failure cases in   Property 6 . See the proofs of   Properties 2-5   in Appendix A-D, respectively.  A. Property of  α -pro f iles and  β   -pro f iles  In the admissible region except for the boundary   MVC  ( AREM ), the inequality  α ( s ,    ̇ s )   <  β   ( s ,    ̇ s )   holds, which indi- cates   k  α   <   k  β   for each point. Three known properties are summarized in the following, and we will give rigorous  s  s  profile !  profile !  1 X  m X  1  m  *  m Y  0  sp  ! "  sp  ! "  M VC  1  1 Y  D  Fig. 2.   m   >   1 : Intersection points   X i ,   i   ∈   [ 1 , m ]   are on  β   ∗   , wherein   X j   , 1   <   j   <   m   is on   X 1 X m  ⌢   . Each   X i   has one corresponding decelerating curve  α i   and one switch point   Y i . The region   D   is enclosed by  α 1 ,  β   ∗   and   MVC .  s  s 0  ! M VC s  †  M VC  1 M VC  2 M VC   3 M VC  ! V   s  p  sp  ! "  1 o   2 o  Fig. 3.   The maximum velocity curve is altered from   MVC   =   MVC 1   +  MVC 2   +   MVC 3   to   MVC ∗   =   MVC 1   +   MVC †   +   MVC 3 .  mathematical proofs for   Properties 2-3 , which have not been reported in existing literatures.  Property 1:   In the   AREM   region, any two  α - pro f iles  never   intersect   with   each   other.   Neither   do  β   - pro f iles . (Please see the proof in [24].)  Property 2:   In the   AREM   region, if an  α - pro f ile   inter- sects another  β   - pro f ile   at a point   ( s   =   s c ,    ̇ s   =    ̇ s c ) , in terms of path velocity, the  α - pro f ile   is greater than the  β   - pro f ile  in the left neighborhood of   s c , but less than the  β   - pro f ile  in the right neighborhood of   s c .  Property 3:   In the   AREM   region, an  α - pro f ile   is not tangent to another  β   - pro f ile   at any point.  B. Property of sp  β   →  α  The   point   sp  β   →  α   is   the   intersection   point   between  α - pro f ile   and  β   - pro f ile , denoted as the red   ⊲   in Fig. 2.   In   the   iterative   process   of   NI   (see   Section   II-C),   a  β   - pro f ile   may intersect a finite number of integrated back- ward  α - pro f iles   [10]. Which one of these intersection points is finally chosen as   sp  β   →  α   on the  β   - pro f ile ? The answer is given in   Property 4 , which is first presented in this letter with rigorous proof.  Property 4:   If one  β   - pro f ile   intersects   m   ≥   1  α - pro f iles , respectively at points   X i ,   i   ∈   [ 1 ,   m ] , and in terms of path coordinate,   X i   is less than   X j , 1   ≤   i   <   j   ≤   m , then,   X 1   is finally chosen as   sp  β   →  α   on the  β   - pro f ile   after finite iterations.  Remark 1:   In Fig. 2,   Y 1   may be the terminal point   ( s e ,    ̇ s e ) . In this special situation,   Property 4   still holds. The case   m   =  1 obviously holds. Meanwhile, the case   m   >   1 also holds since the trajectory starting from   X i ,   i   >   1 cannot arrive at
the terminal point according to   Properties 1-3 . In addition, other points   Y i ,   i   >   1 cannot be the terminal point   ( s e ,    ̇ s e )  since   NI   has completed all procedures at the terminal point (see the procedure   NI-3   in Section II-C).     The   Properties   1-4   show   the   evolution   of   accelerat- ing/decelerating curves and their intersection points.  C. Property of NI with kinematic constraints  The original   NI   method [10] generates a time-optimal trajectory with bounded torque. However, when velocity constraints (bounded actuator velocity and path velocity) are taken into account, the original   NI   (as shown in Section II-C) may result in a failure. Several examples for this property are shown in the work in [21], [22],   but the concrete failure conditions and the detailed proof have not been reported.   In the subsequent   Property 6 , we will elaborate the failure conditions and provide the mathematical proof. Note that   Property 5   is first presented and proven to indicate the existence of tangent switch points on the limit curve considering velocity constraints, which is used in the proof of   Property 6 . Actuator velocity constraints are transformed into path velocity constraints by kinematic models of robots, therefore, velocity constraints are represented as  V   ( s )   :   s   →    ̇ s ,   s   ∈   [ 0 ,   s e ] ,   (8) where the scalar   V   ( s )   is the maximum path velocity. Due to the velocity constraints, the maximum velocity curve is altered as  MVC ∗ ( s ) =   min ( MVC ( s ) , V   ( s )) ,   s   ∈   [ 0 ,   s e ] .   (9) In the region enclosed by   MVC ∗ ,   s   =   0 ,   s   =   s e ,    ̇ s   =   0, acceler- ating and decelerating curves satisfy all velocity and torque constraints. In addition, the part of   MVC ∗ , which is different from   MVC , is represented as  MVC † ( s )= { MVC ∗ ( s ) | MVC ∗ ( s ) < MVC ( s ) ,   s   ∈   [ 0 ,   s e ] } .   (10) For instance, the dash-dot curve   o 1 o 2  ⌢   is   MVC †   in Fig. 3. The maximum velocity curve altering from   MVC   to   MVC ∗  results in a decreasing number of tangent switch points. For instance, the tangent switch point   p   disappears due to   MVC †  instead of   MVC 2   in Fig. 3.  Property 5:   Tangent   switch   points   are   nonexistent   on  MVC † . The   NI   method [10] with torque constraints, generates a time-optimal trajectory   T   . After considering velocity con- straints   V   ( s ) , the maximum velocity curve is altered from  MVC   to   MVC ∗ , which causes that tangent switch points on the part   MVC †   of   MVC ∗   are nonexistent according to  Property 5 . It has negative effects on searching switch points in the   NI   method, and may result in failure of trajectory planning tasks.  Property 6:   If the following conditions hold:  C 1   :   ∃ s ∗   ∈   [ 0 ,   s e ] ,   MVC ∗ ( s ∗ )   <   T   ( s ∗ ) ,  C 2   :   discontinuity   and   zero-inertia   switch   points   on  MVC †   are nonexistent,            β   −       α   −    (   )   (   )                        β     α     β    α  Fig. 4.   Left:  β   - pro f ile , Right:  α - pro f ile            β   −       α   −    (   )   (   )                       β     α    α    β       β  Fig. 5.   Left:  β   - pro f ile , Right:  β   - pro f ile            β   −       α   −    (   )   (   )                    β    α        α        α     β  Fig. 6.   Left:  α - pro f ile , Right:  α - pro f ile            β   −       α   −    (   )   (   )                       β     α       α     α    β        β  Fig. 7.   Left:  α - pro f ile , Right:  β   - pro f ile
then, the   NI   method using   MVC ∗   fails to find out a feasible trajectory.  Proof:   The proof is proceeded in 4 steps.  Step 1: To show four essential cases of C 1 .  The time-optimal trajectory   T   , which is obtained from the  NI   method using   MVC , consists of several  α - pro f iles   and β   - pro f iles , satisfying   T   ( s )   ≤   MVC ( s ) ,   s   ∈   [ 0 ,   s e ] . According to (10) and   C 1 , there must exist one part of   MVC †   below   T   , and this part is called as   MVC ‡ . On both sides of   MVC ‡ , the trajectory   T   could be accelerating or decelerating, thus there are four essential cases for the condition   C 1   as shown in Figs. 4-7. The purple dash-dot line   o 3 o 4  ⌢   represents   MVC ‡ . The gray dotted line   o 3 o 4   and red/green solid lines constitute the trajectory   T   . The green   ⊳   and red   ⊲   are   sp  α →  β   and  sp β   →  α   points respectively. These essential cases are regarded as basic components of other complex cases, thus, for clarify, the proof of complex cases will be presented in   Remark 2 .  Step 2: To prove that for each essential case, the NI method using MVC ∗   must run to the procedure   NI-2   in Section II- C, which is to search forward switch point along MVC †   (the purple dash-dot curve o 1 o 2  ⌢   ) from the hitting point . Let   p 1   be the neighborhood   sp  α →  β   of   T   on the left side of   MVC † , which also can be   p 1   = ( 0 ,    ̇ s 0 ) . Starting from  p 1 ,   NI   integrates  β 1   forward. For essential cases as Figs. 4-5, the accelerating curve  β 1   hits   MVC † , then   NI   will search forward   sp  α →  β   along   MVC †   from the hitting point of  o 1 o 3  ⌢   . For essential cases as Figs. 6-7, all accelerating curves including  β 1   and  β   - pro f iles   from   p 1 o 1  ⌢   cannot intersect  α 3  for   Property 2 , thus, it must intersect   p 1 o 1  ⌢   or   o 1 o 3  ⌢   . If the hit curve is   o 1 o 3  ⌢   , then   NI   will search forward   sp  α →  β   from the hitting point along   MVC † . If the hit curve is   p 1 o 1  ⌢   , then  NI   will search forward   sp  α →  β   from the hitting point along  p 1 o 1  ⌢   . The number of switch points on   p 1 o 1  ⌢   is finite [10], therefore switch points on   p 1 o 1  ⌢   will run out, and   NI   will go on searching forward   sp  α →  β   along   MVC † .  Step 3: To prove that those  α -pro f iles, starting from the right side of o 4 , cannot intersect  β   -pro f iles, which are on the left side of o 3   and generated in iterative process of NI.  Based on   Property 5   and condition   C 2   of   Property 6 , switch points on   MVC †   are nonexistent. Therefore,   NI   will go on searching forward switch points on the right side of  o 2 . In Figs. 4-7, the integrated backward  α - pro f ile , starting from the   sp  α →  β   of   o 2   p 2  ⌢   , cannot intersect  α 2 ,  β 3   according to   Properties 1-2 , thus, it must hit the purple dash-dot   o 4 o 2  ⌢  or cyan dash   o 2   p 2  ⌢   . Moreover, in the admissible region, starting from the right side of   p 2 , integrated backward  α - pro f iles   cannot intersect those  β   - pro f iles   generated by   NI   and on the left side of  o 3 , which is proven by contradiction. Assume that in the admissible region, from the right side of   p 2 , an integrated backward  α - pro f ile   intersects   one   of   those  β   - pro f iles . Then, the  α - pro f ile   should be part of the trajectory   T  based on   Property 4 . However, in terms of path velocity, the  α - pro f ile   is less than   MVC ∗ , which contradicts with  C 1 . Therefore, this assumption is invalid, and  α - pro f iles  from the right side of   p 2   cannot intersect those  β   - pro f iles  generated on the left side of   o 3 . In addition, if   p 2   is the terminal point   ( s e ,    ̇ s e ) , then starting from   p 2   and switch   points at   the   right   side   of   o 2 ,   all integrated backward  α - pro f iles   must hit the purple dash-dot  o 4 o 2  ⌢   or cyan dash   o 2   p 2  ⌢   according to   Properties 1-3 , which also indicates that this step holds.  Step 4: To synthesize above analysis and indicate failure of trajectory planning tasks.  The above   Step 1-3   indicate that if conditions of   Property 6   hold, then the   NI   method using   MVC ∗   fails to output a feasible trajectory: in the iterative process,  α - pro f iles   and  β   - pro f iles   on two different sides of   MVC ‡   do not intersect in the admissible region, which causes that the final trajectory is incomplete. In summary,   Property 6   holds.  Remark 2:   For other complex cases mentioned in   Step 1 , there may exist many parts of   MVC †   below   T . The trajectory  T   could be accelerating or decelerating at the first and last part as   Step 1 . In these cases,   NI   still searches switch points along   MVC †   from the first part in the same reason as   Step 2 . The condition   C 2   indicates that the   sp  α →  β   on   MVC †   is nonexistent. Starting from switch points at the right side of the last part, all  α - pro f iles   cannot intersect  β   - pro f iles   at the left side of the first part as   Step 3 . Therefore, in these complex cases,  α - pro f iles   and  β   - pro f iles   on two different sides of   MVC †   do not intersect in the admissible region. It indicates that   Property 6   still holds for complex cases.     In the presence of velocity and torque constraints,   Property 6   actually gives sufficient conditions for failure of the   NI  method in [10], which is important because it is theoretically shown that the failure cases indeed exists for this method. In the following, a necessary and sufficient failure condition is given by a numerical ‘run-and-test’ algorithm ( RT ):  RT-1.   In   the   plane   ( s ,    ̇ s ) ,   the   curve   MVC ∗ ( s )   is   ob- tained with (9). It is initialized that the point   p  is   ( 0 ,    ̇ s 0 ) , boolean variable   isContinuous   is   T RUE , the longest continuous trajectory   T   ∗   from   ( 0 ,    ̇ s 0 )   is null and the scalar   sLast   is zero. Then go to   RT-2 .  RT-2.   Starting from the point   p , a  β   - pro f ile   is integrated forward until it hits the boundaries of the admis- sible region at   ( s   =   s h ,    ̇ s   =    ̇ s h ) . If   isContinuous  is   T RUE ,   then   RT   will   call   the   subfunction  addPro f ile ( T   ∗ ,  β   - pro f ile ), and   sLast   is updated as   s h . And go to   RT-3 .  RT-3.   From the hitting point, the first switch point found along   MVC ∗   or terminal point is assigned to the point   q . Starting from   q , an  α - pro f ile   is integrated backward until it intersects one of following lines:  •   The trajectory   T   ∗ , then   RT   will call the sub- function   addPro f ile ( T   ∗ ,  α - pro f ile ) and set  isContinuous = TRUE . Meanwhile,   sLast   is up- dated as the path coordinate of   q .  •   The boundaries of the admissible region, then  RT   will set   isContinuous   =   FALSE . The point   p   is updated as   q . If   p   is the terminal point, then go to   RT-4 , else go to   RT-2 .  RT-4.   If   sLast   <   s e , this method fails to generate a feasible trajectory, else output a feasible trajectory   T   ∗ .
Remark 3:   The subfunction   addPro f ile   adds accelerat- ing/decelerating curves to   T   ∗ . The core of this algorithm is running the   NI   method and detecting whether those generated accelerating and decelerating curves constitute a continuous trajectory on the whole path. The scalar   sLast   indicates the path length of the trajectory   T   ∗ . Therefore, after the algorithm is completed, the inequality   sLast   <   s e   in   RT-4   is a necessary and sufficient failure condition for the   NI   method in presence of velocity and torque constraints.     IV. S IMULATION   R ESULTS  In order to verify   Properties 1-6 , some simulation results on a unicycle vehicle are provided in this section.  A. Model  A unicycle vehicle moves along a specified path, with the direction of the vehicle being always tangent to this given path from a initial pose to a target pose. The angular velocity ω   ∈   R , the path velocity   v   ∈   R , and the path curvature  κ   ∈   R  have the following relationship [25]:  ω   =  κ v .   (11) For the specified path, the curvature could be computed as a function of the path coordinate as follows: κ   :   s   ∈   [ 0 ,   s e ]   →  κ ( s )   ∈   R ,   (12) where the scalar   s   is the path coordinate. According to (11) and (12), the kinematic model of the vehicle is described as  u u u   =   M M M ( s )    ̇ s ,   (13) where   u u u   = [  ω   v ] T , and   M M M ( s ) = [  κ ( s )   1 ] T . Taking the time derivative of (13) yields that  ̇ u u u   =   M M M ( s )    ̈ s   +   M M M s ( s )    ̇ s 2 ,   (14) where  ̇ u u u   = [    ̇ w    ̇ v ] T ,   M M M s ( s ) = [  κ s   0 ] T ,  κ s   =   d  κ / ds . The scalars  ̇ v ,    ̇ w   are the path acceleration and angular acceleration, re- spectively. Velocity and acceleration constraints are given as  − v v v max   ≤   u u u   ≤   v v v max ,   (15)  − a a a max   ≤    ̇ u u u   ≤   a a a max ,   (16) where   v v v max   ∈   R 2   and   a a a max   ∈   R 2   are constant vectors repre- senting the velocity boundary and the acceleration boundary, respectively. These vector inequalities (15)-(16) should be interpreted componentwise. In order to guarantee acceleration constraints, substituting (14) into (16) yields that  A A A ( s )    ̈ s   +   B B B ( s )    ̇ s 2   +   C C C ( s )   ≤   0 0 0 ,   (17) where   A A A ( s ) = [ M M M ( s ) T   −   M M M ( s ) T ] T ,   B B B ( s ) = [ M M M s ( s ) T   −   M M M s ( s ) T ] T  and   C C C ( s ) =   − [ a a a T  max   a a a T  max ] T , which are all 4   ×   1 vectors. In order to guarantee velocity constraints, substituting (13) into (15) yields that  A A A ( s )    ̇ s   +   D D D ( s )   ≤   0 0 0 ,   (18) where   A A A ( s ) = [ M M M ( s ) T   −   M M M ( s ) T ] T   and   D D D ( s ) =   − [ v v v T  max   v v v T  max ] T , which are all 4   ×   1 vectors.  0   0.5   1   1.5   2   2.5   3  −0.5  0  0.5  1  1.5  2  2.5  3  x [ m ]  y [ m ]  path  starting position  terminal position  Fig. 8.   The specified path: cubic B ́ ezier curve  The velocity limit curve   MVC ( s )   considering acceleration constraints is computed with (7) and (17), and the limit curve  V   ( s )   considering velocity constraints is computed with (8) and (18). When both acceleration and velocity constraints are taken into account, the maximum velocity curve is obtained as   MVC ∗   by fusing   MVC ( s )   and   V   ( s )   with (9).  B. Results  As shown in Fig. 8, the specified blue path is the following cubic B ́ ezier curve:  x   =( 1 −  λ   ) 3 x 0   +   3 ( 1 −  λ   ) 2  λ   x 1   +   3 (  λ   2 −  λ   3 ) x 2   +  λ   3 x 3 ,  y   =( 1 −  λ   ) 3 y 0   +   3 ( 1 −  λ   ) 2  λ   y 1   +   3 (  λ   2 −  λ   3 ) y 2   +  λ   3 y 3 ,  where the position of the vehicle is   ( x [ m ] ,   y [ m ]) , the points  ( x i [ m ] ,   y i [ m ]) ,   i   ∈   [ 0 ,   3 ]   are path control points, and the scalar  λ   ∈   [ 0 ,   1 ]   is the path parameter. The  λ   and   s   obey a nonlinear scaling relation. The starting and terminal path velocity  ̇ s 0   =   ̇ s e   =   0 [ m / s ] . This cubic B ́ ezier curve is used to find a path from a initial pose to a target pose so that the orientation of the unicycle vehicle is always tangent to the path, and thus the nonholonomic constraint is satisfied. The following cases show that the   NI   method assigns velocity profiles to the path.  Case 1:   This case shows that, when the velocity con- straints are moderate, the   NI   method [10] using   MVC ∗  generates the   time-optimal trajectory. In this   simulation, the velocity and acceleration constraints are set as   v v v max   = [ 0 . 5 rad / s   1 . 3 m / s ] T ,   a a a max   = [ 0 . 05 rad / s 2   0 . 1 m / s 2 ] T . In Fig. 9, the cyan dash line represents   MVC ( s )   with ac- celeration constraints. When considering velocity constraints corresponding to the purple dash-dot line   V   ( s )   in Fig. 9, the maximum velocity curve is altered from   MVC   to   MVC ∗ , which is represented as the boundary between the gray (inadmissible) and blank (admissible) regions. To facilitate subsequent analysis, symbols # 1 ,   # 2   are used to represent the two closed areas bounded by   MVC ( s )   and   V   ( s ) . The red and green solid lines are accelerating curves (  β   - pro f iles ) and decelerating curves (  α - pro f iles ), respectively, which comply with   Properties 1-3 . The red   ⊲   and green   ⊳   denote the points  sp  β   →  α   and   sp  α →  β   respectively (see Section II-B). As shown in Fig. 9, under the curve   MVC ∗ , the   NI   method outputs the optimal trajectory as follows. The accelerating curve  β 0 , starting from   ( 0 ,    ̇ s 0 ) , hits   MVC ∗   at   p 1 . Searching forward along   MVC ∗   from   p 1 , the first   sp  α →  β   found is   p 2 .
0   1   2   3   4   5   6  0  0.2  0.4  0.6  0.8  1  1.2  1.4  s [ m ]  ̇ s [ m/s ]  o 1  α 1  p 2  ο 3  α 2  α e  β 3  inadmissible region  V(s)  p 1  ο 2  MVC(s)  β 0  # 2  # 1  admissible region  β 1  p 3  p 4  p 5  Fig. 9.   Case 1: The   NI   method outputs the optimal trajectory with constraints   v v v max   = [ 0 . 5 rad / s   1 . 3 m / s ] T , a a a max   = [ 0 . 05 rad / s 2   0 . 1 m / s 2   ] T  0   1   2   3   4   5   6  0  0.2  0.4  0.6  0.8  1  1.2  1.4  s [ m ]  ̇ s [ m/s ]  β 0   p 1   o 1  β 1  V(s)  MVC(s) inadmissible region  # 1   p 2   admissible region  # 2  α e  p 3  ο 2  p 4  p 5  p 9  p 8  α 1  p 6  p 7  Fig. 10.   Case 2: The   NI   method fails to output a feasible trajectory with constraints   v v v max   = [ 0 . 2 rad / s   1 . 3 m / s ] T   , a a a max   = [ 0 . 05 rad / s 2   0 . 1 m / s 2   ] T  Starting from   p 2 , the integrated backward decelerating curve α 1   intersects  β 0   at   o 1 , and the integrated forward accelerating curve  β 1   hits   MVC ∗   at   p 3 . Then, searching forward along  MVC ∗   from   p 3 , the first   sp  α →  β   found is   p 4 . Starting from  p 4 , the integrated backward decelerating curve  α 2   intersects β 1   at   o 2 , and the accelerating curve  β 3   hits the   MVC ∗   at  p 5 . No   sp  α →  β   is found along   MVC ∗   from   p 5   when   s   ≤   s e . Therefore, the integrated backward  α e , starting from   ( s e ,    ̇ s e ) , intersects  β 1   at   o 3 . The   sp  β   →  α   on  β 1   is updated from   o 2   to  o 3 , which verifies   Property 4 . Finally, the   NI   method outputs the feasible and optimal trajectory:  β 0   −  α 1   −  β 1   −  α e .  Case 2:   This case shows that, when the velocity constraints are too restrictive, the conditions in   Property 6   will be satisfied, and thus the   NI   method [10] using   MVC ∗   fails to output a feasible trajectory. In this simulation, the velocity constraint   v v v max   is modified as   [ 0 . 2 rad / s   1 . 3 m / s ] T   and the acceleration constraint   a a a max   remains the same as that of  Case 1 . Therefore, in Fig. 10, the velocity limit curve   V   ( s )  due to the velocity constraint becomes lower, and the areas of two inadmissible regions # 1 ,   # 2   increase. Meanwhile, the trajectory   T   :  β 0   −  α 1   −  β 1   −  α e , obtained by the   NI   method using   MVC , is greater than   MVC ∗   at the region # 1 , and the  1.4   1.6   1.8   2   2.2   2.4   2.6   2.8  0.1  0.15  0.2  0.25  0.3  0.35  0.4  s [ m ]  ̇ s [ m/s ]  V(s)  # 1  MVC(s)  p 2  β 1  o 1  β 0  α 1  p 1  p 6  p 7  p 5  Fig. 11.   The enlarged view of the region # 1   in Fig. 10  sp  α →  β   on   MVC †   is nonexistent, which indicates that the conditions of   Property 6   hold and also verifies   Property 5 . Under the curve   MVC ∗ , the   NI   method fails to output a feasible trajectory, which is described as follows. For clarity, the region # 1   is enlarged as shown in Fig. 11. The integrated forward curve  β 0   from   ( 0 ,    ̇ s 0 )   hits the   MVC ∗   at  p 1 . Then, searching forward from   p 1   along   MVC ∗ , the first  sp  α →  β   found is the point   p 2 . However, starting from   p 2 , the integrated backward  α 1   hits the   MVC ∗   at   p 5   before intersecting  β 0   (the point   o 1   is in the inadmissible region). Then, the integrated forward  β 1   from   p 2   hits the   MVC ∗  at   p 3 . No   sp  α →  β   is found along   MVC ∗   from   p 3   when  s   ≤   s e . Therefore, the integrated backward  α e , starting from  ( s e ,    ̇ s e ) , intersects  β 1   at   o 2 . In all these procedures, the  α - pro f iles   on the right side of the purple dash-dot curve  MVC †   ( p 6   p 7  ⌢   ), cannot intersect  β 0 . This   MVC †   ( p 6   p 7  ⌢   ) breaks the intersection between the accelerating and decelerating curves, and causes that the final trajectory is blank between  p 1   and   p 5 , which indicates that the   NI   method fails and verifies   Property 6 . V. C ONCLUSION  This letter revisits the original version of   NI   method for time-optimal trajectory planning along specified paths. On this basis, we first summarize several known and new prop- erties regarding switch points and accelerating/decelerating curves of the   NI   method, and give corresponding mathemati- cal proofs. Then, we provide concrete failure conditions and rigorous proofs for the property, which indicates that, in the presence of velocity constraints, the original version of   NI  which only considers torque constraints may result in failure of trajectory planning tasks. Accordingly, a failure detection algorithm is given in a ‘run-and-test’ manner. Simulation results on a unicycle vehicle are provided to verify these presented properties. A PPENDIX  A. Proof of Property 2 Proof:   In the   AREM   region, an  α - pro f ile   intersects an  β   - pro f ile   at a point   ( s   =   s c ,    ̇ s   =    ̇ s c ) . At the neighborhood
of   s c , the slopes of the  α - pro f ile   and  β   - pro f ile   satisfy the inequality   k  α   <   k  β   and the Lipschitz condition [11]. Therefore, based on   Comparison Theorem   [26] (Let   y ,   z   be solutions of the differential equations  ̇ y   =   F ( x ,   y ) ,    ̇ z   =   G ( x ,   z ) . If   F ( x ,   y )   <   G ( x ,   z ) ,   x   ∈   [ a ,   b ] , the function   F   or   G   satisfies a Lipschitz condition, and   y ( a ) =   z ( a ) , then   y ( x )   <   z ( x ) ,   x   ∈  ( a ,   b ] ), it is proven that the  α - pro f ile   is greater than the β   - pro f ile   in the left neighborhood of   s c , but less than the β   - pro f ile   in the right neighborhood of   s c .  B. Proof of Property 3 Proof:   This property is proven by contradiction. As- sume that an  α - pro f ile   is tangent to another  β   - pro f ile   in the  AREM   region. Then, on the tangent point, the slope   k  α   of the α - pro f ile   is equal to   k  β   of the  β   - pro f ile , which contradicts with the inequality   k  α   <   k  β   in the   AREM   region. Thus, the assumption is invalid and the property is proven.  C. Proof of Property 4 Proof:   In terms of the number   m   of intersection points, there are totally two cases:   m   =   1 ,   m   >   1.  Case 1: m   =   1. There is only one intersection point, so the point   sp  β   →  α   on the  β   - pro f ile   is   X 1 . This property holds for   m   =   1.  Case 2: m   >   1. There are   m   intersection points as Fig. 2. In terms of path coordinate, the intersection point   X i   is less than   X j , 1   ≤   i   <   j   ≤   m . Each   X i   has one corresponding decelerating curve  α i   and one switch point   Y i . According to  Property 1 ,   Y i   is at the right side of   Y j ,   i   <   j . If   X i ,   i   >   1 is chosen as   sp  β   →  α   on  β   ∗ , then, starting from   X i , the trajectory consisting of  α - pro f iles   and  β   - pro f iles   cannot leave the region   D , which is enclosed by  α 1 ,  β   ∗   and   MVC , across  α 1  due to   Properties 1-3 . Thus,   X 1   is chosen as   sp  β   →  α   on  β   ∗ , which can aid the trajectory to leave the region   D   along  α 1  and go on extending to the right side of   Y 1   with  β 1 . This property holds for   m   >   1. In summary,   Property 4   holds.  D. Proof of Property 5 Proof:   Due to (10),   MVC †   is less than   MVC . According to the definition of   AR , the inequality  α ( s ,    ̇ s )   <  β   ( s ,    ̇ s )   holds on   MVC † . Then, based on the facts   k  α   =  α ( s ,    ̇ s ) /    ̇ s ,   k  β   = β   ( s ,    ̇ s ) /    ̇ s , the inequality   k  α   <   k  β   also holds on   MVC † , which violates   k  α   =   k  β   in the definition of tangent switch points (see   sp  α →  β   in Section II-B). Therefore, tangent switch points on   MVC †   are nonexistent.  R EFERENCES [1]   E. Barnett and C. Gosselin, “Time-optimal trajectory planning of cable-driven parallel mechanisms for fully-specified paths with G1 discontinuities,”   Journal of Dynamic Systems Measurement and Con- trol , vol. 137, no. 7, pp. 603-617, 2013. [2]   K. Kim and B. Kim, “Minimum-time trajectory for three-wheeled omnidirectional   mobile robots following a bounded-curvature   path with a referenced heading profile,”   IEEE Transactions on Robotics , vol. 27, no. 4, pp. 800-808, 2011. [3]   S. Macfarlane   and E. Croft, “Jerk-bounded manipulator trajectory planning: design for real-time applications,”   IEEE Transactions on Robotics and Automation , vol. 19, no. 1, pp. 42-52, 2003. [4]   K. Shin and N. McKay, “Selection of near-minimum time geometric paths   for robotic manipulators,”   IEEE Transactions   on Automatic Control , vol. 31, no. 6, pp. 501-511, 1986. [5]   K. Shin and N. McKay, “A dynamic programming approach to trajec- tory planning of robotic manipulators,”   IEEE Transactions Automatic Control , vol. 31, no. 6, pp. 491-500, 1986. [6]   S. Singh and M. Leu, “Optimal trajectory generation for robotic ma- nipulators using dynamic programming,”   Journal of Dynamic Systems Measurement and Control , vol. 109, no. 2, pp. 88-96, 1987. [7]   D. Verscheure, B. Demeulenaere, J. Swevers, J. Schutter, and M. Diehl, “Time-optimal path tracking for robots: A convex optimization approach,”   IEEE Transactions on Automatic Control , vol. 54, no. 10, pp. 2318-2327, 2009. [8]   K. Hauser, “Fast interpolation and time-optimization with contact,”  International Journal of Robotics Research , vol. 33, no. 9, pp. 1231- 1250, 2014. [9]   F. Debrouwere, W. Loock, G. Pipeleers, Q. Dinh, M. Diehl, J. Schutter and J. Swevers, “Time-optimal path following for robots with convex- concave   constraints   using   sequential   convex   programming,”   IEEE Transactions on Robotics , vol. 29, no. 6, pp. 1485-1495, 2013. [10]   K. Shin and N. Mckay, “Minimum-time control of robotic manipula- tors with geometric path constraints,”   IEEE Transactions on Automatic Control , vol. 30, no. 6, pp. 531-541, 1985. [11]   J. Bobrow, S. Dubowsky and J. Gibson, “Time-optimal control of robotic manipulators along specified paths,”   International Journal of Robotics Research , vol. 4, no. 3, pp. 3-17, 1985. [12]   J. Slotine and H. Yang, “Improving the efficiency of time-optimal path-following algorithms,”   IEEE Transactions on Robotics and Au- tomation , vol. 5, no. 1, pp. 118-124, 1989. [13]   Q. Pham, “A general, fast, and robust implementation of the time- optimal   path   parameterization   algorithm,”   IEEE   Transactions   on Robotics , vol. 30, no. 6, pp. 1533-1540, 2014. [14]   F. Pfeiffer and R. Johanni, “A concept for manipulator trajectory planning,”   IEEE Journal on Robotics and Automation , vol. 3, no. 2, pp. 115-123, 1987. [15]   Z. Shiller, “On singular time-optimal control along specified paths,”  IEEE Transactions on Robotics and Automation , vol. 10, no. 4, pp. 561-566, 1994. [16]   Q. Pham and O. Stasse, “Time-optimal path parameterization   for redundantly   actuated   robots:   A   numerical   integration   approach,”  IEEE/ASME Transactions on Mechatronics , vol. 20, no. 6, pp. 3257- 3263, 2015. [17]   S. Behzadipour and A. Khajepour, “Time-optimal trajectory planning in cable-based manipulators,”   IEEE Transactions on Robotics , vol. 22, no. 3, pp. 559-563, 2006. [18]   T. Kunz and M. Stilman, “Time-optimal trajectory generation for path following with bounded acceleration and velocity,”   Robotics: Science and Systems , vol. 8, no. 12, pp. 9-13, 2012. [19]   H. Nguyen and Q. Pham, “Time-optimal path parameterization of rigid-body motions: Applications to spacecraft reorientation,”   Journal of Guidance Control and Dynamics , vol. 39, no. 7, pp. 1667-1671, 2016. [20]   Q. Pham and Y. Nakamura, “Time-optimal path parameterization for critically dynamic motions of humanoid robots,”   Proceedings of the 2012 IEEE International Conference on Humanoid Robots , pp. 165- 170, 2012. [21]   L.   ˇ Zlajpah,   “On time   optimal   path   control   of manipulators   with bounded joint velocities and torques,”   Proceedings of the 1996 IEEE International Conference on Robotics and Automation , pp. 1572-1577, 1996. [22]   F. Lamiraux and J. Laumond, “From paths to trajectories for multi- body mobile robots,”   Proceedings of the 5th International Symposium on Experimental Robotics , pp. 301-309, 1998. [23]   T. Kalm ́ ar-Nagy, “Real-time trajectory generation for omni-directional vehicles by constrained dynamic inversion,”   Mechatronics , vol. 35, pp. 44-53. [24]   Q. Pham, S. Caron and Y. Nakamura, “Kinodynamic planning in the configuration space via velocity interval propagation,”   Proceedings of Robotics: Science and Systems , 2013. [25]   C.   Bianco   and   M.   Romano,   “Optimal   velocity   planning   for   au- tonomous vehicles considering curvature constraints,”   Proceedings of the 2007 IEEE International Conference on Robotics and Automation , pp. 2706-2711, 2007. [26]   G. Birkhoff   and G. Rota,   “Ordinary   differential   equations,”   Ussr Computational Mathematics Physics , vol. 4, no. 4, pp. 230-232, 1964.