1. Introduction
Snake robot has super redundant degrees of freedom, strong flexibility, and can adapt to various complex environments [Reference Baysal and Altas1]. At present, snake robot is mainly used in disaster area search and rescue [Reference Yang, Wang and Shen2], Aerospace [Reference Han, Chon, Kim, Seo, Shin, Park, Kim, Kim, Jin and Cho3], firefighting [Reference Liljebäck4], pipeline exploration [Reference Toyoshima and Matsuno5, Reference Prada, Valášek, Virgala, Gmiterko, Kelemen, Hagara and Lipták6], dangerous area investigation [Reference Liu, Wang, Li and Deng7], battlefield blasting, medical treatment [Reference Wang, Puranam, Misra and Venkiteswaran8], and other aspects. Due to its various advantages, snake robot has high research value.
Since snake robot typically needs to complete tasks in unstructured environments, external sensors are needed to construct a global map, plan paths, and autonomously avoid obstacles based on the map, track paths based on planned path, and complete tasks at the target point. The path planning of snake robot is usually carried out using fast extended random Tree (RRT) algorithm or Artificial Potential Field method (APF). RRT algorithms are often suitable for finding optimal path in complex maps. The APF algorithm is often used for autonomous obstacle avoidance in environments with many obstacles, by which planned path is relatively smooth. The path tracking of snake robot is usually carried out using the line of sight (LOS) algorithm, which has characteristics of high computational efficiency and small error and can efficiently control snake robot to follow the planned path.
Kenglung Hsu uses bidirectional RRT algorithm for path planning, introducing virtual forces to optimize the path, so that snake robot can reach the target point along a smooth path [Reference Hsu9]; Zhen Wang established a kinematic model of snake robot arm and obstacles based on an improved RRT algorithm, conducted collision detection, and generated an effective collision-free path [Reference Wang, Chang, Li, Wang and Liu10]. Xu Chen uses the APF algorithm in conjunction with ant colony algorithm to plan the path of snake robot [Reference Chen and Jiang11]. Weixin Yang uses the LOS algorithm and cubic spline interpolation path-planning method to plan the path of an under-actuated snake robot [Reference Yang, Wang, Shao and Shen12]. Yang Xiu uses an adaptive path-tracking controller and combines the anti-sideslip LOS algorithm for path tracking [Reference Xiu, Li, Zhang, Law and Wu13].
When snake robot adopts a peristaltic gait for navigation, to ensure that the robot can stably follow the path, it is necessary to carry out real-time steering control of the robot to reduce the error between the robot and the path during the navigation process. To solve this problem, this paper improves the prototype of the non-wheeled snake robot [Reference Takanashi, Nakajima, Takemori and Tanaka14] on the basis of the RRT algorithm and the LOS algorithm and uses the improved steering control strategy to control the robot in real time to ensure that snake robot can stably follow the path to the target point.
2. Hardware improvement
Facing the autonomous navigation task of snake robot, this paper improves and optimizes the hardware equipment of the snake robot prototype. Based on the original 16-joint snake robot [Reference Ni, Li, Zhou, Zhao and Liu15], a head module and battery module were added.
In the past, we have developed a non-wheeled snake robot with 16 DOF (degrees of freedom). The robot consists of 16 modular joints. The robot is shown in Fig. 1(a). Snake robot communicates and supplies power to the host computer and power supply through wired means. Snake robot can complete tasks such as peristaltic gait, rolling gait, spiral rolling gait, and head control based on Bezier curve [Reference Zhou, Zhang, Ni and Liu16], and relevant main work is described in ref. [Reference Ni, Li, Zhou, Zhao and Liu15]. Snake robot communicates and supplies power to the host computer and power supply through wired means.
In this paper, wired communication and power supply are improved to wireless means. Snake robot consists of 16 modular joints, a head module, and a tail battery module. The robot is shown in Fig. 1(b). The joint modules of snake robot are orthogonally connected and can perform three-dimensional motion in space. The tail battery module is responsible for supplying power to snake robot. The head module includes devices such as a head controller, inertial sensors, and laser rangefinder. The head controller of snake robot is a computing rod responsible for processing sensor information and overall motion planning of snake robot.
2.1. Head module
Snake robot head controller consists of external sensors and internal controllers. External sensors include LiDAR and inertial sensors (IMU).
IMU: The IMU in the head module of snake robot measures the head posture and stably controls the head through the posture compensation control strategy to ensure stable LiDAR mapping.
LiDAR: Snake robot adopts 2D planar LiDAR, which has the ability of laser ranging sampling of 16,000 times per second, which can realize 360° all-round ranging scanning within a radius of 25 m and generate spatial plane point cloud data. The measurement blind area is 0.2 m, the angular resolution is 0.225°, and the scanning pitch angle range is ± 1.5°.
Head controller: The control system of snake robot adopts a hierarchical control method, which are human-computer interaction layer, head controller layer, and joint layer. The head controller integrates a computing stick, camera, photosensitive element, LED light, and PCB board. Among them, the computing stick is the main controller, which can complete the collection, processing, and sending of visual information; the gait planning of snake robot is based on the gait equation calculates the joint angle of each joint, and transmits it to the FPGA via USB. After receiving the instruction, the FPGA performs trajectory planning, reads the actual angle of each joint through the PPSECO bus [Reference He, Jin, Yang, Wei, Liu, Cai, Liu, Seitz, Butterfass and Hirzinger17], performs PD control [Reference Tomei18] or speed damping control, and converts the control parameters into PWM values and sends them to each joint controller, thereby achieving control of each joint motor.
The main controller in the head controller is a computing stick, which is produced by Intel. Its model is STK1AW32SCL. The processor is Atom X5-Z8000. It has 2 g, 32G memory, and 2 USB sockets (USB2.0 and USB3.0), its built-in program can be developed using C++ on VS2017, using Windows system, and has high computing processing capabilities. The computing stick is equipped with a wireless network card, which can receive instructions sent by the host computer through Wi-Fi communication; send instructions to the FPGA; receive data from the FPGA; and then forward the data to the host computer through Wi-Fi. The wireless communication capabilities of snake robot were verified through wireless communication test experiments. The snake robot control system is shown in Fig. 2.
Head controller solves the problem of remote communication between snake robot, ensuring real-time communication and control real time between host computer and robot in the process of autonomous navigation.
2.2. Battery module
To meet autonomous obstacle avoidance task of snake robot, robot needs to be wirelessly powered. Tail battery is added to robot body to power the robot. Robot uses lithium batteries for power supply.
After installing the battery module, the power supply test was carried out, and the results proved that battery module could provide stable power supply to the robot, which could ensure the stable operation of snake robot and solve the problem of wireless power supply of snake robot. The battery drive test is shown in Fig. 3.
After adding head module and battery module, robot can perform tasks such as stabilizing head and real-time mapping through laser radar, IMU, and other equipment. It can realize real-time motion control of robot through head controller and battery module. Autonomous power supply for robot.
3. Autonomous navigation and steer control
Autonomous navigation of snake robot is carried out by synchronous positioning and map construction through hector slam [Reference Wei, Yang, Kong and Sun19], path planning is carried out by RRT, and path tracking of snake robot is carried out by LOS with steering control [Reference Xiu, Li, Deng, Jiang and Wu20]. Basic process is shown in Fig. 4.
3.1. Hector slam algorithm
Based on the IMU posture feedback method to stabilize head [Reference Bao, Sun, Wang and Xie21], the head LiDAR is used to map the environment when snake robot is moving. In Fig. 5, the schematic diagram of robot positioning and mapping is depicted.
For Hector slam [Reference Nagla22], this project uses planar LiDAR, so planar map construction is required. First, a raster map is constructed based on the center of the LiDAR as the origin, and the scale coefficient of the raster map and the actual world coordinates is set to correspond to the scale of the raster map and the real environment. For raster maps, each raster has an occupied probability value M(Si), ranging from [0,1]. 0 means completely free and not occupied. Finger 1 is fully occupied. Unknown areas are assigned a value of −1.
where n is the number of points acquired in one LiDAR scan. χ = [P x , P y , φ], contains the displacement (P x , P y ) and plane rotation angle φ when scan matching occurs. S i (χ) is the position of the scanning point in the world coordinate system.
where Si = [S i,x , S i,y ] is the coordinate of the LiDAR scanning point. Given the initial value χ 0 = [P x0 ,P y0 ,φ], based on the steepest descent method (1), the scan matching pose, χ* can be solved, and then, the plane pose of snake robot can be calculated. Once the pose of the robot head is determined, the grid map is updated through the Bresenham’s straight-line algorithm [Reference Kaleem, Verma and Idrisi23].
3.2. LOS algorithm tracking path
Based on IMU posture feedback method to stabilize the head, the head LiDAR is used to map the environment when snake robot is moving. LOS algorithm is shown in Fig. 6.
After obtaining the raster map, the RRT algorithm [Reference Ullah and Mahmood24] is used to plan the robot’s autonomous navigation path. After the planned path is obtained, the LOS algorithm [Reference Singh, Anshul and Choset25, Reference Li, Zhang, Li, Law, Xiang, Xu, Zhu and Wu26] is used for path tracking.
Ps represents the current position of the robot head, Pk , Pk + 1 , Pk + 2 represent the trajectory points of the planned trajectory. Select the radius RLOS to represent the point that intersects with Pk -Pk + 1 . Select the point PLos close to Pk + 1 as the LOS point, the direction the robot to PLOS is the LOS angle, and the LOS angle can be calculated by the following equation:
ψLOS in formula is the angle of LOS angle. By calculating the angle between the head direction and the LOS angle, the robot steering is controlled.
The steering angle of the robot is indirectly controlled by controlling u.
When the robot reaches the vicinity of Pk + 1 and the radius is within the RAC range, the current path point is updated as the next path point.
3.3. Robot steering control
Based on the steering control quantity u, snake robot is steered and controlled [Reference Cao, Zhang and Zhou27]. The block diagram of robot’s autonomous navigation control system is shown in Fig. 7.
For the creeping gait [Reference Shugen Ma, Li and Inoue28] of snake robot, the gait equation is as follows:
where θ is the n-th joint angle at the k-th moment. ω t controls the frequency of creeping gait changing with time, and ω n is the spatial frequency of creeping gait. u k can control the steering of snake robot. Based on the LiDAR local coordinate system, we have
where M=[v h ;v t ], v h =[-1,0] are the unit direction vectors of the head module axis in the LiDAR local coordinate system. v t is the unit direction vector from the origin of the radar local coordinate system to the center of the fitting circle. φ is the deflection angle of the dynamic target relative to the robot head. Arctan2 is the arctangent function of two parameters. For the steering control amount $\delta u$ , PD control is used as:
where k p and k d are pd control parameters, respectively. u lim is the upper limit of the turning control variable u k + 1 .
Real-time steering control of the robot is performed through steering control parameters, and the robot’s path tracking is completed in conjunction with the creeping gait.
The steering joints of snake robot are controlled by the steering parameters of robot.
4. Simulation and experiment
This article uses the GAZEBO simulation environment to conduct autonomous navigation simulation verification of snake robot.
Fig. 8 shows the map and planned path constructed by LiDAR under RVIZ, and it can be seen that snake robot can stably follow the planned path and reach the target point.
In this paper, the wireless snake robot is used to carry out autonomous navigation and path-following experiments on snake robot. Snake robot and experimental scene are shown in Fig. 9. The ground in the scene is made of rubber to increase the friction parameters between the robot and the ground and improve the robot’s navigation efficiency. Based on theory in section 3, experiments on autonomous navigation and path following were conducted on snake robot prototype.
Trajectory tracking error under simulation and experiment is shown in Fig. 10. By comparing the planned path in the experiment with the actual tracking path of the robot, it can be seen that snake robot’s trajectory tracking error is between 0-6 cm, the average tracking error in experiment is 2.54 cm, which is 3.66 cm in simulation. Snake robot can stably follow the planned path, avoid obstacles autonomously, and finally reach the target point to complete its autonomous navigation.
During the simulation and experimental verification process, it can be found that snake robot completed autonomous navigation in simulation and experiment for about 30 minutes. The average trajectory error in the simulation is 3.66 cm, while the average trajectory error in the experiment is 2.54 cm. There are two reasons for the trajectory error, one is caused by the error of the map data itself during the robot movement and the other is caused by the communication interval between the robot path planning and the robot sensor data.
5. Discussion
From the error data of simulation and experiment, it can be seen that with the help of RRT algorithm for path planning and LOS algorithm for path tracking, the trajectory error of snake robot is small in the process of real-time steering, and the robot can stably follow the established path to the target point, with high efficiency. The creeping gait movement of the snake robot itself may introduce fluctuations in the LiDAR scanning data, leading to errors in the mapped data and affecting trajectory accuracy. Additionally, there is a time interval between the communication of snake robot and the host computer, resulting in a delay in updating the robot’s pose on the host computer. These factors collectively contribute to trajectory errors, which are targeted for improvement in future developments.
6. Conclusion
By improving the prototype of snake robot, the robot can use its own equipment to carry out synchronous positioning and map construction in an unknown environment, and with the help of Wi-Fi, it can communicate with the host computer in real time to complete the real-time control the robot by the host computer, and the battery module ensures the power supply problem under the stable operation the robot. Based on the improved snake robot, with the help of RRT algorithm and LOS algorithm for path planning and tracking, this paper adopts a real-time steering control strategy based on the peristaltic gait of snake robot to control the robot, to ensure that snake robot can stably follow the path to the target point during autonomous navigation.
Author contributions
Liming Bao, Yongjun Sun, and Zongwu Xie conceived and designed the study and wrote the article.
Financial support
This research was funded by China Postdoctoral Science Foundation funded project (2021T140159).
Competing interests
The authors declare no competing interests exist.
Ethical approval
None.