Abstract
The motion planning problem for nonholonomic robotic systems is studied using the continuation method and the optimization paradigms. A new Jacobian motion planning algorithm is derived, based on a solution of the Lagrange-type optimization problem addressed in the linear approximation of the system. Performance of the new algorithm is illustrated by numeric computations performed for the unicycle robot kinematics.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The kinematics of a nonholonomic robotic system subject to Pfaffian phase constraints can be represented in the form of a driftless control system with outputs. The motion planning problem becomes then equivalent to inverting the end point map of this system. An application of the continuation method provides a systematic way of deriving Jacobian motion planning algorithms. In the context of robotics, the continuation method was introduced by Sussmann [16] and then used successfully in the motion planning of mobile robots [6, 7], mobile manipulators [17] and rolling bodies [1, 3], extended to systems with dynamics [10, 13, 19], as well as developed theoretically towards proving completeness (convergence for any initial controls) of Jacobian motion planning algorithms [4, 5, 15, 18], incorporating state and control bounds [9], adopting them to the multiple-task motion planning [11, 13], as well as improving their computational properties [12]. The Jacobian of a nonholonomic system is defined as the end point map in the linear approximation to the original system. An inverse Jacobian is computed as a solution of a constrained optimization problem formulated in this linear approximation. Then, an essential ingredient of the motion planning algorithm is a functional differential equation involving an inverse of the Jacobian. In the cited works, the Jacobian inverse has usually come from the minimization of the control squared norm (energy), resulting in either the Jacobian pseudoinverse (a Moore–Penrose generalized inverse in a Hilbert space [2]) or a weighted Jacobian pseudoinverse.
In this note, using the continuation method, we introduce a new Jacobian inverse for the nonholonomic kinematics. The new inverse is referred to as the Lagrangian Jacobian inverse, as it relies on a constrained minimization of the Lagrange-type objective function. Our main result consists in deriving this new inverse and providing a corresponding motion planning algorithm. Differently to the Jacobian pseudoinverse, the Lagrangian Jacobian inverse incorporates at every step not only the minimization of the control variation, but a joint minimization of both the system control and the system trajectory variations. The computations underlying the algorithm are equivalent to solving a set of differential-algebraic equations. Computability and performance of the Lagrangian Jacobian motion planning algorithm are demonstrated by solving a motion planning problems for the unicycle-type mobile robot. The presented case study suggests that this motion planning algorithm can be designed in such a way that, besides solving the motion planning problem itself, it allows for shaping the system trajectories in order to foster a desired way of motion, e.g. avoiding obstacles.
The remaining part of this note is composed in the following way. Sect. 2 presents the basic concepts, including basics of the continuation method and the concept of the Jacobian pseudoinverse for nonholonomic systems. Section 3 contains our main result, i.e. the Lagrangian Jacobian inverse. The corresponding motion planning algorithm is described in Sect. 4. Computational aspects of the new algorithm are discussed in Sect. 5 in the context of the unicycle robot. Section 6 contains conclusions. Proofs of the main results are given in “Appendix”.
2 Basic concepts
We shall study the kinematics of a nonholonomic robotic system, represented as a driftless control system with outputs
where \(q=(q_1,q_2,\ldots ,q_n)^T\in R^n\) is the state variable, \(u=(u_1,u_2,\ldots ,u_m)^T\in R^m\) denotes the control, and \(y=(y_1,y_2,\ldots ,y_r)^T\in R^r\) stands for the output variable. All the vector fields and functions appearing in (1) will be assumed smooth (of \(C^\infty \) class). The admissible control functions \(u(\cdot )\in {\mathcal {U}}\subset L_m^2[0,T]\), where T is a fixed control horizon, belong to a subset of the space of Lebesgue square integrable functions on [0, T], with inner product inherited from the ambient space. It is assumed that for admissible control functions the state trajectory \(q(t)=\varphi _{q_0,t}(u(\cdot ))\) exists for every \(t\in [0,T]\) and every initial state \(q_0\in R^n\). Given a state trajectory, the end point map \(K_{q_0,T}:{\mathcal {U}}\longrightarrow R^r\) of the system (1) is defined as
It is well known that the end point map of the system (1) is continuously differentiable [14]. Its derivative will be referred to as the system’s Jacobian,
for \(u(\cdot ),v(\cdot )\in {\mathcal {U}},\) and \(\eta (t)\) denote the output trajectory of the linear approximation to (1) along (u(t), q(t)). Letting
we get [17]
where \(A(t)=\frac{\partial G(q(t))u(t)}{\partial q}\), \(B(t)=G(q(t))\), and \(C(t)=\frac{\partial k(q(t))}{\partial q}\). Then, after solving (5) for \(\xi (0)=0\), the Jacobian (3) can be expressed as
with the transition matrix \(\varPhi (t,s)\) satisfying the evolution equation
along with \(\varPhi (s,s)=I_n\), the identity matrix.
Using the kinematics representation (1), we shall study the following motion planning problem of a nonholonomic robotic system: given an initial state \(q_0\in R^n\) and a terminal point \(y_d\in R^r\), find a control function \(u(\cdot )\in {\mathcal {U}}\) such that
This motion planning problem can be solved by means of a Jacobian algorithm whose derivation goes along the following lines. We begin with an arbitrary control function \(u_0(\cdot )\in {\mathcal {U}}\). If it solves the problem, we are done. Otherwise, we introduce a deformation of \(u_0(\cdot )\) into a smooth curve \(u_{\theta }(\cdot )\in {\mathcal {U}}\), \(\theta \in R\), such that \(u_{\theta =0}(\cdot )=u_0(\cdot )\), and compute the motion planning error \(e(\theta )=K_{q_0,T}(u_{\theta }(\cdot ))-y_d\) along this curve. Requesting that the error decreases exponentially,
we arrive at Ważewski–Davidenko equation
involving the Jacobian (3). This equation can be made explicit after employing a right inverse \(J_{q_0,T}^{\#}(u(\cdot )):R^r\longrightarrow {\mathcal {U}}\) of the Jacobian, so that
By design, the control function driving the system (1) in the initial state \(q_0\) to \(y(T)=y_d\in R^r\) is computed as the limit
The right Jacobian inverse is usually obtained by solving for \(v(\cdot )\in {\mathcal {U}}\) a Jacobian equation
Specifically, the Jacobian equation may be attached as an equality constraint to the energy minimization problem in the linearization (5),
on condition that
that results in the Jacobian pseudoinverse [17]
where
is the output controllability Gramian of the system (5). In the mobile robotics context, this Gramian is referred to as the mobility matrix [19]. It follows that the Gramian matrix can be computed by solving the Lyapunov differential equation
for zero initial condition \(M(0)=0\) and setting \(\mathcal {G}_{q_0,T}=C(T)M(T)C^T(T)\). If the Gramian (15) is full rank, a straightforward computation shows that the minimal value of the objective function (13) equals \(\eta ^T\mathcal {G}^{-1}_{q_0,T}\eta \).
3 Lagrangian Jacobian inverse
As has been said above, a right inverse of the Jacobian (6) can be obtained by solving a constrained optimization problem for the linearization (5) of the original system (1). A natural generalization of the objective function considered in (13) is an objective function in the Lagrange form that leads to the Lagrange-type optimization problem in (5)
along with
where the matrices \(Q(t)=Q^T(t)\ge 0\) and \(R(t)=R^T(t)>0\). The resulting Jacobian inverse will be referred to as the Lagrangian Jacobian inverse \(J^{L\#}_{q_0,T}(u(\cdot ))\). The following theorem establishes the explicit form of the Lagrangian Jacobian inverse. Its proof can be found in Proof of Theorem 1 in “Appendix”.
Theorem 1
The Lagrangian Jacobian inverse
where
and the block matrix function \(\varPsi (t)=[\psi _{ij}(t)]\), \(i,j=1,2,3\) solves the linear differential equation
with initial condition \(\psi _{ij}(0)=\delta _{ij}I_n\), \(\delta _{ij}\) denoting the Kronecker delta. The matrix D(t) is a solution of the Lyapunov equation
with zero initial condition \(D(0)=0\), and the mobility matrix
The mobility matrix will be assumed to have full rank r. It is easily shown that, after setting \(Q(t)=0\) and \(R(t)=I_m\), the Lagrangian Jacobian inverse and the Jacobian pseudoinverse coincide. This is stated as
Corollary 1
If \(Q(t)=0\) and \(R(t)=I_m\), then \(J^{L\#}_{q_0,T}(u(\cdot ))=J^{P\#}_{q_0,T}(u(\cdot )).\)
This corollary will be demonstrated in Proof of Corollary 1 in “Appendix”. By inspection of the differential equation (20), we obtain the next
Corollary 2
In the block matrix \(\varPsi (t)\), the terms \(\psi _{13}(t)\) and \(\psi _{23}(t)\) are zero.
Suppose that the output function of (1) is the identity function \(k(q)=q\). Then, we have the following
Corollary 3
Proof of this Corollary can be found in Proof of Corollary 3 in ”Appendix”.
4 Motion planning
The Lagrangian Jacobian inverse gives rise to a Lagrangian Jacobian motion planning algorithm based on the scheme (11) with \(J^{\#}_{q_0,T}(u(\cdot ))\) replaced by \(J^{L\#}_{q_0,T}(u(\cdot ))\), see (18). The computations involved in this algorithm are tantamount to solving for \(u_{\theta }(t)\) the following set of differential-algebraic equations.
Algorithm 1
with initial conditions \(q_\theta (0)=q_0\), \(D_\theta (0)=0\), \(\psi _{\theta ij}(0)=\delta _{ij}I_n\) and a given initial control function \(u_0(t)\).
As explained in Sect. 2, the solution of the motion planning problem is obtained as the limit
5 Computer simulations
An advantage of the Lagrangian Jacobian motion planning algorithm is that by a suitable choice of matrices Q(t) and R(t) defining the Lagrange objective function (17), besides solving the motion planning problem itself, it also enables shaping the state trajectory of the system (1).
For a given \(\theta \), suppose that \(v_{\theta }(\cdot )\) is the solution of the Jacobian equation
obtained by means of the Lagrangian Jacobian inverse. By (11) and (18) with a substitution \(\eta =e(\theta )\), this means that
Furthermore, let \(q_{\theta }(t)=\varphi _{q_0,t}(u_{\theta }(\cdot ))\) be the state trajectory of the control system (1) steered by \(u_{\theta }(t)\). Then, the identity (4) combined with (25) yields
The functions \(v_\theta (\cdot )\) and \(\xi _\theta (\cdot )\) can be interpreted as directions of motion in the control and trajectory spaces.
For a curve \(c_\theta (t)\) in the state space of system (1), let \(V_\theta (t)\) denote a vector field along \(c_\theta (t)\). The matrix Q(t) can be made \(\theta \) dependent, so we set
Then, for a fixed \(\theta \), the Lagrange objective function (17) becomes equal to
where we have also allowed for the matrix R(t) to depend on \(\theta \). With a suitable choice of the vector field \(V_\theta (t)\) and the matrix \(R_\theta (t)\), the minimization of this objective function will make the direction of motion \(\xi _\theta (\cdot )\) orthogonal to \(V_\theta (\cdot )\) at each t. It might be expected that, by an appropriate choice of the matrices Q(t) and R(t), it could be possible to shape the solution of the motion planning problem, e.g. in order to enable avoiding obstacles in the state space of the system (1).
In the remaining part of this section, we shall verify this expectation by numerically solving a motion planning problem for the unicycle-type mobile robot. The robot is shown schematically in Fig. 1.
Under assumption that the wheel is not permitted to slip laterally, its kinematics are represented by a driftless control system
with the state variable \(q=(q_1,q_2,q_3)^T\in R^3\) denoting the wheel’s position and orientation (see the figure), a pair of controls \(u_1\), \(u_2\) denoting the linear and the angular velocity of the wheel and the identity output function. Suppose that the unicycle placed at a given initial state \(q_0\) should move to a desired point \(y_d\), simultaneously avoiding state space point–obstacles
Let for a certain \(\theta \) the trajectory of the unicycle be \(q_\theta (t)\). Along this trajectory, we define a vector field
where
The fractional term in the above expression is a direction pointing from the trajectory towards the obstacle number i, while \(\mathrm {R}(Z,\pi /2)\) denotes the rotation matrix around the Z axis by the angle \(\pi /2\). In order to deal only with position obstacles, the matrix is set to \(C=\left[ \begin{array}{cc}I_2&{}0\\ 0&{}0\end{array}\right] \). For a vector field so defined, the minimization of the Lagrange objective function (27) will result in making \(\xi _\theta (t)\) orthogonal to \(V_\theta (t)\), i.e. repelling the trajectory \(q_\theta (t)\) from the obstacles.
This idea will be illustrated with solving numerically a motion planning problem for the unicycle, characterized by the initial state \(q_0=(0,0,0)\), the desired point \(y_d=q_d=(1,1,0)\), and the set of three obstacles (\(p=3\)) to be specified later on. The control horizon is set to \(T=2\), and the decay rate in the Algorithm 1 is chosen as \(\gamma =3\). The computations run until the error norm \(||e(\theta )||\) drops below \(10^{-4}\). The initial control function is chosen as \(u_0=(0.5,\sin (2\pi t/T))\). In order to effectively visualize the algorithm performance, the obstacles will be added progressively. Firstly, we solve the motion planning problem without any obstacles setting \(Q_\theta (t)=10^2 I_3\). Next, we will place the first obstacle \(o_1\) directly on the trajectory obtained form the previous simulation, so we obtain the matrix \(Q_\theta (t)=10^2 V_{1\theta }(t)V^T_{1\theta }(t)\). After that, we will add a second obstacle \(o_2\) which will be placed exactly on the trajectory resulting from the former computation, \(Q_\theta (t)=10^2\left( V_{1\theta }(t)V^T_{1\theta }(t)+ V_{2\theta }(t)V^T_{2\theta }(t)\right) \). Finally, having added the last obstacle \(o_3\), we solve the motion planning problem with three obstacles \(O=\{(0.25,0.18,*),(0.8,0.35,*),(1.25,0.84,*)\}\), such that \(Q_\theta (t)=10^2V_{\theta }(t)V^T_{\theta }(t)\), where \(*\) means that the orientation coordinate is not important.
Results of the computer simulation are displayed in Figs. 2, 3, 4 and 5.
In Figs. 2, 3, 4, the dotted line corresponds to the computation without the obstacles, the thick solid line is the final solution for all obstacles, and the thin solid lines represent the intermediate solutions. Figure 2 reveals how the consecutive addition of the obstacles affects the solutions. Figures 3, 4 show the control function for each solution. The algorithm convergence is depicted in Fig. 5, and it can be seen that the pre-assumed decay rate \(\gamma =3\) has been maintained.
Algorithm 1 can be run either in a parametric or in a nonparametric mode [11]. In the former case, a finite-dimensional representation of the control functions is used, i.e. by truncated trigonometric series. The computations accomplished in this note follow the nonparametric mode and employ a built-in MATLAB variable step, higher-order ODE solver. Such an approach provides a very high accuracy of computations at the expense of the computation time. In the presented example, in every step of the motion planning algorithm, solving the differential equation (\(\dagger \)) for all t and a single value of \(\theta \) takes about 0.5 s on a 3.2 GHz PC. In order to solve the whole motion planning problem, it is necessary to perform about 100 steps that requires a total computation time around 1 min. As long as we are solving a motion planning problem, this is tolerable because the computations can be done offline. These computations might be accelerated by relaxing accordingly the accuracy requirement and passing to the parametric mode. For real-time control, e. g. for the tracking of a trajectory planned offline, the predictive control algorithm may be recommended, supported with the computational tools of ACADO [8].
6 Conclusion
A contribution of this note is the Lagrangian Jacobian inverse, and the corresponding motion planning algorithm for nonholonomic robotic systems, based on the continuation method and the optimization paradigm. This inverse has been designed by a joint minimization of variations of the system control and the system trajectory. Computability of the new algorithm has been shown on a simple example of unicycle. The outcomes of computations suggest that employing the Lagrange objective function in the definition of the Jacobian inverse offers new possibilities of shaping the resulting plan of motion, e.g. in order to avoid obstacles. A systematic examination of these possibilities will be a subject of our future work. Another open area for future research is the problem of existence (singularities) and completeness (global convergence) of the Lagrangian Jacobian motion planning algorithm, both in the form presented in this note as well as in a singularity robust version. As in the case of the classical inverse (\(Q(t)=0\)), a version of the Algorithm 1 respecting control and configuration constraints can be derived. Last but not least, an important issue will be concerned with the organization of computations supporting Algorithm 1 that would balance the accuracy and the efficiency. Although designed basically for driftless control systems representing the nonholonomic robot kinematics, the Lagrangian Jacobian motion planning algorithm can be extended in a natural way to nonholonomic robotic systems with dynamics, represented by control affine systems.
References
Alouges, F., Chitour, Y., Long, R.: A motion-planning algorithm for the rolling-body problem. IEEE Trans. Robot. 26(5), 827–836 (2010)
Ben-Israel, A., Greville, T.N.E.: Generalized Inverses. Springer, New York (2003)
Chelouah, A., Chitour, Y.: On the motion planning of rolling surfaces. Forum Math. 15, 727–758 (2003)
Chitour, Y.: A continuation method for motion-planning problems. ESAIM Control Opt. Calc. Var. 12(1), 139–168 (2006)
Chitour, Y., Sussmann, H.J.: Motion planning using the continuation method. In: Baillieul, J., Sastry, S.S., Sussmann, H.J. (eds.) Essays on Mathematical Robotics, pp. 91–125. Springer, New York (1998)
Divelbiss, A., Seereeram, S., Wen, J.T.: Kinematic path planning for robots with holonomic and nonholonomic constraints. In: Baillieul, J., Sastry, S.S., Sussmann, H.J. (eds.) Essays on Mathematical Robotics, pp. 127–150. Springer, New York (1998)
Duleba, I., Sasiadek, J.Z.: Nonholonomic motion planning based on Newton algorithm with energy optimization. IEEE Trans. Control Syst. Technol. 11(3), 355–363 (2003)
Houska, B., Ferreau, H.J., Diehl, M.: ACADO toolkit—an open-source framework for automatic control and dynamic optimization. Opt. Control Methods Appl. 32, 298–312 (2011)
Janiak, M., Tchoń, K.: Constrained motion planning of nonholonomic systems. Syst. Control Lett. 60(9), 625–631 (2011)
Jung, S., Wen, J.T.: Nonlinear model predictive control for the swingup of a rotary inverted pendulum. Trans. ASME 126, 666–673 (2004)
Ratajczak, A., Tchoń, K.: Multiple-task motion planning of non-holonomic systems with dynamics. Mech. Sci. 4, 153–166 (2013)
Ratajczak, A., Tchoń, K.: Parametric and nonparametric jacobian motion planning for non-holonomic robotic systems. J. Intell. Robot. Syst. 9, 1965–1974 (2014)
Ratajczak, A., Karpińska, J., Tchoń, K.: Task-priority motion planning of underactuated systems: An endogenous configuration space approach. Robotica 28, 885–892 (2010)
Sontag, E.D.: Mathematical Control Theory. Springer, New York (1990)
Sontag, E.D.: A general approach to path planning for systems without drift. In: Baillieul, J., Sastry, S.S., Sussmann, H.J. (eds.) Essays on Mathematical Robotics, pp. 151–168. Springer, New York (1998)
Sussmann, H.J.: A continuation method for non-holonomic path finding problems. In: Proceedings of the 32nd IEEE CDC, pp. 2718–2723 (1993)
Tchoń, K., Jakubiak, J.: Endogenous configuration space approach to mobile manipulators: a derivation and performance assessment of Jacobian inverse kinematics algorithms. Int. J. Control 76(9), 1387–1419 (2003)
Tchoń, K., Małek, Ł.: On dynamic properties of singularity robust Jacobian inverse kinematics. IEEE Trans. Autom. Control 54(6), 1402–1406 (2009)
Zadarnowska, K., Tchoń, K.: A control theory framework for performance evaluation of mobile manipulators. Robotica 25, 703–715 (2007)
Acknowledgments
The authors are indebted to anonymous reviewers for their remarks concerned with the contents of this note as well as for their suggestions aimed at improving its readability.
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported by the National Science Centre, Poland, under the grant decision No DEC-2013/09/B/ST7/02368.
Appendix
Appendix
1.1 Proof of Theorem 1
In order to solve the optimization problem (17), we shall use the method of the calculus of variations. First, we define the Lagrange function associated with the problem
where \(\xi (t)=\int _0^t\varPhi (t,s)B(s)v(s)ds\). The derivative of the Lagrange function for \(w(\cdot )\in {\mathcal {U}}\) is computed as follows
where \(\lambda \in R^r\) denotes a vector of Lagrange multipliers. Using the identity
we transform (29) to
The necessary optimality condition, requesting that for every \(w(\cdot )\) the derivative \(D{\mathcal {L}}(v(\cdot ),\lambda )w(\cdot )=0\), yields
where
Now, a substitution of (31) to the Jacobian equation (12) allows one to compute \(\lambda \) as
where
and
After the elimination of \(\lambda \) from (31), we obtain a preliminary form of the Lagrangian Jacobian inverse
Let us denote the term in brackets on the right-hand side of the above expression as
so that
This means that (18) holds. On account of
[see (7)], a time differentiation of (35) yields
But from (32), we find
and conclude that
Eventually, taking into account the formula (34), and the fact that \(F(t,t)=0\), we compute
where
It is easily checked that D(t) solves a Lyapunov equation
with \(\quad D(0)=0,\) i. e. the Equation (21) is true. Obviously, the mobility matrix \(\mathcal {M}_{q_0,T}=C(T)D(T)C^T(T)\), and hence, also the identity (22) has been proved.
Taking into account the form of (36) as well as (5), (37) and (38), one can observe that in order to compute the Lagrangian Jacobian inverse one needs to solve a set of linear, time-dependent differential equations
where, to simplify notations, we let \(L(T,t,\eta )=L(t)\), and \(\frac{\partial L(T,t,\eta )}{\partial t}=\dot{L}(t)\).
The system (40) is subject to mixed initial and terminal conditions \(\xi (0)=0\), \(P(0)=0\), and \(L(T)=-C^T(T)\mathcal {M}_{q_0,T}^{-1}(u(\cdot ))(\eta + C(T)P(T))\). Let \(\varPsi (t)\) denote the fundamental matrix \(\tilde{\varPhi }(t,0)\) of (40). The matrix \(\varPsi (t)=[\psi _{ij}(t)]\) satisfies the evolution equation
with initial condition \(\psi _{ij}(0)=\delta _{ij}I_n\), that is exactly (20). From the equation (41), we deduce
and in particular,
Furthermore, invoking (37), we get
Using again (41), one finds
therefore
Combining the above with (42), we deduce (19). This concludes the proof.
1.2 Proof of Corollary 1
Indeed, if \(Q(t)=0\), then (20) implies that
Now, because of
it follows that \(\psi _{22}(t)=\varPhi ^T(0,t)\). Also \(\dot{\psi }_{32}(t)=A(t)\psi _{32}(t),\quad \psi _{32}(0)=0,\) so \(\psi _{32}(t)=0.\) Taking this into account, and using (19), we deduce that
But, since \(R(t)=I_m\), the definition (15) yields the identity \(\mathcal {M}_{q_0,T}=\mathcal {G}_{q_0,T}\).
1.3 Proof of Corollary 3
Since the output matrix \(C(T)=I_n\), the term inverted in (19) becomes
Consider a matrix
and compute its time derivative
Now, it follows from (20) that
and
Taking these into account, and after invoking (21), we arrive at a differential equation
with the initial condition \(X(0)=0\). But, simultaneously, (20) yields
with the same initial condition \(\psi _{12}(0)=0\). We conclude that \(X(t)=-\psi _{12}(t)\), so
Finally, a substitution of the above to (19) results in (23).
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Tchoń, K., Ratajczak, A. & Góral, I. Lagrangian Jacobian inverse for nonholonomic robotic systems. Nonlinear Dyn 82, 1923–1932 (2015). https://doi.org/10.1007/s11071-015-2288-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11071-015-2288-6