Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure...

42
Low Cost Localization Sensors for the Volksbot Indoor Rejin Narayanan * Matrikel Nr.: 9006176 B-IT Master Studies Autonomous Systems University of Applied Sciences Bonn-Rhein-Sieg Fraunhofer Institute for Intelligent Analysis and Information Systems § Advisor:Walter Nowak Fraunhofer Institute for Intelligent Analysis and Information Systems Report on R&D project 2 submitted to the University of Applied Sciences Bonn-Rhein-Sieg towards partial fulfillment of the master program Master of Science in Autonomous Systems. August 22, 2006 * [email protected] http://www.b-it-center.de/ http://www.fh-bonn-rhein-sieg.de/ § http://www.iais.fraunhofer.de/ [email protected] 1

Transcript of Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure...

Page 1: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

Low Cost Localization Sensors for the Volksbot Indoor

Rejin Narayanan∗

Matrikel Nr.: 9006176B-IT Master Studies Autonomous Systems†

University of Applied Sciences Bonn-Rhein-Sieg‡

Fraunhofer Institute for Intelligent Analysis and Information Systems§

Advisor:Walter Nowak¶

Fraunhofer Institute for Intelligent Analysis and Information Systems

Report on R&D project 2 submitted to theUniversity of Applied Sciences Bonn-Rhein-Siegtowards partial fulfillment of the master program

Master of Science in Autonomous Systems.

August 22, 2006

[email protected]†http://www.b-it-center.de/‡http://www.fh-bonn-rhein-sieg.de/§http://www.iais.fraunhofer.de/¶[email protected]

1

Page 2: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

”If you dont know where you are, no map will help”- anonymous.

2

Page 3: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

Contents

1 Introduction 5

1.1 Target Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Volksbot Sensors & Electronics Overview . . . . . . . . . . . . . . . . . . . 5

2 Electronic Hardware on the Volksbot 7

2.1 Existing IO Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.1 TMC 200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.2 BMC meM-ADfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.3 MBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 New Electronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.1 Diolan U2C-12 GPIO Board . . . . . . . . . . . . . . . . . . . . . . . 82.2.2 Voltage Regulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Sensors on the Volksbot 9

3.1 Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.1.1 AISVision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.1.2 Stereo Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.1.3 Industrial Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.1 Estimated Maximum Resolution . . . . . . . . . . . . . . . . . . . . 11

3.3 Laser Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.4 Electronic Compass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.5 Inertial Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.5.1 WISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5.2 Xsens MTi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.6 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.7 Swiss Ranger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.8 Infrared Distance Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.9 Ultrasonic Range Finder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 New Sensors for the Volksbot 16

4.1 Ceiling Light Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1.1 The Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.1.4 Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2 Ceiling Height Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3

Page 4: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

4.2.1 The Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2.4 Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3 Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.1 The Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.3.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.3.4 Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.4 Computer Mouse (Optical) as Motion Sensor . . . . . . . . . . . . . . . . . 264.4.1 The Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.4.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.4.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.4.4 Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.5 Comparison of Estimated Maximum Resolutions of Optical Mouse andOdometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Conclusion 35

6 Future Work 36

4

Page 5: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

1 Introduction

This R&D-2 project aims to investigate low-cost sensors for the Volksbot, to improve itsindoor self-localization capabilities. This project builds upon the experiences gained in theR&D-1 project - Self-Localization for the VolksbotSoccer [1] - in terms of familiarity withthe Volksbot platform and its software environment, the classical problem of robot self-localization, and particle filters. R&D-2 will form the foundation for the master thesis,which will be an attempt to adapt optimal techniques for indoor self-localization andnavigation, using the sensors that were integrated into the Volksbot during this project.

1.1 Target Environment

Warehouse like environments are our primary target. For purposes of this R&D project,we chose corridors as the test environment. We conducted experiments in a corridor atthe Fraunhofer IAIS labs. Figure4.1.1b shows a picture of this corridor. Plots of testruns presented in subsequent sections use a hand made map of this corridor over whichthe sensor data is plotted. For evaluation of temperature sensors, a lab room at theFraunhofer IAIS was used, because of the presence of heaters and windows. Thoughheaters and ventilation are present in warehouse like environments, our test corridor doesnot have them.

1.2 Volksbot Sensors & Electronics Overview

Figure 1 gives us an overall picture of the sensors and electronics currently available, orthat has been used on the Volksbot platform. The Volksbot project is heavily focusedon component technology. The components shown in the figure consist not only of thehardware, but also the necessary ICONNECT modules that connect these components tothe rest of the Volksbot software.

5

Page 6: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

Odometry

Omni Vision

Electronic Compass

GPS

SwissRanger

WISA Inertial Sensor

IR Sensors

Ceiling Height Sensor

Ultrasonic Sensors

Sensors

TMC 200

Diolan U2C-12

Interface Boards

Voltage Regulators

Misc

BMC meM-ADfo

Stereo Vision

Industrial Camera

Laser Scanners

Xsens MTi

Volksbot Platform

Ceiling Light Sensor

MBoard

Optical Mouse (motion sensor)

Figure 1: Volksbot Sensors & Electronics Overview. Components are shown in colouredboxes - the colours have the following meaning. Green: Commercially available compo-nents from the Fraunhofer IAIS. Yellow: Components that have been integrated with theVolksbot. Blue: Components developed and added to the Volksbot, as part of this project.

6

Page 7: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

2 Electronic Hardware on the Volksbot

In this chapter we take a look at the electronics for the Volksbot - IO boards and powercircuitry. Sensors are covered in a separate chapter.

2.1 Existing IO Boards

2.1.1 TMC 200

The TMC [2] or the triple motor controller is an integral part of the Volksbot. It cancontrol upto 3 DC motors of upto 200watts each, and can process encoder signals forodometry. It also provides 10 IO bits for interfacing additional devices. Figure 2(b) showsthe TMC200.

(a) (b) (b)

Figure 2: a) The TMC200 motor controller board. b) The BMS memS-ADfo interfaceboard for analog signals.

2.1.2 BMC meM-ADfo

This device [3] is used to interface sensors with analog outputs. It has 16 +/-5V analoginput channels with 12 bit resolution, and one analog output channel with the samespecifications. 8 digital input and output lines each are also available. Figure 2(b) showsthe BMC mem-ADfo.

2.1.3 MBoard

The MBoard [4] (see figure 3(b)) is an universal IO board developed at the FraunhoferAIS, designed to control up to 32 servomotors synchronously. 32 analog input channelscan be sampled at 8bit resolution and read with an update rate of up to 50 cycles persecond. Originally the MBoard was developed for autonomous walking machines. It has aRS232 interface, and has a small form factor of 125 x 42 mm. The MBoard is built arounda high performance Atmel Microcontroller.

For this R&D project, the MBoard was used to measure the analog output from theceiling light sensor. For details see section 4.1.1

7

Page 8: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

(a) (b)

Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonicrange finders. (b) MBoard - the universal IO board developed at the Fraunhofer AIS, usedto interface the ceiling light sensor in this project.

2.2 New Electronics

2.2.1 Diolan U2C-12 GPIO Board

This device [5] is a USB-I2C, USB-SPI and USB-GPIO bridge device that can convertPC USB transactions to I2C Master, SPI Master transactions and GPIO functions. It iscompact at 77x58mm, and comes with good software support including a control panelthat can be used for preliminary device tests. See picture 3(a). (The U2C-12 was originallydeveloped by DiMax).The Diolan U2C-12 board was added to the Volksbot to read the SRF08 ultrasonic rangefinders that use the I2C protocol. The U2C-12 is interfaced to the control PC throughthe USB port. It is also powered by the USB interface.

2.2.2 Voltage Regulators

The Volksbot runs on a 27V NiMH rechargeable battery pack. The laptop runs on its ownbattery. Some of the new devices added to the Volksbot during this project had othervoltage requirements. Therefore custom voltage regulators were built around the industrystandard 78xx series of voltage regulator chips [6]. The regulators were built on a generalpurpose board and mounted on the robot frame. The MBoard was powered with 10V,and the ceiling light sensor circuit with 5V. The circuit diagram is given in Figure 13.

8

Page 9: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

3 Sensors on the Volksbot

This chapter describes the sensors that have been used with the Volksbot at the FraunhoferAIS. The AIS-BIT RoboCup team [7] has also built localization modules for the Volksbot,robust enough for RoboCup using odometry and omnivision [8] [1] in a known environment(RoboCup mid size field [9]).

Seen from the perspective of commercially viable mobile robots, these sensors havesome drawbacks. Omnivision, Laser Scanner, GPS and Accelerometer sensors are ex-pensive. Odometry, despite being accurate for smooth movements, has the drawback ofaccumulating errors. Compass sensors could be used to get orientation information, butare sensitive to electromagnetic noise and metallic objects in the vicinity of the sensor.

The Volksbot in general is programmed using the ICONNECT [10] platform, and allsoftware is written as ICONNECT modules. For the sensors discussed in this section,ICONNECT modules were developed for reading the sensor data into the ICONNECTgraphs, as part of the respective projects. Therefore when we speak of a sensor used withthe Volksbot, it implies the existence∗ of an ICONNECT module that reads the sensordata.

3.1 Vision

3.1.1 AISVision

AISVision is an omnivision system [11]. The hardware consists of a 70mm diameteromnivision mirror mounted on top of the robot, and a camera to capture the image.Figure 4(a) shows a picture of the hardware. This gives the robot a 360 degree view(figure 4(b))of the environment. The vision software is available as ICONNECT [10]modules. AISVision can be used to extract position information in known environmentsusing visual landmarks. For example, the AIS-BIT RoboCup team [7] uses AISVision forlocalization on the mid size RoboCup field [9]. The team has also developed modules thatcombine the data from AISVision and Odometry [1].The accuracy of vision system also depends to a large extent on the colour calibration,

distance calibration and the lighting conditions of the environment. The resolution ofthe sony camera used by the AIS-BIT team is 640x480 and with the latest vision softwaremaximum viewable distance is 16 metres. For near objects (less than 1 metre) the accuracyis approximately 6 centimetres. Accuracy degrades with distance and at 8 metres theaccuracy is approximately 2 metres. For details of the performance of AISVision onRoboCup mid size fields see [8].

∗Refers to internal availability of these modules. Commercially available software is listed onhttp://www.volksbot.de

9

Page 10: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

Figure 4: a)AISVision hardware b)Sample image

3.1.2 Stereo Vision

Stereo vision cameras are used for stereopsis∗. On the Volksbot, the STH-MDCS2 [12]from Videre Design has been used. It has colour/monochrome modes and supports framerates upto 30fps, at 640x480 resolution. Data transfer is via an IEEE Firewire interface.The imagers are internally pixel synchronised. An external sync option is available. Figure5(a) shows the camera.

(a) (b) (c)

Figure 5: a)STH-MDCS2 Stereo Vision Camera from Videre Design. b)PTU-D46-17 PanTilt unit from Directed Perception. c)AVT-D2 Industrial Camera from Allied Vision.

Pan-Tilt Unit

The stereo vision camera was used with a high speed pan tilt unit from Directed Perception,the PTU-D46-17 [13]. It supports a maximum load of 2.72kgs and has maximum speed of300deg per second. The resolution is 0.013deg. Figure 5(b) shows the PTU-D46-17.

3.1.3 Industrial Camera

A widely used camera from Allied Vision, the AVT-D2 [14] has been used on the Volks-bot. The camera supports an IEEE Firewire interface, and supports upto 30fps at VGAresolution. Figure 5(c) shows the camera. The AVT-D2 uses a progressive CCD arrayfrom Sony.

∗Estimation of depth from two cameras

10

Page 11: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

3.2 Odometry

The Volksbot has optical encoders coupled to the drive system. The encoder is connectedto the I/O pins of the motor controller board on the Volksbot, the TMC200. The Odometrymodule processes this data in an ICONNECT graph. The module returns the vector tothe present position, from the position when the data was last read from this pin. Theincremental errors inherent in odometry requires frequent corrections to be made. Thereis also a considerable amount of slip of the wheels, especially when the robot makes fastmovements and changes direction many times in a short period of time.

3.2.1 Estimated Maximum Resolution

The Volksbot drive system uses a maxon DC motor, coupled to a maxon planetary gear-head with a reduction ratio of 14:1. An optical encoder from Agilent (HEDS-5540 A02)[15] is coupled directly to the shaft of the motor. The encoder has a resolution of 1024counts per revolution (ticks). Therefore the maximum resolution is 14336 ticks per rota-tion of the wheel. The wheel diameter is 98mm. This gives us a maximum resolution of0.0215mm. ∗

3.3 Laser Scanner

Laser scanners or laser range finders work on the following principle - a laser beam isbounced off a rotating mirror and the time taken for this beam to return to the camerais measured (time of flight). Knowing the velocity of light the depth to the object hit bythe beam can be computed. Thus, by moving the mirror in a pattern, the scene can bemapped in 3D. Laser scanners that have been used on the Volksbot in the past are :

• SICK LMS200

• Leutze RS1

• Hokuyo URG-04LX

Figure 6 shows these laser scanners.

3.4 Electronic Compass

The following electronic compasses have been used with the Volksbot:

• Jenoptik JOK 60 [17]

• Devantech CMPS03 [18]∗This is applicable only for the differential drive Volksbot Indoor. For details on the variants of the

Volksbot refer to [16]. The AIS-BIT RoboCup team uses the VolksbotSoccer, which has omniwheels.[7]

11

Page 12: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

(a) (b) (b)

Figure 6: Laser scanners that have been used on the Volksbot. (a)SICK LMS200 (b)LeutzeRS1 (c)Hokuyo URG-04LX

• Pewatron Typ 6100 [19]

• Honeywell HMR 3300 [20]

Compass sensors work by detecting the magnetic field of the earth, and providing headinginformation. Compass sensors in general are very sensitive to electromagnetic noise. Figure7 shows the results of a test [21] previously done at the Fraunhofer AIS. The plot is theheading measurements during a 5 metre outdoor trial run using a Pewatron 6100 compasssensor. The fluctuations were probably caused by the motors and the electronics in therobot itself. The robot started with a heading measurement of 77 degrees, and the plotshows fluctuations in excess of 100 degrees. Currently the Honeywell HMR3300 3-axis tilt

Figure 7: Fluctuations in heading measurement during a 5 metre outdoor run. Source:Master Thesis, Waldemar Leonhardt. [21]

compensated compass sensor is being tested on the Volksbot. The data sheet specifiesaccuracy of 1 deg and resolution of 0.1 deg. Figure 8 shows images of some of the compasssensors used on the Volksbot.

12

Page 13: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

(a) (b) (c)

Figure 8: Some electronics compasses that have been used on the Volksbot - (a)DevantechCMPS03 (b)Honeywell HMR3300 (c)Pewatron 6100

3.5 Inertial Sensors

3.5.1 WISA

The WISA inertial sensor is being jointly developed by the Fraunhofer IIS, TEG, IPMS,AIS, IAO. Figure 9(a) shows the WISA sensor. It has six GYROSTAR piezoelectricvibrating gyros, six SCA610 series accelerometers, a 3-axis magnetic sensor and an LM20temperature sensor.

(a) (b)

Figure 9: Inertial sensors that have been used on the Volksbot - (a)WISA sensor and(b)Xsens MTi miniature attitude and heading reference system.

The Fraunhofer IAIS is conducting detailed testing of the WISA sensor. Using Kalmanfiltering odometry and data from the WISA sensor have been successfully fused. Figure10 shows a plot of data processed from the sensor.

3.5.2 Xsens MTi

The Xsens MTi is a miniature 3DoF orientation sensor. It has 3 rate gyros to trackorientations in 3D, and it measures the directions of gravity and magnetic north to providea stable reference.It also has acceleration sensors. The angular resolution is 0.5deg and

13

Page 14: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

−0.

20.

00.

20.

40.

6

trueGround[[1]]

true

Gro

und[

[2]]

RMS = 0.553782 RMS_X/Y = 0.051391 Theta = 0.551392

Figure 10: Plot of data from a Volksbot mounted with laser scanners and the WISA sensor.Position estimate from odometry is shown in blue, laser scanner in black, and fused datafrom the WISA sensor and odometry is shown in red. Source: Bachelor Thesis, DmitriUnrau

the dynamic accuracy is 2deg RMS. The static heading accuracy is less than 1deg androll/pitch accuracy is less than 0.5deg. Figure 9(b) shows the Xsens MTi [22].

3.6 GPS

GPS or global positioning system makes use of a constellation of 24 satellites whose posi-tions are known, to estimate the latitude, longitude and altitude of a GPS receiver. TwoGPS receivers have been used with the Volksbot - the Afusoft RAVEN6, and the HoluxGPSlim236. Figures 11(b) and (c) show these receivers respectively. Experiments with theRAVEN6 receiver within the Fraunhofer IAIS campus yielded accuracy of around 6.5%and the signal availability in the environment was 97.8%.

3.7 Swiss Ranger

The Swiss Ranger [23] is a 3D time of flight camera that provides a distance map ofthe environment in addition to a gray scale image. It can see upto 7.5 metres and has

14

Page 15: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

(a) (b) (c)

Figure 11: (a)The SwissRanger miniature 3D Time of Flight Range Camera. (b)RAVEN6GPS receiver from Afusoft. (c)GPSlim236 GPS receiver from Holux.

resolution of 124x160 pixels and a depth resolution of 5mm. The frame rate is also highat 30fps. Figure 11(a) shows the latest model of the swiss ranger.

3.8 Infrared Distance Sensors

For distance ranging IR sensors have been used on the Volksbot. The Sharp GP2Y0A21YKsensor is the common IR sensor used, and recently a long range version, the Sharp 5Z-2Y-3A003-F has also been used. Figures 3.8(a) 3.8(b) and shows these sensors.

(a) (c)(b)

Figure 12: (a)Sharp Infrared Ranger GP2Y0A21YK. (b)Sharp Long Range InfraredRanger - the 5Z-2Y-3A003-F. (c)SRF08 Ultrasonic Range finder from Devantech

3.9 Ultrasonic Range Finder

The SRF08 ultrasonic range finder from Devantech has been used on the Volksbot. Thesensor has a range of 3cm to 6m. Figure 3.8(c) shows this sensor. The SRF08 has an I2C

interface, and upto 16 devices can be connected to the same bus. It also includes a lightsensor. During this project, the SRF08 sensors were interfaced using the Diolan GPIOboard, and an ICONNECT module was developed for this purpose. Previously a custommade circuitry was used.

15

Page 16: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

4 New Sensors for the Volksbot

In this section we analyse in detail four low-cost sensors:

1. Ceiling Light Sensor

2. Ceiling Height Sensor

3. Temperature Sensors

4. Computer Mouse (optical) as motion sensor

4.1 Ceiling Light Sensor

Artificial lighting is a must have in modern buildings, and most lamps are fixed on theceiling, facing the floor. We investigate this feature, to see if it can be used later onfor extracting position information. Related work was done by Thrun et al [24], wherethe robot Minerva was successfully localized in a museum using a map of the ceiling. Acamera pointed at the ceiling was used. In contrast the method we present here is not atall sophisticated, and captures only one detail - light intensity on the ceiling. It is also avery low cost approach.

4.1.1 The Sensor

In keeping with the idea of using low-cost sensors for improving self-localization, we usedan LDR to build this sensor. See figure 13. The black tube is to make the sensor more

LM7805

LM7810

27V Battery

0.33μF

0.01μF

10V To MBoard

5V To Ceiling Light Sensor

0.01μF

(A) (B)

Figure 13: (a) Voltage regulator added to the Volksbot. (b) Ceiling Light Sensor Assembly.

directional. Less ambient light falls on the sensor, while light from sources directly abovethe tube falls on the sensor. The MBoard reads analog voltages in the range of 0-5 volts.

16

Page 17: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

V0 = VP×RdRLDR+Rd

Under bright light conditions:RLDR = 100Ω, Vo = 4.99volts

In darkness:RLDR = 1MΩ, Vo = 0.45volts

This gives us a reasonably good range(4.54 volts), given that the ADC has a range of 0-5volts. The resolution of the ADC is 8bits.

Figure 4.1.1(a) shows the light sensor and electronics mounted on the robot. The greenoval shows the light sensor. The sensor was mounted on the frame of the robot, in thefront. This position was chosen because then the robot gets maximum ceiling light datafor a given run, assuming that the robot knows the starting position, and moves forward.

(a) (b)

Figure 14: a) Ceiling Light Sensor mounted on the robot. b) Corridor at the FraunhoferIAIS labs where the test runs were conducted.

4.1.2 Experimental Setup

Data Acquisition Software

In keeping with the modular software architecture of the Volksbot platform based onICONNECT [10], modules were written for reading data from the ceiling light sensorthrough the MBoard [4]. Figure 15 shows the ICONNECT graph used with the ceilinglight sensor. Existing modules were reused wherever possible. Table 1 describes themodules used in this graph and their functionality.

Test Environment

The test runs were conducted in a corridor at the Fraunhofer IAIS labs. The corridor wasmapped by hand. Figure 4.1.1(b) shows a photograph of this corridor. Note the lamps inthe ceiling. For test runs, the robot was placed at one end of the corridor, the pose was

17

Page 18: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

(b)(a)

Figure 15: (a)ICONNECT graph used for manual control of robot and data acquisitionfrom the sensors. (b)Running graph and bar chart of light intensity measured at currentlocation by the robot.

measured by hand, and the pose of the robot was initialised to this value, in the Odometrymodule. An external keyboard was attached to the robot PC and the ICONNECT graphdeveloped for this test was run. The graph includes the RemoteControl module which letsus control the robot via the keyboard. The robot was then driven from one end of thecorridor to the other, by the ’hand-held’ keyboard. At the end of the test run, the datawas plotted to visualise the results.

Visualisation

For visualisation of the results, a plot was generated using MATLAB. The corridor wasmeasured by hand, including position of doors and lamps, and this information was storedin a matlab file. The data from odometry and the ceiling light sensor was logged duringtest runs with the robot. This log file was read by a MATLAB script, and the trajectoryof the robot was plotted over the plot of the corridor. The light intensity plot was addedas a separate plot directly below the trajectory plot with the same scale for the X-axis,so that values of light intensity can be related directly with the pose of the robot in thetrajectory plot. See figure 16 in the next section for the plot.

4.1.3 Results

We conducted tests using this light sensor in a corridor at the Fraunhofer IAIS. Figure16 shows two plots, the top one is a map of the corridor - the magenta squares are lampson the ceiling and the blue line is the trajectory of the robot moving from left to right.The bottom plot is the light intensity data from the ceiling light sensor, corresponding tothe position of the robot on the first plot. The light sensor data is plotted in a range of0-255, which is the same as the readings from the ADC (8bit). The trajectory of the robotwas plotted by using the odometry data. Even though this is not very accurate, it serves

18

Page 19: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

Module Function SourceRemoteControl Manual control of robot using

keyboardAIS-BIT RoboCupTeam

MBoardReader Read ADC ports of theMBoard

Adapted version ofINDY team’s module

DualMotorController Control motors via theTMC200, and read encoderdata

AIS-BIT RoboCupTeam

Odometry Computes odometry from en-coder data

AIS-BIT RoboCupTeam

Conv4bt Logs data in Matlab readablefiles

New

BarGraph Visualise data from ceilinglight sensor in real time

ICONNECT modulelibrary

Spy/Typecast/Interpret Debugging, data conversionand simple data manipulation

ICONNECT modulelibrary

Table 1: ICONNECT modules used in the robot control and DAQ software used with theceiling light sensor.

our purpose since the distance covered is small, and because the robot was driven slowly,without abrupt stops or turns.It can be seen that the peaks of light intensity occur below the magenta squares, whichrepresent the lamp positions. The last short peak is from a little illuminated exit signboard,fixed outside of the corridor.

4.1.4 Inference

These observations indicate that given knowledge of lamp positions and light intensity datafrom prior runs, the ceiling light intensity sensor can be used to deduce coarse grainedposition data. Combined with odometry and other sensor data, this could be used toimprove the overall accuracy of pose estimate.

4.2 Ceiling Height Sensor

In warehouse like environments, the ceiling has many uses. Usually the ceiling is higherthan in offices, and many fixtures and structural elements can be found on the ceiling.Examples are hanging tubelight fixtures, heating/air conditioning pipes, protruding struc-tural elements like beams, and hanging signposts. The idea behind the ceiling height sensoris to make use of this information to improve the accuracy of localization.

19

Page 20: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

-2000 -1500 -1000 -500 0 500 1000-150

-100

-50

0

50

100

150

-2000 -1500 -1000 -500 0 500 10000

50

100

150

200

250

a)

b)

Robot

Tra

jecto

ry (

y)/

Corr

idor

Bre

adth

(u

nit:c

m)

Ceilin

g L

ight

Inte

nsity (

0-2

55)

Corridor Length/ Estimated Robot Trajectory(x) (unit:cm)

Corridor Length(cm)

Figure 16: Robot trajectory(a) and corresponding data(b) from ceiling light sensor, fora test run of 30m. In (a) unit for X and Y axis is centimetres. In (b) X axis shows theposition of the robot along the length of the corridor in centimetres, and Y axis shows thelight intensity on a scale of 0 - 255. Test run in the IAIS T30 corridor.

4.2.1 The Sensor

We used the SRF08 ultrasonic sensor to measure the ceiling height. the sensor was inter-faced through the Diolan interface board (described in section 2.2.1) which provides anI2C interface. It may be noted that the sensor returns the distance to the nearest objectin its field of view. The sensor is mounted on the rear of the robot with an L bracket,facing upwards. See figure 17(a).

(a) (b)

Figure 17: Ceiling Height Sensor. a)The SRF08 mounted on the Volksbot using an Lbracket, facing the ceiling. b)View of ceiling light sensor and the ceiling height sensor onthe robot.

4.2.2 Experimental Setup

For data acquisition, the same ICONNECT graph was used as explained in section 4.1.2.A new module was written to interface the SRF08 ultrasonic sensors through the I2 bus

20

Page 21: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

of the Diolan interface card. See figure 15 for an image of the ICONNECT graph used fordata acquisition. Table2 gives a list of modules used in data acquisition from the CeilingHeight Sensor.

Module Function SourceRemoteControl Manual control of robot using

keyboardAIS-BIT RoboCupTeam

Ranger Read data from SRF08through the Diolan U2C-12GPIO board

New

DualMotorController Control motors via theTMC200, and read encoderdata

AIS-BIT RoboCupTeam

Odometry Computes odometry from en-coder data

AIS-BIT RoboCupTeam

Conv4bt Logs data in Matlab readablefiles

New

Table 2: ICONNECT modules used in the robot control and DAQ software used with theceiling height sensor.

Test runs were conducted in the same corridor as before (figure.4.1.1(b)). The testprocedures followed is also similar. Care was taken by the experimenter not to standin the way of the ceiling height sensor. For visualisation of results matlab scripts werewritten that plotted the measured ceiling height (from the sensor) directly below a plotof the robot trajectory. See figure.19 for the plots. While interpreting the results themounting position of the sensor on the robot has to be noted. The sensor is roughly39cms behind the robot’s centre point used in position estimates (see figure 17). For testswith constructional features on the ceiling, we used a pipe as shown in figure18(b).

(a) (b)

Figure 18: a)Ceiling Light fixture used in the corridor where tests were held. b)Pipe fixedbelow the ceiling to test the response of the ceiling height sensor in environments withheating pipes.

21

Page 22: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

-150

0-1

000

-500

050

010

00-1

50

-100-50050100

150

Cei

ling

Hei

gh

t Sen

sor

Dat

a

-150

0-1

000

-500

050

010

000

100

200

300

-150

0-1

000

-500

050

010

0022

5

230

235

240

245

250

Robot Trajectory (y)/ Corridor Breadth (unit:cm)

Cor

ridor

Len

gth/

Est

imat

ed R

obot

Tra

ject

ory(

x)

(uni

t:cm

)

Ceiling Height (cm) Ceiling Height (cm)

Rob

ot p

ositi

on a

long

cor

ridor

(x

only

) at

inst

ant

of m

easu

rem

ent(

cm)

Rob

ot p

ositi

on a

long

cor

ridor

(x

only

) at

inst

ant

of m

easu

rem

ent(

cm)

a) b)

c)

Figure 19: Plot of data from Ceiling Height Sensor. a)Robot trajectory plotted on amap of the corridor where test runs were conducted. b)Ceiling Height (sensor to ceiling)corresponding to robot position in (a). c)Zoomed plot of ceiling height sensor data.

22

Page 23: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

4.2.3 Results

Figure 19 illustrates the data from the ceiling height sensor. In figure 19(a), the robottrajectory is plotted on a map of the environment, the corridor where the test run wasconducted. The magenta blocks along the middle of the corridor are the light fixtures onthe ceiling. The blue plot is the estimated path of the robot, computed using odometrydata. Figure.19(b) shows a plot of the data from the ceiling height sensor. The abscissamarks the position of the robot along the corridor, plotted on the same scale as figure.19(a),for comparison. The ordinate shows the measured ceiling height in centimetres (heightfrom the sensor, not the floor). It should be noted that the sensor was mounted on therear side of the robot (see 17), and that the offset from the sensor to the robot’s origin (asused by odometry and mouse based estimates) is 39cms.

Now, figure 19(b) reveals some details about the ceiling. First, it reveals some amountof noise. The second observation is a dip near the 0 point (in X). This is because of a newfull length shelf that was placed at the corner. A close look at the plot will reveal tinypeaks that fall roughly below the ceiling lamps in 19(a). Figure 19(c) shows a scaled upversion of the same plot. The details are better visible here, and it can be seen that thepeaks fall roughly below the lamp positions (magenta blocks). Actually the peaks slightlylead the blocks, because the ceiling height sensor is mounted at the rear of the robot. Thisresult is an example of the useful information that could be extracted from a ceiling heightsensor, even from lamp fixtures, which are only 7cms deep at the deepest point. The lightdiffusing plates and the tubes themselves cover most of the area. Figure 18(a) shows apicture of the lamp fixture.Detecting Heating Pipes

To test the response of the sensor in environments with heating pipes passing below theceiling, we fixed a pipe below the ceiling of our test environment as shown in figure 18(b).The results of the test run are plotted in figure 20. The pipe has been detected by thesensor as seen in the curved area of the plot, as is clear from figure 20(c). This responsecould be used to detect similar features from an otherwise flat ceiling.

4.2.4 Inference

The results indicate that on a feature rich ceiling the ceiling height sensor could be usedto extract useful coarse grained position information. In warehouse environments thereare ceiling features like hanging lamps, signboards, structural elements and pipes. Likein the case of the ceiling light sensor, this information could be fused with odometry andother sensor data to get a better position estimate.

23

Page 24: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

-1500 -1000 -500 0 500 1000-150

-100

-50

0

50

100

150

-1500 -1000 -500 0 500 10000

100

200

300

-1500 -1450 -1400 -1350 -1300 -1250 -1200 -1150 -1100 -1050 -1000210

220

230

240

Rob

ot T

raje

ctor

y (y

)/

C

orrid

or B

read

th

(uni

t:cm

)

Corridor Length/ Estimated Robot Trajectory(x) (unit:cm)

Corridor Length(cm)

c)

c)

b)

a)

Corridor Length(cm)

Cei

ling

Hei

ght

(cm

)C

eilin

g H

eigh

t (c

m)

Figure 20: Plot of data from Ceiling Height Sensor, when a pipe is present below theceiling. a)Trajectory of the robot. b)Ceiling height. c) Zoomed in image of the datacorresponding to the pipe.

4.3 Temperature Sensor

In indoor environments, there are always zones with different temperatures. For examplenear heaters the temperature is higher, and in winter, regions near open windows arecolder. The same holds true for regions near frequently used doors to the outside. Theidea is not to use absolute temperatures; rather the focus is on detecting changes intemperature. The temperatures themselves vary, but the gradients are likely to remain.

4.3.1 The Sensor

We used the easily available Philips KTY81-220 sensor [25]. These sensors have a positivetemperature coefficient, and can be used from -55 to +150 degrees celsius. The sensor hasa roughly linear temperature versus resistance characteristics. The thermal time constant∗

of the KTY81 series of sensors is 30ms in still air. Figure 21(b) shows an image of thesensor chip.

∗Time taken for the sensor to reach 63.2% of the temperature difference.

24

Page 25: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

a) b)

Figure 21: a) Layout of the lab in IAIS where the temperature variations were measured.b) The KTY81-220 temperature sensor from Philips.

4.3.2 Experimental Setup

We measured the temperature variations in lab T30 at the Fraunhofer IAIS. The room hastwo windows, one door and two heaters below the windows. The resistance of the KTY81sensor was measured directly with a digital multimeter. The position was maintained tillthe reading stabilised (usually within 10 seconds), and the readings were tabulated. Thisdata was then used in a matlab script to generate the plot. The measurements were madeafter noon. We repeated the tests with combinations of windows/door open and closed.The layout of the room is shown in figure 21(a).

4.3.3 Results

0 50 100 150 200 250 300 350 400 4501930

1935

1940

1945

1950

1955

1960

1965

1970

1975

1980KTY81 Resistance vs. Distance from Room Heater (in winter)

Distance(cm)

Res

ista

nce

(ohm

s)

Heater1 on, window1 openHeater1 on, window 2 openHeater1 on, window2 and door openHeater 1 on, all windows and door closed

0 50 100 150 200 250 300 350 400 450 5001910

1920

1930

1940

1950

1960

1970KTY81 Resistance vs. Distance from Room Heater (in summer)

Distance(cm)

Res

ista

nce

(ohm

s)

Windows partly open, door closed.One window fully open, door closed.All windows and door open. Breeze in room.

a) b)

Figure 22: Temperature variations in a room, measured as resistance values of the KTY81-2 temperature sensor

Figure 22 shows the sensor’s resistance values measured in the lab. The distances aremeasured from the heater along a line perpendicular to the windows. The measurementswere taken both in winter and summer. In case of 22(a) (winter), the temperature is

25

Page 26: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

higher near the heater ∗ and it falls as we move away from the heater. Interestingly thetemperature slightly rises after falling for some distance. This is probably because of theair circulation patterns within the room. In summer, we found a different pattern, and inthe situation where there was a steady breeze through the room we got a different pattern.This was probably because the air circulation pattern was disturbed by the breeze.The results of the tests reveal some temperature patterns in the room, as seen in figure 22.At the same time the responses of the sensor are too slow to be used with a moving robot.This is because of the thermal time constant of the KTY81-2 sensor, which is 30ms.

4.3.4 Inference

Temperature gradients exist in the test room, and repeated tests at different times revealedsimilar patterns (with exceptions). More work needs to be done to arrive at a conclusionthat such gradients exist for a good part of the day, and the patterns of variations ofgradients over time needs to be studied.

Future work could make use of non-contact infrared thermometers to measure tempera-ture of the surroundings much faster, and make use of this information to aid localization.Thermal imaging cameras also provide information on temperature gradients. Thoughsuch cameras are expensive, the information collected from a thermal imaging study couldbe used by low cost temperature sensors for extracting limited information on the directionof movement of the robot.

4.4 Computer Mouse (Optical) as Motion Sensor

The optical mouse used as input device in computers is a potential candidate for robotlocalization. Previous work has been done on the same lines by Singh and Waldron [26],where they built the DesktopBot platform to test orientation and position sensing usingtwo optical motion sensors from Avago.

4.4.1 The Sensor

We used an optical mouse (USB) from Microsoft for our experiments, under WindowsXP,using driver software from Microsoft. Figures 23(b) & 24(c) show pictures of the mouseused. Optical mice use high speed signal processing circuitry to capture and process iconsized images of the surface underneath. The surface is illuminated by infrared light (laser,in the latest models), and special optics is used to get resolutions good enough to trackmotion upto 45 inches per second (114.3 cm/s) [27].

An issue with the mouse is that it cannot register changes in orientation. Singh andWaldron [26] use a two point method to solve this, very much like encoders coupled to

∗The KTY-81 has a positive temperature coefficient.

26

Page 27: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

coaxial wheels. In this section, we use only one optical mouse to analyse its suitability foruse as a motion sensor for localization.

Note that for all tests mentioned in this section, the EPP∗ option was turned off, unlessspecified otherwise.

4.4.2 Experimental Setup

Data Acquisition

The optical mouse was connected to an IBM Thinkpad via the USB port. The operatingsystem is WindowsXP, and a custom measurement software was written using VisualC++to read mouse data. To get the mouse data, we considered the usual options, like imple-menting a windows hook function, so that all mouse data (windows messages) can bereceived by the measurement software. Another option was to write a custom devicedriver. Finally we devised a very simple technique to read the mouse events. We wrotean MFC application that starts with a maximised window, and captures all mouse eventsposted to this application by the operating system.There were two problems with this approach:

1. The window had to be active. This was not difficult because the measurement ap-plication was the only software needed to get the mouse data for tests that were done byhand.In case of tests with the real robot also this was possible by using the RemoteControlmodule. To drive the robot around, we use the RemoteControl module that requires to bethe active window for commands to be accepted. We modified this application, maximisedthe window, and used the mouse events posted to this window by the operating system.

2. During tests the mouse pointer would soon move out of the window, outside of theclient area. This could be tackled by removing the title bar, the menu, toolbars and theborders, like a full screen view. We chose a simpler method: on every mouse move event,the mouse cursor position was reset to the centre of the screen. This is also convenientwhile driving the robot by manual control (because windows can be tiled for an overviewof the sensor data, provided the RemoteControl window is in the centre, and is active).The following code snippet describes how this was implemented in the measurement ap-plication, as well as the modified RemoteControl module.

void CMouselocView::move(CPoint point)

.....∗Enhanced Pointer Precision - modified from Windows control panel.

27

Page 28: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

//get new mouse cursor position

GetCursorPos(&apiPoint);

//calculate absolute position data by summing up changes in cursor position

Position.x += apiPoint.x - LastPoint.x;

Position.y -= apiPoint.y - LastPoint.y;

//reset cursor to centre of screen to keep it within the client area

SetCursorPos(ParkingPosX,ParkingPosY);

//get true cursor position after reset, for use in next call of this function

GetCursorPos(&LastPoint);

//write absolute position data to log file

fprintf(matFileML, "%d %d;\n", Position.x, Position.y);

.....

For manual experiments, an application was developed using the principles explainedabove. Readings were then tabulated and plotted using matlab scripts. For tracing shapes,the data was logged as matlab compatible files and this was read from the plotting scripts.A screenshot of this application is shown in figure 23(c). The mouse was moved on paper,placed on a flat surface. Paper with a printed grid was chosen, so that it is easier to movethe mouse along straight lines. For curved and diagonal paths, a figure of the path wasfirst drawn on the paper, and the mouse moved on this figure by hand. Figure 23.a showsthe test setup. Figure 23.b shows the directions of movement for the tests - lateral (X),longitudinal (Y) and diagonal (D).

X

YD

a) b) c)

Figure 23: Test setup for measurement of mouse readings, and directions of movement.

For tests with the mouse mounted on the robot, a modified version of the RemoteControlmodule was used in the ICONNECT graph shown in figure 15(a). The logged data wasvisualised using matlab scripts. The scripts also perform conversion from mouse moveevents to distances in centimetres, based on rough calibrations. Difficulties experiencedin calibrating the mouse on the test environment, and the method used for making the

28

Page 29: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

plots are explained in the results section that follows (section 4.4.3). Table 3 gives a listof modules used in data acquisition from the Optical Mouse.

Module Function SourceRemoteControl Capturing mouse data and

controlling robotModified version,source: AIS-BITRoboCup Team

DualMotorController Control motors via theTMC200, and read encoderdata

AIS-BIT RoboCupTeam

Odometry Computes odometry from en-coder data

AIS-BIT RoboCupTeam

Conv4bt Logs data in Matlab readablefiles

New

Table 3: ICONNECT modules used for experiments with the optical mouse as a motionsensor for localization.

Mounting the mouse on the Robot

We also did experiments with the mouse mounted on the robot. The challenge was tomount the mouse so that just enough pressure is exerted on it to slide it on the ground.Too much of force and its hard to control the robot; too little force and the mouse readingsare bad. We taped polystyrene foam under the robot and carved out a socket on thebottom, to fit in the mouse. Keeping the mouse from moving inside the socket was alsoproblematic. We solved this by gluing little bolts on top of the mouse. The mouse was thenpressed into the socket. The bolts penetrate the polystyrene foam, and hold the mouse inplace. This block of polystyrene foam and mouse was then taped on the underside of therobot, between the motors and the battery. See figure 24 for details.

Figure 24: The computer mouse mounted on the underside of the Volksbot. (a) Frontview shows the mouse in a position to slide on the ground. (b) Bottom view of the robotplatform with the mouse mounted. (c) Bolts glued on the mouse to hold it steady in thepolystyrene foam socket while the robot moves.

29

Page 30: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

4.4.3 Results

Directional Precision of Mouse Data

We did some tests to get an impression of the precision of mouse data. On a smoothpaper, the mouse was moved by hand over a line 96cms in length, and the readings weretabulated. Every 96cm stroke took roughly 10 seconds (an average speed of 9.6cm/s). Themouse was moved in lateral, longitudinal and diagonal directions, to see if the sensor hasdifferent characteristics for movement in different directions. Figure 25 shows the resultsof this test, with the EPP option turned off.For tests with different directions of motion, only the orientation of the mouse was changed.Hand movements were in the same direction for all tests, so that no additional changesare caused by a different posture of the experimenter. The diagonal movements were reg-istered by the mouse as components in lateral and longitudinal movements. The diagonalmovement was estimated by vector addition.The result of the experiment is summarised in table 4. The %RSD ∗ was found to be

1 2 3 4 5 6 7 8 9 105

5.1

5.2

5.3

5.4

5.5

5.6

5.7x 10

4 Directional Precision of Optical Mouse Readings (No-EPP)

Test Number

X/Y

/D M

ovem

ent

readin

gs f

rom

Mouse

Lateral Movement (X)Longitudinal Movement (Y)Diagonal Movement (D)

Figure 25: Directional Precision of Mouse Readings

the lowest for lateral movement. With this data, it can be generalised that precision ishighest for lateral movement and lowest for diagonal movement.

Direction Mean Standard Deviation† %RSDLateral (X) 56568 177.11 0.33Longitudinal (Y) 56283 333.54 0.63Diagonal (D) 52884 1774.80 3.54

Table 4: Directional Precision of Mouse Data.

Effect of EPP on Precision of Mouse Data∗Percentage Relative Standard Deviation, computed as: 100×|SD|

mean.

30

Page 31: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

To examine the effect of the EPP setting we repeated the tests we did to study thedirectional precision, but with the EPP option enabled. Figure 26(a) shows the results ofthis test. Table 5 summarises the observations from the comparative test.

Effect of EPP on the Precision of Mouse Readings

(a) (c)(b)

0 2 4 6 8 103.5

4

4.5

5

5.5

6x 10

4 Lateral (X)

Test Number

Mou

se R

eadi

ng

0 2 4 6 8 103

3.5

4

4.5

5

5.5

6x 10

4 Longitudinal (Y)

Test Number

Mou

se R

eadi

ng

0 2 4 6 8 102.5

3

3.5

4

4.5

5

5.5

6x 10

4 Diagonal (D)

Test Number

Mou

se R

eadi

ng

With EPPWithout EPP

Figure 26: Precision of Mouse Readings, with and without Enhanced Pointer Precision.

We conclude that the EPP option is not good for the purpose of robot localization,

X Y D Xepp Yepp Depp

%RSD 0.33 0.624 3.54 9.24 3.53 7.87Mean 56568 56283 52884 42328 33750 37089SD 177.11 333.54 1774.8 37089 11301 23026

Table 5: Quality of Mouse Readings with and without EPP.

because it decreases the quality of mouse readings. Enabling EPP decreased the numberof mouse move events by upto 40%, increased the %RSD by a few points, and increasedthe SD severalfold. Table 6 shows the details.

X Y D%RSD +8.9 +2.9 +4.3Mean -25.17% -40.04% -41.73%SD +20.9 times +3.4 times +1.3 times

Table 6: Effect of EPP on mouse readings.

Tracing Patterns with the Mouse

To get an overall impression of the quality of mouse readings, we traced simple patternswith the mouse. Figure 27.a shows a plot of mouse data, captured while the mouse tracesa 50cm square and its diagonal. Figure 27.b shows a plot of mouse data, captured while

31

Page 32: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

0 0.5 1 1.5 2 2.5 3 3.5

x 104

-0.5

0

0.5

1

1.5

2

2.5

3x 10

4

a) b)

0 0.5 1 1.5 2 2.5 3 3.5

x 104

-2000

0

2000

4000

6000

8000

10000

12000

14000

16000

Figure 27: Trace of Simple Patterns drawn with the Optical Mouse.

the mouse traces a 50cm x 25cm rectangle, and a curve drawn to fit exactly inside therectangle. These two figures were traced by hand, moving the mouse slowly on the papersheet where the figures were sketched. The gap between the top end of the diagonal linein figure and the top right corner of the square gives us an indication of the errors present.Similarly the curve traced out of the rectangle as well as the gap between the end pointof the curve and the bottom right corner of the rectangle in figure 27.b gives us a roughidea of the error. It may also be noted that with straight paths (along X or Y axes) theaccuracy is higher than diagonal or curved paths.Optical Mouse Mounted on the Robot

In this section we look at the results of test runs with the Optical Mouse attached to therobot. Figure 28 shows the results of a typical test run. It must be noted that the mousedoes not register rotational changes; but since the robot moved more or less straight, itcould capture the slight variations orthogonal to the direction of motion.

-2000 -1500 -1000 -500 0 500 1000-150

-100

-50

0

50

100

150

Corridor Length/ Estimated Robot Trajectory(x) (unit:cm)

Rob

ot T

raje

ctor

y (y

)/

C

orrid

or B

read

th

(uni

t:cm

)

Figure 28: Test Run with Optical Mouse mounted on the Robot. Blue: odometry data.Green: mouse data calibrated using data from manual tests on the corridor floor. Red:mouse data calibrated using data from manual tests on a smooth paper surface.

32

Page 33: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

The floor of the corridor is a commonly found vinyl material, and is glossy. Yearsof use (by humans and robots) has worn the surface out and patches can be found thatare glossy, smooth or rough. Because of this, calibrating mouse data on this floor wasrather difficult, and the results had a large variance. Table 7 shows the results of testsdone to measure the precision of mouse data when the mouse is mounted under the robot.The mouse data has a %RSD of 206, which is very high. In comparison, the %RSD forlongitudinal(Y) movements of the mouse on paper is 0.33 (see table 4 for details).

Test Number Calibration Factor(cms / mouse event)

1 0.00322 0.01323 0.00414 0.00985 0.00336 0.03137 0.2718

Table 7: Precision of Mouse Readings from Robot.

The blue plot is the estimate with odometry. The red plot is the estimate using theoptical mouse data collected from manual tests on a paper surface (see section 4.4.3 fordetails). The green plot is the estimate using data collected from manual tests on thecorridor. There is a significant gap in these plots. The reason is the variations of thesurface where the manual tests were done on the corridor, and the surface traversed bythe mouse mounted under the robot during the test run. We also found that the floor isnot perfectly even, and the surface characteristics vary because of usage patterns. Theplots show the effect of surface characteristics on the optical mouse sensor(infrared) ∗.Clearly, we need to use a sensor that is less sensitive to surface characteristics. This is alsoevident from the difference between odometry and the plot made using calibration datafrom the manual tests done on a paper surface. With a better sensor like the ANDS6011,it might well be possible to calibrate on the corridor floor.

4.4.4 Inference

From these experiments, we infer that the optical mouse sensor has good potential foruse as a low cost localization sensor in mobile robots. With suitable modifications to theoptical setup and by integrating multiple optical sensor elements (of the latest laser basedtype), it might be possible to build a low cost localization sensor that surpasses odometry

∗The latest laser based optical navigation sensor chip from Avago - ADNS6010, is less sensitive to thesurface on which it is used.

33

Page 34: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

in accuracy. The motivation for this reasoning is not only the resolution of mouse readings,but also the absence of mechanical slip in case of optical sensors.

4.5 Comparison of Estimated Maximum Resolutions of Optical Mouse

and Odometry

The maximum resolution available for optical navigation sensors, at the time of writingthis report, is 2000 CPI∗. This means a maximum resolution of 0.0127mm [27].In comparison, the maximum estimated resolution of odometry available for the VolksbotIndoor is only 0.0215mm (see section 3.2.1). For the devices we compared, the estimatedmaximum resolution of the optical sensor is 69% higher than that of odometry [27] [15].

∗Counts Per Inch

34

Page 35: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

5 Conclusion

This R&D project resulted in the successful completion of the following tasks:

• Identification of the task of adding new sensors to Volksbot, that have the potentialto improve localization.

• Study of sensors and IO devices that have already been used with the Volksbot(allvariants) in the past.

• Identification of target environment, and choosing an available test environment forevaluation of sensors.

• Addition of new hardware to the Volksbot Platform - the Diolan IO card, voltageregulators, and mouse as motion sensor. On the robot used for the tests, the SRF08ultrasonic sensors, light sensor, and MBoard were added and interfaced with the testsoftware.

• Innovative use of routine low cost sensors for new functions - the Ceiling HeightSensor and the Ceiling Light Sensor.

• Study of temperature variations in a room, with a perspective towards robot local-ization.

• Detailed investigation into the suitability of the optical computer mouse as a motionsensor. Comparison of results with odometry, and informed suggestions for furtherimprovement.

• Results of the investigation was presented for each sensor. Inferences and suggestionswere presented on their suitability for use in the Volksbot, with respect to the taskof localization.

There are other sensors being developed that could be investigated for use in robotlocalization. For example, the Fraunhofer IOF is working on a high precision IndustrialPosition Sensor [28] with resolutions in the micrometer range. Typical working distancesare currently only in the range of millimetres. This device works based on interferencepatterns, and therefore it might be possible to eventually use this in place of opticalnavigation sensors.

The new laser based sensor for computer mice from Philips, the ”Twin Eye” lasersensor also holds good potential for use as a motion sensor. However, the device itselfwould have to be redesigned for use in mobile robots with ground clearance. It worksbased on doppler effect.

35

Page 36: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

A recent related development is the revolutionary ’smaller than media’ printer intro-duced by the company PrintDreams. It uses a precision optical navigation technologycalled RMPT [29]. This is an indicator of the potential of optical navigation technology,and the applications that are made possible by this technology.

6 Future Work

Envisaged directions for future work, leveraging the work done as part of the RD-1 [1] andRD-2 projects are:

• Find and improve suitable self-localization algorithms that can make the best use ofthe sensors added to the Volksbot in this project.

• Further study of the newly added sensors and their optimisation for use in mobilerobots.

• Build an optical navigation device that can be mounted a few centimetres abovethe ground, using custom optics and the Avago laser based optical navigation chips[27]. Such a sensor has the potential to replace odometry, because of the absence ofmechanical slip.

36

Page 37: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

List of Figures

1 Volksbot Sensors & Electronics Overview. Components are shown in colouredboxes - the colours have the following meaning. Green: Commercially avail-able components from the Fraunhofer IAIS. Yellow: Components that havebeen integrated with the Volksbot. Blue: Components developed and addedto the Volksbot, as part of this project. . . . . . . . . . . . . . . . . . . . . 6

2 a) The TMC200 motor controller board. b) The BMS memS-ADfo interfaceboard for analog signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08ultrasonic range finders. (b) MBoard - the universal IO board developed atthe Fraunhofer AIS, used to interface the ceiling light sensor in this project. 8

4 a)AISVision hardware b)Sample image . . . . . . . . . . . . . . . . . . . . . 105 a)STH-MDCS2 Stereo Vision Camera from Videre Design. b)PTU-D46-17

Pan Tilt unit from Directed Perception. c)AVT-D2 Industrial Camera fromAllied Vision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

6 Laser scanners that have been used on the Volksbot. (a)SICK LMS200(b)Leutze RS1 (c)Hokuyo URG-04LX . . . . . . . . . . . . . . . . . . . . . 12

7 Fluctuations in heading measurement during a 5 metre outdoor run. Source:Master Thesis, Waldemar Leonhardt. [21] . . . . . . . . . . . . . . . . . . . 12

8 Some electronics compasses that have been used on the Volksbot - (a)DevantechCMPS03 (b)Honeywell HMR3300 (c)Pewatron 6100 . . . . . . . . . . . . . 13

9 Inertial sensors that have been used on the Volksbot - (a)WISA sensor and(b)Xsens MTi miniature attitude and heading reference system. . . . . . . . 13

10 Plot of data from a Volksbot mounted with laser scanners and the WISAsensor. Position estimate from odometry is shown in blue, laser scanner inblack, and fused data from the WISA sensor and odometry is shown in red.Source: Bachelor Thesis, Dmitri Unrau . . . . . . . . . . . . . . . . . . . . 14

11 (a)The SwissRanger miniature 3D Time of Flight Range Camera. (b)RAVEN6GPS receiver from Afusoft. (c)GPSlim236 GPS receiver from Holux. . . . . 15

12 (a)Sharp Infrared Ranger GP2Y0A21YK. (b)Sharp Long Range InfraredRanger - the 5Z-2Y-3A003-F. (c)SRF08 Ultrasonic Range finder from De-vantech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

13 (a) Voltage regulator added to the Volksbot. (b) Ceiling Light Sensor As-sembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

14 a) Ceiling Light Sensor mounted on the robot. b) Corridor at the FraunhoferIAIS labs where the test runs were conducted. . . . . . . . . . . . . . . . . . 17

37

Page 38: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

15 (a)ICONNECT graph used for manual control of robot and data acquisi-tion from the sensors. (b)Running graph and bar chart of light intensitymeasured at current location by the robot. . . . . . . . . . . . . . . . . . . . 18

16 Robot trajectory(a) and corresponding data(b) from ceiling light sensor,for a test run of 30m. In (a) unit for X and Y axis is centimetres. In (b)X axis shows the position of the robot along the length of the corridor incentimetres, and Y axis shows the light intensity on a scale of 0 - 255. Testrun in the IAIS T30 corridor. . . . . . . . . . . . . . . . . . . . . . . . . . . 20

17 Ceiling Height Sensor. a)The SRF08 mounted on the Volksbot using an Lbracket, facing the ceiling. b)View of ceiling light sensor and the ceilingheight sensor on the robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

18 a)Ceiling Light fixture used in the corridor where tests were held. b)Pipefixed below the ceiling to test the response of the ceiling height sensor inenvironments with heating pipes. . . . . . . . . . . . . . . . . . . . . . . . . 21

19 Plot of data from Ceiling Height Sensor. a)Robot trajectory plotted ona map of the corridor where test runs were conducted. b)Ceiling Height(sensor to ceiling) corresponding to robot position in (a). c)Zoomed plot ofceiling height sensor data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

20 Plot of data from Ceiling Height Sensor, when a pipe is present below theceiling. a)Trajectory of the robot. b)Ceiling height. c) Zoomed in image ofthe data corresponding to the pipe. . . . . . . . . . . . . . . . . . . . . . . . 24

21 a) Layout of the lab in IAIS where the temperature variations were mea-sured. b) The KTY81-220 temperature sensor from Philips. . . . . . . . . . 25

22 Temperature variations in a room, measured as resistance values of theKTY81-2 temperature sensor . . . . . . . . . . . . . . . . . . . . . . . . . . 25

23 Test setup for measurement of mouse readings, and directions of movement. 2824 The computer mouse mounted on the underside of the Volksbot. (a) Front

view shows the mouse in a position to slide on the ground. (b) Bottomview of the robot platform with the mouse mounted. (c) Bolts glued on themouse to hold it steady in the polystyrene foam socket while the robot moves. 29

25 Directional Precision of Mouse Readings . . . . . . . . . . . . . . . . . . . . 3026 Precision of Mouse Readings, with and without Enhanced Pointer Precision. 3127 Trace of Simple Patterns drawn with the Optical Mouse. . . . . . . . . . . . 3228 Test Run with Optical Mouse mounted on the Robot. Blue: odometry

data. Green: mouse data calibrated using data from manual tests on thecorridor floor. Red: mouse data calibrated using data from manual testson a smooth paper surface. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

38

Page 39: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

List of Tables

1 ICONNECT modules used in the robot control and DAQ software usedwith the ceiling light sensor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 ICONNECT modules used in the robot control and DAQ software usedwith the ceiling height sensor. . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 ICONNECT modules used for experiments with the optical mouse as amotion sensor for localization. . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Directional Precision of Mouse Data. . . . . . . . . . . . . . . . . . . . . . . 305 Quality of Mouse Readings with and without EPP. . . . . . . . . . . . . . . 316 Effect of EPP on mouse readings. . . . . . . . . . . . . . . . . . . . . . . . . 317 Precision of Mouse Readings from Robot. . . . . . . . . . . . . . . . . . . . 33

39

Page 40: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

References

[1] Rejin Narayanan. Self-localisation for the volksbot soccer. RD Project 1, MasterProgram in Autonomous Systems, 2005.

[2] TMC Product Datasheet. http://www.ais.fraunhofer.de/BE/volksbot/

TMC200-eng.pdf.

[3] BMC meM-ADfo Product Datasheet. http://www.bmc-messsysteme.de/us/

pr-mem-adfo.html.

[4] Stefan Kubina and Jorn Fischer. MBoard Multi Servo IO Board. Fraunhofer IAIS.http://www.volksbot.de.

[5] U2C-12 USB-I2C/SPI/GPIO Interface Adapter Reference Manual. http://www.

diolan.com/i2c/u2c12.html.

[6] 7810 and 7805 Voltage Regulator IC Data Sheets.

[7] Ais-bit robocup team. Team Homepage, 2005. http://www.aisbit.de.

[8] Sven Olufs. Vision-based probabilistic state estimation using omnidirectional cam-eras. Master Thesis, Fachhochschule Bonn-Rhein-Sieg, 2005.

[9] RoboCup Official Site.

[10] Micro Epsilon. ICONNECT. http://www.micro-epsilon.co.uk/uk-en/

Software/.

[11] Sven Olufs and Thomas Wisspeintner. AISVision : Real-Time Image Processing forMobile Robotic Applications. Fraunhofer IAIS. http://www.ais.fraunhofer.de/

BE/volksbot/components.html.

[12] STH-MDCS2 Stereo Vision Camera. http://www.videredesign.com/docs/

sthmdcs2.pdf.

[13] PTU-D46-17 Pan Tilt Unit. http://www.dperception.com/pdf/specs-ptu-d46.

pdf.

[14] Allied Vision Firewire Camera. http://www.alliedvisiontec.com/files/pdf/

produkte/AVT%20D2-B.pdf.

[15] Avago Technologies, Inc. Quick Assembly Two and Three Channel Optical Encoders.http://www.avagotech.com.

40

Page 41: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

[16] Fraunhofer IAIS. The Volksbot. http://www.volksbot.de.

[17] Jenoptik Electronic Compass Module. http://www.jenoptik-los.de/data/

downloads/97/Kompass_de.pdf.

[18] Devantech. Devantech CMPS03 - Robot Compass Module. http://www.

robot-electronics.co.uk/htm/cmps3doc.shtml.

[19] Pewatron. Pewatron Typ 6100 Electronic Compass Sensor. http://www.pewatron.

com/GB/2/2.9/2.9.1/kompasssensormithall-ic.pdf?35,28.

[20] Honeywell. HMR3300 Digital Three-Axis Tilt Compensated Compass. http://www.

ssec.honeywell.com/magnetic/products.html.

[21] Waldemar Leonhardt. Sensorische richtungsbestimmung auf mobilen systemen. Mas-ter’s thesis, Rheinische Fachhochschule Koln, 2003.

[22] Xsens product website. http://www.xsens.com.

[23] CSEM SA. Swiss Ranger SR-2 Datasheet, 2005. http://www.swissranger.ch.

[24] Sebastian Thrun, Maren Bennewitz, Wolfram Burgard, Armin B. Cremers, FrankDellaert, Dieter Fox, Dirk Hahnel, Charles R. Rosenberg, Nicholas Roy, JamiesonSchulte, and Dirk Schulz. Minerva: A tour-guide robot that learns. 1999.

[25] Philips Semiconductor. Philips KTY 81 series temparature sensor.http://www.semiconductors.philips.com/acrobat_download/datasheets/

KTY81-2SERIES_4.pdf.

[26] Surya P. N. Singh and Kenneth J. Waldron. Design and evaluation of an integratedplanar localization method for desktop robotics. Proceedings of the 2004 IEEE Inter-national Conference on Robotics and Automation, 2004.

[27] Inc. Avago Technologies. Avago adnb-6011 and adnb-6012 high performance lasermouse bundles - product overview. Product Data Sheet, 2005. http://www.

avagotech.com/assets/downloadDocument.do?id=2378.

[28] Fraunhofer IOF. Industrial position sensor. http://www.iof.fraunhofer.de/

departments/micro-optics/modules/projects/positionssensor_e.html.

[29] PrintDreams. Rapid Movement Printing Technology. http://www.printdreams.

com/inside/rmpt_full.html.

41

Page 42: Low Cost Localization Sensors for the Volksbot Indoorglagibos.com/rejin/FE_2_Report.pdf · Figure 3: (a) The U2C-12 GPIO board from Diolan, used to interface the SRF08 ultrasonic

”Even when you know where you are, no map will help if you do not knowwhere you want to go.”- anonymous.

42