Skip to main content
Log in

The speed graph method: pseudo time optimal navigation among obstacles subject to uniform braking safety constraints

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

This paper considers the synthesis of pseudo time optimal paths for a mobile robot navigating among obstacles subject to uniform braking safety constraints. The classical Brachistochrone problem studies the time optimal path of a particle moving in an obstacle free environment subject to a constant force field. By encoding the mobile robot’s braking safety constraint as a force field surrounding each obstacle, the paper generalizes the Brachistochrone problem into safe time optimal navigation of a mobile robot in environments populated by polygonal obstacles. Convexity of the safe travel time functional, a path dependent function, allows efficient construction of a speed graph for the environment. The speed graph consists of safe time optimal arcs computed as convex optimization problems in \(O(n^3 \log (1/\epsilon ))\) total time, where n is the number of obstacle features in the environment and \(\epsilon \) is the desired solution accuracy. Once the speed graph is constructed for a given environment, pseudo time optimal paths between any start and target robot positions can be computed along the speed graph in \(O(n^2\log n)\) time. The results are illustrated with examples and described as a readily implementable procedure.

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
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. GUARDIUM-UGV, G-NIUS Unmanned Ground Systems, http://g-nius.co.il.

  2. GUSS, a ground unmanned support surrogate. The Naval Surface Warfare Center and TORC Robotics, www.torcrobotics.com/ground-unmanned-support-surrogate.

  3. Traffic jam assistance. Volvo Car Group, www.media.volvocars.com/global/enhanced/engb/media, 2013.

  4. The notion of path homotopy is reviewed later in the paper.

  5. Accurate positioning with respect to pre-specified maps is under intensive investigation, with rapidly improving SLAM techniques becoming available.

  6. For instance, a vehicle driving autonomously along an urban road must limit its speed to a level allowing the vehicle to brake and reach a full stop when a pedestrian suddenly emerges between two parked vehicles.

  7. Wein et al. (2008) have independently taken a similar approach to determine geometric collision free paths of various quality in polygonal environments.

  8. The Brachistochrone problem considers a mass particle sliding on a wire under the influence of gravity, and computes the wire’s geometric shape that would give minimum travel time between two fixed endpoints.

  9. The terms \(\varphi \) and \(\sin \varphi \) have no physical units, while \(1/2c^2\) represents the rolling circle’s diameter and has length units.

  10. Since \(\alpha (s)\) is piecewise smooth in s and \(\mathsf{dst}(x,O_i)\) is continuous in x, the composition \(\mathsf{dst}(\alpha (s),O_i)\) is continuous in s. Since the pointwise minimum of continuous functions forms a continuous function, \(L(\alpha (s))\) is continuous in s.

  11. A set \(\mathcal {S}\) in \(\mathbb {R}^m\) is star shaped when there exists a center point, \(p_0\in \mathcal {S}\), such that every point in \(\mathcal {S}\) lies on a unique ray emanating from \(p_0\).

  12. GPOPS is an industrial grade optimal control package that implements variable-order Gaussian quadrature methods where a continuous-time optimal control problem is approximated as a sparse nonlinear programming problem.

  13. The iRobot Create owner’s guide, www.irobot.com.

References

  • Brock, O., & Khatib, O. (1999) High-speed navigation using the global dynamic window approach. In IEEE international conference on robotics and automation (pp. 341–346).

  • Choset, H., Lynch, K. M., Hutchinson, S., Kantor, G., Burgard, W., Kavraki, L. E., et al. (2005). Principles of Robot Motion. Cambridge MA: MIT Press.

    MATH  Google Scholar 

  • Chung, T. H., Hollinger, G. A., & Isler, V. (2011). Search and pursuit-evasion in mobile robotics, a survey. Autonomous Robots, 31(4), 299–316.

    Article  Google Scholar 

  • Fiorini, P., & Shiller, Z. (1998). Motion planning in dynamic environments using velocity obstacles. International Journal of Robotics Research, 17(7), 760–772.

    Article  Google Scholar 

  • Fox, D., Burgard, W., & Thrun, S. (1997). The dynamic window approach to collision avoidance. IEEE Robotics Automation Magazine, 4(1), 23–33.

    Article  Google Scholar 

  • Fraichard, T. (2007) A short paper about motion safety. In IEEE International Conference on Robotics and Automation (pp. 1140–1145)

  • Gelfand, I. M., & Formin, S. V. (1963). Calculus of variations. Englewood Cliffs: Prentice-Hall.

    Google Scholar 

  • Guizzo, E. (2008). Three engineers, hundreds of robots, one warehouse: Kiva systems. IEEE Spectrum Magazine, 7(45), 26–34.

    Article  Google Scholar 

  • Kant, K., & Zucker, S. W. (1986). Toward efficient trajectory planning: The path-velocity decomposition. The International Journal of Robotics Research, 5(3), 72–89.

    Article  Google Scholar 

  • Karaman, S., & Frazzoli, E. (2011). Sampling-based algorithms for optimal motion planning. International Journal of Robotics Research, 30(7), 846–894.

    Article  MATH  Google Scholar 

  • Large, F., Vasquez, D., Fraichard, T., & Laugier, C. (2004) Avoiding cars and pedestrians using v-obstacles and motion prediction. In IEEE Intelligent Vehicle Symposium (pp. 537–543).

  • Lavalle, S. M. (1998). Rapidly-exploring random trees: A new tool for pathplanning. Technical report, Department of Computer Science, Iowa State University.

  • Manor, G. (2014) Autonomous Mobile Robot Navigation With Velocity Constraints. PhD thesis, Technion Israel Inst. of Technology, Haifa, Israel, http://robots.technion.ac.il/publications.

  • Manor, G., & Rimon, E. (2013) The speed graph method: Time optimal navigation among obstacles subject to safe braking constraints. Technical report, Department of ME, Technion, http://robots.technion.ac.il/publications.

  • Manor, G., & Rimon, E. (2013). VC-method: High-speed navigation of a uniformly braking mobile robot using position-velocity configuration space. Autonomous Robots, 34(4), 295–309.

    Article  Google Scholar 

  • Manor, G., & Rimon, E. (2014) The speed graph method: Time optimal navigation among obstacles subject to safe braking constraints. In IEEE International Conference on Robotics and Automation (pp. 1155–1160).

  • Markoff, J. (2010) Google cars drive themselves in traffic. New York Times.

  • Nesterov, Y . E., & Nemirovsky, A . S. (1992). Interior point polynomial methods in convex programming: Theory and applications. Berlin: Springer.

    Google Scholar 

  • Nirenberg, L. (1981). Variational and topological methods in nonlinear problems. Bulletin of the AMS, 4(3), 267–302.

    Article  MathSciNet  MATH  Google Scholar 

  • Sherr, I., Ramse, M. (2013) Toyota and Audi move closer to driverless cars. The Wall Street Journal.

  • Shiller, Z., & Gwo, Y. R. (1991). Dynamic motion planning of autonomous vehicles. IEEE Transaction on Robotics and Automation, 7(2), 241–249.

    Article  Google Scholar 

  • Shiller, Z., Sharma, S., Stern, I., & Stern, A. (2013). Online obstacle avoidance at high speeds. International Journals of Robotics Research, 32, 1030–1047.

    Article  Google Scholar 

  • Snape, J., van den Berg, J., & Guy, S. J. (2011). The hybrid reciprocal velocity obstacle. IEEE Transactions on Robotics, 27(4), 696–706.

    Article  Google Scholar 

  • Teixeira, K. C., Becker, M., & Caurin, G. A. P. (2010). Caurin. Automatic routing offorklift robots in warehouse applications. In ABCM Symposium in Mechatronics (pp. 335–344).

  • Wein, R., van den Berg, J., & Halperin, D. (2008). Planning high-quality paths and corridors amidst obstacles. International Journal of Robotics Research, 27, 1213–1231.

    Article  Google Scholar 

  • Wurman, P. R., D’Andrea, R., & Mountz, M. (2008). Coordinating hundreds of cooperative, autonomous vehicles in warehouses. AI Magazine, 29, 9–19.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gil Manor.

Appendices

Appendix 1: Time optimal path for a disc robot

Consider a disc robot of radius \(\rho \) traveling near a point obstacle located at the origin of the (xy) plane. The path traced by the robot’s center point is parameterized by polar coordinates, \(\alpha (\theta )=(r(\theta )\cos \theta , r(\theta )\sin \theta )\) for \(\theta \in [\theta _{S},\theta _{T}]\), with the endpoint conditions \(r(\theta _{S})=r_{S}\) and \(r(\theta _{T})=r_{T}\). The distance between the disc robot and the point obstacle is given by \(r(\theta )-\rho \). Braking safety requires that \(r(\theta )-\rho \ge d(\nu )\). Substituting \(d(\nu )={\nu ^2}/{2 a_{max}}\) while maximizing the speed for travel time minimization gives the constraint: \({\nu (r) =\sqrt{2 a_{max} (r-\rho )}}\) for \(r\ge \rho \). The safe travel time functional, \(T(\alpha )=\int _{\theta _{S}}^{\theta _{T}} F\big (r(\theta ),r'(\theta )\big )d\theta \), has the integrant: \({F(r,r') = \sqrt{(r^2+r'^2)/2a_{max} (r-\rho )}}\) for \(r\ge \rho \). Substituting for \(F(r',r)\) in the Euler–Lagrange equation, then integrating with respect to \(\theta \), gives the implicit differential equation:

$$\begin{aligned} c^2 \big ( r(\theta )-\rho \big )\big ( r^2(\theta ) + (r'(\theta ))^2 \big ) = r^4(\theta ) \end{aligned}$$
(14)

where c is yet to be determined. The analytic solution of (14) is a sum of two elliptic integrals (see Manor and Rimon 2013a). Rather then use elliptic integrals, a practical conservative approximation for the analytic solution of (14) is next described. First expand the point obstacle into a disc c-obstacle of radius \(\rho \), while shrinking the robot to a point. Next, replace the portion of the c-obstacle between \(\theta _{S}\) and \(\theta _{T}\) by polygonal segments tangent to the c-obstacle as depicted in Fig. 11. The computation of the safe time optimal path in the polygon’s vicinity forms a convex optimization problem (Manor and Rimon 2013a).

Fig. 11
figure 11

The safe time optimal path determined by the polygonal approximation, \(\bar{\alpha }^*\), and the exact safe time optimal path, \(\alpha ^*\), near a disc obstacle

Example

The c-obstacle depicted in Fig. 11 is approximated by three segments. The segments and their connecting vertices induce five proximity cells, with variable corner points \(p(u_1),\ldots ,p(u_4)\). Convex optimization of the travel time functional \({T(\alpha (u_1,\ldots ,u_4))}\) gives the safe time optimal path \(\bar{\alpha }^*\) depicted in Fig. 11. Note that \(\bar{\alpha }^*\) closely approximates the exact time optimal path, \(\alpha ^*\), with the quality of approximation improving as the number of polygonal segments increases.

Appendix 2: The mobile robot turning radius constraint

This appendix develops an expression for the robot’s minimal turning radius, \(r_{min}(\nu )\), as a function of the robot’s speed \(\nu \). We shall assume the common case of a four-wheeled mobile robot. However, the expression for \(r_{min}(\nu )\) can be easily adapted to other mobile robots. The three main constraints affecting the mobile robot’s turning radius are as follows. First, the turning radius must respect the robot’s maximal steering angles. Second, the centrifugal force affecting the robot must not incur radial sliding of the robot wheels. Third, the lateral moment affecting the robot must be sufficiently low as to prevent tip-over during turning maneuvers. The three constraints are next discussed.

Fig. 12
figure 12

a Top view of a four-wheel mobile robot turning geometry. b Rear view of a left turning mobile robot

The robot’s turning radius, denoted r, is the current radius of curvature of the curve traced by the robot’s center point. The robot’s inner turning radius, denoted \(r_{in}\), is the current radius of curvature of the curve traced by the robot’s innermost wheel (Fig. 12a).

The kinematic turning radius constraint: Let \(\gamma \) denote the robot’s front wheels average steering angle (Fig. 12a). This angle can vary within mechanical limits in the range \([-\gamma _{max},\gamma _{max}]\). The robot’s wheels are mounted at the vertices of a rectangular frame having length L and width W (Fig. 12a). Based on simple trigonometry, the average steering angle \(\gamma \) is given by the expression: \(\tan \gamma = L / ( \tfrac{W}{2}+ r_{in})\). The center point turning radius is given by \(r = \sqrt{\L ^2/4 + \left( W/2 + r_{in} \right) ^{2}}\). Replacing \(\tfrac{W}{2} + r_{in}\) by \(L / \tan \gamma \) gives the turning radius:

$$\begin{aligned} r = \sqrt{\frac{L^2}{4} + \left( \frac{L}{\tan \gamma } \right) ^{2}} \qquad \gamma \in [-\gamma _{max}, \gamma _{max}]. \end{aligned}$$

Since r is monotonically decreasing in \( \left| \gamma \right| \), the minimal feasible turning radius, denoted \(r_{kin}\), is attained at \(\gamma = \pm \gamma _{max}\). Thus \(r \ge r_{kin}\), where \({r_{kin} = L \sqrt{1/4 + 1/\tan ^2(\gamma _{max})}}\).

The sliding constraint: Sliding occurs when the centrifugal force acting on the robot, \(f_r\), exceeds the radial friction force acting at the ground contacts. The net centrifugal force is given by \(f_r = m \nu ^{2}/r\), where m is the robot’s mass, \(\nu \) is the robot’s speed, and r is the robot’s turning radius. The radial friction force acting between the wheels and the ground, denoted \(f_s\), is given by \(f_s =\mu f_N = \mu mg\), where \(\mu \) is the coefficient of friction between the wheels and the ground, and \(f_N = mg\) is the gravitational force acting downward on the robot. Sliding is prevented as long as \(f_r \le f_s\). Substituting for \(f_r\) and \(f_s\), the minimal turning radius that prevents sliding, denoted \(r_{slide}\), is given by \(r \ge r_{slide}\), where \(r_{slide}(\nu ) = \nu ^2/\mu g\).

The tip-over constraint: Let \(\tau _{tip}\) denote the net moment affecting the robot about a horizontal axis passing through its outer wheels’ contacts with the ground. When \(\tau _{tip}<0\), the robot will tip-over and loose ground contact at its inner wheels (Fig. 12b). The lateral moment generated on the robot by the centrifugal force \(f_r\), denoted \(\tau _r\), is given by \(\tau _r = H \cdot f_r = -\tfrac{m H}{r} \nu ^2 \), where H is the robot’s center of mass height above ground (Fig. 12b). The stabilizing moment generated on the robot by the gravitational force, denoted \(\tau _g\), is given by \(\tau _g = mg W/2\). Tip-over is prevented when \(\tau _{tip} = \tau _r + \tau _g\) is positive semi-definite:

$$\begin{aligned} \tau _{tip}= \tau _g + \tau _r = mg\frac{W}{2} - \frac{m H}{r}\nu ^2 \ge 0. \end{aligned}$$

Hence, tip-over is prevented when \(r \ge r_{tip}\), where \(r_{tip}\) is given by \(r_{tip}(\nu ) = (2 H/g W) \nu ^{2}\).

The robot’s minimal turning radius must satisfy all three constraints as summarized in the following lemma.

Lemma 7.1

The minimal turning radius of a four-wheel mobile robot moving with speed \(\nu \), \(r_{min}(\nu )\), is given by

$$\begin{aligned} r_{min}(\nu ) = \max \{ r_{kin}, r_{slide}(\nu ), r_{tip}(\nu ) \} \end{aligned}$$

where \(r_{kin}\) is the minimal kinematically feasible turning radius, \( r_{slide}(\nu )\) is the minimal sliding turning radius, and \(r_{tip}(\nu )\) is the minimal tip-over turning radius.

Let us finally establish that the time optimal path which maintains a safe braking distance from the obstacles has a sufficiently flat curvature which prevents any sideways sliding.

Lemma 7.2

Let \(\alpha (s):[0,1]\rightarrow \mathcal {F}\) be the time optimal path connecting \(p_{S}\) to \(p_{T}\) under the uniform braking safety constraint. The path’s radius of curvature is lower bounded by the minimal sliding turning radius, \(r(s)\ge r_{slide}(\nu (s))\) for \(s\in [0,1]\).

Proof

Let us use the robot’s x coordinate as the geometric parameter s, so that the robo’s time optimal path is given by \(\alpha (x)= (x,y(x))\) for \(x \in [x_{S},x_{T}]\). The path’s radius of curvature is given by

$$\begin{aligned} r(x) = \frac{\big (1+ (y'(x))^2\big )^{3/2}}{ \left| y''(x) \right| }. \end{aligned}$$
(15)

First consider the time optimal path near a wall segment, which satisfies the differential equation (7): \(c^2 (1+(y'(x))^2) y(x) = 1\). Differentiation of both sides of this equation with respect to x gives: \(2y(x)y''(x) + 1+(y'(x))^2=0\). Substituting for \(y'(x)\) and \(y''(x)\) in (15) gives: \(r(x) = \tfrac{2}{c} \sqrt{y(x)}\). The robot’s speed along the time optimal path satisfies the equation \(\nu = \sqrt{2 a_{max} y}\). Since \(a_{max}= \mu g\), the minimal sliding turning radius along the time optimal path is given by \(r_{slide}(\nu ) = \nu ^2 / \mu g = 2 y(x)\). Hence, the inequality \(r(x) \ge r_{slide}(\nu (x))\) holds true when \(\frac{2}{c}\sqrt{y(x)} \ge 2 y(x)\), or equivalently when \(y(x)\le 1/c^2\). Since \(1/2c^2\) represents the diameter of the rolling circle which generates the cycloid curve, \(y(x) \le 1/2c^2 < 1/c^2\), which gives the inequality \(r(x) \ge r_{slide}(\nu (x))\) for \(x \in [x_{S},x_{T}]\).

Next consider the time optimal path near an obstacle vertex. The time optimal path forms a parabolic curve, whose parametrization in terms of the robot’s x coordinate is given by

$$\begin{aligned} y(x) =\frac{x^2 + y_0^2}{2y_0} \qquad x \in [x_{S},x_{T}] \end{aligned}$$

where \(y_0\) is the minimal distance between the parabolic curve and the x axis aligned with the line l (Fig. 2). Based on (15), the path’s radius of curvature is given by \(r(x)= y_0 \cdot \left( 1+\tfrac{x^2}{y_0^2}\right) ^{3/2}\). The parabolic curve is equidistant from the obstacle vertex and the line l. Hence, the robot’s speed along this time optimal path is given by \(\nu (x) = \sqrt{2a_{max} y(x)}= \sqrt{a_{max} (x^2 + y_0^2)/y_0}\). Since \(r_{slide}(\nu ) = \nu ^2 / \mu g\) and \(a_{max}=\mu g\), the inequality \(r(x)\ge r_{slide}(\nu (x))\) holds true since \(y_0 \cdot (1+\tfrac{x^2}{y_0^2} )^{3/2} \ge y_0 \cdot (1 + \tfrac{x^2}{y_0^2})\), which again confirms the inequality \(r(x) \ge r_{slide}(\nu (x))\) for \(x \in [x_{S},x_{T}]\). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Manor, G., Rimon, E. The speed graph method: pseudo time optimal navigation among obstacles subject to uniform braking safety constraints . Auton Robot 41, 385–400 (2017). https://doi.org/10.1007/s10514-015-9538-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-015-9538-9

Keywords

Navigation