4.
Obstacle avoidance via bubble rebound
algorithm
4.1 Obstacle detection
The following reactive algorithm for real time obstacle avoidance is described in [1].
We consider a robot with a ring of equidistant ultrasonic sensors in the front, covering an
angle of 180° as shown below.
Current heading
A
α
4 3 B
5 2
Ultrasonic beam
6 1
Robot
Fig. 4.1.1 Ultrasonic sensor array with sensitivity bubble
Let A be the ultrasonic range boundary (in our case 400 cm) and B the sensitive bubble
boundary. In the simplest case (if the robot drives with invariant velocity and the time
intervals between successive evaluations of sensor data are equal), the distance of the
ultrasonic sensors to the bubble boundary is a constant, called . If the measured distance
of an ultrasonic sensor to an object is ≤ , the obstacle avoidance algorithm starts, else
not and the robot continue to drive in current direction.
4.2 Obstacle avoidance algorithm
Initially, the robot moves straight towards the goal. If an obstacle is detected within the
sensitivity bubble, the robots “rebounds” in a direction found as having the lowest density of
obstacles, and continues its motion in this new direction until the goal becomes visible (i.e.
no obstacle within the visibility range of the sonar in that direction), or until a new obstacle
is encountered.
Since the ultrasonic sensors are uniformly distributed, covering an arc of 180°, the sonar
readings can be represented in a polar diagram, as shown in figure 4.2.1.
α4
0°
+18° ‐18°
‐54°
+54°
4 3
5 2
6 i = 1
+90° ‐90°
Sonar readings
α
+90° 0° ‐90°
Fig. 4.2.1 Polar diagram of sonar readings
4.3 Computing rebound angle
The rebound angle is computed by weighted arithmetic mean. The weighted mean is similar
to the arithmetic mean where instead of each of the data points contributing equally to the final
average, some data points contribute more than others. Weighted arithmetic mean is computed by
using following formula:
∑ ∙
(4.3.1) ̅ ∑
where:
̅ is the weighted arithmetic mean
is the weight
is the data
In our case the weighted arithmetic mean is the rebound angle , the data are the sonar
sensor angles and the weights are the distance values , reported by the sonar sensors.
Thus
∑ ∙
(4.3.2) ∑
It can be easily noticed that , and so on. Using six sonar sensors as in fig.
4.2.1 and substituting the sonar sensor angles accordingly, the equation (4.3.2) becomes
(4.3.3)
∙ ∙ ∙ ∙ ∙ ∙
∙ ∙ ∙ ∙ ∙ ∙
∙ ∙ ∙
To turn the robot precisely into rebound angle position, a compass module will be used.
References
[1] IOAN SUSNEA, VIOREL MINZU, GRIGORE VASILIU, " Simple, Real‐Time Obstacle Avoidance
Algorithm for Mobile Robots", ISBN: 978‐960‐474‐144‐1