## Abstract

This paper presents a novel approach to real-time obstacle avoidance based on Dynamical Systems (DS) that ensures impenetrability of multiple convex shaped objects. The proposed method can be applied to perform obstacle avoidance in Cartesian and Joint spaces and using both autonomous and non-autonomous DS-based controllers. Obstacle avoidance proceeds by modulating the original dynamics of the controller. The modulation is parameterizable and allows to determine a safety margin and to increase the robot’s reactiveness in the face of uncertainty in the localization of the obstacle. The method is validated in simulation on different types of DS including locally and globally asymptotically stable DS, autonomous and non-autonomous DS, limit cycles, and unstable DS. Further, we verify it in several robot experiments on the 7 degrees of freedom Barrett WAM arm.

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

## Access options

### Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price **includes VAT** for USA

### Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 99

This is the **net price**. Taxes to be calculated in checkout.

## Notes

- 1.
The development of Eq. (4) was partly inspired by the complex potential function that models the uniform flow around a circular cylinder (Milne-Thomson 1960). In both formulations the modulation of the flow due to the object’s presence decreases quadratically with the distance to the center of the object (see the second term in Eq. (4)). The main difference between the two approaches lies in their functionality. Equation (4) is a

*d*-dimensional vector and its Jacobian is a*d*×*d*matrix which can be used to modulate the original flow. In contrast, the complex potential function is a scalar value, and its derivative directly gives the modified flow in the presence of the obstacle. - 2.
In case \(\partial\varGamma (\tilde{\xi}) / \partial\xi_{1}\) vanishes, the vectors are no longer linearly independent and one should choose another index for the derivative which is non-zero.

- 3.
- 4.
From Theorem 2 we know that the normal velocity at the boundary points vanishes. Hence, if

*f*(*ξ*) is aligned with the normal vector of the tangential hyperplane at a boundary point, we have \(M(\tilde{\xi })f(\xi)=0\). - 5.
One can also define different safety factors along the positive and negative directions of each object’s axis by considering an

*if*-*else*condition on the sign of each \(\tilde{\xi}_{i}\). - 6.
- 7.
For example, we consider the

*k*-th obstacle is locally relevant in the current position of the robot if: \(| \lambda_{i}^{k}(\tilde{\xi}^{k}) - 1 | > \varsigma, \forall i = 1..d\), where*ς*is a small positive threshold. - 8.
The same principle can be used if the SEDS motions are modeled with a second or higher order DS.

- 9.
Note that the motions across

*θ*_{ i },*i*=3..7 would become uncoupled if the obstacles were placed at*θ*^{o,1}=[−100;45;0;60;0;−30;0] and*θ*^{o,2}=[−80;45;0;60;0;−30;0]. - 10.
Note that this paper does not claim that the cyclic behavior is always preserved in the presence of the obstacles.

## References

Barbehenn, M., Chen, P. C., & Hutchinson, S. (1994). An efficient hybrid planner in changing environments. In

*IEEE int. conf. on robotics and automation*(Vol. 4, pp. 2755–2760).Benallegue, M., Escande, A., Miossec, S., & Kheddar, A. (2009). Fast C1 proximity queries using support mapping of sphere-torus-patches bounding volumes. In

*Proc. IEEE int. conf. on robotics and automation*(pp. 483–488).Borenstein, J., & Koren, Y. (1991). The vector field histogram—fast obstacle avoidance for mobile robots.

*IEEE Transactions on Robotics and Automation*,*7*, 278–288.Brock, O., & Khatib, O. (2002). Elastic strips: A framework for motion generation in human environments.

*The International Journal of Robotics Research*,*21*(12), 1031–1052.Burns, B., & Brock, O. (2005). Toward optimal configuration space sampling. In

*Proc. of robotics: science and systems*.Diankov, R., & Kuffner, J. (2007). Randomized statistical path planning. In

*Proc. of IEEE/RSJ int. conf. on robots and systems (IROS)*(pp. 1–6).Feder, H. J. S., & Slotine, J.-J. E. (1997). Real-time path planning using harmonic potentials in dynamic environments. In

*Proc. of IEEE int. conf. on robotics and automation (ICRA)*(Vol. 1, pp. 874–881).Fraichard, T., Hassoun, M., & Laugier, C. (1991). Reactive motion planning in a dynamic world. In

*Proc. of the IEEE int. conf. on advanced robotics*(pp. 1028–1032).Hoffmann, H., Pastor, P., Park, D.-H., & Schaal, S. (2009). Biologically-inspired dynamical systems for movement generation: automatic real-time goal adaptation and obstacle avoidance. In

*Proc. of int. conf. on robotics and automation*(pp. 2587–2592).Iossifidis, I., & Schöner, G. (2006). Dynamical systems approach for the autonomous avoidance of obstacles and joint-limits for a redundant robot arm. In

*Proc. of the IEEE int. conf. on intelligent robots and systems (IROS)*(pp. 580–585).Kavraki, L. E., Svestka, P., Latombe, J.-C., & Overmars, M. H. (1996). Probabilistic roadmaps for path planning in high-dimensional configuration spaces.

*IEEE Transactions on Robotics and Automation*,*12*(4), 566–580.Khansari-Zadeh, S. M., & Billard, A. (2011). Learning stable nonlinear dynamical systems with Gaussian mixture models.

*IEEE Transactions on Robotics*,*27*(5), 943–957. ISSN 1552-3098. doi:10.1109/TRO.2011.2159412.Khatib, O. (1986). Real-time obstacle avoidance for manipulators and mobile robots.

*The International Journal of Robotics Research*,*5*, 90–98.Kim, J.-O., & Khosla, P. K. (1992). Real-time obstacle avoidance using harmonic potential functions.

*IEEE Transactions on Robotics and Automation*,*8*(3), 338–349.Kuffner, J. J., & LaValle, S. M. (2000). RRT-connect: An efficient approach to single-query path planning. In

*Proc. of IEEE int. conf. on robotics and automation*(Vol. 2, pp. 995–1001).Lahanas, M., Kemmerer, T., Milickovic, N., Karouzakis, K., Baltas, D., & Zamboglou, N. (2000). Optimized bounding boxes for three-dimensional treatment planning in brachytherapy.

*Medical Physics*,*27*(10), 2333–2342.Lozano-Perez, T. (1983). Spatial planning: A configuration space approach.

*IEEE Transactions on Computers*,*30*, 108–120.Lumelsky, V., & Skewis, T. (1990). Incorporating range sensing in the robot navigation function.

*IEEE Transactions on Systems, Man, and Cybernetics*,*20*, 1058–1069.Maciejewski, A. A., & Klein, C. A. (1985). Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments.

*The International Journal of Robotics Research*,*4*, 109–116.Milne-Thomson, L. M. (1960).

*Theoretical hydrodynamics*(4th edn.) London: Macmillan.Park, D.-H., Hoffmann, H., Pastor, P., & Schaal, S. (2008). Movement reproduction and obstacle avoidance with dynamic movement primitives and potential fields. In

*Proc. of the IEEE int. conf. on humanoid robotics*(pp. 91–98).Quinlan, S., & Khatib, O. (1993). Elastic bands: connecting path planning and control. In

*Proc. of the IEEE int. conf. on robotics and automation (ICRA)*(Vol. 2, pp. 802–807).Shilane, Ph., Min, P., Kazhdan, M., & Funkhouser, Th. (2004). The Princeton shape benchmark. In

*Shape modeling international*, Italy.Simmons, R. (1996). The curvature-velocity method for local obstacle avoidance. In

*Proc. of the IEEE int. conf. on robotics and automation*(Vol. 4, pp. 3375–3382).Sprunk, Ch., Lau, B., Pfaffz, P., & Burgard, W. (2011). Online generation of kinodynamic trajectories for non-circular omnidirectional robots. In

*Proc. of IEEE int. conf. on robotics and automation (ICRA)*(pp. 72–77).Toussaint, M. (2009). Robot trajectory optimization using approximate inference. In

*25th int. conf. on machine learning (ICML)*(pp. 1049–1056).Vannoy, J., & Xiao, J. (2008). Real-time adaptive motion planning (ramp) of mobile manipulators in dynamic environments with unforeseen changes.

*IEEE Transactions on Robotics*,*24*, 1199–1212.Waydo, S., & Murray, R. M. (2003). Vehicle motion planning using stream functions. In

*Proc. of the IEEE int. conf. on the robotics and automation (ICRA)*(Vol. 2, pp. 2484–2491).Welzl, E. (1991). Smallest enclosing disks (balls and ellipsoids). In H. Maurer (Ed.),

*New results and new trends in computer science*(Vol. 555, pp. 359–370). Berlin/Heidelberg: Springer.Yang, Y., & Brock, O. (2007). Elastic roadmaps: Globally task-consistent motion for autonomous mobile manipulation in dynamic environments. In

*Proc. robotics: science and systems*.Yoshida, E., & Kanehiro, F. (2011). Reactive robot motion using path replanning and deformation. In

*Proc. IEEE int. conf. on robotics and automation*(pp. 5457–5462).

## Acknowledgements

This work was supported by the European Commission through the EU Project AMARSI (FP7-ICT-248311). The authors kindly thank E. Sauser for providing the RobotToolkit interface to control the Barrett WAM arm, and M. Duvanel for the vision system. The authors also thank M. Benallegue and A. Kheddar for providing the source code of the STP-BV method to generate bounding volumes from the point cloud of objects.

## Author information

## Electronic Supplementary Material

## Appendices

### Appendix A: Proof of Theorem 1

Consider a hyper-surface corresponding to boundary points of a hyper-sphere obstacle in ℝ^{d} with a center *ξ*
^{o} and a radius *r*
^{o}. Impenetrability of the obstacle’s boundaries is ensured if the normal velocity at boundary points vanishes:

where *n*(*ξ*
^{b}) is the unit normal vector at a boundary point *ξ*
^{b}:

The eigenvalue decomposition of the square matrix \(M^{s}(\tilde{\xi },r^{o})\) is given by:

where \(D^{s}(\tilde{\xi},r^{o})\) is a *d*×*d* diagonal matrix composed of the eigenvalues:

and \(V^{s}(\tilde{\xi},r^{o}) = [\upsilon^{1} \ \cdots\ \upsilon^{d}]\) is the matrix of eigenvectors with:

Substituting Eqs. (31), (32) and (7) into Eq. (30) yields:

Since *ξ*
^{b} is equal to the first eigenvector of \(V^{s}(\tilde{\xi }^{b},r^{o})\), Eq. (35) reduces to:

where [**0**]_{
d−1} is a zero column vector of dimension *d*−1. For all points on the obstacle boundary, the first eigenvalue is zero, i.e. *λ*
^{1}=0, . Thus, we have:

### Appendix B: Proof of Theorem 2

The proof of Theorem 2 follows directly from that of Theorem 1. Observe that:

Considering the fact that *n*(*ξ*
^{b}) is equal to the first eigenvector of \(E(\tilde{\xi}^{b},r^{o})\), and the first eigenvalue is zero for all points on the obstacle boundary yields:

## Rights and permissions

## About this article

### Cite this article

Khansari-Zadeh, S.M., Billard, A. A dynamical system approach to realtime obstacle avoidance.
*Auton Robot* **32, **433–454 (2012) doi:10.1007/s10514-012-9287-y

Received:

Accepted:

Published:

Issue Date:

### Keywords

- Realtime obstacle avoidance
- Nonlinear dynamical system
- Harmonic potential function
- Robot manipulator