For any mobile device, the ability to navigate in its environment is important. Avoiding dangerous situations such as collisions and unsafe conditions (temperature, radiation, exposure to weather, etc.) comes first, but if the robot has a purpose that relates to specific places in the robot environment, it must find those places. This article will present an overview of the skill of navigation and try to identify the basic blocks of a robot navigation system, types of navigation systems, and closer look at its related building components.
Robot navigation means the robot’s ability to determine its own position in its frame of reference and then to plan a path towards some goal location. In order to navigate in its environment, the robot or any other mobility device requires representation, i.e. a map of the environment and the ability to interpret that representation.
Navigation can be defined as the combination of the three fundamental competences:
Map-building and map interpretation
“Map” in this context denotes any one-to-one mapping of the world onto an internal representation.
Robot localization denotes the robot’s ability to establish its own position and orientation within the frame of reference. Path planning is effectively an extension of localisation, in that it requires the determination of the robot’s current position and a position of a goal location, both within the same frame of reference or coordinates. Map building can be in the shape of a metric map or any notation describing locations in the robot frame of reference.
Vision-based navigation or optical navigation uses computer vision algorithms and optical sensors, including laser-based range finder and photometric cameras using CCD arrays, to extract the visual features required to the localization in the surrounding environment. However, there are a range of techniques for navigation and localization using vision information, the main components of each technique are:
representations of the environment.
In order to give an overview of vision-based navigation and its techniques, we classify these techniques under indoor navigation and outdoor navigation.
The easiest way of making a robot go to a goal location is simply to guide it to this location. This guidance can be done in different ways: burying an inductive loop or magnets in the floor, painting lines on the floor, or by placing beacons, markers, bar codes etc. in the environment. Such Automated Guided Vehicles (AGVs) are used in industrial scenarios for transportation tasks. Indoor Navigation of Robots are possible by IMU based indoor positioning devices.
There are a very wider variety of indoor navigation systems. The basic reference of indoor and outdoor navigation systems is “Vision for mobile robot navigation: a survey” by Guilherme N. DeSouza and Avinash C. Kak.
AVM Navigator is an additional module of the RoboRealm (plugin) that provides object recognition and autonomous robot navigation using a single video camera on the robot as the main sensor for navigation.
It is possible due to using of an “Associative Video Memory” (AVM) algorithm based on multilevel decomposition of recognition matrices. It provides image recognition with low False Acceptance Rate (about 0.01%). In this case visual navigation is just the sequence of images (landmarks) with associated coordinates that was memorized inside AVM tree during route training. The navigation map is presented as the set of data (such as X, Y coordinates and azimuth) associated with images inside AVM tree. When a robot sees images from camera (marks) that can be recognized then it confirms its current location.
The navigator creates a way from the current location to target position as a chain of waypoints. If the robot’s current orientation does not point to the next waypoint then the navigator turns the robot body. When the robot reaches a waypoint the navigator changes direction to the next waypoint in the chain and so on until the target position is reached.
Some recent outdoor navigation algorithms are based on convolutional neural network and machine learning, and are capable of accurate turn-by-turn inference .
Autonomous Flight Controllers
Typical Open Source Autonomous Flight Controllers have the ability to fly in full automatic mode and perform the following operations;
Take off from the ground and fly to a defined altitude
Fly to one or more waypoints
Orbit around a designated point
Return to the launch position
Descend at a specified speed and land the aircraft
The onboard flight controller relies on GPS for navigation and stabilized flight, and often employ additional Satellite-based augmentation systems (SBAS) and altitude (barometric pressure) sensor.
Source from Wikipedia