Obstacle avoidance

Obstacle avoidance, in robotics, is a critical aspect of autonomous navigation and control systems. It is the capability of a robot or an autonomous system/machine to detect and circumvent obstacles in its path to reach a predefined destination. This technology plays a pivotal role in various fields, including industrial automation, self-driving cars, drones, and even space exploration. Obstacle avoidance enables robots to operate safely and efficiently in dynamic and complex environments, reducing the risk of collisions and damage.

For a robot or autonomous system to successfully navigate through obstacles, it must be able to detect such obstacles. This is most commonly done through the use of sensors, which allow the robot to process its environment, make a decision on what it must do to avoid an obstacle, and carry out that decision with the use of its effectors, or tools that allow a robot to interact with its environment.[1]

## Approaches

[edit]

There are several methods for robots or autonomous machines to carry out their decisions in real-time. Some of these methods include sensor-based approaches, path planning algorithms, and machine learning techniques.

### Sensor-based

[edit]

Example of obstacle avoidance using sensors.

One of the most common approaches to obstacle avoidance is the use of various sensors, such as ultrasonic, LiDAR, radar, sonar, and cameras. These sensors allow an autonomous machine to do a simple 3 step process: sense, think, and act. They take in inputs of distances in objects and provide the robot with data about its surroundings enabling it to detect obstacles and calculate their distances. The robot can then adjust its trajectory to navigate around these obstacles while maintaining its intended path. All of this is done and carried out in real-time and can be practically and effectively used in most applications of obstacle avoidance[1][2]

While this method works well under most circumstances, there are such where more advanced techniques could be useful and appropriate for efficiently reaching an endpoint.

An example of A*, a path planning algorithm

### Path planning algorithms

[edit]

Path Planning Algorithms are critical for optimally calculating and routing collision-free paths. These algorithms take into account the robot's position, destination, and the locations of obstacles in the environment. They take and store this information to map out an area, and then use that map to calculate the fastest possible route to a specific destination. Such algorithms are commonly used in routing mazes and autonomous vehicles. Popular path-planning algorithms include A* (A-star), Dijkstra's algorithm, and Rapidly-exploring Random Trees (RRT). These algorithms help the robot find the quickest path to reach its goal while avoiding collisions, all in real time.[3]

### Machine learning techniques

[edit]

With the use of machine learning, the range of possibilities for obstacle avoidance becomes far greater. With artificial intelligence (AI), an autonomous machine can figure out a path to get to its destination, but can also learn to adapt to a rapidly changing environment at the same time. It can do this by being put through many testing stages of exposure to obstacles and environmental changes. By giving an AI a task and reward for doing a task correctly, over time, it can learn to do this task efficiently and effectively. This allows the machine to understand what its obstacles are and to come up with an efficient path around them. It also gives the machine the ability to learn how to deal with specific cases, which can include dealing with water, hills, high winds or temperatures, etc. This use of AI allows the autonomous machine to react accordingly to a plethora of situations that could be expected or unexpected. This form of obstacle avoidance is especially good in autonomous vehicles as it removes possible human errors that can occur.[4]

## Applications

[edit]

Obstacle avoidance can be found in a variety of different fields, including but not limited to:

Autonomous vehicles
Vehicles with the ability to drive themselves have been around since the 1980s and have been especially popularized in modern culture due to companies such as Tesla and Nvidia.[5]
Satellites
Due to there being debris around Earth's orbit, satellites must be able to avoid such debris. They can do this by detecting and calculating if and when an object will hit the satellite. Once that is done, the satellite can use drag to decelerate and change its trajectory to avoid impact. [6]
Drones
Drones can be used autonomously for a variety of reasons, some of which include mail, military, mapping, agriculture, and much more.[7]
Public Transport
The rise of autonomous vehicles has also lead to their use for public transports as a cheaper alternative to hiring drivers, while also removing possible human error.[8]
Industrial Systems
Large corporations use obstacle avoidance when it comes to their automated industrial systems, which replace the need for workers and reduces the amount of mistakes made.

## Challenges

[edit]

Although these strategies for incorporating obstacle avoidance work, there are challenges to them that still require further development and planning. For one, it's difficult for sensors to quickly take in information on their environment, have the machine process the information, and make a decision about what it has to do to avoid an obstacle when it's moving too fast. This problem is very difficult to fix and if the machine can't act quickly enough, it can lead to the danger or destruction of the machine and any people around it. It is also incredibly difficult to account for every possible obstacle that can get in the way of an autonomous machine. For example, when it comes to satellites, there are millions of pieces of debris in Earth's orbit, so it is difficult to know when one may hit a satellite and from where and when.[9]

## References

[edit]

1. ^ a b Wang J, Herath D (2022). "What Makes Robots? Sensors, Actuators, and Algorithms". In Herath D, St-Onge D (eds.). Foundations of Robotics: A Multidisciplinary Approach with Python and ROS. Singapore: Springer Nature. pp. 177–203\. doi:10.1007/978-981-19-1983-1_7. ISBN 978-981-19-1983-1.
2. ^ Discant A, Rogozan A, Rusu C, Bensrhair A (May 2007). Sensors for obstacle detection-a survey. 2007 30th International Spring Seminar on Electronics Technology (ISSE). IEEE. pp. 100–105\. doi:10.1109/ISSE.2007.4432828.
3. ^ Véras LG, Medeiros FL, Guimaráes LN (March 2019). "Systematic literature review of sampling process in rapidly-exploring random trees". IEEE Access. 7: 50933–50953\. Bibcode:2019IEEEA...750933V. doi:10.1109/ACCESS.2019.2908100. S2CID 133481997.
4. ^ Bachute MR, Subhedar JM (December 2021). "Autonomous Driving Architectures: Insights of Machine Learning and Deep Learning Algorithms". Machine Learning with Applications. 6: 100164. doi:10.1016/j.mlwa.2021.100164. S2CID 240502983.
5. ^ Bimbraw K (2015). "Autonomous Cars: Past, Present and Future - A Review of the Developments in the Last Century, the Present Scenario and the Expected Future of Autonomous Vehicle Technology". Proceedings of the 12th International Conference on Informatics in Control, Automation and Robotics. Scitepress - Science and Technology Publications. pp. 191–198\. doi:10.5220/0005540501910198. ISBN 978-989-758-122-9. S2CID 9957244.
6. ^ "Mitigating space debris generation". European Space Agency. Retrieved 2023-11-09.
7. ^ "Autonomous Aerial Vehicles & Drones". Unmanned Systems Technology. October 20, 2023. Retrieved November 9, 2023.
8. ^ Iclodean C, Cordos N, Varga BO (2020-06-06). "Autonomous Shuttle Bus for Public Transportation: A Review". Energies. 13 (11): 2917. doi:10.3390/en13112917. ISSN 1996-1073.
9. ^ Kohout B (2000). "Challenges in Real-Time Obstacle Avoidance". AAAI Spring Symposium on Real-Time Autonomous Systems.