1. Introduction
The surface of Mars is covered with many rocks and sandpits, which are the obstacles that need to be considered when path planning is carried out. The path planning algorithm needs to search for the optimal path that meets the constraints of the robot and avoids collisions with obstacles and self-collision. At present, all rovers that have been deployed on Lunar or Mars have adopted a wheeled structure, which has high velocity but poor terrain adaptability. Hence, the wheeled structure is difficult to meet the requirements of future deep space exploration missions. The legged exploration robot has a strong ability to adapt to different terrains, although its velocity is low, and its stability is relatively poor. The wheel-legged robot combines the rapidity of the wheeled structure and the adaptability of the legged structure, thereby attracting the attention of many scholars. Different wheeled-legged robots have been developed, such as Centauro [
1], Mammoth [
2], Anymal-on-wheel [
3], Athlete [
4], Robosimian [
5], Sherpa [
6], and Sherpa TT [
7], among which many wheel-legged robots are aimed at roving exploration on the planet’s surface. Thus, it can be seen that a wheeled-legged robot has broad application prospects in future deep space exploration missions.
In the traditional path planning algorithm, the robot is simplified as a point in most cases. Due to the composite structure, a wheel-legged robot can change its configuration according to the terrain and obstacle, which makes it irrational to simplify the wheel-legged robot as a point. Hence, it is difficult to plan the path of a wheel-legged robot considering its variable configuration. Considering this problem, a path planning algorithm based on the Theta* algorithm and TEB algorithm is proposed in this paper. Firstly, according to the environment information, complete obstacle, incomplete obstacle, and virtual obstacle were searched for and grid maps for the wheel and body were generated, respectively. Secondly, the path of the body was planned with the Theta* algorithm, and the path was optimized using the TEB algorithm. On that basis, the path of the wheel was searched for. Simulations showed that the path planning algorithm proposed in this paper effectively provided a full play to the advantages of the wheel-legged robot with variable configuration in its wheeled motion. The main contributions are summarized as follows:
- (a)
According to the height of the obstacle, the obstacles were classified into complete obstacles and incomplete obstacles. Moreover, the criterion for determining the virtual obstacle of the body was put forward. The grid map for the wheel and body was generated, which can be used for the path planning of the wheel-legged robot, to simplify the body of the wheel-legged robot as a point.
- (b)
The path of the body was planned and optimized by combining the Theta* algorithm and TEB algorithm. On that basis, the wheel position corresponding to each body position was planned. The hierarchical planning and multiple optimizations of the wheel-legged robot path were realized.
The structure of this paper is as follows: In
Section 2, the structure of the wheel-legged robot is introduced, and the kinematic model of a single leg is established. In
Section 3, grid maps for the wheel and body are generated. In
Section 4, hierarchical planning and multiple optimizations of the path are realized with the Theta* algorithm and TEB algorithm. In
Section 5, simulations are carried out, and in
Section 6, conclusions are presented.
3. Introduction of the Wheel-Legged Robot
This paper proposes a wheel-legged robot for the roving exploration of the surface of a planet, which is symmetrical and effectively combines wheeled motion, legged motion, and wheel-legged motion. As the wheel-legged robot is symmetrical, omnidirectional moving can be executed and the load on each wheel is approximately equal, which can avoid unbalanced wear and enhance the life of the robot. The wheel-legged robot has four series legs, which are respectively installed at the four corners of the rectangular body, as shown in
Figure 1. Moreover, the wheel-legged robot is equipped with one lidar and one binocular camera to perceive all the information on the environment. Each series leg has six active joints, namely, the hip yaw joint, hip pitch joint, knee pitch joint, ankle pitch joint, wheel yaw joint, and wheel drive joint, as shown in
Figure 2. The cooperation of these six joints can actively adjust the spatial position and attitude of the wheel, which can not only carry out foot motion but also effectively improve the performance of the wheeled motion.
The wheel-legged robot needs to choose the appropriate motion mode according to the terrain conditions. When the terrain is relatively flat, the robot adopts the wheeled motion mode with a passive suspension to improve the efficiency of the roving exploration. In the wheeled motion mode with the passive suspension, the leg configuration remains unchanged, and the body may fluctuate slightly. The leg joints support all the weight of the robot through the internal mechanical lock, which can also reduce energy consumption. When the terrain is undulating, the robot needs to switch to the wheeled motion mode with active suspension, which allows the leg joints to adjust the configuration in time, according to the attitude changes of the body caused by the undulating terrain to ensure stability. When encountering obstacles, such as bumps, pits, and rocks, the wheel-legged robot needs to switch to the legged motion mode to cross the obstacles safely. Due to the unknown terrain conditions, emergencies are very likely to occur. Once the wheel is trapped, the robot can be switched to poverty relief mode to restore the wheel to a safe state. The wheel-legged robot motion mode selection and switching relationships are shown in
Figure 3.
The kinematic model of the single leg establishes the relationship between the joint angles and the position and posture of the wheel, which is of great significance to path planning and motion control. The coordinate system of the single leg is shown in
Figure 4.
Since the structure of each leg of the wheel-legged robot is similar, the left front leg is taken as an example to illustrate the kinematic modeling. The coordinate system
O0 is the leg reference coordinate system, of which the origin is located at the intersection of the fixed axis of the hip yaw joint and the outer edge surface of the connector. The axis
z0 takes vertical upward as the positive direction, and the axis
x0 takes horizontal forward as the positive direction. According to the right-hand rule, the positive direction of axis
y0 is shown in
Figure 4. On this basis, the coordinate system of the hip yaw joint
O1, the coordinate system of the hip pitch joint
O2, the coordinate system of the knee pitch joint
O3, the coordinate system of the ankle pitch joint
O4, the coordinate system of the wheel yaw joint
O5, and the coordinate system of the wheel drive joint
O6 are established. The
Li is the distance between the origin of the coordinate system
Oi-1 and the origin of the coordinate system
Oi. The three-dimensional workspace of the wheel can be obtained from the single-leg kinematics model, as shown in
Figure 5a. Since the single leg has a hip yaw joint, the projection of the workspace in the horizontal plane is a fan-shaped area, as shown in
Figure 5b.
4. The Construction of the Grid Map for the Wheel and Body
Before planning the path, it is necessary to establish a map of the environment based on the point cloud information obtained by the perception system and to distinguish the areas that the robot can pass through, and the areas occupied by obstacles. The grid map describes the environment using grids of the same size, which is simple, effective, and easy to be established. The typical grid map is shown in
Figure 6. Grids have two states: occupied state and free state. The white grid indicates the area that can be passed through, which is reflected in the free state, while the black grid indicates the area occupied by obstacles and corresponds to the occupied state.
As the body of the wheel-legged robot is much higher than the wheels, the passability of one area is different for the wheel and body. If the height of one obstacle is greater than that of the body, this obstacle belongs to the impassable area for both body and wheel, which is called the “complete obstacle”. In addition, if the height of one obstacle is lower than that of the body, this obstacle belongs to the passable area for the body, yet belongs to the impassable area of the wheel, which is called the “incomplete obstacle”.
As shown in
Figure 7a, the height of the red obstacle is much lower than that of the body. When the robot adopts the configuration shown in the figure, the robot can cross the obstacle safely. The obstacle belongs to the impassable area for the wheel and the passable area for the body, namely, the “incomplete obstacle”. In addition, when the width of the obstacle is larger than the distance between the left wheel and right wheel, the robot can increase the wheel distance to avoid a collision between the wheel and the obstacle, as shown in
Figure 7b. However, if the width of the obstacle is too large, the collision between the wheel and the obstacle cannot be avoided after adjusting the configuration, as shown in
Figure 7c.
In the roving exploration of the surface of the planet, the wheel-legged robot needs to maintain communication between itself and the communication base station, such as the exploration base, communication satellite, and leader robot. Moreover, some equipment on the exploration robot is sensitive to the orientation and frequent turns will decrease the performance of the equipment. Hence, there is a desire to fix the orientation of the wheel-legged robot. In order to meet the abovementioned requirements, the orientation of the wheel-legged robot is supposed to be fixed in the process of the map construction for the wheel and body.
According to
Section 2, the projection of the workspace of the wheel in the horizontal plane is a fan-shaped region. When the body is in a certain position, if the fan-shaped area is completely located in the obstacle area, the wheel cannot avoid collision with the obstacle. Furthermore, as the grid map of the body is generated for the center of the body, when the center of the body is near the obstacle, the edge of the body may collide with the obstacle. Although there is no actual obstacle in the position of the center of the body, the position is still an impassable area for the center of the body. This paper hypothesizes that the position is occupied by a “virtual obstacle”. As shown in
Figure 8, the rectangular ABCD represents the body, while point O represents the center of the body. For ease of analysis, the fan-shaped area was simplified to a hexagon AEFGHI, and the red circle represents the obstacle. The relationship between the hexagon AEFGHI and the obstacle area can be approximately judged by calculating the distances from point A, point E, point F, point G, point H, and point I to the center of the circular obstacle. In
Figure 8a, the hexagon area is completely within the obstacle area. Hence, the position of the center of the robot body O is considered to be occupied by the virtual obstacle. In
Figure 8b, part of the hexagon area is in the red obstacle area, and the collision between the wheel and the obstacle can be avoided by adjusting the leg configuration, meaning it is considered that the position of the center of the robot body O belongs to the feasible area. In
Figure 8c, the hexagon area is completely separated from the obstacle area, in which case, the position of the center of the robot body O belongs to a feasible area. Furthermore, the virtual obstacle caused by the collision between the edge of the body and the obstacle can be judged by the distance between the center of the body and the center of the obstacle.
Establishing the grid map for the wheel is simple, whereby the grid inside the obstacles is marked as the occupied state directly. However, establishing the grid map for the body is relatively complex. According to the height of the obstacle, it can be judged whether the obstacle is a complete obstacle or an incomplete obstacle, and the grid is marked inside the complete obstacle as the occupied state, while the grid at the incomplete obstacle is free. On this basis, virtual obstacles should be searched for in the passable area, and the position of the virtual obstacle marked as the occupied state.
To search for virtual obstacles, a grid near the obstacle is taken as the position of the center of the body, and the distances from the vertexes of the hexagon area to the center of the obstacle are calculated. The relative position between the hexagon region and the obstacle can be obtained. It can be judged whether it is the position occupied by the virtual obstacle. Taking all the grids near the obstacle as the position center of the robot body, all the areas occupied by the virtual obstacle can be searched.
As shown in
Figure 9a, a circular complete obstacle is located in the center of a 50 × 50 cell grid mapping the scenario, the position of the center is (25,25) and the radius is
r = 10. The outline of the obstacle is represented by a green circle. When generating a grid map for the body, the state of the grid is first set within the circular area to the occupied state to obtain an original grid map, as shown in
Figure 9b, and then, the area occupied by the virtual obstacle is identified. Merging the abovementioned two kinds of obstacle areas can provide the grid map for the body, as shown in
Figure 9c.
In addition, since the incomplete obstacle is still impassable for the wheels, it is also necessary to search the virtual obstacle area near the incomplete obstacle. As shown in
Figure 10a, an incomplete obstacle is located in the center of the grid map, with a red circle representing the outline of the obstacle. The area occupied by the incomplete obstacles is a passable area for the robot body, meaning there is no change when generating the original grid map, as shown in
Figure 10b. The grid map for the body can be generated finally by searching for a virtual obstacle, as shown in
Figure 10c. When the geometric center of the robot body is located, in the blue area in the picture, the robot wheel will inevitably interfere with the obstacle.
As shown in
Figure 11a, there are two obstacles. The green circle represents a complete obstacle, while the red circle represents an incomplete obstacle. For the two types of obstacles, the grid maps for the wheels and the grid map for the body are generated, as shown in
Figure 11b and
Figure 11c, respectively. The impassable area of the wheel is composed of two obstacles, while the impassable area of the body is composed of a virtual obstacle and a complete obstacle.
Using grid maps for the body and wheels, the path of the body and the path of the wheels are planned in different maps. As the grid map for the body is generated by taking the center of the body as the main analysis object, the wheel-legged robot can be simplified as a point in the grid map for the body, which can reduce the difficulty of path planning significantly.
As the wheel-legged robot is symmetrical, the area of the virtual obstacle is symmetrical about the symmetrical obstacle. According to the characteristic of symmetry, the map can be checked intuitively, which can help ensure the safety of the wheel-legged robot.
The flowchart for generating the map of the body is shown in
Figure 12. The process of generating the map of the wheel is relatively simple and the flowchart is not provided in this paper.
6. Simulations
To verify the effectiveness of the proposed path planning algorithm, this section simulates and analyzes the algorithm for the different types of obstacles with Matlab 2022 b. The main structural parameters of the wheel-legged robot in the simulation are shown in
Table 1.
According to the structural parameters shown in
Table 1, this paper takes an area of 10 m × 10 m as the example. Taking 0.1 m as the edge length of the grid means a grid map with a size of 100 × 100 can be obtained. In the following figures, the horizontal axis and the vertical axis are the number of grids. In order to simplify the figure, the grid numbers of two axes are shown at intervals of 10. To verify the feasibility of the proposed algorithm for different types of obstacles, three types of grid maps are set up in the simulation. In the first map, all the obstacles are complete obstacles, represented by green circles, as shown in
Figure 17a. In the second map, all the obstacles are incomplete obstacles, represented by red circles, as shown in
Figure 17b. The third map consists of a mixture of complete obstacles and incomplete obstacles, with green circles representing complete obstacles and red circles representing incomplete obstacles, as shown in
Figure 17c. In addition, the solid red circle represents the start point, and the solid red five-pointed star represents the target point.
6.1. The Simulation of the M1 Map
According to
Section 3, the grid map for the wheel and the body of M1 can be generated as shown in
Figure 18, where the yellow grids are the impassable area. As shown in
Figure 18a, the obstacle area for the wheels consists of two circular complete obstacles and two rectangular incomplete obstacles. As shown in
Figure 18, the obstacle area for the robot body consists of the area occupied by two complete obstacles and the area occupied by a virtual obstacle. In order to highlight key components in the map, such as the start point, target point, obstacle, path, etc., the gridline is not displayed in the following Figures.
After obtaining the grid map for the wheel and body, the original path of the body is planned using the Theta* algorithm and TEB algorithm, as shown in
Figure 19. In
Figure 19, the red line is the original path obtained by the Theta* algorithm and the blue line is the optimized path obtained by the TEB algorithm. The two lines almost coincide except at the turns of the original path. From
Figure 19, it can be seen that the robot first moves in a straight line to the left safe area. After that, the robot moves vertically until it leaves the obstacle, and finally, it moves to the upper right to reach the target point. The robot body successfully bypasses the obstacle area and ensures its safe movement, although there are four turning points in the original path, where the robot needs to pause its motion and change the direction of its body. After smoothing and re-optimizing with the TEB algorithm, the final path of the body is generally consistent with the original path. It can be seen from the enlarged view that the original turning point has been smoothed into a curve. Hence, the robot can perform continuous and smooth steering movements. According to
Section 5.3, the path of the wheel can be obtained according to the body path, as shown in
Figure 20. From the enlarged view in
Figure 20, the right rear wheel can bypass the rectangular obstacle closely and safely to decrease the length of the path, in general.
6.2. The Simulation of the M2 Map
As shown in
Figure 21, the grid maps for the body and wheel are generated from the M2 map. As shown in
Figure 21a, the obstacle area of the wheel consists of four circular incomplete obstacles, each with a different radius, and one rectangular incomplete obstacle. As shown in
Figure 21b, the obstacle area of the body only consists of virtual obstacles.
The original path of the body is planned with the Theta* algorithm in the M2 map, which is the red line, as shown in
Figure 22. The robot bypasses the virtual obstacle area and crosses over the middle incomplete obstacle. However, there are many turning points to change the direction of the robot. After further smoothing and re-optimization of the original path with the TEB algorithm, the final path is the blue line shown in
Figure 22. The final path is consistent with the original path in general, keeping a safe distance from the obstacle area. Furthermore, the original turning point has been transformed into a curve, as shown in the enlarged view. According to
Section 5.3, the path of the wheel, as shown in
Figure 23, can be obtained according to the robot’s body path. When the robot body passes over the middle incomplete obstacle, the four wheels detour around the incomplete obstacle to shorten the path length, while ensuring safe movement, as shown in the enlarged view in
Figure 23.
6.3. The Simulation of the M3 Map
In the M3 map, the grid maps for the body and wheel are shown in
Figure 24. As shown in
Figure 24a, the obstacle area of the wheels consists of two circular complete obstacles, three circular incomplete obstacles, and two rectangular incomplete obstacles. As shown in
Figure 24b, the obstacle area of the body consists of virtual obstacles and complete obstacles.
The original path of the body is planned using the Theta* algorithm, as the red line shown in
Figure 25. The robot crosses over three incomplete obstacles to the target point while avoiding interference by the virtual obstacle area. When passing through an area composed of a variety of obstacles, the robot can choose the passing strategy for different obstacles. The detour method is adopted for the complete obstacle and the virtual obstacle, and the method of crossing above is adopted for the incomplete obstacle. Smoothing and re-optimization of the original path were carried out using the TEB algorithm. The blue line shown in
Figure 25 demonstrates that the final path is generally consistent with the original path and maintains a safe distance from the obstacle area, thereby ensuring the safety of the robot’s movement. The original turning points have also been smoothed into a curve. According to
Section 5.3, the path of the wheel, as shown in
Figure 26, can be obtained. When the robot body crosses over the incomplete obstacle in the middle of the map, four wheels detour around the incomplete obstacle to ensure its safe movement, while shortening the path length.
6.4. Comparisons
The algorithm proposed in this paper makes some contribution to generating the map for the wheel and body and adopts the Theta* algorithm and TEB algorithm without any significant modification to the planning of the path. Comparisons between the traditional map generation algorithm and the algorithm proposed in
Section 4 in the M1, M2, and M3 maps were carried out and the paths were planned with the Theta* algorithm. The wheel-legged robot was simplified as a single point in the traditional Theta* algorithm. Hence, the obstacles were inflated according to the size of the wheel-legged robot to avoid any collisions between the obstacles and the wheel-legged robot. The grid maps for the body in M1, M2, and M3 using the traditional Theta* algorithm are shown in
Figure 27. As shown in
Figure 27a,b, the area between the start point and the target point is not blocked completely, and a feasible path can be planned. On the contrary, the area between the start point and the target point is blocked completely and no feasible path can be planned (
Figure 27c).
For the M1 and M2 maps, the traditional Theta* algorithm was used to search for a feasible path from the start point to the target point. The paths planned by the traditional Theta* algorithm are shown in
Figure 28. As can be seen in
Figure 28, two paths bypass all obstacles. The length of the path in
Figure 28a is 9.71 m, while the length of the original path in the M1 map, obtained by the algorithm proposed in this paper, is 9.06 m, as shown in
Figure 19. The average length of the four leg paths for the traditional Theta* algorithm is 9.71 m, while that of the proposed algorithm is 9.25 m. Moreover, the length of the path in
Figure 28b is 15.70 m, while the length of the path in the M2 map, in
Figure 22, is 9.1 m. The average length of the four paths for the wheels using the traditional Theta* algorithm is 15.70 m, while that of the proposed algorithm is 9.69 m. Hence, the algorithm proposed in this paper can be adapted for more situations and provided better performance in planned path length than the traditional algorithm. Furthermore, the computation time for planning the path in
Figure 28a was 16.8s, while in
Figure 19 it was 14.3 s. Additionally, the computation time for planning the path in
Figure 28b was 58.0 s, while in
Figure 22 it was 14.8 s. Hence, the algorithm proposed in this paper provided a better planning efficiency than the traditional Theta* algorithm, to some extent.
6.5. Analysis and Discussion
Through the simulations of the M1, M2, and M3 maps, it can be seen that the path planning algorithm proposed in this paper can plan the path of a wheel-legged robot considering its variable configuration in different scenarios. The map of the body and the map of the wheels can be generated to make the free area more accurate for path planning of the body. For different obstacles, the body can choose different strategies to optimize the path. After smoothing using the TEB algorithm, the turning points were replaced by curves to improve the efficiency of the wheel-legged robot. On that basis, the path of the wheel was searched for.
Furthermore, the comparisons between the path planning algorithm proposed in this paper and the traditional Theta* algorithm were carried out. It can be seen that the path planning algorithm proposed in this paper can avoid the overexpansion of the obstacle and provide a more accurate free space. Moreover, the paths planned by the path planning algorithm were shorter than those of the traditional Theta* algorithm and required less planning time. The path-planning algorithm proposed in this paper is more suitable for the wheel-legged robot.
7. Conclusions
In this paper, a path planning algorithm based on the Theta* algorithm and TEB algorithm was proposed considering variable configuration during the wheeled motion of the wheel-legged robot. Firstly, the structure of the wheel-legged robot, which is the main research object, was introduced and the kinematic model of a single leg was established. Secondly, a method was proposed to judge both complete obstacles and incomplete obstacles according to the height of the obstacles and to search for virtual obstacles of the body according to the relative position between the robot and the obstacles. Grid maps for the wheel and body were established. Then, the original path of the body was planned based on the Theta* algorithm, and the original path was smoothed and re-optimized based on the TEB algorithm, considering the constraints of the robot’s velocity, acceleration, running time, and minimum turning radius, which effectively reduces the turning points in the original path and realizes the hierarchical planning and multiple optimizations of the path. Finally, the proposed algorithm was simulated in three maps. The simulation results show that the algorithm proposed in this paper can effectively plan the path of the wheel-legged robot in different types of maps. It can be realized that detouring around the complete obstacles with the minimum distance and crossing over incomplete obstacles is of great significance to give full play to the advantages of the wheel-legged robot with variable configuration. Through the comparison between the algorithm proposed in this paper and the traditional Theta* algorithm, it can be found that the algorithm proposed in this paper can be adopted in more scenarios and has better performance of computation time and path length.
There are some differences between simulation and experimental tests such as the visual sensor accuracy and computer performance. Once the scenario is mapped, the algorithm can be utilized to path plan, while the performance on the path length was approximately the same. However, the planning time may be different between the simulation and the experiment. In the future, the path planning algorithm will be improved to adapt to more complex and rugged terrains, combining wheeled motion and legged motion. The analysis of the computation time will be executed in detail to modify the algorithm and improve the performance of the computation time. Furthermore, the prototype of the wheel-legged robot will also be developed to carry out verification experiments.