Site icon RMA IT Consultants Magazine

Obstacle avoidance in service robots

Collision avoidance

Collision avoidance

Obstacle avoidance in service robots

Introduction

A service robot is an autonomous robot, and it supposed to traverse from its start point to the destination and avoid colliding with objects.

In practice, a disinfection service robot might have several destinations that travel from ward to ward to perform its tasks. Or, it might interact with the operator like restaurant staff to deliver food tray to a particular table. Or, like a guiding service robot, it might interact with a shopping mall visitor who looks to find a store. The guiding robot might take the customer to the requested shop.

In all the above examples, we presume one feature of the robots operates appropriately. That feature is avoiding collision with fixed and moving objects that cross the path of the robot.

The avoidance of objects takes place with many different approaches based on the goals of a robot. We see the service robots around with different algorithms based on the use-case. The use-case of the robot defines what algorithm and complexity of the algorithm we need to use. For example, Roomba, the vacuum cleaner robot, is using a straightforward algorithm. It starts the path, and it supposed to sweep the entire area, so the course is simple. Once it faces an object, fixed or moving, it just moves back and changes its direction to avoid collision and continue the sweeping.

In the case of robots that are running in hallways’ maze of hospitals or hotels, the situation will be different. In these cases, we need a smoother and more efficient movement than going back and changing direction. The timing the robot spent to reach to its destination becomes an essential factor of robot operation quality.

For example, a disinfection robot in a hospital should move from ward to ward, cross the hallways, and at the same time, avoids hitting objects in the path. Besides, the robot should recognize the destination to perform its tasks, like spraying disinfectants, or emitting UVC.

 

Operation environment

We can classify the collision avoidance and path planning into two categories. First, a robot can navigate in a known environment through pre-built maps. And second, it can navigate in an unknown environment by using sensors’ data in real-time.

The indoor robots usually operate in a known environment. In this case, it is possible to upload the premise map into the robot memory. Along with the premise map, the robot uses the obstacle avoidance algorithm to prevent a collision on the way to the destination.

Parameters of the robot operation

The robot, on its way to the destination point, needs to sense many parameters, process them, and make decisions to adjust its path.

The sensed parameters are the inputs of the robot. The robot uses these inputs along with the previous state of operation and preset map to process and decides the next move.

In summary, we can name the following parameters as inputs for the robot:

·         Robot input data

o   Pre-set map of the environment

o   The starting point of the robot

o   A safe distance from objects for the robot

o   Speed of the robot

o   Previous states of the robot for several time intervals. Considering many states is to increase the precision of movement

·         Objects input data through the robot sensors

o   The location of objects that the robot sensed in the path, short and long

o   The direction of moving objects

o   Speed of the moving objects

The number of input parameters to an autonomous robot will define the complexity of the algorithm and the quality of the robot movement.

Sensors

To avoid an obstacle in an autonomous robot, we need to install several sensors to gather the surrounding information as the inputs. The robot needs to collect 360 degrees surrounding data for near distance, as well as long distance.

Sound-based and vision-based sensors are the sensors used in autonomous robots. Some of these sensors are ultrasound, sonar, lidar, optical velocity sensor, laser sensor, and Microsoft Kinect, to name. We cannot use only one type of these sensors due to their limitations. We usually use a combination of them to have high-performance movement in the robot. Using combined sensors helps to detect objects in the near and far distance with high precision.

The type of sensors is a defining factor in the costing of the robot hardware. Based on the type and number of sensors, the hardware circuits get more complicated.

Algorithms

The complexity of the algorithm depends on the number of input parameters, the implication of the robot past states, and the number of outputs the algorithm should generate.

The route planning and obstacle avoidance algorithms in autonomous robots had a very humble start. The most straightforward algorithm was when a robot is sensing an object in its path. The robot would stop and then change direction to the left or to the right to avoid the collision, and then continue the course. A straightforward algorithm and not very efficient! In this algorithm, we could hit a dead-end.

The next approach was to make the robots try to avoid the objects by traversing the edge of the object in front of them to avoid the collision. But still, this method is not efficient enough to go from point A to point B.

Finding the gap between objects in the pathway is another approach to avoid a collision. For the robot to pass through a gap, it should be able to sense its environment in a precise way and plan its route. The robot should detect all objects in a predefined radius. Besides, it needs to sense the speed of approaching objects. In each interval of the process, the robot evaluates the new state and commands its actuator toward the correct direction with appropriate gear to avoid the collision.

Studying human and animals’ behaviors on movement provided different ways of seeing and solving the problem. Many route planning and obstacle avoidance algorithms are the outcomes of these studies for 2D and 3D known and unknown environments.

In the case of known environments, the robot follows two algorithms. The first algorithm provides the planned route, and the second algorithm deals with obstacle avoidance. The first algorithm gives the way the robot should traversing. And, the second algorithm guides the robot throughout the path to stay in the general course and avoid collisions on the same track.

There are too many past and present algorithms for route planning and obstacle avoidance algorithms. For more details of the algorithms, I refer you to Google Academic to search for academic papers on this subject. 

Exit mobile version