Sunteți pe pagina 1din 4

IC09-171/118

A Custom single purpose fixed point Processor Based


System for Map Generation Using Ultrasound
Sensors
Prabhakar Mishra, H N Shankar, Avinash Gokhale*, Rakshith Shetty*, Kiran Kumar Mangond*, Shashank V*

Author for correspondence, Department of Telecommunication Engineering, PESIT, Bangalore


Department of Telecommunication Engineering,*Department of Electronics and Communication Engineering, PESIT,
Bangalore
1

prabhakar.mishra@pes.edu

hnshankar@pes.edu
Abstract In this paper, in motion mapping of the real world as
perceived by a robot using a real time embedded system based on
a custom single purpose fixed point processor is proposed. The
processor is optimized for low power and is used for acquiring
the range reading from a set of ultrasound sensors and calculating
the probability of occupancy of cells in the region under the sonar
scan . The architecture considerably lowers the switching activity
at various stages of acquiring and processing the sensor data to
provide updates of cell occupancy values for rapid in-motion
mapping for robot navigation. Various mapping strategies using
the system are evaluated for their efficacy and computational
complexity.
KeywordsAutonomous robot navigation, Low-power design,
Occupancy grids, Ultrasound sensors.

I. INTRODUCTION
Autonomous robot navigation in unknown and unstructured
environments is central to many industrial and research
applications. It involves creation of a world model of the
environment of the robot using sensory data and orientation of
the robot. Previous works in this area include the use of ultrasound sensors for map generation using occupancy grids. [1]
Many mapping techniques use a probabilistic approach to
detect the presence or absence of obstacles in the environment
as perceived by the robot. The sonar sensors data range is
divided into cells and probability functions are applied on them
to ascertain if the cell is empty or occupied. The map is
incrementally updated based on Bayesian estimation
procedures to improve the map definition.
The sensor array consists of 24 transducers arranged as a
ring, each spaced 15 apart to cover the entire 360 panorama
around the robot. Each sensor has a beam width of 30 and a
maximum range of 20 feet. The sensors in close vicinity are
fired sequentially to avoid interference and each sensor reading
is converted into a probability profile.
The sonar beam is divided into two parts, empty region and
somewhere occupied region [1],[2]. The final sonar map is a
two-dimensional array of cells with values ranging between (0,
1). The values below a certain threshold are considered
probably empty and the values above it are considered
probably occupied. Fig. 1 shows the sonar model and
associated parameters.

Fig. 1 The Sonar Model

R is the range measurement returned by the sonar sensor


is the mean sonar deviation error
is the beam aperture
S (x, y, z) is the position of the sonar sensor
is the distance between P and S
is the distance between the main axis and SP
In the method proposed by [2], the mapping is based on
evaluation of probability of cells being occupied or empty.
In the empty region, the probability is calculated using the
formula
PE(X, Y) = Er () * Ea ()

Er () is the estimation that the cell is empty based on its


range from the sensor. The closer it is to the sensor, the more
likely that it is not occupied.

IC09-171/118
Ea() is the estimation that a cell is unoccupied based on the
difference in angle between it and the central beam of the
sonar, . Cells closer to the central beam of the sonar are more
strongly updated as empty than cells near the extremities of the
beam.
The probability that the cell is occupied is calculated using
the formula,

Freelancer is powered by two sources one for drive and one


for control. It can take a payload of 5.8 Kg with a top speed of
30cm/s.

PO(X, Y) = Or () * Oa ()

Or = 0 otherwise.
Or () is the probability that the cell is occupied based on its
range from the sensor. The closer it is to the range reading
received, the higher the probability that the cell is occupied.

Oa () is the probability that the cell is occupied based on the


difference in angle between the obstacle and the central beam
of the sonar. The closer the cell is to the centre of the beam, the
more likely it is that the cell is occupied.
These probability values are calculated and thresholding is
applied wherein the values below a certain upper bound and
above a certain lower bound are treated as the end points of the
range of probability values.
Our robot- freelancer

Fig. 2 Our robot freelancer.

Freelancer as shown in Fig 2, is our multi-sensor robot. It


measures 65cm45cm40cm with ground clearance 8cm. It
has a four-wheel differential drive. It has (i) provision for up to
24 sonar sensors, Devantech SRF-04/07/08, currently it has
one at each corner for detection and ranging of obstacles up to
3m; (ii) 15 infrared LED sensor pairs to detect obstacles in
close proximity of the robot to facilitate guiding through a
clutter of closely spaced obstacles; and (iii) a Devantech
CMPS03 digital compass for precise orientation. The Logitech
webcam seen in the front has been mounted very recently.
Freelancer has a distributed control architecture with an
IRFZ44N MOSFET based full-bridge chopper drive in Class E
configuration and driven by ATMEGA 88 microcontroller. The
top level processing unit is built around an AMD Athlon 2600+
processor and an ASUS A7S266-VM/U2 mother board.

Fig. 3 Schematic of the control architecture for freelancer

The overall schematic of the control architecture is shown in


fig 3. The Intermediate Processing Unit (IPU) takes the sensor
inputs and generates different descriptions of the world model;
these are the inputs to different algorithms as per their
individual requirements. In addition, the IPU generates an
estimate of the obstacle density in the polar reference frame.
This in turn is used to decide whether or not a path with
sufficient clearance exists within a specific range and in a
specific orientation in relation to the current state of the robot.
The inputs to the fuzzy controller are the speed commands and
the steering commands of the individual algorithms along with
the polar obstacle density. The fuzzy controller outputs the
speed and angle control. This is transformed into PWM signals
for the individual drive motors. The details of these are omitted
here.
II. THE EMBEDDED DATA ACQUISITION SYSTEM
Sensor data acquisition and evaluation of the probability
values imposes significant overheads on the processor time.
Hence a single purpose fixed-point processor supporting multichannel ultrasound sensor interface and dedicated memory
block is used in the present system.
In this method, the processing sequence of one sonar scan
includes the following steps.
The sonar sensor returns a pulse whose width is
proportional to the range of the obstacle.
This pulse is used to enable an 8-bit counter.
The range value and the constants used in the evaluation
of the probability are stored in a set of registers.
A fixed-point ALU with separate instances of adder and
multiplier calculate the probabilities and a finite state
machine sequences the flow of operands.
Two RAM areas hold the values of probability of empty
and occupied cells which is used by the main processor
for generating and updating the map of the environment
as perceived by the robot.

IC09-171/118
The architecture of the custom fixed point processor based
system is shown in Fig. 4.

the sensor when looking at the cell. Each cell has a N-size
array associated which stores cell responses in N-directions, as
resp[i] (index i corresponds to ith direction wrt a fixed
reference).
The original response grid method has the following
probability function

, = R

P(occupied) =
0.05, <
0.5, >
where is normalising constant.
The resp[i]s are updated using the Bayesian formula as
resp[i] =

resp[i] P(occupied)
resp[i] P(occupied) + (1 resp[i]) (1 P(occupied)

The N-responses are combined to give final occupancy as


Occupancy = 1

Fig. 4 Custom single purpose fixed-point processor architecture for data


acquisition and calculation of probability of empty and occupied cells.

Modified method:
The main modification is that we have changed the function
P(occupied) to
P(occupied) =

III. OUR PROPOSED SOLUTION

(1 resp[i])

Rmax
Rmax

(halfangle )
halfangle

when R < <

where k is a constant. The value of k gives the weightage to


the readings in proximity.
P(occupied) = 0.5 when > R +

Fig. 5 Test area.


The test area shown in Fig. 5 consists of a long narrow
corridor with adjacent walls being taller than the sensor
mounting. The region is highly specular and the mapping
methods described in [1],[2],[6], did not generate satisfactory
map.

The method proposed here is the modification of response


grid method described in [9]. In response grid method the
occupancy value assigned to each cell depends not only on the
distance of the cell from the sensor, but also the orientation of

And here we dont store responses from all the n directions


but instead store only the maximum response considering all
directions and the direction in which maximum response was
obtained. So each cell has a 1 X 2 array associated with it
where the 1st value (max_resp[0]) is the maximum response it
generated and the 2nd (max_resp[1]) is the direction. They are
initialized to 0 and -1 respectively.
Now if a cell falls in the somewhere occupied region of the
sonar beam and its response, given by P(occupied) is greater
than the stored maximum (max_resp[0]) then this value and the
corresponding direction is stored in the max_resp array.
If a cell falls in the empty region of the sonar beam then its
value is updated only if the current readings direction is same
as that of the stored maximum. By this we reduce the effect of
false readings while preserving advantage of response grid
method. The final occupancy is the stored maximum value.
IV. RESULTS AND CONCLUSION
Both methods were tested on the environment described
previously and the resulting maps generated are shown

IC09-171/118
Fig. 6 shows the map generated using original response grid
method for N=16. It is evident from the map that the walls are
not distinct and feature extraction is difficult and cannot be
done using simple thresholding.
Fig. 7 shows the map that is generated using modified
response grid method. It might look clumsy but by applying
simple threshold, obstacles can be extracted. Fig. 8 and Fig. 9
illustrate this.
Fig. 8 is the map obtained for modified response grid for
k=2 and thresholding of 0.90. Here the walls are distinct and
can be used for feature extraction.
Fig. 9 the map obtained for modified response grid for k=4
and thresholding of 0.90. Again the walls are distinct.

Fig. 8

In the modified method, memory usage and computations


are independent of N. But the original method requires N+1
fixed point values per cell and N multiplications per update.
The results are tabulated below.
Original response
grid Method
N=16
Time taken (in ms)
473
Memory used (per
17 fixed point
cell)
values
: involved 103,520 map updates.

Modified response
grid method
N=16
460
2 fixed point values

Fig. 9

ACKNOWLEDGMENT
We thank the management of PESIT for providing us with
the support needed for the work.
REFERENCES
[1]
Fig. 6

[2]
[3]

[4]
[5]

[6]
[7]
[8]
[9]
Fig. 7

A.Elfes, Sonar-Based Real World Mapping and Navigation, IEEE


J.Robotics and Automation, Vol. RA-3, No. 3, June 1987.
H.P.Moravec and A.Elfes, High-Resolution Maps from Wide-Angle
Sonar, Proc. IEEE, CS Press, Los Alamitos, Calif., March 1985.
Prabhakar Mishra, H.N.Shankar et. al, A Fuzzy Controller for a MultiSensor Based Autonomous Robot Navigating in an Unknown
Environment, IEEE International Conference on Signal and Image
Processing, ICSIP, Hubli, India, Dec 2006.
M.Becvar, P. Stukjunger, Fixed-Point Arithmetic in FPGA, Acta
Plolytechnica, Vol. 45, No. 2/2005.
Scott Hauck, Mathew Hosler, Thomas Fry, High-Performance Carry
Chains for FPGAs, International Symposium on Field Programmable
Gate Arrays, California, United States, 1998.
Alberto Elfes, Using Occupancy Grids for Mobile Robot Perception
and Navigation, Vol. 22, Issue 6, IEEE Computer Society, June 1989.
The Programmable Logic Data Book, San Jose, CA: Xilinx Corp, 1996.
Konolige, K. 1997. "Improved Occupancy Grids for Map Building"
Autonomous Robots 4(4) 351-367.
Sonar Mapping for Mobile Robots, Andrew Howard, Les Kitchen.
andrbh@cs.mu.OZ.AU.

S-ar putea să vă placă și