Next Article in Journal
Optimal Versus Equal Dimensions of Round Bales of Agricultural Materials Wrapped with Plastic Film—Conflict or Compliance?
Next Article in Special Issue
A Mechanical Feedback Classification of Linear Mechanical Control Systems
Previous Article in Journal
Metal-Organic Frameworks Characterization via Inverse Pulse Gas Chromatography
Previous Article in Special Issue
Detection of Pediatric Femur Configuration on X-ray Images
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Development of Task-Space Nonholonomic Motion Planning Algorithm Based on Lie-Algebraic Method

by
Arkadiusz Mielczarek
and
Ignacy Dulęba
*
Department of Cybernetics and Robotics, Wroclaw University of Science and Technology, Janiszewski St. 11/17, 50-372 Wrocław, Poland
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(21), 10245; https://doi.org/10.3390/app112110245
Submission received: 4 October 2021 / Revised: 24 October 2021 / Accepted: 27 October 2021 / Published: 1 November 2021

Abstract

:
In this paper, a Lie-algebraic nonholonomic motion planning technique, originally designed to work in a configuration space, was extended to plan a motion within a task-space resulting from an output function considered. In both planning spaces, a generalized Campbell–Baker–Hausdorff–Dynkin formula was utilized to transform a motion planning into an inverse kinematic task known for serial manipulators. A complete, general-purpose Lie-algebraic algorithm is provided for a local motion planning of nonholonomic systems with or without output functions. Similarities and differences in motion planning within configuration and task spaces were highlighted. It appears that motion planning in a task-space can simplify a planning task and also gives an opportunity to optimize a motion of nonholonomic systems. Unfortunately, in this planning there is no way to avoid working in a configuration space. The auxiliary objective of the paper is to verify, through simulations, an impact of initial parameters on the efficiency of the planning algorithm, and to provide some hints on how to set the parameters correctly.

1. Introduction

A large number of contemporary and practically important robots can be described as nonholonomic systems. Despite different sources of nonholonomy and nonholonomic manipulators, wheel mobile robots [1] and free-floating space robots [2] belong to this class. Even when modeled at the kinematic level, nonholonomic systems are difficult to control because the number of controls is smaller than the dimension of their configuration spaces. Thus, sophisticated maneuvers have to be performed to get a desired location, clearly exemplified by the task of parking a car (especially towing trailers). For some special cases of nonholonomic systems (like Dubbins [3] and Reeds-Shepp cars [4] or systems in a chain form [5]), dedicated methods were proposed to plan their motions. However, there is a constant need to develop general purpose methods applicable to any nonholonomic system. Two main classes of general purpose methods can be distinguished: global [6,7] and local ones [8]. Global methods try to get a whole output trajectory at once (although in an iterative manner), while local ones construct an output trajectory from sub-trajectories derived from local planning. Global methods are rooted in various paradigms. Using a linearization of a nonholonomic system along the trajectory corresponding to current controls, Tchon and coworkers [7] reformulated a nonholonomic motion planning task into an inverse task solved with classical methods. Jakubczyk [9] applied the Volterra series expansion of a nonholonomic system with an output function to get highly oscillatory controls that were able to trace a desired trajectory with an arbitrary precision. Arismendi and coworkers [10] adapted a variant of a wave front technique to design the fast marching square path planning method of nonholonomic motion planning.
Generally, algorithms derived from global methods are computationally involved and very sensitive to geometric constraints due to obstacles. Consequently, they cannot be applied in dynamic or partially unknown environments. Local methods do not suffer from these drawbacks.
In this paper, a Lie-algebraic local method of motion planning will be studied. There are three main goals of the paper:
  • to extend applicability of the method to plan a motion also within a task-space, and to provide a complete algorithm for implementing the method,
  • to show through simulations how data parameterizing the algorithm impacts its efficiency,
  • to compare planning within a configuration and a task-space, pointing out similarities and differences.
It is worth noticing that local and global planning tasks belong to a classic triple: geometrical planning, motion planning, and control. Recently, some attempts have been made to combine the last two tasks into one planning-control loop [11,12]. A vast majority of motion planning algorithms are based on discretization of control/configuration spaces to transform continuous tasks, described by differential equations and static output functions, into a graph domain. In this discrete space, graph-searching algorithms, like RRT or its numerous variants [13], can be used to solve the planning task.
The paper is organized as follows: In Section 2 a model of nonholonomic systems is introduced supplemented with an output function, then a motion planning task is defined and, finally, a Lie algebraic algorithm to solve the task is presented. In Section 3 an extensive simulation study is provided to evaluate performance of the algorithm for various data that impact its behavior. Then, some observations are formulated based on the simulation results. Section 4 concludes the paper.

2. Model and Algorithm

Nonholonomic systems modeled at a kinematic level are described by the control-affine equation [14]
q ˙ = i = 1 m g i ( q ) u i , dim ( q ) = n > m ,
where Q q is a configuration, u = ( u 1 , , u m ) T are controls, and g i ( q ) are (smooth) vector fields (generators) that span a null space of nonholonomic constraints. By definition, nonholonomic systems satisfy the Lie algebra rank condition. Thus, according to the Chow’s theorem [15], they are small time locally controllable.
In order to shorten notations, two-input systems, m = 2 , will be considered with g 1 = X and g 2 = Y . Two input systems are the most challenging as for the systems it is quite easy to generate difficult motion planning tasks by increasing a configuration space dimension.
In many practical applications not all components of a configuration vector are important (for example wheel angles of mobile robots do not impact obstacle collisions), thus an output map is introduced
x = k ( q ) , dim ( x ) = r
and usually r < n .
Now, a motion planning task can be stated as follows: given an initial configuration q 0 and a goal point, x f find controls u ( · ) which, applied to the system (1), generates an end-point of the resulting trajectory mapped with Equation (2) into the desired location x f .
In Lie-algebraic methods, locally, around a current configuration  q c , possible directions of motion of the system (1) are described by vector fields derived from generators  X , Y . To avoid redundancy, it is a common practice to take only a basis of the Lie algebra spanned by the generators. There are at least three such bases, but probably the most frequently used is the Ph. Hall basis. It is composed of an infinite number of Lie monomials, interpreted as vector fields within the scope of the control system (1). The very first elements of the basis are given below
H = ( X , Y , [ X , Y ] , [ X , [ X , Y ] ] , [ Y , [ X , Y ] ] , )
where [ A , B ] denotes a Lie bracket of Lie monomials (for vector fields [ A , B ] = ( B / q ) A ( A / q ) B ). The basis is composed of generators (degree 1 Lie monomials) and higher degree monomials derived from generators and their descendants. The system (1) is a nonholonomic one, thus a finite (and usually small) number of initial Ph. Hall basis elements, H t r u n c , can be taken to satisfy the Lie algebra rank condition [15]
q c Q rank H t r u n c ( q c ) = n .
Consequently, the system (1) is a small time locally controllable and it can evolve at any configuration in any direction. The condition (4) is quite easy to check in off-line mode with the assistance of symbolic computation packages. However, a very demanding problem is how to generate a motion in any direction with a small number of controls. Fortunately, the generalized Campbell–Baker–Hausdorff–Dynkin formula [16] answers this question constructively. It states that a configuration shift z ( t ) ( q c ) at a current configuration q c , depends on controls  u  [17] as follows
z ( t ) ( q c , u ) = α 1 ( t ) X ( q c ) + α 2 ( t ) Y ( q c ) + α 3 ( t ) [ X , Y ] ( q c ) + + α 4 ( t ) [ X , [ X , Y ] ] ( q c ) + α 5 ( t ) [ Y , [ X , Y ] ] ( q c ) + = H t r u n c ( q c ) T α ( u ) ,
where control-dependent coefficients α = ( α 1 , α 2 , ) T pre-multiplying Lie monomials (vector fields) are expressed as
α 1 ( t ) = 0 t u 1 ( s 1 ) d s 1 , α 2 ( t ) = 0 t u 2 ( s 1 ) d s 1 , α 3 ( t ) = 1 2 0 t 0 s 2 ( u 1 ( s 1 ) u 2 ( s 2 ) u 2 ( s 1 ) u 1 ( s 2 ) ) d s 1 d s 2 ,
and they become more and more complex as the integration is performed over the k-dimensional simplex, where k is the degree of a Lie monomial the coefficient corresponds to. It is a common practice to express controls as linear combinations of time-dependent functions [7]
u i ( t ) = j = 0 N i 1 ϕ j ( t ) p i j , i = 1 , , m , t [ 0 , T ] ,
where ϕ j ( t ) are elements of any functional basis (polynomials, harmonic functions) and N i is the number of variables required to describe the i-th control. Thus, a vector p collects all variables p i j and uniquely describes controls u and also energy of controls. Moreover, the shift (5) can be expressed as a function of p and resembles forward kinematics (but at a velocity level when considered on a fixed time horizon)
z ( t ) ( q c , p ) = F ( p ) .
The shift (8) from the configuration space is mapped into the task-space, and within this space a desired motion towards the goal x f can be computed using the Newton algorithm. A complete algorithm to plan a motion of the system (1) with the output function (2), either in a configuration or a task-space, is presented in Algorithm 1.
Algorithm 1 nonholonomic motion planning within a task-space
Step 1. Read-in initial data:
the system (1) together with the output function (2), the initial configuration q 0 and the goal point x f , desired accuracy of reaching the goal ϵ , the initial value of p c .
Step 2. Initialize empty resulting trajectory q r e s ( · ) , and set the current configuration
q c q 0 .
Step 3. Check the stop condition: iff
x f k ( q c ) < ϵ ,

then stop computations and output resulting trajectory q r e s ( · ) . Otherwise, progress with Step 4.
Step 4. Select a parameterization of controls (7), a time horizon T, and derive mapping (8).
Step 5. At a current point in the task-space x c = k ( q c ) , select the planned shift
Δ x ξ ( x f x c )

by setting a positive coefficient ξ .
Step 6. Using the Newton algorithm, Ref. [18] find p that solves the inverse kinematic task
Δ x = J ( q c ) F ( p ) ,

where J ( q ) = k ( q ) / q is the Jacobi matrix of the mapping (2).
Step 7. Check whether the solution is acceptable:
x f k ( q ( T ) ) < x f x c ,

where q ( T ) is the end-point of the trajectory q ( · ) initialized at q c and generated by the
system (1) with controls u ( t ) , t [ 0 , T ] , corresponding to the vector of parameters p , cf.
Equation (7).
Step 8. If Condition (12) is satisfied, then:
  • append the trajectory q ( · ) to the resulting trajectory q r e s ( · ) q r e s ( · ) q ( · ) ,
  • update the current configuration q c q ( T )
  • and go back to Step 4.

Otherwise, decrease the coefficient ξ and go to Step 5.
Comments on Algorithm 1:
  • A nonholonomic motion planning in a configuration space is achieved by setting the identity output function (2).
  • A selected parameterization (7), Step 4, can vary from one iteration to another. Usually, one or at most a few parameterizations can be exploited, and vectors α ( u ( p ) ) from Equation (5) can be computed in an off-line mode.
  • In Step 7, a minimal requirement was formulated, i.e., a new end-point of trajectory in the task-space should be closer to the goal than it was in the previous iteration. More restrictive requirement assumes that it should also be close enough to the planned sub-goal x c + Δ x .
  • Singularities in solving (11) result from a rank deficiency of the Jacobi matrix, derived from the right hand side of (11)
    J ^ ( p ) = J ( q c ) F ( p ) p = J ( q c ) F ( p ) p .
    Thus, singularities may arise
    • either due to a rank deficiency of J ( q c ) (they are avoidable by a small variation of controls which results in a small shift of q c )
    • or a rank deficiency of the Jacobi matrix F ( p ) / p at the current p c . Equivalent to the matrix α ( u ( p ) ) / p , cf. Equations (5), (7), and (8) as the full rank matrix H t r u n c ( q c ) cannot introduce singularities at all, cf. Equation (4).
  • In Step 5, the positive coefficient ξ should not be too large, as values of matrices J ( q c ) , H t r u n c ( q c ) T are computed at the current configuration q c and neglecting some vector fields, while truncation H H t r u n c , is justified only locally. Its value cannot be too small either, as many iterations might be required to complete the algorithm.
  • In motion planning within a task-space with r < n , it is impossible to avoid planning within a configuration space, as the mapping (2) is not unique in this case.

3. Simulations

In order to evaluate Algorithm 1, some tests were performed using two models of mobile robots depicted in Figure 1. The unicycle is described by equations
q ˙ = q ˙ 1 q ˙ 2 q ˙ 3 = cos ( q 3 ) 0 sin ( q 3 ) 0 0 1 u = cos ( q 3 ) sin ( q 3 ) 0 u 1 + 0 0 1 u 2 = X ( q ) u 1 + Y ( q ) u 2 .
The configuration vector q is composed of position ( q 1 , q 2 ) and orientation q 3 of the vehicle on a plane, while u 1 , u 2 denote controls interpreted as angular and linear velocities.
The model of a kinematic car is given as
q ˙ = L cos ( q 3 ) cos ( q 4 ) 0 L sin ( q 3 ) cos ( q 4 ) 0 sin ( q 4 ) 0 0 1 u = L cos ( q 3 ) cos ( q 4 ) L sin ( q 3 ) cos ( q 4 ) sin ( q 4 ) 0 u 1 + 0 0 0 1 u 2 = X ( q ) u 1 + Y ( q ) u 2 ,
where configuration q has got an extra component q 4 describing the steering wheel angle. For simplicity, it was assumed that L = 1 . Both models are nonholonomic ones because generators X , Y supplemented with the Lie bracket [ X , Y ] for the unicycle
[ X , Y ] = sin ( q 3 ) cos ( q 3 ) 0 ,
and
[ X , Y ] = L cos ( q 3 ) sin ( q 4 ) L sin ( q 3 ) sin ( q 4 ) cos ( q 4 ) 0 , [ X , [ X , Y ] ] = L sin ( q 3 ) L cos ( q 3 ) 0 0 , [ Y , [ X , Y ] ] = X .
for the kinematic car, satisfy Condition (4).
For both models, the position on the xy plane was selected as the output function
k ( q ) = ( q 1 , q 2 ) T .
If a robot is inscribed in a circle of sufficient radius, its orientation does not influence the possibility of collisions with obstacles. For the kinematic car another output function was used, coupling position on the xy plane and orientation of the vehicle
k ( q ) = ( q 1 , q 2 , q 3 ) T ,
In practice, the orientation of the steering axle is not relevant. In order to check the motion planning Algorithm 1 within a configuration space, the identity output function was selected for both mobile robots.
In all tested cases, an initial configuration was set to the vector composed of zeroes only
q 0 = 0 .
In the tests, a side-way motion maneuver on the x y -plane was planned for both models and all output functions. The maneuver is challenging as it requires a motion along higher (than generators X , Y ) degree vector fields. Depending on a dimension of a task-space, goal points were selected as
x f = ( 0 , δ ) , x f = ( 0 , δ , 0 ) , δ { 0.05 , 0.1 , 0.2 , 0.5 , 0.7 , 1 } .
Any single task was run using three parameterizations of controls. Each control was composed of a few very first items of the orthonormal Fourier basis
u 1 = p 1 1 ρ + p 1 2 2 ρ sin ( ω t ) + p 1 3 2 ρ cos ( ω t ) , u 2 = p 2 1 ρ + p 2 2 2 ρ sin ( ω t ) + p 2 3 2 ρ cos ( ω t )
u 1 = p 1 1 ρ + p 1 2 2 ρ sin ( ω t ) , u 2 = p 2 1 ρ + p 2 3 2 ρ cos ( ω t )
u 1 = p 1 1 ρ + p 1 3 2 ρ cos ( ω t ) , u 2 = p 2 1 ρ + p 2 2 2 ρ sin ( ω t )
where ρ = 1 / T and ω = 2 π / T . Later on, it was assumed that T = 1 . The total energy expenditure on controls is equal to
e n e r g y ( p ) = i = 1 2 j = 1 # N i ( p i j ) 2 ,
where # N i is the number of the Fourier basis elements contributing to the i-th control. All tasks, with the data collected in Table 1, were solved using Algorithm 1. In Step 6 of the algorithm, two versions of the Newton algorithm were tested: the basic one and with the energy (25) optimization within the null-space of the Jacobi matrix (13). In order to obtain statistically significant results, Step 6 was repeated 100 times for each task, with initial values of p varied (each component of p was generated randomly with the uniform distribution on the interval [ 1 , 1 ] ). Programs used in simulations were written in Wolfram Mathematica, version 11.3, and run on a computer with Intel® Core™ i5-8400 CPU and 24 GiB RAM memory. In Figure 2 and Figure 3, some characteristic paths (projected on the xy-plane and with a target point marked with an asterisk) were visualized for the unicycle and the kinematic car, respectively.
Some numeric data describing the quality of solutions were collected in Table 2 and Table 3. The abbreviations used:
 b.a.
—the best end-point accuracy obtained;
 a.
—how many generated paths were accurate enough,
 f.
—the percentage of the Newton algorithm runs which caused numerical problems due to an inversion of near-singularity matrices,
 ctime
—the average computation time. It is worth noticing that the time includes all stages of running each task, i.e., a symbolic generation of the Ph. Hall basis, kinematic-like mapping, and Jacobians and, finally, a truly numeric trajectory generation.
A path is considered to be accurate if an end-point of generated trajectory x f r e a l in the task-space is close enough to the target point x f , i.e.,
x f x f r e a l < η x f x 0 ,
where x 0 = k ( q 0 ) —the starting point and η — an accuracy coefficient. In Table 2 and Table 3, data were collected for η = 0.3 . The most accurate path satisfies
min x f x f r e a l .
In Table 4 and Table 5, statistical data (length and energy ranges for paths satisfying Condition (26)) were collected. The case when no path meets Condition (26) is marked with a dash (or not included at all when both versions of the Newton algorithm failed).
Based on results of the tests, some observations can be formulated:
  • Length and energy of resulting paths strongly depend on initial values of p c , especially when the basic Newton algorithm is used. The Newton algorithm, being local and iterative, has to generate trajectory-dependent results (the next iteration output depends on the output of the current iteration) and it tends to get into a desired location as fast as possible. It may happen that the basic algorithm provides better results than the optimized one. However, a smaller variance of results was observed in the energy-optimized version. In this case, the search space is searched more thoroughly.
  • Trajectories generated with the optimized version of the Newton algorithm usually form a few clusters corresponding to local minima. This feature was not observed in the basic algorithm, as trajectories are not constrained by the energy minimization.
  • Although the null-space optimization Newton algorithm does not necessarily guarantee the best accuracy, still much more often it promptly reaches the target.
  • The failure ratio, cf. Equation (26), is much bigger for non-redundant parameterizations. What is interesting, in some tasks, parameterizations with the same number of parameters, cf. (23) and (24), generate significantly different results. Sometimes a task is solvable in one parameterization, while it is not in the other.
  • The optimization within the null space significantly increases computational costs. In order to decrease the costs, this version of the Newton algorithm might be run after the target point was reached using the basic algorithm.
  • For the unicycle robot and the identity output function, the quality of the solutions was generally better than that for tasks with smaller dimensional task-spaces, likely due to simplicity of the model and a small number of local minima. However, the length of a path and an energy of motion is smaller for tasks with low-dimensional output functions as it is less restricted.
  • Obviously, the higher dimensional output space is, the more difficult task is generated. Additionally, a high redundancy in a parameter space is more computationally costly, but gives more flexibility as well. Thus, a compromise between flexibility and costs has to be found.
  • Computational costs are smaller for the identity output function than for other output functions, as there is no need to transfer data between configuration and task spaces.
  • Short length steps, characterized by small values of δ , are easier to control.
  • There are a few sources of inaccuracies in motion planning using Lie-algebraic methods: the truncation of the Lie series (5), evaluation of vector fields at q c although a trajectory surrounds the point (quite well visible for long-range motions) numeric properties of the Newton algorithm. All of them can be controlled by the right choice of parameters.
  • A planning accuracy varies substantially with the current configuration q c , as vector fields in the Lie-algebraic methods are evaluated at the point, cf. Equation (5), and vector fields exhibit different variability around different q c .
  • In almost all xy-projection plots one can notice characteristic cusps, which are typical in Lie-algebraic motion planning. At a close vicinity of a cusp a tangent line to the trajectory remains almost the same, while direction of motion is changed. It means that due to particular values of controls and generators, some components of velocity q ˙ in Equation (1) change their signs while passing through zero. An illustrative example of such behavior can be constructed by setting: X long, Y short, u 2 small, and u 1 control passing though zero. Therefore, one can expect that the number of cusps strongly and positively correlates with frequencies of controls. For mobile robots tested the explanation is even simpler, as the cusps result from linear velocity sign changes.
  • Many trajectory cusps result in a zigzag motion, which is especially useful in obstacle-cluttered environments as the volume of maneuvers can be controlled and kept small. However, it is also visible that generating a relatively short motion along high degree vector fields requires a relatively long path to follow.
  • Results for the kinematic car are the most interesting, especially for the identity output function. In this case, a hard to meet condition q 4 = 0 forces extensive movement. This condition is particularly difficult to satisfy for non-redundant parameterizations. Therefore, in some sub-figures of Task 4, cf. Figure 3, scales of axes were extended to present the whole paths. Nevertheless, the point x f r e a l (cf. Figure 3 b,c,e,f) is close to the desired point x f as required.
  • It should be noted that planning a motion of the kinematic car is qualitatively more difficult than of the unicycle, as a high degree (equal to 3) of vector fields have to be involved, comparing to degree 2 for the unicycle, cf. (16), (17).
  • It may look strange that in Task 6, cf. Figure 3e, the projected path with the biggest energy is relatively short. In this case, the major contribution to the energy consumption was caused by control u 2 , responsible for reorientation of the robot.

4. Conclusions

In this paper, the Lie-algebraic method of motion planning for nonholonomic systems, originally designed to plan within the configuration space, has been extended to also work in a task-space. There are some advantages of planning within the task-space:
  • a smaller than the configuration space dimension either increases redundancy and facilitates optimizing a motion or allows to decrease the number of parameters of controls,
  • it allows to define and solve many practical tasks, especially in obstacle-cluttered environments when some components of the configuration vector are not important.
However, there are also some disadvantages:
  • a new source of singularities introduced by the output mapping,
  • the impossibility to plan only within the task-space, without referring explicitly to the configuration space (usually the task-space dimension is smaller than the configuration space dimension, thus no unique mapping between the two spaces exists).
Some general observations based on simulation results:
  • Depending on the planning purpose, the Newton algorithm, extensively used in the proposed algorithm, can be applied with or without optimization. The first version (low computational costs) should be used for tasks with no extra requirements or as a first try solution.
  • A small redundancy in setting the search space size ( = dim ( p ) ) is advised not to cause a significant increase of computational costs, while preserving flexibility and solvability of planning tasks.
  • An initial value of the parameter vector p highly impacts solvability of the planning task and also the resulting trajectory shape. Therefore, the multi-start technique is recommended, especially when planning is performed in the off-line mode.
Our future research will concentrate on applications of the Lie-algebraic method in difficult environments (narrow passages, non-convex obstacles) in the task-space. In such environments, the planning should be performed through selection of sub-goals on the way to the target position. The main difficulty is the sub-goal selection is caused by the fact that nonholonomic systems are not governed by the Euclidean geometry, but rather the sub-Riemannian one [19]. The Lie-algebraic method is local and general-purpose, thus it is particularly well suited for solving tasks in partially known or dynamic environments.

Author Contributions

Conceptualization, A.M. and I.D.; methodology, A.M. and I.D.; software, A.M.; validation, A.M. and I.D.; formal analysis, A.M. and I.D.; resources, A.M. and I.D.; writing—original draft preparation, I.D.; writing—review and editing, I.D.; visualization, A.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Wroclaw University of Science and Technology within Grant No. 821 110 41 60.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Duleba, I. Kinematic models of doubly generalized N-trailer systems. J. Intell. Robot. Syst. 2019, 94, 135–142. [Google Scholar] [CrossRef] [Green Version]
  2. Vafa, Z.; Dubowsky, S. The kinematics and dynamics of space manipulators: The virtual manipulator approach. Int. J. Robot. Res. 1990, 9, 3–21. [Google Scholar] [CrossRef]
  3. Dubins, L.E. On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents. Am. J. Math. 1957, 79, 497–516. [Google Scholar] [CrossRef]
  4. Reeds, J.A.; Shepp, L.A. Optimal paths for a car that goes both forwards and backwards. Pac. J. Math. 1990, 145, 367–393. [Google Scholar] [CrossRef] [Green Version]
  5. Murray, R.M.; Sastry, S.S. Nonholonomic Motion Planning: Steering Using Sinusoids. IEEE Trans. Autom. Control 1993, 38, 201–215. [Google Scholar] [CrossRef] [Green Version]
  6. Dulęba, I.; Sąsiadek, J. Nonholonomic motion planning based on Newton algorithm with energy optimization. IEEE Trans. Control. Syst. Technol. 2003, 11, 355–363. [Google Scholar] [CrossRef]
  7. Tchoń, K.; Jakubiak, J. Endogenous configuration space approach to mobile manipulators: A derivation and performance assessment of Jacobian inverse kinematics algorithms. Int. J. Control 2003, 26, 1387–1419. [Google Scholar] [CrossRef]
  8. Duleba, I.; Wissem Khefifi, W.; Karcz-Duleba, I. Layer, Lie algebraic method of motion planning for nonholonomic systems. J. Frankl. Inst. 2012, 349, 201–215. [Google Scholar] [CrossRef]
  9. Jakubczyk, B. Nonholonomic path following with fastly oscillating Controls. In Proceedings of the 9th Workshop on Robot Motion and Control, Wąsowo, Poland, 3–5 July 2013; pp. 99–103. [Google Scholar]
  10. Arismendi, C.; Alvarez, D.; Garrido, S.; Moreno, L. Nonholonomic Motion Planning Using the Fast Marching Square Method. Int. J. Adv. Robot. Syst. 2015, 12, 1–14. [Google Scholar] [CrossRef]
  11. Gawron, T.; Michałek, M.M. The VFO-driven motion planning and feedback control in polygonal worlds for a unicycle with bounded curvature of motion. J. Intell. Robot. Syst. 2018, 89, 265–297. [Google Scholar] [CrossRef]
  12. Łakomy, K.; Michałek, M.M. Robust output-feedback VFO-ADR control of underactuated spatial vehicles in the task of following non-parametrized paths. Eur. J. Control 2021, 58, 258–277. [Google Scholar] [CrossRef]
  13. LaValle, S. Planning Algorithms; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
  14. Lynch, K.M.; Park, F.C. Modern Robotics: Mechanics, Planning, Control; Cambridge University Press: Cambridge, UK, 2017. [Google Scholar]
  15. Chow, W.L. Über Systeme von linearen partiellen Differentialgleichungen erster Ordnung. Math. Ann. 1939, 117, 98–105. [Google Scholar]
  16. Strichartz, R.S. The Campbell-Baker-Hausdorff-Dynkin Formula and Solutions of Differential Equations. J. Funct. Anal. 1987, 72, 320–345. [Google Scholar] [CrossRef] [Green Version]
  17. Duleba, I.; Khefifi, W. Pre-control from of the gCBHD formula and its application to nonholonomic motion planning. In Proceedings of the IFAC Symposium on Robot Control, Wroclaw, Poland, 1–3 September 2003; Dulęba, I., Sąsiadek, J.Z., Eds.; Elsevier: Oxford, UK, 2004; Volume 1, pp. 123–128. [Google Scholar]
  18. Nakamura, Y. Advanced Robotics: Redundancy and Optimization; Addison-Wesley: Boston, MA, USA, 1991. [Google Scholar]
  19. Agrachev, A.; Barilari, D.; Boscain, U. A Comprehensive Introduction to Sub-Riemannian Geometry; Cambridge University Press: Cambridge, UK, 2019. [Google Scholar]
Figure 1. The unicycle (left panel) and the kinematic car (right panel).
Figure 1. The unicycle (left panel) and the kinematic car (right panel).
Applsci 11 10245 g001
Figure 2. xy-plane projections of some paths generated with basic (ac) and null-space optimization (df) versions of the Newton algorithm run for the unicycle robot.
Figure 2. xy-plane projections of some paths generated with basic (ac) and null-space optimization (df) versions of the Newton algorithm run for the unicycle robot.
Applsci 11 10245 g002aApplsci 11 10245 g002b
Figure 3. xy-plane projections of some paths generated with basic (ac) and null-space optimization (df) versions of the Newton algorithm run for the kinematic car.
Figure 3. xy-plane projections of some paths generated with basic (ac) and null-space optimization (df) versions of the Newton algorithm run for the kinematic car.
Applsci 11 10245 g003aApplsci 11 10245 g003b
Table 1. Data for tasks.
Table 1. Data for tasks.
Task No.ModelOutput FunctionControls δ
1unicycleidentityEquation (22) 0.5
2unicycleEquation (18)Equation (22) 0.5
3unicycleEquation (18)Equation (24) 0.2
4kinematic caridentityEquation (22) 0.1
5kinematic carEquation (18)Equation (22) 0.05
6kinematic carEquation (19)Equation (23) 0.1
Table 2. Accuracy, numeric failures, and computing time for the unicycle tasks.
Table 2. Accuracy, numeric failures, and computing time for the unicycle tasks.
The Newton Algorithm
BasicNull-Space Optimization
Output
Function
Control
Param.
δ b.a.a.
[%]
f.
[%]
Ctime
[s]
b.a.a.
[%]
f.
[%]
Ctime
[s]
ident.(22)0.05 0.000 1000 1.7 0.001 1000 1.7
0.1 0.001 1000 1.6 0.001 1000 1.6
0.2 0.002 980 1.5 0.003 1000 1.5
0.5 0.009 490 1.5 0.011 620 1.5
0.7 0.017 430 1.4 0.020 420 1.4
1 0.037 290 1.2 0.040 310 1.3
(23)0.05 0.000 1000 0.6 0.000 1000 0.6
0.1 0.000 1000 0.5 0.001 1000 0.5
0.2 0.000 1000 0.4 0.002 1000 0.5
0.5 0.006 1000 0.4 0.010 1000 0.5
0.7 0.012 1000 0.4 0.020 1000 0.4
1 0.028 1000 0.4 0.040 1000 0.4
(24)0.05 0.002 1000 0.5 0.005 1000 0.6
0.1 0.010 990 0.5 0.017 1000 0.5
0.2 0.032 820 0.4 0.049 1000 0.6
0.5 0.157 00 0.4 0.195 00 0.5
0.7 0.262 00 0.4 0.322 00 0.5
1 0.454 00 0.4 0.546 00 0.4
(18)(22)0.05 0.001 65 42.3 0.006 10 42.4
0.1 0.004 73 43.1 0.018 10 43.2
0.2 0.007 40 38.5 0.051 11 38.5
0.5 0.136 10 42.7 0.172 00 42.8
0.7 0.155 22 40.3 0.257 00 40.3
1 0.328 03 39.2 0.381 00 39.2
(23)0.05 0.005 1015 13.7 0.042 00 13.8
0.1 0.016 220 13.0 0.083 01 13.2
0.2 0.095 021 13.0 0.164 00 13.4
0.5 0.388 05 12.6 0.406 01 12.8
0.7 0.546 03 12.4 0.567 02 12.5
1 0.783 02 12.6 0.809 01 12.7
(24)0.05 0.009 711 15.6 0.005 682 16.6
0.1 0.033 013 15.0 0.017 624 15.2
0.2 0.069 03 15.0 0.037 437 15.1
0.5 0.103 15 15.3 0.207 08 15.4
0.7 0.296 02 15.0 0.329 017 15.1
1 0.553 04 14.7 0.539 011 14.8
Table 3. Accuracy, numeric failures, and computing time for the kinematic car tasks.
Table 3. Accuracy, numeric failures, and computing time for the kinematic car tasks.
The Newton Algorithm
BasicNull-Space Optimization
Output
Function
Control
Param.
δ b.a.a.
[%]
f.
[%]
Ctime
[s]
b.a.a.
[%]
f.
[%]
Ctime
[s]
ident.(22)0.05 0.001 814 31.8 0.001 68 32.4
0.1 0.021 118 30.8 0.004 98 31.5
0.2 0.077 018 30.5 0.022 39 31.3
0.5 0.017 314 28.3 0.005 74 29.4
0.7 0.292 019 30.6 0.104 43 31.5
1 0.446 025 30.6 0.030 74 31.7
(23)0.05 0.001 70 10.0 0.001 123 10.4
0.1 0.001 48 9.2 0.001 1231 9.5
0.2 0.244 010 9.5 0.000 1127 9.9
0.5 0.507 022 8.4 0.003 740 8.8
0.7 0.679 023 10.0 0.011 736 10.3
1 0.940 034 10.0 0.015 735 10.5
(24)0.05 0.001 4753 12.0 0.001 4852 12.8
0.1 0.001 5248 11.1 0.001 5347 12.3
0.20100 0.000 4654 14.7
0.50100 0.002 4060 15.0
0.70100 0.003 3664 14.8
10100 0.008 4258 14.1
(18)(22)0.05 0.001 65 42.3 0.006 10 42.4
0.1 0.004 73 43.1 0.018 10 43.2
0.2 0.007 40 38.5 0.051 11 38.5
0.5 0.136 10 42.7 0.172 00 42.8
0.7 0.155 22 40.3 0.257 00 40.3
1 0.328 03 39.2 0.381 00 39.2
(23)0.05 0.005 1015 13.7 0.042 00 13.8
0.1 0.016 220 13.0 0.083 01 13.2
0.2 0.095 021 13.0 0.164 00 13.4
0.5 0.388 05 12.6 0.406 01 12.8
0.7 0.546 03 12.4 0.567 02 12.5
1 0.783 02 12.6 0.809 01 12.7
(24)0.05 0.009 711 15.6 0.005 682 16.6
0.1 0.033 013 15.0 0.017 624 15.2
0.2 0.069 03 15.0 0.037 437 15.1
0.5 0.103 15 15.3 0.207 08 15.4
0.7 0.296 02 15.0 0.329 017 15.1
1 0.553 04 14.7 0.539 011 14.8
(19)(22)0.05 0.002 587 43.4 0.005 940 43.5
0.1 0.005 535 43.2 0.018 931 43.3
0.2 0.015 324 43.2 0.052 633 43.3
0.5 0.070 301 42.2 0.175 01 42.3
0.7 0.142 171 42.4 0.260 00 42.5
1 0.210 62 43.0 0.384 00 43.2
(23)0.05 0.007 240 13.9 0.007 290 14.0
0.1 0.024 190 13.8 0.024 280 13.9
0.2 0.073 00 13.7 0.074 00 13.8
0.5 0.303 00 13.5 0.304 01 13.6
0.7 0.496 02 13.7 0.496 00 13.8
1 0.788 00 13.4 0.815 00 13.4
(24)0.05 0.005 461 16.5 0.005 590 17.1
0.1 0.020 100 15.1 0.019 610 15.2
0.2 0.074 00 14.2 0.056 631 14.2
0.5 0.228 00 13.9 0.208 00 13.9
0.7 0.349 00 13.7 0.330 00 13.8
1 0.555 00 13.7 0.540 03 13.8
Table 4. Path length and energy of motion of the unicycle.
Table 4. Path length and energy of motion of the unicycle.
The Newton Algorithm
Output
Function
Control
Param.
δ BasicNull-Space Optimization
LengthEnergyLengthEnergy
ident.(22)0.05 0.62 ÷ 2.63 0.27 ÷ 1.24 0.62 ÷ 0.69 0.42 ÷ 0.54
0.1 1.26 ÷ 3.02 0.51 ÷ 1.35 1.24 ÷ 1.25 0.71 ÷ 0.71
0.2 2.52 ÷ 3.95 0.79 ÷ 1.68 2.50 ÷ 2.51 1.01 ÷ 1.01
0.5 6.30 ÷ 7.55 1.29 ÷ 2.08 6.27 ÷ 6.28 1.59 ÷ 1.60
0.7 8.80 ÷ 9.70 1.57 ÷ 2.31 8.78 ÷ 8.79 1.89 ÷ 1.89
1 12.60 ÷ 13.58 2.14 ÷ 2.73 12.55 ÷ 12.55 2.26 ÷ 2.26
(23)0.05 0.62 ÷ 1.66 0.23 ÷ 1.14 0.62 ÷ 0.63 0.47 ÷ 0.51
0.1 1.26 ÷ 2.67 0.36 ÷ 1.23 1.24 ÷ 1.26 0.71 ÷ 0.71
0.2 2.51 ÷ 3.86 0.61 ÷ 1.59 2.50 ÷ 2.51 1.01 ÷ 1.01
0.5 6.28 ÷ 7.26 1.22 ÷ 2.10 6.27 ÷ 6.28 1.59 ÷ 1.60
0.7 8.80 ÷ 9.75 1.50 ÷ 2.35 8.78 ÷ 8.79 1.89 ÷ 1.89
1 12.57 ÷ 13.61 1.84 ÷ 2.69 12.55 ÷ 12.56 2.26 ÷ 2.26
(24)0.05 0.62 ÷ 2.92 0.23 ÷ 1.53 0.62 ÷ 0.63 0.50 ÷ 0.50
0.1 1.25 ÷ 2.27 0.43 ÷ 1.30 1.24 ÷ 1.26 0.71 ÷ 0.71
0.2 2.51 ÷ 3.67 0.84 ÷ 1.60 2.50 ÷ 2.51 1.01 ÷ 1.01
(18)(22)0.05 0.41 ÷ 3.03 0.18 ÷ 1.04 0.36 ÷ 0.62 0.35 ÷ 0.50
0.1 0.76 ÷ 3.01 0.36 ÷ 1.18 0.72 ÷ 1.28 0.50 ÷ 0.70
0.2 1.65 ÷ 4.07 0.60 ÷ 1.27 1.83 ÷ 1.99 0.86 ÷ 0.90
0.5 4.35 ÷ 6.28 1.21 ÷ 1.63 4.80 ÷ 4.80 1.39 ÷ 1.39
0.7 6.45 ÷ 9.79 1.40 ÷ 1.88
1 9.00 ÷ 13.46 1.72 ÷ 2.23
(23)0.05 0.38 ÷ 1.91 0.18 ÷ 0.90 0.36 ÷ 0.41 0.34 ÷ 0.41
0.1 0.73 ÷ 2.07 0.33 ÷ 0.91 0.72 ÷ 0.73 0.54 ÷ 0.54
0.2 1.51 ÷ 2.89 0.61 ÷ 0.98
0.5 4.31 ÷ 5.12 1.13 ÷ 1.30
0.7 6.51 ÷ 6.78 1.44 ÷ 1.47
(24)0.05 0.63 ÷ 2.18 0.22 ÷ 1.13 0.62 ÷ 0.67 0.48 ÷ 0.60
0.1 1.26 ÷ 2.88 0.45 ÷ 1.39 1.24 ÷ 1.28 0.68 ÷ 0.71
0.2 2.52 ÷ 4.33 0.65 ÷ 1.42 2.50 ÷ 2.51 1.01 ÷ 1.01
0.5 6.37 ÷ 7.91 1.26 ÷ 1.94
0.7 9.04 ÷ 10.42 1.56 ÷ 2.32
1 12.88 ÷ 14.18 1.90 ÷ 2.65
Table 5. Path length and energy of motion for the kinematic car.
Table 5. Path length and energy of motion for the kinematic car.
The Newton Algorithm
Output
Function
Control
Param.
δ BasicNull-Space Optimization
LengthEnergyLengthEnergy
ident.(22)0.056912 ÷ 49,083 74 ÷ 199 5166 ÷ 5392 64 ÷ 66
0.118,281 ÷ 18,281 121 ÷ 121 9788 ÷ 10,735 89 ÷ 93
0.218,057 ÷ 19,637 120 ÷ 126
0.544,864 ÷ 135,750190 ÷ 33141,005 ÷ 45,333182 ÷ 191
0.759,707 ÷ 75,423219 ÷ 247
182,748 ÷ 87,747258 ÷ 266
(23)0.0521,332 ÷ 45,418131 ÷ 1914049 ÷ 24,21857 ÷ 140
0.176,600 ÷ 79,107249 ÷ 2538310 ÷ 22,96882 ÷ 136
0.218,926 ÷ 137,973123 ÷ 334
0.540,082 ÷ 162,380180 ÷ 362
0.755,316 ÷ 113,002211 ÷ 302
180,542 ÷ 197,181255 ÷ 399
(24)0.0521,146 ÷ 123,282130 ÷ 3164020 ÷ 86,00357 ÷ 264
0.186,087 ÷ 163,986264 ÷ 3648229 ÷ 105,74481 ÷ 292
0.217,406 ÷ 176,427118 ÷ 378
0.554,373 ÷ 142,871209 ÷ 340
0.776,363 ÷ 211,192248 ÷ 413
1106,666 ÷ 219,503294 ÷ 421
(18)(22)0.052.63 ÷ 5.960.94 ÷ 1.705.28 ÷ 5.281.40 ÷ 1.40
0.14.43 ÷ 10.331.20 ÷ 1.619.00 ÷ 9.001.71 ÷ 1.71
0.28.17 ÷ 17.871.55 ÷ 1.9315.87 ÷ 15.872.11 ÷ 2.11
0.537.16 ÷ 37.162.55 ÷ 2.55
0.739.00 ÷ 49.051.08 ÷ 2.93
(23)0.052.20 ÷ 3.390.88 ÷ 1.09
0.14.19 ÷ 4.801.07 ÷ 1.12
(24)0.055.31 ÷ 5.651.10 ÷ 1.345.22 ÷ 5.291.40 ÷ 1.40
0.18.95 ÷ 9.011.70 ÷ 1.71
0.215.90 ÷ 15.942.11 ÷ 2.19
0.535.86 ÷ 35.863.19 ÷ 3.19
(19)(22)0.055.38 ÷ 13.110.98 ÷ 2.505.23 ÷ 6.801.40 ÷ 1.73
0.19.44 ÷ 27.031.35 ÷ 3.798.95 ÷ 10.801.70 ÷ 2.04
0.216.93 ÷ 29.521.71 ÷ 3.5715.83 ÷ 15.872.11 ÷ 2.11
0.536.59 ÷ 54.222.22 ÷ 3.36
0.749.38 ÷ 57.042.51 ÷ 3.03
166.52 ÷ 76.192.92 ÷ 3.62
(23)0.056.77 ÷ 7.241.43 ÷ 1.956.75 ÷ 6.801.72 ÷ 1.73
0.110.81 ÷ 11.141.95 ÷ 2.3310.73 ÷ 10.792.04 ÷ 2.04
(24)0.055.30 ÷ 5.931.01 ÷ 1.625.22 ÷ 5.291.40 ÷ 1.41
0.19.04 ÷ 9.361.40 ÷ 1.688.96 ÷ 9.011.70 ÷ 1.71
0.215.90 ÷ 15.942.12 ÷ 2.12
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Mielczarek, A.; Dulęba, I. Development of Task-Space Nonholonomic Motion Planning Algorithm Based on Lie-Algebraic Method. Appl. Sci. 2021, 11, 10245. https://doi.org/10.3390/app112110245

AMA Style

Mielczarek A, Dulęba I. Development of Task-Space Nonholonomic Motion Planning Algorithm Based on Lie-Algebraic Method. Applied Sciences. 2021; 11(21):10245. https://doi.org/10.3390/app112110245

Chicago/Turabian Style

Mielczarek, Arkadiusz, and Ignacy Dulęba. 2021. "Development of Task-Space Nonholonomic Motion Planning Algorithm Based on Lie-Algebraic Method" Applied Sciences 11, no. 21: 10245. https://doi.org/10.3390/app112110245

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop