Path Optimization for Ground Vehicles in Off-Road Terrain
Abstract
We present a method for path optimization for ground vehicles in off-road environments at high speeds. This path optimization considers the kinematic constraints of the vehicle. By thinking in the actuator space we can represent these constraints as limits in the space rather than derived properties of the path. In this paper we present a actuator space approach to path optimization for off-road ground vehicles. This is done by representing and operation on the path as a list of steering angles over the path length. This transforms the set of kinematic constraints into constraints on the steering angle. We then put this path into a gradient descent solver. This produced paths that are kinematically feasible and optimized in accordance with our cost function. Finally, we tested the system both in simulation and on an off-road vehicle at speeds of 5 m/s.
I INTRODUCTION
High speed navigation requires paths that can be generated quickly, satisfy the constraints of the vehicle, and avoid collision. Unfortunately, the quality of the resulting path and the time to compute the path are often inversely related. To solve this issue hierarchical planners are often used that have shorter, but higher fidelity, trajectories at the lowest level. However, if the higher level paths contain infeasable paths then these lower level trajectories can easily get stuck. Therefore, we want a method to take these higher level paths and improve their feasibility before they’re passed to the lower levels. Since a large challenge to feasibility is kinematic constraints it makes sense to transform the path to a representation that makes these constraints easy to satisfy. Here we use the actuator space representation. That is, rather than represent the path as a list of vehicle states we instead represent the path as a list of control inputs. The trade-off is an increase in complexity of world space constraints such as obstacles.
In this paper we propose a path optimization framework in this actuator space for ground vehicles. By optimizing the higher level path additional constraints can be applied to it after generation. Next we will discuss the benefits of both optimization and the actuator space representation in more detail.
I-A Path Optimization
Many methods to get optimal paths that satisfy all constraints are slow. This is important due to the relationship between processing rate, vehicle speed, and the minimum reaction radius. The minimum reaction radius is the minimum distance at which the vehicle is capable of reacting to new information. It can be thought of as the total system latency multiplied by the vehicle speed. Since path planning (along with sensor segmentation) takes up the bulk of this time, this radius can be significantly reduced by improved planning methods. The ideal situation is a planner that is both fast and satisfies all constraints. However, this is hard to achieve [1][2]. Another solution is to take a quickly generated path and apply constraints after generation through an optimization process. By doing this you can gain some of the benefits of both fast and accurate planners. Although it should be noted that the constraints may significantly change the optimal path such that a path optimizer, if given this initial path, will converge to some locally optimal path rather than the global optimal. Thus, a distinction should be made between an optimized path and an optimal path.
I-B Actuator Space Representation
As vehicle speed increases the kinematic, and even dynamic, constraints can restrict the free space of the vehicle even more than the physical obstacles present in the environment. Therefore, it becomes advantageous to start thinking in a framework where these constraints can be nativity represented. Typical world space representation are good at representing obstacles but have no native way to represent kinematic constraints such minimum turning radius. Additionally, path properties like smoothness are harder to quantify.
Representing the path in the actuator space switches this problem around. Now, provided with a good vehicle model, kinematic and smoothness constraints can be represented as obstacles in the actuator space. However, as vehicles inevitably operate in the real world, and typically aren’t interested in purely achieving some actuator state, we must still consider the world space. Thus, requiring us to transform between representations when checking for obstacles. This leads to a trade-off between the ease of representing kinematic constraints and world constraints.
II RELATED WORK
There have been many works published on the path planning and optimization problem. Here, we will review some of them as they pertain to some related domains.
II-A Manipulators
This concept of actuator space planning has a long history in manipulator planning. In fact, it’s typical for manipulator planning to be done entirely within the actuator space with obstacles transformed into it from the world space. However, manipulators have the advantage that their actuator space and state space are identical. Typically, they are trying to achieve given state in the actuator space so, aside from the initial obstacle transform, transforming states isn’t necessary. This leads to an ideal environment for optimization with several works being done [3][4][5].
II-B Air Vehicles
Recently, the concept of actuator space has had some applications in planning for air vehicles, typically small quadcoptor Unmanned Air Systems (UAS). However, this transform will often only be used to check that the path is within the limits of the actuator[6][7]. Due to the kinematics of these UAS, scaling the path speed around offending segments is typically all that’s needed to satisfy these constraints. So the path can be transformed into the actuator space and rescaled without the need to directly plan in the space.
From an optimization point of view, UAS are another good candidate for path optimization [8][9]. They typically operate in binary space, that is, the space is either free or has an obstacle and there is no preference for one set of free space over another. Additionally, due to their higher speed, path smoothness is highly desired. Thus making kinematic constraints the dominating factor in path planning.
II-C Ground Vehicles
For ground vehicles, thinking in the actuator space isn’t a new idea. Model predictive control can be thought of as operating in this context. Additionally, many methods of trajectory sampling or path primitive generation fall into this context. However, due to the larger set of constraints on ground vehicles and the comparatively complex set of world space obstacles, longer path planning is typically done in the world space. Although there have been some examples of actuator space planning for short trajectories [10].
Optimization has also seen comparatively less literature than in the other domains. Most of what exists is used as a path smoother for planners such as the RRT family [11]. The history of path optimizers can be thought of as beginning with the application of Dubins [12] (and later Reed-Sheep’s paths) to methods such as A* [13][14] and it’s derivatives, such as D* [15] and D* Lite [16], and RRT [17]. Although these paths can be thought of as satisfying all the kinematic constraints they are discontinuous in steering angle. A solution to this is the clothoid path. Clothoid guarantee continuous steering angle and limits such as max steering angle and max steering angle rate are natural to the path formulation[18]. However, there is no closed form solution to the clothoid path. Additionally, clothoids can only represent a subset of all feasible paths. Most recent optimization work has represented the paths as polynomial splines [19][20][21][22]. These splines trade some of the benefits of clothoids for the closed form nature of polynomials. Additionally, they can represent a much larger segment of the set of all feasible paths.
III APPROACH
Our approach to this problem can be divided into three main stages as shown in figure 2. First is costmap and base path generation. Here sensor data is fused into a costmap and an initial path is made over the map. Next in the optimizer this path is fist transformed into the actuator space. The path is put into an iterative gradient descent solver until either a minimum cost is achieved or a maximum number of iterations is reached. Finally, we reach the speed control section where the resulting path is put through a speed controller assigning each point along the path a target speed.
III-A Cost Map Creation
The cost map process is a continuation on the methods developed in [23]. A lidar scan is taken over a local grid map. From this scan, obstacles are extracted by taking the heigh difference between the minimum and maximum height return in each cell. If this difference is larger than a given threshold then the cell is marked as containing an obstacle. Here, we consider two types of obstacles, hard obstacles (trees, rocks, people, etc) are those that should never be driven through, and soft obstacles (bushes, tall grass, etc) that should be avoided but are traversable. This is determined by our segmentation layer, each lidar return is marked as either a hard or soft object. If there are soft object returns above the obstacle threshold but no hard returns then the cell is a soft obstacle. Otherwise, if there’s a hard return above the threshold it’s a hard obstacle.
Both the hard and soft obstacle maps share a common process, shown in figure 3. As they are binary maps, rather than a continuous function, they can be expanded with a dilate operation by the radius of the robot. The area inside this expanded region is then converted into a distance region. Where the value of each pixel represents the distance to the edge of the region. This is done to ensure that there is always a strong gradient in the costmap to push the solution out of obstacles. Finally, a similar process is done to create a repulsive halo around around obstacles. This, once again, helps the solver avoid obstacles but also prevents discontinuities in the cost map.
The final costmap is the simple per-pixel sum of both of these sub-maps. Thus, we maintains both the strong gradients and continuity in the final costmap.
III-B Base Path Generation
Before the optimizer can run it needs to be given a base path. For our implementation we chose to use A* [13]. It was chosen due to its guarantee of optimality and fast run time. Here, we used 8 way connectivity and the euclidean distance as a heuristic. The vehicle’s current position is used as the start of the search. If the goal point is within the local map it is used as the goal for A*. Otherwise, the closest point within the map to the goal is used for A*. This search is done over the same costmap as the optimization. Despite the guarantee of optimality of A* it doesn’t take into account the kinematic constraints of the vehicle. Thus the final optimized path will deviate from the A* path.
III-C Path Representation
Once the base path is generated it needs to be converted into the actuator space. The typical path representation in the world space is a list of representing the position and orientation of the vehicle on a 2D plane. An actuator space path is represented by a list of along with the initial . Here is the current steering angle and is the distance traveled over some fixed time step. We assume a constant path speed. Figure 4 shows an example path represented in both world and actuator space.
To convert the path from world space to actuator space we need to have an inverse model of the vehicle. Note that this method isn’t tied to a particular model but does require an inverse model. Here we use a 2D model although a 3D model could be used at the cost of increased dimensionality. Equations 1 and 2 describe the inverse model. If the input path doesn’t contain heading information then we can use equation 3 to back calculate it. Although this will leave the heading at the final point undefined, in practice it can be assumed to be the same as that of the next to last point.
(1) |
(2) |
(3) |
Transforming from the actuator space to world space is easier. It can be thought of as simply integrating the forward model with respect to some starting point . Equations 4, 5, and 6 describe this process.
(4) |
(5) |
(6) |
III-D Cost Function Formulation
Finally, we define the cost function to optimize against (equation 7). Here represents the path and is a point in the path. We have already talked about the costmap but to fully capture the cost of a path we must also consider it’s kinematic properties. This leads to a cost function with both a map cost and a kinematic cost.
(7) |
Breaking down this function further leads to the next two equations. The costmap cost (equation 8) is simply the sum of all the cost map cells through which the path moves.
(8) |
Next, we are concerned with the constraints imposed on the vehicle by our kinematic model. Here we get two main constraints on the path, the steering angle must lie between some maximum and minimum values (equation 9). Typically, we can assume that so this constraint reduces to equation 10.
(9) |
(10) |
Similarly, the rate of change in the steering angle is also of interest to us. This leads to another set of constraints in equation 11 . Once again we can assume that so this constraint reduces to equation 12.
(11) |
(12) |
Rather than writing these as hard constraints, we instead represent them by large, steep cost gradients outside of the boundaries. However, even within the boundaries imposed by our constraints we are still interested in smooth paths. Equation 13 is the final kinematic cost function with being the in and out of bounds cost factors respectively.
(13) |
III-E Path Solver
With the cost function now defined the path can be sent to the solver. Here, we cause perturbations to the path at each point such that each perturbation decreases the cost of the path. However, perturbations at the start of the path will have a much larger total effect on the path than perturbations later in the path. Additionally, the actuator space does not fix the goal point of the path. To solve both these issues we dampen the perturbation over the next N time steps. This is done by using an S curve to interpolate between the perturb path and the original path in world space then transforming this path back into actuator space. Figure 5 shows this process for a perturbation at step 5 with a damping length of 25 time steps.
The solver itself is a simple implementation of gradient descent. It is described by algorithm 1. In brief, the cost for the perturbed segment is checked for both left and right perturbations over the perturbation distance. This, along with the current cost of that segment, defines the gradient. Then, a final perturbation is chosen for that point according to the gradient and a scaling factor. This process is repeated for each point along the path. When there exist no more cost reducing perturbations along the path, or the maximum iteration limit is reached, the path is returned.
III-F Speed Control
So far we have only been concerned with the steering angle of the vehicle and any obstacles the path might run into. However, we also want the vehicle to traverse this path as fast as possible. Thus the need for a speed planner that will maintain a high speed while respecting the constraints of the vehicle. Speed control is done in two passes. First, the maximum speed at each point is determined based on that point’s steering angle (equation 14). Here and are the minimum and maximum speeds, is the steering angle at which we want the minimum speed, and are the steering angle and speed for the point . Additionally, the goal point is assigned a speed of zero.
(14) |
Next, backwards and forwards passes are done over the path such that all the path speeds lie within the maximum and minimum acceleration limits of the vehicle.
After this speed control pass the path is converted back into world space and then published to the vehicle controller.
IV RESULTS
IV-A System Overview
We tested this system on a Clearpath robotics Warthog. The system architecture is described in figure 6. We equipped it with an Ouster OS1-64 lidar and a Vectornav VN-300 INS. Data from the IMU and wheel odometry was fused using an extended kallman filter to provide fused odometry data. Our map had a resolution of 20 cm with a size of 512x512 and updated at a rate of 2 Hz. The A* planner was ran at 4 Hz with the optimization module running at 10 Hz. The tests were done with a speed of 5 m/s, the vehicle’s maximum speed, and a minimum turning speed of 2 m/s.
IV-B Experimental Results
The following experiments were done at the Texas A&M RELLIS campus. This first test was done around a large rock pile (figure 7). Figure 8 shows the test on the map. The goal point was given on the other side of the pile. The line in red shows the initial A* path, the blue line shows the resulting optimized path. Note that the resulting path is similar to the input path but avoids the sharp turns in the base path. The right figure shows the final driven path in yellow. We can see that the driven path is initially similar to the first plan. However, once the vehicle can see the other side of the rocks the path is re-planned.
In test 2 we go around a large hill (figure 9). Note that the optimized path is significantly different from the base path (figure 10). Unlike the first experiment, the terrain around the hill is largely empty. Here, the planned path didn’t significantly change as the robot moved, but controller errors led to an overshoot of the first turn. However, this was smoothly corrected and the resulting path was still collision free.
IV-C Simulated Results
In addition to the real testing we also did several runs in simulation. The simulator was created in the Unity game engine and is integrated with the Robot Operating System (ROS). The simulation vehicle is a replica of the Warthog used for the physical testing. Figure 11 shows the simulated test environment. First we ran the system with the A* planner as a baseline (figure 12). Next, the same path was ran with our optimizer running on top of the A* path (figure 13). All other settings were left unchanged. A maximum speed of 5 m/s and a minimum speed of 2 m/s were used. The goal point was set so the vehicle would go the small gap between the fence and boat. With only the A* path the vehicle would overshoot the path and get stuck in the gap. Adding the optimizer allowed the vehicle to successfully navigate the obstacles.
V CONCLUSION
We have developed a path optimization method for ground vehicles that is able to easily enforce kinematic constraints onto the path. Using a gridded A* path as a base, this planner was successfully able to operate at high speeds over off-road terrains.
Going forward we would like to extend this path optimization method to speed control and temporal cost maps. However, increasing the dimensonality of the problem would also necessitate a more robust and efficient solver. By refining the cost function better properties could be expected. These properties could then be exploited to more efficiently solve the optimization function. Although, as terrain classification gets more complicated more layers to the costmap will become necessary. This may increase the potential of local minima and will be an important consideration in future work. Additionally, planning in the actuator space presents many opportunities for a tighter coupling between planning and control. Finally, a mention should be made about planning rate with increasing speed. To maintain a constant reaction distance the total system latency must be inversely proportional to speed. Although planning is a large part of the latency, to be successful at high speed operation the entire system must be considered.
References
- [1] J. Luo and K. Hauser, “An empirical study of optimal motion planning,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2014, pp. 1761–1768.
- [2] Zhixin Chen, Mengxiang Lin, Shangzhe Li, and Rui Liu, “Evaluation on path planning with a view towards application,” in 2017 3rd International Conference on Control, Automation and Robotics (ICCAR), 2017, pp. 27–30.
- [3] N. Ratliff, M. Zucker, J. A. Bagnell, and S. Srinivasa, “Chomp: Gradient optimization techniques for efficient motion planning,” in 2009 IEEE International Conference on Robotics and Automation, 2009, pp. 489–494.
- [4] F. Z. Baghli, L. E. bakkali, and Y. Lakhal, “Optimization of arm manipulator trajectory planning in the presence of obstacles by ant colony algorithm,” Procedia Engineering, vol. 181, pp. 560 – 567, 2017, 10th International Conference Interdisciplinarity in Engineering, INTER-ENG 2016, 6-7 October 2016, Tirgu Mures, Romania. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1877705817310184
- [5] M. B. Horowitz and J. W. Burdick, “Combined grasp and manipulation planning as a trajectory optimization problem,” in 2012 IEEE International Conference on Robotics and Automation, 2012, pp. 584–591.
- [6] C. Richter, A. Bry, and N. Roy, Polynomial Trajectory Planning for Aggressive Quadrotor Flight in Dense Indoor Environments. Cham: Springer International Publishing, 2016, pp. 649–666. [Online]. Available: https://doi.org/10.1007/978-3-319-28872-7_37
- [7] G. Kulathunga, D. Devitt, R. Fedorenko, S. Savin, and A. Klimchik, “Path planning followed by kinodynamic smoothing for multirotor aerial vehicles (mavs),” 08 2020.
- [8] H. Oleynikova, M. Burri, Z. Taylor, J. Nieto, R. Siegwart, and E. Galceran, “Continuous-time trajectory optimization for online uav replanning,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016, pp. 5332–5339.
- [9] W. Dong, Y. Ding, J. Huang, L. Yang, and X. Zhu, “An optimal curvature smoothing method and the associated real-time interpolation for the trajectory generation of flying robots,” Robotics and Autonomous Systems, vol. 115, pp. 73 – 82, 2019. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0921889017301173
- [10] B. Li and Z. Shao, “Simultaneous dynamic optimization: A trajectory planning method for nonholonomic car-like robots,” Advances in Engineering Software, vol. 87, pp. 30 – 42, 2015. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0965997815000708
- [11] A. Ravankar, A. A. Ravankar, Y. Kobayashi, Y. Hoshino, and P. Chao-Chung, “Path smoothing techniques in robot navigation: State-of-the-art, current and future challenges,” Sensors, vol. 18, no. 9, 09 2018, copyright - © 2018. This work is licensed under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License; Last updated - 2018-11-28; SubjectsTermNotLitGenreText - Japan.
- [12] L. E. Dubins, “On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents,” American Journal of Mathematics, vol. 79, no. 3, pp. 497–516, 1957. [Online]. Available: http://www.jstor.org/stable/2372560
- [13] P. E. Hart, N. J. Nilsson, and B. Raphael, “A formal basis for the heuristic determination of minimum cost paths,” IEEE Transactions on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100–107, 1968.
- [14] M. McNaughton, C. Urmson, J. M. Dolan, and J. Lee, “Motion planning for autonomous driving with a conformal spatiotemporal lattice,” in 2011 IEEE International Conference on Robotics and Automation, 2011, pp. 4889–4895.
- [15] A. Stentz, “Optimal and efficient path planning for unknown and dynamic environments,” INTERNATIONAL JOURNAL OF ROBOTICS AND AUTOMATION, vol. 10, pp. 89–100, 1993.
- [16] S. Koenig and et al., “Fast replanning for navigation in unknown terrain,” 2002.
- [17] S. LaValle, “Rapidly-exploring random trees : a new tool for path planning,” The annual research report, 1998.
- [18] G. M. van der Molen, Trajectory generation for mobile robots with clothoids. Dordrecht: Springer Netherlands, 1992, pp. 399–406. [Online]. Available: https://doi.org/10.1007/978-94-011-2526-0_46
- [19] J. Choi and K. Huhtala, “Constrained global path optimization for articulated steering vehicles,” IEEE Transactions on Vehicular Technology, vol. 65, no. 4, pp. 1868–1879, 2016.
- [20] M. Elhoseny, A. Tharwat, and A. E. Hassanien, “Bezier curve based path planning in a dynamic field using modified genetic algorithm,” Journal of Computational Science, vol. 25, pp. 339 – 350, 2018. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1877750317308906
- [21] T. Maekawa, T. Noda, S. Tamura, T. Ozaki, and K. ichiro Machida, “Curvature continuous path generation for autonomous vehicle using b-spline curves,” Computer-Aided Design, vol. 42, no. 4, pp. 350 – 359, 2010. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0010448510000084
- [22] K. Yang, D. Jung, and S. Sukkarieh, “Continuous curvature path-smoothing algorithm using cubic b zier spiral curves for non-holonomic robots,” Advanced Robotics, vol. 27, no. 4, pp. 247–258, 2013. [Online]. Available: https://doi.org/10.1080/01691864.2013.755246
- [23] T. Overbye and S. Saripalli, “Fast local planning and mapping in unknown off-road terrain,” in 2020 IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 5912–5918.