## 4 Environment Perception, Mapping, and Representation for Locomotion
### Survey of Environment Perception for Locomotion in Snake Robots
It is worth noting that the snake robot in [60] is equipped with actively-driven tracks for propulsion in slippery terrains. Ultrasound sensors are used in a similar fashion, and their data can also be used to estimate the snake robot's speed in case it is approaching an obstacle [59]. A combination of ultrasound sensors for mapping and obstacle avoidance and passive infrared sensors for the detection of human life in urban search-and-rescue applications is proposed in [63], though details on how the sensor information is exploited is not provided. A more detailed and accurate representation of the environment can be achieved by the use of LiDAR sensors, sometimes combined with ultrasound sensors as in [62]. The use of LiDAR even allows for the generation of richer and more complete maps. The use of such sensors in a SLAM framework is demonstrated in [64]: the snake robot is equipped with a LiDAR sensor in the head, and a camera and infrared sensors in the sides. The camera is used to provide position information to the remote operator who controls the desired velocity of the snake robot using a joystick. The snake then uses the LiDAR to perform SLAM, producing a map and an estimated position of the robot itself in that map. The robot then uses the output from the SLAM to navigate the environment, while using the infrared sensor information in a reactive way to avoid obstacles not detected by the LiDAR and overcome the errors in the SLAM. The work in [66] studies the use of SLAM in snake robots. It emphasizes two important challenges of SLAM in this type of robot in comparison with existing approaches of SLAM: on one hand, the use of odometry-less models, and on the other hand, the lack of features or landmarks that characterizes navigation environments such as the inside of tunnels and pipes, which is a typical focus for snake robots. A rotating LiDAR is used in [65] to scan the environment and generate a 2.5 dimensional map that then can be used to perform motion planning in 3D. The main objective of this system is to overcome challenging obstacles such as stairs, for which the robot also relies on active wheels. The point clouds generated by the LiDAR are also matched across time, estimating the relative localisation that is then used to correct the robot odometry. The work in [67] also approaches step climbing using a LiDAR sensor, which is used to calculate the relative position of the snake's head to the step and its height. Several measurements of the LiDAR are fused through an Extended Kalman Filter in order to reduce the measurement's uncertainty and detect the line segments that correspond to the different planes of the step. This information is then fed into a model predictive control (MPC) algorithm to generate a collision-free trajectory. In [66], the influence of two different SLAM algorithms using serpentine locomotion in a featureless environment is presented. The use of onboard _vision_ systems to perceive the environment and influence the snake robot's motion is limited in the literature. In a simplified example [86], a camera mounted in the head of the snake robot is adopted to detect a black tape attached on the ground and then use that information as the desired trajectory for the snake. Time-of-flight (ToF) cameras provide 3D information of the environment in the form of depth images or point clouds, without requiring any additional scanning movement. A modified version of the iterative closest point (ICP) algorithm is used in [69] to combine the information of an inertial measurement unit (IMU) with a ToF camera. The ICP [87] is a well-known algorithm that calculates the transformation (translation and rotation) to align two point clouds that minimises the mean squared error between the point pairs of the point clouds. The modifications proposed for the ICP are intended to speed up and increase the robustness. The objective of this process is to perform localisation and mapping. Localisation is demonstrated at four frames per second, while map construction was done offline.