Jump to content

Obstacle avoidance: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Citation bot (talk | contribs)
Alter: url. URLs might have been anonymized. | Use this bot. Report bugs. | Suggested by Abductive | Category:Robotics stubs | #UCB_Category 27/156
Speafster (talk | contribs)
No edit summary
Line 1: Line 1:
In [[robotics]], '''obstacle avoidance''' is the task of satisfying some control objective subject to non-intersection or non-collision position constraints. What is critical about [[obstacle]] avoidance concept in this area is the growing need of usage of unmanned aerial vehicles in urban areas for especially military applications where it can be very useful in city wars. Normally obstacle avoidance is considered to be distinct from [[motion planning|path planning]] in that one is usually implemented as a reactive control law while the other involves the [[pre-computation]] of an obstacle-free path which a controller will then guide a robot along. With recent advanced in the [[autonomous vehicle]]s sector, a good and dependable obstacle avoidance feature of a driverless platform is also required to have a robust obstacle detection module. <ref>{{cite journal|last=Fakhrul Razi Ahmad |first=Zakuan |title=Performance Assessment of an Integrated Radar Architecture for Multi-Types Frontal Object Detection for Autonomous Vehicle |journal=2018 IEEE International Conference on Automatic Control and Intelligent Systems (I2CACIS) |date=2018 |url= https://www.researchgate.net/publication/330245995 |display-authors=etal|accessdate=9 January 2019}}</ref>


'''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.
[[Reactive planning|Reactive]] obstacle avoidance is a behavior based control strategy in a robot. It is a task similar to the navigation problem and produces a collision free motion.<ref name="Schaub2017">{{cite book|author=Alexander Schaub|title=Robust Perception from Optical Sensors for Reactive Behaviors in Autonomous Robotic Vehicles|url=https://books.google.com/books?id=5YotDwAAQBAJ|date=18 July 2017|publisher=Springer|isbn=978-3-658-19087-3|page=34}}</ref>


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 [[Sensor|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.<ref name=":0">{{Citation |last=Wang |first=Jiefei |title=What Makes Robots? Sensors, Actuators, and Algorithms |date=2022 |url=https://doi.org/10.1007/978-981-19-1983-1_7 |work=Foundations of Robotics: A Multidisciplinary Approach with Python and ROS |pages=177–203 |editor-last=Herath |editor-first=Damith |access-date=2023-10-24 |place=Singapore |publisher=Springer Nature |language=en |doi=10.1007/978-981-19-1983-1_7 |isbn=978-981-19-1983-1 |last2=Herath |first2=Damith |editor2-last=St-Onge |editor2-first=David}}</ref>
==See also==
* [[D*]] dynamic pathfinding algorithm
* [[Robotics]]
* [[Robot control]]


==References==
== Approaches ==
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.
<references />


== External links ==
=== Sensor-Based Approaches ===
[[File:01Cruise-E-Ultrasonic_Intelligent_Obstacle_Avoidance.gif|thumb|Example of obstacle avoidance using sensors.]]
* [http://www.asirobots.com/research/ Forecast 3D Laser System]: a LIDAR based obstacle detection and avoidance sensor. Forecast generates a 3D [[point cloud]] or cost map output that can be used for robotic command and control software, terrain mapping, and other applications.
One of the most common approaches to obstacle avoidance is the use of various sensors, such as [[ultrasonic]], [[Lidar|LiDAR]], [[radar]], [[sonar]], and [[Camera|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<ref name=":0" /><ref>A. Discant, A. Rogozan, C. Rusu and A. Bensrhair, "Sensors for Obstacle Detection - A Survey," 2007 30th International Spring Seminar on Electronics Technology (ISSE), Cluj-Napoca, Romania, 2007, pp. 100-105, doi: 10.1109/ISSE.2007.4432828.</ref>. 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.
[[File:Weighted_A_star_with_eps_5.gif|thumb|An example of A*, a path planning algorithm]]


=== Path Planning Algorithms ===
== Further reading ==
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* search algorithm|A*]] (A-star), [[Dijkstra's algorithm]], and [[Rapidly exploring random tree|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.<ref>L. G. D. O. Véras, F. L. L. Medeiros and L. N. F. Guimaráes, "Systematic Literature Review of Sampling Process in Rapidly-Exploring Random Trees," in IEEE Access, vol. 7, pp. 50933-50953, 2019, doi: 10.1109/ACCESS.2019.2908100.</ref>
* BECKER, M. ; DANTAS, Carolina Meirelles ; MACEDO, Weber Perdigão, "[https://web.archive.org/web/20131126163902/http://www.abcm.org.br/pt/wp-content/symposium-series/SSM_Vol2/Section_IV_Mobile_Robots/SSM2_IV_05.pdf Obstacle Avoidance Procedure for Mobile Robots]". In: Paulo Eigi Miyagi; Oswaldo Horikawa; Emilia Villani. (Org.). ''ABCM Symposium Series in Mechatronics'', Volume 2. 1 ed. São Paulo - SP: ABCM, 2006, v. 2, p.&nbsp;250-257. {{ISBN|978-85-85769-26-0}}


=== Machine Learning Techniques ===
With the use of machine learning, the range of possibilities for obstacle avoidance becomes far greater. With artificial [[Artificial intelligence|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. <ref>{{Cite journal |last=Bachute |first=Mrinal R. |last2=Subhedar |first2=Javed M. |date=2021-12 |title=Autonomous Driving Architectures: Insights of Machine Learning and Deep Learning Algorithms |url=https://linkinghub.elsevier.com/retrieve/pii/S2666827021000827 |journal=Machine Learning with Applications |language=en |volume=6 |pages=100164 |doi=10.1016/j.mlwa.2021.100164}}</ref>

== Applications ==
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, Inc.|Tesla]] and [[Nvidia]].<ref>{{Cite journal |last=Bimbraw |first=Keshav |date=2015 |title=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 |url=http://dx.doi.org/10.5220/0005540501910198 |journal=Proceedings of the 12th International Conference on Informatics in Control, Automation and Robotics |publisher=SCITEPRESS - Science and and Technology Publications |doi=10.5220/0005540501910198}}</ref>
* '''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. <ref>{{Cite web |title=Mitigating space debris generation |url=https://www.esa.int/Space_Safety/Space_Debris/Mitigating_space_debris_generation#:~:text=The%20most%20effective%20shortterm%20means,the%20objects%20are%20still%20active). |access-date=2023-11-09 |website=www.esa.int |language=en}}</ref>
* '''Drones''': Drones can be used autonomously for a variety of reasons, some of which include mail, military, mapping, agriculture, and much more. <ref>{{Cite web |last=Technology Editor |date=October 20, 2023 |title=Autonomous Aerial Vehicles & Drones |url=https://www.unmannedsystemstechnology.com/expo/autonomous-aerial-vehicles/#:~:text=Autonomous%20drones%20are%20being%20developed,as%20surveillance%20and%20border%20patrol. |url-status=live |access-date=November 9, 2023 |website=unmannedsystemstechnology.com}}</ref>
* '''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.<ref>{{Cite journal |last=Iclodean |first=Calin |last2=Cordos |first2=Nicolae |last3=Varga |first3=Bogdan Ovidiu |date=2020-06-06 |title=Autonomous Shuttle Bus for Public Transportation: A Review |url=https://www.mdpi.com/1996-1073/13/11/2917 |journal=Energies |language=en |volume=13 |issue=11 |pages=2917 |doi=10.3390/en13112917 |issn=1996-1073}}</ref>
* '''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 ==
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. <ref>{{Cite web |last=Kohout |first=Bob |title=Challenges in Real-Time Obstacle Avoidance |url=https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=09d98e94fe4f71950f24a0e0e3b998abd0633d6f |url-status=live}}</ref>

==References==<!--See https://en.wikipedia.org/wiki/Help:Referencing_for_beginners on how to create references.-->
<references group="" responsive="1"></references>
[[Category:Control theory]]
[[Category:Control theory]]
[[Category:Robot control]]
[[Category:Robot control]]

{{robotics-stub}}

Revision as of 16:52, 16 November 2023

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

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 Approaches

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

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

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

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

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

  1. ^ a b Wang, Jiefei; Herath, Damith (2022), Herath, Damith; St-Onge, David (eds.), "What Makes Robots? Sensors, Actuators, and Algorithms", 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, retrieved 2023-10-24
  2. ^ A. Discant, A. Rogozan, C. Rusu and A. Bensrhair, "Sensors for Obstacle Detection - A Survey," 2007 30th International Spring Seminar on Electronics Technology (ISSE), Cluj-Napoca, Romania, 2007, pp. 100-105, doi: 10.1109/ISSE.2007.4432828.
  3. ^ L. G. D. O. Véras, F. L. L. Medeiros and L. N. F. Guimaráes, "Systematic Literature Review of Sampling Process in Rapidly-Exploring Random Trees," in IEEE Access, vol. 7, pp. 50933-50953, 2019, doi: 10.1109/ACCESS.2019.2908100.
  4. ^ Bachute, Mrinal R.; Subhedar, Javed M. (2021-12). "Autonomous Driving Architectures: Insights of Machine Learning and Deep Learning Algorithms". Machine Learning with Applications. 6: 100164. doi:10.1016/j.mlwa.2021.100164. {{cite journal}}: Check date values in: |date= (help)
  5. ^ Bimbraw, Keshav (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 and Technology Publications. doi:10.5220/0005540501910198.
  6. ^ "Mitigating space debris generation". www.esa.int. Retrieved 2023-11-09.
  7. ^ Technology Editor (October 20, 2023). "Autonomous Aerial Vehicles & Drones". unmannedsystemstechnology.com. Retrieved November 9, 2023. {{cite web}}: |last= has generic name (help)CS1 maint: url-status (link)
  8. ^ Iclodean, Calin; Cordos, Nicolae; Varga, Bogdan Ovidiu (2020-06-06). "Autonomous Shuttle Bus for Public Transportation: A Review". Energies. 13 (11): 2917. doi:10.3390/en13112917. ISSN 1996-1073.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  9. ^ Kohout, Bob. "Challenges in Real-Time Obstacle Avoidance".{{cite web}}: CS1 maint: url-status (link)