## 1 Introduction  
Bio-inspired robots have developed rapidly in recent years. Despite the great success of bio-robotics in mimicking biological snakes, there is still a large gap between the performance of bio-mimetic robot snakes and biological snakes. In nature, snakes are capable of performing an astounding variety of tasks. They can locomote, swim, climb, and even glide through the air in some species [1]. However, one of the most interesting features of biological snakes is their ability to exploit roughness in the terrain for locomotion [2], which allows them to be remarkably adaptable to different types of environments. To achieve this adaptability and to locomote more efficiently, biological snakesmay push against rocks, stones, branches, obstacles, or other environment irregularities. They can also exploit the walls and surfaces of narrow passages or pipes for locomotion. Building a robotic snake with such agility is one of the most attractive steps to fully mimic the movement of biological snakes. The development of such a robot is motivated by the fact that different applications may be realised for use in challenging real-life operations, in earthquake-hit areas, pipe inspection for the oil and gas industry, fire-fighting operations, and search-and-rescue. Snake robot locomotion in a cluttered environment where the snake robot utilises walls or external objects other than the flat ground as means of propulsion can be defined as _obstacle-aided locomotion_[3, 4]. To achieve such a challenging control scheme, a mathematical model that includes the interaction between the snake robot and the surrounding operational environment is beneficial. This model can take into account the external objects that the snake robot uses in the environment as push-points to propel itself forwards. From this perspective, the environment perception, mapping, and representation is of fundamental importance for the model. To highlight this concept even further, we adopt the term _perception-driven obstacle-aided locomotion_ as locomotion where the snake robot utilises a sensory-perceptual system to exploit the surrounding operational space and identifies walls, obstacles, or other external objects for means of propulsion [5]. Consequently, we can provide a more comprehensive characterization of the whole scientific problem considered in this work. The underlying idea is shown in Figure 1. The snake robot exploits the environment for locomotion by using augmented information: obstacles are recognised, potential push-points are chosen (shown as cylinders), while achievable normal contact forces are illustrated by arrows. The goal of this paper is to further raise awareness of the possibilities with perception-driven obstacle-aided locomotion for snake robots and provide an up-to-date stepping stone for continued research and development within this field. Figure 1: The underlying idea of snake robot perception-driven obstacle-aided locomotion: a snake robot perceives and understands its environment in order to utilise it optimally for locomotion. In this paper, we survey the state of the art within perception-driven obstacle-aided locomotion for snake robots, and provide an overview of challenges and possibilities within this area of snake robotics. We propose the identification of different levels of autonomy, such as environmental complexity, mission complexity, and external system dependence. We provide a step-wise approach on how to increment snake robot abilities within guidance, navigation, and control in order to target the different levels of autonomy. We review current strategies for snake robot locomotion in the presence of obstacles. Moreover, we discuss and present an overview of relevant key technologies and methods within environment perception, mapping, and representation which constitute important aspects of perception-driven obstacle-aided locomotion.