Ic09 171118


Published on

Title of Publication : A Custom single purpose fixed point Processor Based System for Map Generation Using Ultrasound Sensors

ICEDSP 09 (IEEE - International Conference on Electronic Design and Signal Processing)

Published in: Design, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Ic09 171118

  1. 1. IC09-171/118A 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.eduAbstract— In this paper, in motion mapping of the real world asperceived by a robot using a real time embedded system based ona custom single purpose fixed point processor is proposed. Theprocessor is optimized for low power and is used for acquiringthe range reading from a set of ultrasound sensors and calculatingthe probability of occupancy of cells in the region under the sonarscan . The architecture considerably lowers the switching activityat various stages of acquiring and processing the sensor data toprovide updates of cell occupancy values for rapid in-motionmapping for robot navigation. Various mapping strategies usingthe system are evaluated for their efficacy and computationalcomplexity.Keywords—Autonomous robot navigation, Low-power design,Occupancy grids, Ultrasound sensors. I. INTRODUCTION Autonomous robot navigation in unknown and unstructured Fig. 1 The Sonar Modelenvironments is central to many industrial and researchapplications. It involves creation of a world model of the R is the range measurement returned by the sonar sensorenvironment of the robot using sensory data and orientation of ε is the mean sonar deviation errorthe robot. Previous works in this area include the use of ultra- ω is the beam aperturesound sensors for map generation using occupancy grids. [1] S (x, y, z) is the position of the sonar sensorMany mapping techniques use a probabilistic approach to δ is the distance between P and Sdetect the presence or absence of obstacles in the environment θ is the distance between the main axis and SPas perceived by the robot. The sonar sensor’s data range isdivided into cells and probability functions are applied on them In the method proposed by [2], the mapping is based onto ascertain if the cell is empty or occupied. The map is evaluation of probability of cells being occupied or empty.incrementally updated based on Bayesian estimation In the empty region, the probability is calculated using theprocedures to improve the map definition. formula The sensor array consists of 24 transducers arranged as aring, each spaced 15º apart to cover the entire 360º panorama PE(X, Y) = Er (δ) * Ea (θ)around the robot. Each sensor has a beam width of 30º and amaximum range of 20 feet. The sensors in close vicinity arefired sequentially to avoid interference and each sensor readingis converted into a probability profile. The sonar beam is divided into two parts, empty region andsomewhere occupied region [1],[2]. The final sonar map is a Er (δ) is the estimation that the cell is empty based on itstwo-dimensional array of cells with values ranging between (0, range from the sensor. The closer it is to the sensor, the more1). The values below a certain threshold are considered likely that it is not occupied.probably empty and the values above it are consideredprobably occupied. Fig. 1 shows the sonar model andassociated parameters.
  2. 2. IC09-171/118 Ea(θ) is the estimation that a cell is unoccupied based on the Freelancer is powered by two sources – one for drive and onedifference in angle between it and the central beam of the for control. It can take a payload of 5.8 Kg with a top speed ofsonar, θ. Cells closer to the central beam of the sonar are more 30cm/s.strongly updated as empty than cells near the extremities of thebeam. The probability that the cell is occupied is calculated usingthe formula, PO(X, Y) = Or (δ) * Oa (θ) Or = 0 otherwise.Or (δ) is the probability that the cell is occupied based on itsrange from the sensor. The closer it is to the range readingreceived, the higher the probability that the cell is occupied.Oa (θ) is the probability that the cell is occupied based on the Fig. 3 Schematic of the control architecture for freelancerdifference in angle between the obstacle and the central beamof the sonar. The closer the cell is to the centre of the beam, the The overall schematic of the control architecture is shown inmore likely it is that the cell is occupied. fig 3. The Intermediate Processing Unit (IPU) takes the sensor These probability values are calculated and thresholding is inputs and generates different descriptions of the world model;applied wherein the values below a certain upper bound and these are the inputs to different algorithms as per theirabove a certain lower bound are treated as the end points of the individual requirements. In addition, the IPU generates anrange of probability values. estimate of the obstacle density in the polar reference frame. This in turn is used to decide whether or not a path withOur robot- freelancer 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 multi- channel ultrasound sensor interface and dedicated memory Fig. 2 Our robot freelancer. block is used in the present system. Freelancer as shown in Fig 2, is our multi-sensor robot. It In this method, the processing sequence of one sonar scanmeasures 65cm×45cm×40cm with ground clearance 8cm. It includes the following steps.has a four-wheel differential drive. It has (i) provision for up to  The sonar sensor returns a pulse whose width is24 sonar sensors, Devantech SRF-04/07/08, currently it has proportional to the range of the obstacle.one at each corner for detection and ranging of obstacles up to  This pulse is used to enable an 8-bit counter.3m; (ii) 15 infrared LED sensor pairs to detect obstacles in  The range value and the constants used in the evaluationclose proximity of the robot to facilitate guiding through a of the probability are stored in a set of registers.clutter of closely spaced obstacles; and (iii) a Devantech  A fixed-point ALU with separate instances of adder andCMPS03 digital compass for precise orientation. The Logitech multiplier calculate the probabilities and a finite statewebcam seen in the front has been mounted very recently. machine sequences the flow of operands.Freelancer has a distributed control architecture with an  Two RAM areas hold the values of probability of emptyIRFZ44N MOSFET based full-bridge chopper drive in Class E and occupied cells which is used by the main processorconfiguration and driven by ATMEGA 88 microcontroller. The for generating and updating the map of the environmenttop level processing unit is built around an AMD Athlon 2600+ as perceived by the robot.processor and an ASUS A7S266-VM/U2 mother board.
  3. 3. IC09-171/118 The architecture of the custom fixed point processor based the sensor when looking at the cell. Each cell has a N-sizesystem is shown in Fig. 4. 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] ∗ P(occupied) resp[i] = resp[i] ∗ P(occupied) + (1 − resp[i]) ∗ (1 − P(occupied) The N-responses are combined to give final occupancy as Occupancy = 1 − (1 − resp[i]) Modified method:Fig. 4 Custom single purpose fixed-point processor architecture for data The main modification is that we have changed the functionacquisition and calculation of probability of empty and occupied cells. P(occupied) to . Rmax − δ (halfangle − θ) P(occupied) = + when R − ε < δ < −ε Rmax halfangle III. OUR PROPOSED SOLUTION where k is a constant. The value of k gives the weightage to the readings in proximity. P(occupied) = 0.5 when δ > R + ε And here we don’t 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 Fig. 5 Test area. corresponding direction is stored in the max_resp array. The test area shown in Fig. 5 consists of a long narrow If a cell falls in the empty region of the sonar beam then itscorridor with adjacent walls being taller than the sensor value is updated only if the current reading’s direction is samemounting. The region is highly specular and the mapping as that of the stored maximum. By this we reduce the effect ofmethods described in [1],[2],[6], did not generate satisfactory false readings while preserving advantage of response gridmap. method. The final occupancy is the stored maximum value. The method proposed here is the modification of response IV. RESULTS AND CONCLUSIONgrid method described in [9]. In response grid method the Both methods were tested on the environment describedoccupancy value assigned to each cell depends not only on the previously and the resulting maps generated are showndistance of the cell from the sensor, but also the orientation of
  4. 4. IC09-171/118 Fig. 6 shows the map generated using original response gridmethod for N=16. It is evident from the map that the walls arenot distinct and feature extraction is difficult and cannot bedone using simple thresholding. Fig. 7 shows the map that is generated using modifiedresponse grid method. It might look clumsy but by applyingsimple threshold, obstacles can be extracted. Fig. 8 and Fig. 9illustrate this. Fig. 8 is the map obtained for modified response grid fork=2 and thresholding of 0.90. Here the walls are distinct andcan be used for feature extraction. Fig. 9 the map obtained for modified response grid for k=4and thresholding of 0.90. Again the walls are distinct. Fig. 8 In the modified method, memory usage and computationsare independent of N. But the original method requires N+1fixed point values per cell and N multiplications per update.The results are tabulated below. Original response Modified response grid Method grid method N=16 N=16 Time taken▲ (in ms) 473 460 Memory used (per 17 fixed point 2 fixed point values cell) values ▲: involved 103,520 map updates. Fig. 9 ACKNOWLEDGMENT We thank the management of PESIT for providing us with the support needed for the work. REFERENCES [1] A.Elfes, “Sonar-Based Real World Mapping and Navigation”, IEEE J.Robotics and Automation, Vol. RA-3, No. 3, June 1987. Fig. 6 [2] H.P.Moravec and A.Elfes, “High-Resolution Maps from Wide-Angle Sonar”, Proc. IEEE, CS Press, Los Alamitos, Calif., March 1985. [3] Prabhakar Mishra, H.N.Shankar et. al, “A Fuzzy Controller for a Multi- Sensor Based Autonomous Robot Navigating in an Unknown Environment”, IEEE International Conference on Signal and Image Processing, ICSIP, Hubli, India, Dec 2006. [4] M.Becvar, P. Stukjunger, “Fixed-Point Arithmetic in FPGA”, Acta Plolytechnica, Vol. 45, No. 2/2005. [5] Scott Hauck, Mathew Hosler, Thomas Fry, “High-Performance Carry Chains for FPGA’s”, International Symposium on Field Programmable Gate Arrays, California, United States, 1998. [6] Alberto Elfes, “Using Occupancy Grids for Mobile Robot Perception and Navigation”, Vol. 22, Issue 6, IEEE Computer Society, June 1989. [7] The Programmable Logic Data Book, San Jose, CA: Xilinx Corp, 1996. [8] Konolige, K. 1997. "Improved Occupancy Grids for Map Building" Autonomous Robots 4(4) 351-367. [9] “Sonar Mapping for Mobile Robots”, Andrew Howard, Les Kitchen. andrbh@cs.mu.OZ.AU. Fig. 7