Skip to main content
Log in

Feedback stabilization of a nonholonomic system with potential fields: application to a two-wheeled mobile robot among obstacles

  • Original Paper
  • Published:
Nonlinear Dynamics Aims and scope Submit manuscript

Abstract

In this paper, a feedback controller for a nonholonomic system with three states and two inputs is derived using an artificial potential function that has no local minima, and the stability of equilibria of the system is analyzed. Although the system with the controller has an infinite number of equilibria due to the nonholonomic constraint, those equilibria except the critical points of the potential function are unstable because of a skew-symmetric component of the controller. When the potential function has critical points of saddle type, the saddles may be stable equilibria in addition to the stable equilibrium at the minimum of the function. The controller is applied to a two-wheeled mobile robot among obstacles and modified by using a time-varying potential function in order to avoid convergence to the saddles. As a result, with the controller, the mobile robot converges to a desired position and orientation without collision with obstacles.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Khatib, O.: Real-time obstacle avoidance for manipulators and mobile robots. Int. J. Robot. Res. 5(1), 90–98 (1986)

    Article  MathSciNet  Google Scholar 

  2. Kim, J.-O., Khosla, P.K.: Real-time obstacle avoidance using harmonic potential functions. IEEE Trans. Robot. Autom. 8(5), 338–349 (1992)

    Article  Google Scholar 

  3. Guldner, J., Utkin, V.I.: Sliding mode control for gradient tracking and robot navigation using artificial potential fields. IEEE Trans. Robot. Autom. 11(2), 247–254 (1995)

    Article  Google Scholar 

  4. Ge, S.S., Cui, Y.J.: New potential functions for mobile robot path planning. IEEE Trans. Robot. Autom. 16(5), 615–620 (2000)

    Article  Google Scholar 

  5. Rimon, E., Koditschek, D.E.: Exact robot navigation using artificial potential functions. IEEE Trans. Robot. Autom. 8(5), 501–518 (1992)

    Article  Google Scholar 

  6. Rimon, E., Koditschek, D.E.: The construction of analytic diffeomorphisms for exact robot navigation on star worlds. Trans. Am. Math. Soc. 327(1), 71–116 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  7. Lamiraux, F., Sekhavat, S., Laumond, J.P.: Motion planning and control for Hilare pulling a trailer. IEEE Trans. Robot. Autom. 15(4), 640–652 (1999)

    Article  Google Scholar 

  8. Sekhavat, S., Laumond, J.-P.: Topological property for collision-free nonholonomic motion planning: the case of sinusoidal inputs for chained form systems. IEEE Trans. Robot. Autom. 14(5), 671–680 (1998)

    Article  Google Scholar 

  9. Laumond, J.-P., Jacobs, P.E., Taïx, M., Murray, R.M.: A motion planner for nonholonomic mobile robots. IEEE Trans. Robot. Autom. 10(5), 577–593 (1994)

    Article  Google Scholar 

  10. Que, Z., Wang, J., Plaisted, C.E.: A new analytical solution to mobile robot trajectory generation in the presence of moving obstacles. IEEE Trans. Robot. 20(6), 978–993 (2004)

    Article  Google Scholar 

  11. Papadopoulos, E., Poulakakis, I., Papadimitriou, I.: On path planning and obstacle avoidance for nonholonomic platforms with manipulators: a polynomial approach. Int. J. Robot. Res. 21(4), 367–383 (2002)

    Article  Google Scholar 

  12. Lamiraux, F., Bonnafous, D., Lefebvre, O.: Reactive path deformation for nonholonomic mobile robots. IEEE Trans. Robot. 20(6), 967–977 (2004)

    Article  Google Scholar 

  13. Divelbiss, A.W., Wen, J.T.: A path space approach to nonholonomic motion planning in the presence of obstacles. IEEE Trans. Robot. Autom. 13(3), 443–451 (1997)

    Article  Google Scholar 

  14. Weir, M.K., Bott, M.P.: High quality goal connection for nonholonomic obstacle navigation allowing for drift using dynamic potential fields. In: Proceedings of the 2010 IEEE International Conference on Robotics and Automation, pp. 3221–3226 (2010)

  15. Jacobs, P., Canny, J.: Planning smooth paths for mobile robots. In: Li, Z., Canny, J.F. (eds.) Nonholonomic Motion Planning, pp. 271–342. Kluwer, Dordrecht (1993)

    Chapter  Google Scholar 

  16. Yang, S.X., Meng, M.Q.-H.: Real-time collision-free motion planning of a mobile robot using a neural dynamics-based approach. IEEE Trans. Neural Netw. 14(6), 1541–1552 (2003)

    Article  Google Scholar 

  17. Rigatos, G.G., Tzafestas, S.G., Evangelidis, G.J.: Reactive parking control of nonholonomic vehicles via a fuzzy learning automaton. IEE Proc. Control Theory Appl. 148(2), 169–179 (2001)

    Article  Google Scholar 

  18. Kallen, V., Komoroski, A.T., Kumar, V.: Sequential composition for navigating a nonholonomic cart in the presence of obstacles. IEEE Trans. Robot. 27(6), 1152–1159 (2011)

    Article  Google Scholar 

  19. Xiang, X., Lapierre, L., Jouvencel, B.: Guidance based collision avoidance of coordinated nonholonomic autonomous vehicles. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 6064–6069 (2010)

  20. Huang, W.H., Fajen, B.R., Fink, J.R., Warren, W.H.: Visual navigation and obstacle avoidance using a steering potential function. Robot. Auton. Syst. 54(4), 288–299 (2006)

    Article  Google Scholar 

  21. Ramírez, G., Zeghloul, S.: Collision-free path planning for nonholonomic mobile robots using a new obstacle representation in the velocity space. Robotica 19(5), 543–555 (2001)

    Article  Google Scholar 

  22. Patel, S., Jung, S.-H., Ostrowski, J.P., Rao, R., Taylor, C.J.: Sensor based door navigation for a nonholonomic vehicle. In: Proceedings of the 2002 IEEE International Conference on Robotics and Automation, pp. 3081–3086 (2002)

  23. Kolmanovsky, I., McClamroch, N.H.: Developments in nonholonomic control problems. IEEE Control Syst. 15(6), 20–36 (1995)

    Article  Google Scholar 

  24. Brockett, R.W.: Asymptotic stability and feedback stabilization. In: Brockett, R.W., Millman, R.S., Sussman, H.J. (eds.) Differential Geometric Control Theory, pp. 181–191. Birkhäuser, Switzerland (1983)

    Google Scholar 

  25. Samson, C.: Control of chained systems application to path following and time-varying point-stabilization of mobile robots. IEEE Trans. Autom. Control 40(1), 64–77 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  26. M’Closkey, R.T., Murray, R.M.: Exponential stabilization of driftless nonlinear control systems using homogeneous feedback. IEEE Trans. Autom. Control 42(5), 614–628 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  27. Khennouf, H., Canudas de Wit, C.: Quasi-continuous exponential stabilizers for nonholonomic systems. In: Proceedings of IFAC 13th World Congress, 2b-174 (1996)

  28. Astolfi, A.: Exponential stabilization of a wheeled mobile robot via discontinuous control. ASME J. Dyn. Syst. Meas. Control 121(1), 121–125 (1999)

  29. Tayebi, A., Tadjine, M., Rachid, A.: Invariant manifold approach for the stabilization of nonholonomic chained systems: application to a mobile robot. Nonlinear Dyn. 24(2), 167–181 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  30. Tanner, H.G., Loizou, S., Kyriakopoulos, K.J.: Nonholonomic stabilization with collision avoidance for mobile robots. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1220–1225 (2001)

  31. Tanner, H.G., Loizou, S.G., Kyriakopoulos, K.J.: Nonholonomic navigation and control of cooperating mobile manipulators. IEEE Trans. Robot. Autom. 19(1), 53–64 (2003)

    Article  Google Scholar 

  32. Valbuena, L., Tanner, H.G.: Hybrid potential field based control of differential drive mobile robots. J. Intell. Robot. Syst. 68(3–4), 307–322 (2012)

    Article  MATH  Google Scholar 

  33. Karydis K., Valbuena L., Tanner, H.G.: Model predictive navigation for position and orientation control of nonholonomic vehicles. In: Proceedings of the 2012 IEEE International Conference on Robotics and Automation, pp. 3206–3211 (2012)

  34. LaValle, S.M., Kuffner, J.J.: Randomized kinodynamic planning. Int. J. Robot. Res. 20(5), 378–400 (2001)

    Article  Google Scholar 

  35. LaValle, S.M., Konkimalla, P.: Algorithms for computing numerical optimal feedback motion strategies. Int. J. Robot. Res. 20(9), 729–752 (2001)

    Article  Google Scholar 

  36. Tsuchiya, K., Urakubo, T., Tsujita, K.: Motion control of a nonholonomic system based on the Lyapunov control method. J. Guidance Control Dyn. 25(2), 285–290 (2002)

    Article  Google Scholar 

  37. Urakubo, T., Tsuchiya, K., Tsujita, K.: Motion control of a two-wheeled mobile robot. Adv. Robot. 15(7), 711–728 (2001)

    Article  Google Scholar 

  38. Urakubo, T., Okuma, K., Tada, Y.: Feedback control of a two wheeled mobile robot with obstacle avoidance using potential functions. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2428–2433 (2004)

  39. Neimark, J.I., Fufaev, N.A.: Dynamics of Nonholonomic Systems. American Mathematical Society, Providence (1972)

    MATH  Google Scholar 

  40. Zhu, H.P., Yu, A.B.: A contribution to the stability of nonholonomic systems. Mech. Res. Commun. 29(5), 307–314 (2002)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Takateru Urakubo.

Appendices

Appendix 1: Region of attraction of point \(S_i^*\)

In the neighborhood of a saddle point \(S_i^*\), from properties (d) and (f), the function \(V({\varvec{z}})\) can be approximately expressed as

$$\begin{aligned} V({\varvec{z}})= \frac{1}{2} \bar{{\varvec{z}}}^\mathrm{T} \left[ \begin{array}{c@{\quad }c@{\quad }c} p_{11} &{} p_{12} &{} 0 \\ p_{12} &{} p_{22} &{} 0 \\ 0 &{} 0 &{} p_{33} \end{array} \right] \bar{{\varvec{z}}} + V({\varvec{z}}_{si}), \end{aligned}$$
(60)

where \(\bar{{\varvec{z}}} = [{\bar{z}}_1 , {\bar{z}}_2 , \theta ]^\mathrm{T} = {\varvec{z}}-{\varvec{z}}_{si} \) and, from the condition (50), \(p_{11} \ge 0\). In the following analysis, we assume that \(p_{11} > 0\) and that the controller (42) is applied to the system. We can choose new state variables as \([{\hat{z}}_1 , {\bar{z}}_2 , \theta ]^\mathrm{T}\) where \({\hat{z}}_1=p_{11}{\bar{z}}_1 + p_{12}{\bar{z}}_2 \). Neglecting smaller terms under the assumption that the state variables are small, the following equations are obtained:

$$\begin{aligned}&{\dot{{\hat{z}}}}_1 = -\alpha p_{11} {\hat{z}}_1-{\hat{\beta }}p_{33}(p_{11}+p_{12}\theta )\theta , \end{aligned}$$
(61)
$$\begin{aligned}&{\dot{{\bar{z}}}}_2 = \theta (-\alpha {\hat{z}}_1 -{\hat{\beta }}p_{33}\theta ), \end{aligned}$$
(62)
$$\begin{aligned}&{\dot{\theta }} = {\hat{\beta }} \left\{ {\hat{z}}_1+\theta \left( \frac{p_{12}}{p_{11}}{\hat{z}}_1+\left( p_{22}-\frac{p_{12}^2}{p_{11}} \right) {\bar{z}}_2 \right) \right\} \nonumber \\&\quad -\alpha p_{33}\theta . \end{aligned}$$
(63)

Noting that \(\nabla V = (\partial V/\partial {\varvec{z}})^\mathrm{T} = (\partial V/\partial \bar{{\varvec{z}}})^\mathrm{T}\), the coefficient \({\hat{\beta }}\) defined by (10) is approximately calculated from (32), (43) and (60) as

$$\begin{aligned} {\hat{\beta }} = \frac{\beta }{\epsilon _g V({\varvec{z}}_{si})\sqrt{g}} \left( \frac{p_{12}}{p_{11}}{\hat{z}}_1+\left( p_{22}-\frac{p_{12}^2}{p_{11}} \right) {\bar{z}}_2 \right) . \end{aligned}$$
(64)

In order to express the magnitude of \({\hat{z}}_1\) and \(\theta \), we introduce the variable \({\hat{r}}\) as \({\hat{r}}=\sqrt{{\hat{z}}_1^2+ p_{11} p_{33} \theta ^2}\). From (61) and (63), the variable \({\hat{r}}\) satisfies approximately the following equation:

$$\begin{aligned} \dot{{\hat{r}}} = - \frac{\alpha p_{11}}{{\hat{r}}} ({\hat{z}}_1^2+p_{33}^2\theta ^2) + k_{\beta }\frac{p_{11} p_{33} \theta ^2}{{\hat{r}}\sqrt{g}} {\bar{z}}_2^2 , \end{aligned}$$
(65)

where \(k_{\beta }=\beta (p_{12}^2/p_{11}-p_{22})^2/(\epsilon _g V({\varvec{z}}_{si}))\). Since \(|{\dot{{\bar{z}}}}_2| \ll |\dot{{\hat{r}}}|\) from (62) and (65), we obtain

$$\begin{aligned}&{\dot{{\bar{z}}}}_2 = 0, \end{aligned}$$
(66)
$$\begin{aligned}&\dot{{\hat{r}}} \le - \frac{\alpha l_{m}}{p_{33}} {\hat{r}} + k_{\beta }\left( \frac{p_{11} p_{33}}{l_{m}} \right) ^{\frac{1}{4}} {\hat{r}}^{\frac{1}{2}}{\bar{z}}_2^2 , \end{aligned}$$
(67)

where \(l_{m} = \min \{p_{11}p_{33} , p_{33}^2\}\) and the following equation was used:

$$\begin{aligned} \frac{l_m}{p_{11}p_{33}}{\hat{r}}^2 \le {\hat{z}}_1^2 + p_{33}^2 \theta ^2 \approx g^2 . \end{aligned}$$
(68)

Equation (67) shows that the system moves into the region \( {\hat{r}} \le {\mathcal {O}}({\bar{z}}_2^4)\).

On the other hand, from (60),

$$\begin{aligned} V({\varvec{z}}) = V({\varvec{z}}_{si}) + \frac{1}{2}\left( \frac{1}{p_{11}}{\hat{r}}^2 -\frac{1}{p_{11}}(p_{12}^2-p_{11}p_{22}){\bar{z}}_2^2\right) , \end{aligned}$$
(69)

where, as shown in “Appendix 2,” \(p_{12}^2-p_{11}p_{22} > 0\) because \(S_i^*\) is a saddle point. Therefore, (67) means that the system moves into the region \(V({\varvec{z}})<V({\varvec{z}}_{si})\) for nonzero but sufficiently small \({\bar{z}}_2\). Once the system enters the region, it cannot approach \(S_i^*\) because \(\dot{V} \le 0\). In other words, the region of attraction of \(S_i^*\) can be approximated as a two-dimensional space that satisfies \({\bar{z}}_2=0\) (Fig. 7).

Fig. 7
figure 7

Approximate behavior of the system near saddle point \(S_i^*\)

The behavior of the system in the region \( {\hat{r}} \le {\mathcal {O}}({\bar{z}}_2^4)\) can be approximately analyzed in a similar way as in [36, 39]. The state variables oscillate with a high frequency around the set of equilibria \({\mathcal {H}}\) and move slowly along \({\mathcal {H}}\) increasing the amplitude of oscillation (Fig. 7). For simplicity, we assume that \(p_{11}=1\), \(p_{12}=0\), \(p_{22}=-1\) and \(p_{33}=1\). The variable \(g\) in (12) is approximated as \(g= \sqrt{{\hat{z}}_1^2+ \theta ^2 } = {\hat{r}}\), and the approximate solution of \({\varvec{z}}\) in the region \( {\hat{r}} \le {\mathcal {O}}({\bar{z}}_2^4)\) is summarized as follows. Neglecting smaller terms in (61), (62), (63) and (65), we obtain

$$\begin{aligned} {\dot{{\hat{z}}}}_1=-{\hat{\beta }}\theta , \ \ {\dot{\theta }}={\hat{\beta }}{\hat{z}}_1, \ \ {\dot{{\bar{z}}}}_2=0, \ \ {\dot{g}}=\dot{{\hat{r}}}=0 . \end{aligned}$$
(70)

From (70), the solutions for \({\hat{z}}_1\) and \(\theta \) are given as \({\hat{z}}_1=g\cos ({\hat{\beta }}t+\phi )\) and \(\theta =g\sin ({\hat{\beta }}t+\phi )\) where \(\phi \) is a constant. Substituting the solutions into (62) and (65), averaging them with the period \(2\pi /{\hat{\beta }}\) and neglecting smaller terms, we obtain

$$\begin{aligned}&{\dot{g}}=-\alpha g+\frac{1}{2}k_{\beta }g^{\frac{1}{2}}{\bar{z}}_2^2 , \end{aligned}$$
(71)
$$\begin{aligned}&{\dot{{\bar{z}}}}_2=\frac{1}{2}k_{\beta }g^{\frac{3}{2}}{\bar{z}}_2 . \end{aligned}$$
(72)

Because \(|{\dot{{\bar{z}}}}_2| \ll |{\dot{g}}|\) from the above equations, \(g\) converges to \(k_{\beta }^2{\bar{z}}_2^4/(4\alpha ^2)\) exponentially, while \({\bar{z}}_2\) is constant. Substituting \(g=k_{\beta }^2{\bar{z}}_2^4/(4\alpha ^2)\) into (72), we obtain

$$\begin{aligned} {\dot{{\bar{z}}}}_2=\frac{1}{16\alpha ^3}k_{\beta }^4{\bar{z}}_2^7 . \end{aligned}$$
(73)

From the above equation, \(|{\bar{z}}_2|\) becomes large as time advances and the system goes away from the point \(S_i^*\). It should be noted that we can make the escape from the saddle faster by changing the choice of \(h(g)\) [36].

Appendix 2: Derivation of (58)

From property (f), \((\partial {\varvec{B}}^\mathrm{T}\nabla V/\partial {\varvec{z}})|_{{\varvec{z}}={\varvec{z}}_{si}}\) can be calculated as

$$\begin{aligned} \left. \frac{\partial {\varvec{B}}^\mathrm{T}\nabla V}{\partial {\varvec{z}}} \right| _{{\varvec{z}}={\varvec{z}}_{si}} = \left[ \begin{array}{c@{\quad }c@{\quad }c} \frac{\partial ^2 V}{\partial z_1^2} &{} \frac{\partial ^2 V}{\partial z_1 \partial z_2} &{} 0 \\ 0 &{} 0 &{} \frac{\partial ^2 V}{\partial \theta ^2} \end{array} \right] . \end{aligned}$$
(74)

Therefore, we can choose \({\varvec{t}}\) as

$$\begin{aligned} {\varvec{t}} = [\partial ^2 V/\partial z_1 \partial z_2 , -\partial ^2 V/\partial z_1^2 , 0]^\mathrm{T} . \end{aligned}$$
(75)

Then, \(\delta V = V({\varvec{z}}_{si}+ a{\varvec{t}})-V({\varvec{z}}_{si})\) is calculated as

$$\begin{aligned} \delta V = a (\nabla V({\varvec{z}}_{si}))^\mathrm{T}{\varvec{t}} + \frac{a^2}{2}{\varvec{t}}^\mathrm{T} {\varvec{P}}({\varvec{z}}_{si}){\varvec{t}} + O(a^3) . \end{aligned}$$
(76)

From property (f) and the definitions of \(V_n\) and \(V\) in (36) and (40), the matrix \({\varvec{P}}({\varvec{z}}_{si})\) is calculated as

$$\begin{aligned} {\varvec{P}}= & {} \left[ \begin{array}{c@{\quad }c@{\quad }c} \frac{\partial ^2 V}{\partial z_1^2} &{} \frac{\partial ^2 V}{\partial z_1 \partial z_2} &{} 0 \\ \frac{\partial ^2 V}{\partial z_1 \partial z_2} &{} \frac{\partial ^2 V}{\partial z_2^2} &{} 0 \\ 0 &{} 0 &{} \frac{\partial ^2 V}{\partial \theta ^2} \end{array}\right] \nonumber \\&\quad = \left[ \begin{array}{c@{\quad }c@{\quad }c} \frac{\partial ^2 V_n}{\partial z_1^2} &{} \frac{\partial ^2 V_n}{\partial z_1 \partial z_2} &{} 0 \\ \frac{\partial ^2 V_n}{\partial z_1 \partial z_2} &{} \frac{\partial ^2 V_n}{\partial z_2^2} &{} 0 \\ 0 &{} 0 &{} \frac{\partial ^2 V}{\partial \theta ^2} \end{array}\right] . \end{aligned}$$
(77)

Since \(\partial ^2 V/\partial \theta ^2 > 0\) from property (f) and the function \(V_n\) has no local maxima, \({\varvec{P}}\) has one negative eigenvalue for the saddle \({\varvec{z}}={\varvec{z}}_{si}\). Therefore, we obtain

$$\begin{aligned} \left( \frac{\partial ^2 V}{\partial z_1 \partial z_2}\right) ^2 - \frac{\partial ^2 V}{\partial z_1^2}\frac{\partial ^2 V}{\partial z_2^2} \!=\! \left( \frac{\partial ^2 V_n}{\partial z_1 \partial z_2}\right) ^2 - \frac{\partial ^2 V_n}{\partial z_1^2}\frac{\partial ^2 V_n}{\partial z_2^2} \!>\! 0. \end{aligned}$$
(78)

For the saddle \(S_i^*\) that is stable in the analysis in Sect. 3.2, the condition (50) also holds. Noting that \(\nabla V({\varvec{z}}_{si}) =0 \), \(\delta V\) is calculated from (50), (75), (77) and (78) as

$$\begin{aligned} \delta V\approx & {} \frac{a^2}{2}{\varvec{t}}^\mathrm{T} {\varvec{P}}({\varvec{z}}_{si}){\varvec{t}} \nonumber \\= & {} -\frac{a^2}{2}\frac{\partial ^2 V}{\partial z_1^2} \Bigl \{ \Bigl (\frac{\partial ^2 V}{\partial z_1 \partial z_2}\Bigr )^2 - \frac{\partial ^2 V}{\partial z_1^2}\frac{\partial ^2 V}{\partial z_2^2} \Bigr \} \le 0.\nonumber \\ \end{aligned}$$
(79)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Urakubo, T. Feedback stabilization of a nonholonomic system with potential fields: application to a two-wheeled mobile robot among obstacles. Nonlinear Dyn 81, 1475–1487 (2015). https://doi.org/10.1007/s11071-015-2082-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11071-015-2082-5

Keywords

Navigation