School Work

A Custom single purpose fixed point Processor Based System for Map Generation Using Ultrasound Sensors

IC09-171118 published by IEEE proceedings at international conference on electronic design and signal processing
of 4
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
  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. mi shra@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.  Keywords  —  Autonomous robot navigation, Low-power design, Occupancy grids, Ultrasound sensors.   I.   I  NTRODUCTION  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 ultra-sound 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 sensor’s 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 P E (X, Y) = E r   ( δ ) * E a  ( θ ) E r   ( δ ) 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 E a ( θ ) 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, P O (X, Y) = O r   ( δ ) * O a  ( θ ) Or = 0 otherwise. O r   ( δ ) 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. O a  ( θ ) 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 65cm×45cm×40cm 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. 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. 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.   T HE E MBEDDED 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  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. Fig. 4 Custom single purpose fixed-point processor architecture for data acquisition and calculation of probability of empty and occupied cells. . III.   O UR PROPOSED SOLUTION   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 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 i th direction wrt a fixed reference). The srcinal response grid method has the following  probability function P(occupied) =  αδ , δ  =R0.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 − (1 − resp[i])     Modified method: The main modification is that we have changed the function P(occupied) to P(occupied) =  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+ ε  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 1 st  value (max_resp[0]) is the maximum response it generated and the 2 nd   (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 reading’s 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.   R  ESULTS A  ND C ONCLUSION  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 srcinal 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. In the modified method, memory usage and computations are independent of N. But the srcinal 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 Modified response grid method  N=16 Time taken ▲   (in ms) 473 460 Memory used (per cell) 17 fixed     point values 2 fixed point values ▲: involved 103,520 map updates. Fig. 6   Fig. 7   Fig. 8   Fig. 9  A CKNOWLEDGMENT  We thank the management of PESIT for providing us with the support needed for the work. R  EFERENCES   [1]   A.Elfes, “Sonar-Based Real World Mapping and Navigation”, IEEE J.Robotics and Automation, Vol. RA-3, No. 3, June 1987. [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.
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks