47
Anders Wallander A Robot Scorpion Using Ground Vibrations for Navigation 2000:316 MASTER'S THESIS Civilingenjörsprogrammet Elektroteknik Institutionen för Systemteknik Avdelningen för Industriell elektronik 2000:316 • ISSN: 1402-1617 • ISRN: LTU-EX--00/316--SE

A Robot Scorpion Using Ground Vibrations for Navigationltu.diva-portal.org/smash/get/diva2:1028103/FULLTEXT01.pdf · 2016. 10. 4. · Avdelningen för Industriell elektronik 2000:316

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Anders Wallander

    A Robot Scorpion Using Ground Vibrations for

    Navigation

    2000:316

    MASTER'S THESIS

    Civilingenjörsprogrammet Elektroteknik

    Institutionen för SystemteknikAvdelningen för Industriell elektronik

    2000:316 • ISSN: 1402-1617 • ISRN: LTU-EX--00/316--SE

  • A Robot Scorpion UsingA Robot Scorpion UsingA Robot Scorpion UsingA Robot Scorpion UsingGround Vibrations forGround Vibrations forGround Vibrations forGround Vibrations for

    NavigationNavigationNavigationNavigation

    Anders Wallander

    Civilingenjörsprogrammet

    Institutionen for systemteknikAvdelning for Industrell elektronik och robotik

  • i

    Abstract

    Robotics can learn a lot by investigating simple and effective techniquesevolved in biology. The sand scorpion that lives in the Mojave Desert usesground vibrations when locating its prey. This thesis work shows that a robotcan be made to navigate using similar techniques as the sand scorpion. A six-legged robot was constructed and fitted with vibration sensors to try theconcept. A robot navigating with the help of ground vibrations could be usedin applications such as the search for victims after natural disasters. Thisreport presents the hardware design, algorithms for direction and locationfinding of a vibration source, simulation results and the performance of thedirection finding system fitted on the robot.

  • ii

    Preface

    This Master Thesis work was conducted at the Intelligent Robotics ResearchCentre at Monash University in Melbourne, Australia. The thesis concludesthe M.Sc. study in Electrical Engineering at Luleå University of Technology.The main goal with this thesis was to design and build a small robot whichwill be able to detect and react intelligently to ground vibrations caused byfootsteps of surrounding humans or animals.

    The Intelligent Robotics Research Centre, within the Department ofElectrical and Computer Systems Engineering at Monash University, isAustralia’s foremost centre for research in sensory based robot controlincluding robotic “hand/eye” coordination and autonomous mobile robotnavigation in unstructured environments. The machine perception aspects ofthis research includes vision, tactile, force/torque, ultrasonic, olfactory andthermal sensing in an intelligent robotics application context. The researchefforts are largely driven from a sensory instrumentation, computer systemsand artificial intelligence perspective but with some mechatronics expertiseas well.

    Acknowledgements

    I wish to address my acknowledgements to Andrew R. Russell, mysupervisor at Monash University, and Kalevi Hyyppä, my examiner at LuleåUniversity of Technology, who both gave me advice and encouragementduring this thesis work.

    I am grateful to all the people in the electronic and the mechanical workshopat Monash University for their invaluable help during the construction of therobot.

    Finally I would like to thank Sven Molin, at Luleå University of Technology,who encouraged me and worked hard to make it possible for me to do mythesis work at Monash.

    Anders WallanderMelbourne, July 2000

  • iii

    Table of Contents1 INTRODUCTION........................................................................................................................ 1

    1.1 GOAL.......................................................................................................................................... 11.2 OUTLINE..................................................................................................................................... 1

    2 BACKGROUND........................................................................................................................... 2

    2.1 SIMILAR ROBOTICS PROJECTS .................................................................................................... 22.2 THE NATURE OF SEISMIC WAVES............................................................................................... 22.3 THE SAND SCORPION ................................................................................................................. 4

    3 VIBRATION DETECTORS ....................................................................................................... 7

    3.1 TEST OF SUITABLE SENSORS ...................................................................................................... 73.2 BUILDING THE VIBRATION DETECTORS.................................................................................... 11

    4 NAVIGATION ........................................................................................................................... 16

    4.1 DIRECTION FINDING ................................................................................................................. 164.2 LOCATION FINDING.................................................................................................................. 19

    5 THE ROBOT.............................................................................................................................. 22

    5.1 BODY ....................................................................................................................................... 225.2 LEGS ........................................................................................................................................ 235.3 LOCOMOTION ........................................................................................................................... 245.4 THE MICROCONTROLLER ......................................................................................................... 265.5 INDICATOR LED....................................................................................................................... 275.6 POWER ..................................................................................................................................... 27

    6 SOFTWARE DESIGN............................................................................................................... 28

    6.1 OVERVIEW OF SOFTWARE ........................................................................................................ 286.2 FINDBEARING FUNCTION.......................................................................................................... 296.3 GETDIRECTION FUNCTION........................................................................................................ 306.4 SLIDINGWINDOW FUNCTION..................................................................................................... 316.5 PULSE RECEIVING SOFTWARE .................................................................................................. 316.6 LEG MOTION SOFTWARE.......................................................................................................... 32

    7 PERFORMANCE OF THE DIRECTION FINDING SYSTEM ........................................... 33

    7.1 SENSORS MOUNTED ON A TABLE ............................................................................................. 337.2 SENSORS MOUNTED ON THE ROBOT......................................................................................... 347.3 CONCLUSIONS .......................................................................................................................... 35

    8 SUMMARY ................................................................................................................................ 37

    8.1 CONCLUSIONS .......................................................................................................................... 378.2 FURTHER WORK....................................................................................................................... 37

    9 REFERENCES........................................................................................................................... 38

    APPENDIX A: TERMINOLOGY ................................................................................................... 39

    APPENDIX B: BLUE PRINTS......................................................................................................... 40

    APPENDIX B.1: BODY .................................................................................................................... 40APPENDIX B.2: LEG ....................................................................................................................... 41APPENDIX B.3: SERVO HOLDER..................................................................................................... 41

    APPENDIX C: SCORPION ELECTRONICS ................................................................................ 42

  • 1

    1 IntroductionSeveral animals use substrate vibrations for navigation, for example the sandscorpion, the trapdoor spider, the lion ant and the fiddler crab [5]. After acloser look at the sand scorpion, which lives in the Mojave Desert, USA, itwas decided to investigate if it would be possible for a robot to use groundvibrations to help locate a source of vibration. Possible missions for such arobot could be helping in the search for avalanche and earthquake victims.The sensors on the robot could pick up substrate vibrations created by taps inthe ground made by the victim and help direct the robot towards the victim.Another application would be to act as a watchdog to detect intruders.

    1.1 GoalThe main goal with this thesis was to design and build a small legged robotwhich should be able to detect and react intelligently to ground vibrationscaused by footsteps of surrounding humans or animals.

    1.2 OutlineThe following chapter presents the literature survey, which investigates ifsimilar robotic projects have been made. It also discusses the behaviour ofthe sand scorpion and finally describes the nature of seismic waves. Chapter3 is concerned with the research and design of the vibration detectors.Chapter 4 presents two navigation algorithms, one detecting the bearing ofthe source of vibration and the other the exact location, given that thevibration source is in the vicinity of the robot. Simulation results are alsopresented in this chapter. The design of the robot is described in chapter 5. Inchapter 6 the software design is described and in chapter 7 the performanceresults are presented. Finally chapter 8 presents conclusions and a discussionof possible future work.

  • 2

    2 BackgroundThis chapter presents an investigation on similar robotic projects. It alsodiscusses the behaviour of the sand scorpion and finally describes the natureof seismic waves

    2.1 Similar Robotics ProjectsWhen robots interpret their environment, senses such as vision, touch, smelland hearing are commonly exploited. However, robots are not restricted touse only human senses and can therefore be given sensors such as radar.

    There exists many robotics projects where features from insects have beenexploited, but no other robotics projects, where ground vibrations have beenused for guiding a robot, were found.

    The Swedish military has done research on direction finding using groundvibrations. By using vibration sensors, the direction of an approaching tankcould be detected [17].

    During the Vietnam War, seismic sensors were introduced to detect humanswalking on trails. One of the sensors was the Platoon Early Warning SystemAN/TRS-2, which incorporated both seismic and magnetic sensors. Whenone of the sensors was trigged, a RF signal was sent to a receiver unit. TheAN/PSR-1 Model X-150A sensor used wires between the geophones and thereceiver box. It translated the sub sonic signals into the audio spectrum sothat you could hear them. It was easy to distinguish a woman walking, a manwalking or children playing without any training [6].

    2.2 The Nature of Seismic WavesA handclap in the air sends sound waves outward as the air compresses andrarefies. The mechanical energy originally in the moving hands istransformed into air vibrations. A stone thrown into the water sends wavesspreading across its surface in the form of ripples. The substrates of the Earthhave similar elastic properties that cause them to deform and vibrate whenpushed and pulled by forces applied to them. These substrate movements arecalled seismic waves. There are two basic classes of seismic waves: the fasterbody waves and the slower surface waves.

    2.2.1 Body WavesBody waves propagate through the earth and can be split up into the twotypes shown in Figure 2.1: P (primary) and S (secondary ). The P wave isfaster and is similar to a sound wave because it alternately compresses anddilates the ground. The slower of the body waves is the S wave, which shearsthe rock sideways perpendicular to the direction of travel. This type of wavecannot propagate through liquid parts of the Earth, because the liquid will notspring back [3]. Body waves spread spherically, therefore their amplitudefalls off as 1/r, where r is the distance to the source [15].

  • 3

    Figure 2.1. The two types of body waves. The primary wave (1) is faster than the secondarywave (2) (figures from [3]).

    2.2.2 Surface WavesThe second basic class of seismic waves, the surface waves, can also be oftwo types, as shown in Figure 2.2. The first is called a Love wave. Its motionis essentially the same as for the S wave. It moves the ground from side toside in a horizontal plane perpendicular to the direction of the travel. Thesecond type is the Rayleigh wave, which reassembles a rolling ocean wave, itmoves both in a vertical and horizontal direction [3]. Surface waves arespreading in a circular pattern, therefore their amplitude falls off as 1/r1/2,where r is the distance to the source [15].

    Rayleigh waves are used in this project because they travel further thancompressional waves, and are therefore easier to detect.

  • 4

    Figure 2.2. The two types of surface waves. The Love wave (1) is moving from side to side asit propagates. The Rayleigh wave (2) moves both in a vertical and horizontal direction(figures from [3]).

    2.3 The Sand ScorpionThe sand scorpion, Paruroctonus mesaensis, shown in Figure 2.3, usesground vibrations to locate its prey. It responds to substrate vibrations bydetecting surface waves of low velocities [5].

    Figure 2.3. The sand scorpion, Paruroctonus mesaensis (figure from [5]).

    At night it leaves its burrow to hunt. It waits in ambush until a prey passeswithin range. When a prey enters the scorpion's territory, the pedipalps (theprey-capturing pincers) open and extend forward as the scorpion raises itsbody off the sand. For each movement of the prey, the scorpion will turn andmove closer. If it fails to grab the prey with its pedipalps it waits motionless

  • 5

    until the prey moves again. This sequence lasts for only a few seconds withone to five orientation movements.

    Figure 2.4. The tarsal leg segment of the scorpion has two different types ofmechanoreceptors. The slit sensillum reacts to Rayleigh waves and the tarsal hairs respondto compressional waves (figure from [5]).

    The sand scorpion uses two different mechanoreceptors on its tarsal legsegments, its “feet”, to detect substrate vibration (see Figure 2.4). Byinserting fine wires into the terminal segments and record the bioelectricsignals, Brownell [5] could show that the tarsal hairs reacted tocompressional waves while the slit sensillum responded to Rayleigh waves,as shown in Figure 2.5. The slit sensillum is similar to the lyriform organ inspiders, which is highly sensitive to web vibrations [5].

    Figure 2.5. The tarsal hairs react on compressional waves (1) while the slit sensillum reactsto Rayleigh waves (2) (figures from [5]).

    Brownell shows that the sand scorpion could locate the direction and thedistance of a prey up to 10 cm away. If the distance was greater, up to 30 cm,only the direction was sensed. By experiments, where he covered theanimal’s eight eyes with opaque paint and inserted sound-absorbent tiles

  • 6

    between the stimulation source, he showed that the sand scorpion reacts tovibrations conducted through the ground. Figure 2.6 shows the air-gapexperiments that proved that the sand scorpion respond to substratevibrations rather than visual or aural cues when locating their prey.

    He also showed that the scorpion is using relative arrival time, and notrelative intensity, to find the direction of its prey.

    Figure 2.6. When locating its prey, air-gap experiments showed that the sand scorpionrespond to substrate vibrations rather than visual or aural cues. The scorpion did not reactwhen the surface, with which the scorpion’s leg did not have contact, was tapped (1). Whenthe scorpion’s leg were in contact with the tapped surface, it reacted by turning against thesource (2) (figures from [5]).

  • 7

    3 Vibration DetectorsIn this chapter, four different methods for detecting vibrations are evaluated.The vibration sensors investigated were commercial accelerometer, electretmicrophone, piezoelectrical coaxial cable and piezoelectrical film.

    3.1 Test of Suitable SensorsA test bench was defined to make the comparison of the different sensorspossible:

    • Each sensor was mounted in a clamp standing on a wooden table. It isobvious that the clamp would absorb some vibrations, but as it was thesame for all sensors, the attenuation could be neglected.

    • Each test was conducted by dropping a 1.25 g ball-bearing from 15 cmheight at a distance of 20 cm from the centre of the sensors.

    • The signal generated by the impact was monitored on an oscilloscope.

    3.1.1 Commercial AccelerometerThe ADXL05, from Analog Devices, is a complete accelerationmeasurement system on a single monolithic IC. It contains both the micro-machined sensor as well as the signal conditioning and amplifying circuitry.Figure 3.1 shows a functional block diagram of the sensor. Two ADXL05sensors were available in the department and they were tested to try theconcept of using commercial accelerometer for this project. This type ofaccelerometers is made for automotive air bags, and is therefore relativelyinexpensive (~$A30).

    Figure 3.1. Functional block diagram of the ADXL05 sensor (figure from [2]).

    3.1.1.1 Theory of OperationThe ADXL05 is a force balanced capacitive accelerometer, fitted in a TO-100 metal can. The sensor consists of 46 unit cells and a common beam.

  • 8

    Figure 3.2 shows a simplified view of the actual sensor responding to anapplied acceleration. The sensor’s fixed capacitor plates are drivendifferentially by two 1 MHz square waves, each 180° out of phase from oneanother. At rest, the voltage output at their electrical centre (i.e. at the centreplate) is zero, due to same values of the two capacitors. When there is anapplied acceleration, the common central plate moves closer to one of thefixed plates while moving further from the other. This alters the capacitancevalues, resulting in an output signal at the central plate. The output amplitudeof the signal is proportional to the amount of acceleration experienced by thesensor.

    Figure 3.2. The ADXL05 sensor responding to acceleration (figure from [2]).

    The signal from the centre plate of the sensor is buffered and applied to asynchronous demodulator which is clocked, in phase, with the sameoscillator that drives the fixed plates. After the demodulator, a preamplifierlevels the signal at 1.8 V ± 200 mV/g. The IC also includes an uncommittedbuffer amplifier, which can be used to adjust the scale and 0 g offset over awide range.

    3.1.1.2 Performance TestAs only measurement of vibration and not tilt, was the subject of interest, theADXL05 was configured for AC coupled response. The buffer amplifier wasset up to give a full scale range of ±2 g with a bandpass filter, band-limitedbetween 3 Hz and 10 kHz. The sensor was tested using the test benchdescribed in section 3.1. The sensor’s response, when the ball bearing wasdropped on the table, was around 2 Vpp with a low noise floor. The highsensitiveness makes the accelerometer interesting for this application.

    3.1.2 Electret MicrophoneAn omni-directional electret microphone was examined to investigate if itcould be used as a vibration detector. It would provide an inexpensivevibration sensor if the experiment was successful. A proof mass was glued tothe membrane of the microphone to enhance its sensitiveness to vibrations,as seen in Figure 3.3. The signal, generated when the modified microphonewas subject to vibrations in the test bench, was monitored on an oscilloscope.The signal generated by the impact was very small, less than 0.1 mVpp, andwas not much higher than the noise floor. Because of the low resolution ofthe signal, the microphone could not be used in this application.

  • 9

    Membrane Proof mass

    Figure 3.3. The modified electret microphone.

    3.1.3 Piezoelectrical Coaxial CabelThe piezoelectrical property of a coaxial cable changes when it is subject tovibrations. With normal coaxial cables this is seen as a problem and thereforetheir piezoelectrical property is minimised. While with the piezoelectricalcoaxial cable this property is desired and therefore enhanced by using ahighly piezoelectrical dielectric. This property makes it interesting toinvestigate for possible use as a vibration sensor in this project.

    Piezoelectrical coaxial cables are mainly used to detect vibrations. Anexample is a British pedestrian detection system, called PUFFIN (PedestrianUser Friendly Intelligent Crossing) [7]. The system can detect a human or ananimal, standing in the waiting area to cross a street, by their breathing andheartbeat.

    The piezoelectrical coaxial cable tested here had a dielectric made of PVDF,a material which is explained in the next section. A proof mass was added tothe end of the flexible piezoelectrical coaxial cable, as seen in Figure 3.4.Electrical wires were connected to the centre conductor and the shielding ofthe cable. The signal generated from the bending of the coaxial cable, when itwas subject to vibrations in the test bench, was monitored on an oscilloscope.The signal generated was very small. It could not be distinguished from thenoise floor with the eye on the oscilloscope. The piezoelectrical coaxial cablehad to be dismissed as a suitable vibration sensor for this project, due to itsinsufficient resolution. In the British pedestrian crossing system it wasnecessary to use sophisticated signal processing to make sense of the signal.

    Flexiblecoax-cable

    Proof mass

    Figure 3.4. The piezoelectrical coaxial cable.

  • 10

    3.1.4 Piezo FilmPiezo film has a wide range of applications. A few examples arehydrophones, switches, tactile sensors, fluid level, liquid flow, vibrationsensors and microphones [11]. The piezo film’s vibration measurementproperty makes it interesting to this project.

    3.1.4.1 Piezo Film TheoryPennwalt manufactures a piezo film under the tradename Kynar. It is made ofpolyvinylidene flouride (PVDF) which is a piezoelectric polymer withgroups of molecules (H2C=CF2) linked as orderly crystallites. Thecrystallites form an amorphous matrix of chemically similar but differentlystructured material. The relative population of crystallites strongly effects thepiezoelectric behaviour of the material. This synthetic material has far greaterpiezo activity than any other material [11].

    Both surfaces of the piezo film are metallised to provide two electrodes.When a voltage is applied to the electrodes of the piezo film, the film willelongate or contract, depending on the field’s polarity, as shown in Figure3.5. The reverse is also true; when an external force is applied, the filmexperience a compressive or tensile strain and the film develops an opencircuit voltage that is directly proportional to the applied force. Exposure toan alternating force results in a corresponding alternating electrical signalwith a frequency response range from 0.005 Hz to several gigahertz [11].

    A simplified model of a piezo film is shown in Figure 3.5. Here the dipoleswith their respective polarities represent the net dipole within a unit volumeof piezo film. The net film volume increases when the unit volume is placedin tension, resulting in a lower charge density at the positive and negativeelectrode surfaces. Electrons will now flow, through the wire connecting thefilm’s metallised surfaces, out of the top electrode and into the bottomelectrode to achieve electrical neutrality. When the unit volume is subject tocompression the reverse occurs.

    +

    _

    +

    _

    +

    _

    +

    _

    1. 2.

    F

    F

    Metallisedsurface

    PVDF

    Metallisedsurface

    Figure 3.5. When a working voltage is applied to the electrodes of the piezo film, it willelongate or contract. Conversely, tension or compression change the piezo film volume (2)resulting in a change of the net charge distribution within the film, producing a voltagedifference between the electrodes.

  • 11

    3.1.4.2 Piezo Film with BrassPiezo film was glued to a thin piece of brass, as suggested in [11], usinghighly flexible silicone, Silicagel, as adhesive. To improve sensitivity, aproof mass was added to the end of the brass, as shown in Figure 3.6. In thetest bench, spikes with 0.5 V amplitude were generated from the impact ofthe ball bearing. As the noise floor was low, the piezo film could beconsidered sufficiently sensitive to be used in this application.

    Proof mass

    Brass

    Amplifier

    Piezo film

    10 mm

    Figure 3.6. A vibration sensor using piezo film glued to a sheet of brass.

    3.1.5 ConclusionsCommercial accelerometers are the best choice for measuring vibrations forthis application, as they are sensitive, relatively cheap and are very similar toeach other due to the micro machined sensor. Unfortunately theaccelerometers were made available in the end of the project and there wasnot enough time to include them in the sensory system. At an early stage inthe project it was decided to use piezo film sensors as vibration detectors.The next section describes their design.

    3.2 Building the Vibration DetectorsTo find the best configuration of brass thickness and proof mass, a multivariable performance test was conducted, see Table 3.1. The table shows thatthe best performance is achieved using a brass thickness of 70 µm and aproof mass of 2.9 g. This configuration generated a spike with 0.5 Vamplitude when a 1.25 g ball-bearing was dropped on a wooden table, from aheight of 15 cm at a distance of 20 cm from the sensor.

    3.2.1 Interfacing the sensorThe signal from the piezoelectrical film was buffered with a FET. Validvibrations are around 100 Hz on wooden surface. To avoid the detection ofinvalid vibrations, the signal was filtered with a bandpass filter, band-limitedbetween 40 Hz and 500 Hz. An operational amplifier was used to furtheramplify the signal before a comparator was used to threshold the signal. Theresulting logic transition triggered a pulse catcher in the microcontroller andtherefore the Time of Arrival (TOA) could be measured very accurately.

  • 12

    Brassthickness

    Proofmass

    Amplitude

    50 µm 1.7160 g 0.05 V50 µm 2.9033 g 0.25 V50 µm 3.7755 g 0.2 V70 µm 1.7160 g 0.25 V70 µm 2.9033 g 0.5 V70 µm 3.7755 g 0.2 V

    100 µm 1.7160 g 0.01 V100 µm 2.9033 g 0.05 V100 µm 3.7755 g 0.05 V

    Table 3.1. Test of sensor sensitivity by dropping a 1.25 g ball bearing at a distance of 20 cmand a height of 15 cm

    3.2.1.1 The JFET AmplifierThe piezoelectrical film is high impedance and therefore interfaced with ahigh impedance JFET amplifier, J2N5485, as shown in Figure 3.7. With aVCC at 9 V the JFET has 1 mA drain current. The amplifier circuit has a passband between 40Hz and 500Hz, as shown in Figure 3.8.

    x

    Figure 3.7. The JFET amplifier.

    dB

    Figure 3.8. The frequency response of the JFET amplifier.

  • 13

    3.2.1.2 The Operational AmplifierTo minimise the use of components, the second amplifying stage is using asingle supply voltage operational amplifier, the LM358. This makes itpossible to only use one comparator per channel and it removes the need of avoltage inverter to get a negative voltage from the battery pack. The singlesupply causes the negative part of the signal to be clipped. This is feasiblebecause all vibration sensors are mounted with the same electrode pointingup. Figure 3.9 shows the amplifier configuration where the R2 potentiometerenables trimming of the gain. To achieve the same amplification for alloperational amplifier circuits, they were trimmed with the help of a functiongenerator.

    x

    x

    Figure 3.9. The operational amplifier.

    3.2.1.3 The ComparatorThe comparator, LM339, is used to generate a logic transition when thesignal reaches a threshold. The logic transition is detected as the TOA in themicrocontroller. The LM339 is designed to operate from a single powersupply, but can also be used with dual supplies. Since the operationalamplifier circuit rectifies the signal, single supply is used. The output of thecomparator is open-collector and hence the built-in pull-up resistors in themicrocontroller must be used on the inputs. All six comparators use the samethreshold, Vthres, which is set by the voltage-dividing potentiometer R1.Figure 3.10 shows one of the comparators and the voltage-dividingpotentiometer that generates the threshold.

    x

    x

    Figure 3.10. The comparator.

  • 14

    3.2.2 Sensor responseThis section presents the characteristic of the vibration sensor response atdifferent stages in the amplifier circuit. Figure 3.11 shows the response, afterthe JFET buffer amplifier, when a ball bearing was dropped from a height of15 cm at a distance of 20 cm from the sensor. The signal has a relativelylarge 50 Hz noise component. This component could be reduced by using anotch (band stop) filter and by proper shielding. This was not done due tolimitation of time, but is recommended for further work. Due to the impact ofthe ball bearing, the signal also contains two dominant frequencycomponents at 20 Hz and 240 Hz. The high frequency component at 240 Hzis present due to the relative fast impact between wood and steel. It is notpresent in the next test, where a finger tap was used as a signal source.However, the 20 Hz component is present in both tests, and could possiblyindicate the resonance frequency of the wooden table.

    T1 >1 >1 >1 >

    1) Ch 1: 100 mVolt 25 ms

    Figure 3.11. Sensor response, after JFET buffer at JFx, when dropping a 1.25 g ball bearingat a distance of 20 cm and a height of 15 cm.

    After the operation amplifier stage, at OPx, the signal is rectified, as shownin Figure 3.12. This is due to the single supplied operational amplifier, whichneglect negative signals.

    T

    1 >1 >1 >1 >1) Ch 2: 1 Volt 25 ms

    Figure 3.12. Sensor response, after operational amplifier at OPx, when dropping a 1.25 gball bearing at a distance of 20 cm and a height of 15 cm.

  • 15

    It is interesting to note the different signal characteristic when a light fingertap was used as signal source instead of a ball bearing, as shown in Figure3.13. The 50 Hz noise component is still present, but the signal has less highfrequency components. The impact between wood and skin is slower than theimpact between wood and steel and generates frequency components of 100Hz and 20 Hz. The 20 Hz frequency component is, as mentioned above,probably due to the resonance frequency of the table.

    T1 >1 >1 >1 >

    1) Ch 1: 100 mVolt 25 ms

    Figure 3.13. Sensor response, after JFET buffer at JFx, for a light finger tap at a distance of20 cm from the sensor.

    Figure 3.14 shows the signal after the operation amplifier stage, at OPx, froma light finger tap.

    T

    1 >1 >1 >1 >1) Ch 2: 1 Volt 25 ms

    Figure 3.14. Sensor response, after operational amplifier at OPx, for a light finger tap at adistance of 20 cm from the sensor.

  • 16

    4 NavigationDifference in TOA, of a vibration wave front, between the six vibrationsensors enables the calculation of the direction and the location of the sourceof vibration. The precision of the detected direction and location increases asthe distance to the source of vibration decreases.

    4.1 Direction FindingAssuming a plane vibration wave front, generated by a vibration source at agreat distance, the difference in TOAs can be used to calculate the directionof the source, as shown in Figure 4.1. The direction α is found by:

    )

    arccos(d

    lδα = (4.1)

    Where d is the distance between the sensors and δl is the difference of TOA,δt, multiplied by the estimated propagation speed, cest.

    d

    α

    δ l

    Sensor 2Sensor 1

    Vibration wave

    Figure 4.1. Trigonometry of direction finding. The vibration wave is assumed to have aplane wavefront.

    With only one sensor-pair it is not possible to distinguish if the source ofvibration is in front or behind the sensor-pair. By using two sensor-pairs theproblem can be solved. Only three sensors are actually needed, where one iscommon to both sets of sensor-pairs. The solution presented here minimisesthe direction error by using six sensors, which results in 15 sensor-pairs,which produce 30 detected directions. Some of the 15 possible directionsmay be invalid due to erroneous data, but the high degree of redundancy canbe exploited to eliminate erroneous data and produce an accurate result.

    4.1.1 Data ValidationThe sensor system must overcome problems involving invalid sensor data. Asensor could detect a vibration with an indirect path, caused for example bydiscontinuities in the ground. The sensor system has three levels at whichinvalid data can be rejected: (1) interrupt level data validation (2) first low-level data validation and (3) second low-level data validation. Level 1, theinterrupt level data validation, is done in the 5 ms timer interrupt serviceroutine. If less than 4 sensors have been trigged during the past 5 ms all

  • 17

    sensors are reset. Level 2, the first low-level data validation, is done in thedirection finding algorithm. If the difference of TOA of a vibration wavefront between two sensors is greater than 4 ms, the data from the sensor-pairis considered invalid and is therefore discarded. Level 3, the second low-level data validation, prevents invalid data by validating the data using thetriangular inequality [10]. The 3rd level data validation is described in thissection, while the 1st and 2nd level are described in the chapter discussing thesoftware design.

    The triangular inequality states that the sum of the distance on two sides of atriangle must exceed the third [9]. Let P be the location of the source ofvibration and S1 and S2 the locations of the two receiving sensors. Thetriangle inequality gives:

    2121 SSPSPS +< (4.2)

    Which can be rewritten as:

    2121 SSPSPS

  • 18

    propagating speed and repeat the sliding window procedure until thepropagation speed generating the maximum density has been found.

    Results of a simulation are presented in Table 4.1. Six sensors were used,placed on a 0.3 m diameter circle. The source of vibration was placed at abearing of 225°, 1 meter away from the centre of the sensors. The wavepropagation speed was set to 100 m/s and Gaussian noise with a 100 µsstandard deviation was added to the simulated TOA from the sensors.

    0 50 100 150 200 250 300 3500

    1

    Degrees

    Sliding window

    Figure 4.2. The plot shows all detected directions that are valid at a propagation speed of100 m/s. The highest density of detected directions is found at 225°. The outliers are thedirections detected at the opposite direction of the sensor-pair.

    Estimatedspeed

    Detecteddirection

    Density

    25 180° 450 240° 575 225° 7

    100 225°°°° 14125 220° 6150 250° 5175 85° 2200 90° 2225 200° 2250 10° 1275 5° 1

    Table 4.1. Result from the sliding window algorithm. By performing a two-dimensionalsearch it is possible to find both the direction and the wave propagation speed as indicatedby a maximum of density. Window size was 22.5° and the window step size was 5°.

  • 19

    4.2 Location FindingBy using pairs of radio beacons it is possible to find the exact location of amoving vehicle at a given moment [16].

    4.2.1 Location Finding Using Hyperbolic LinesThe LORAN (LOng RAnge Navigation) system is a radio based navigationsystem developed by the United States Army in the early 1940’s [16]. Itenables navigation of a vessel without visible landmarks.

    The ship located at P receives two radio signals that were broadcasted at thesame time from radio stations located at F1 and F2. The navigator measuresthe difference of TOA:

    12 - t tt =δ (4.7)

    The difference between the distance from the ship to F1 and the distancefrom the ship to F2 is:

    tc δ=12 PF-PF (4.8)

    where c is the propagation speed of the radio signals. Equation (4.8) indicatesthat the ship is on the hyperbola whose equation is:

    tc δ=12 PF-PF (4.9)

    The exact location of the ship may be determined by using two pairs of radiostations and by finding the intersection of the two hyperbolic lines.

    The same principles apply for the reversed condition, as in our case, wheretwo or more receivers detect a signal from one source. The intersection isfound using Newton-Raphson's method for non-linear systems of equation[12]. This method is only useful when the source of vibration is close to therobot, as the error grows large when the distance increases.

    It is important to have a good initial guess in order to find the solution of thenon-linear equation system. The initial guess, x , is set 10 cm from the centreof the robot, in the direction found by the direction finding algorithm.

    Figure 4.3 shows the simulation results using 4 sensors. The source ofvibration was located at (-20,5) cm and was found by the algorithm after 90iterations.

  • 20

    -40 -30 -20 -10 0 10

    -40

    -30

    -20

    -10

    0

    10

    20

    30

    40

    Horizontal position [cm]

    Source

    Sensorsused

    Figure 4.3. Simulated location finding using two pairs of sensors.

    4.2.2 The Newton-Raphson Method in Higher DimensionsLet [ ]Tyx=x be the location, in a two-dimensional Cartesian coordinatesystem, where the source of vibration is located. Let x also be the root of thetwo-dimensional non-linear system

    0)( =xf (4.10)

    The system is described by

    =

    ),(

    ),()(

    yxh

    yxgf x (4.11)

    where ),( yxg and ),( yxh are the functions of two hyperbolas derived fromthe differences of TOA between two pairs of vibration sensors. By expandingthe functions to their first order Taylor series expansion about x ,

    xx

    xxx ∆∂∂

    +=∆+f

    ff )()( (4.12)

    the Newton-Raphson method seeks a common root that solves equation(4.10) close to an initial guess. If xx ∆+ is the root of equation (4.10), theright hand side of equation (4.12) is zero, and the following set of linearequations is obtained:

    )(xxx

    ff −=∆

    ∂∂

    (4.13)

    Solving equation (4.13) for x∆ gives

    Ver

    tica

    l pos

    itio

    n [c

    m]

  • 21

    )(1

    xx

    x ff

    ∂∂

    −=∆ (4.14)

    Suppose xk is the current approximation of x, then the improved guess xk+1can be found by

    xxx k1k ∆+=+ (4.15)

    Given a good initial guess of x , iteration of equation (4.14) and (4.15) givesthe root of equation (4.10).

    4.2.3 Location Finding in RealitySimulations showed that the acquired sensor data was not sufficientlyaccurate to permit location finding. When radio based navigation is used,with pairs of antennas, the resolution decreases as the vessel moves out of anarea enclosed by the antennas [16]. In this application, the source of vibrationwill almost always be outside the area enclosed by the sensors. Even ifsensor data with a much higher resolution was available, only close vibrationsources can be located.

  • 22

    5 The RobotThis chapter describes the design and construction of the six-legged robotbase. The robot that was built, shown in Figure 5.1, was based on a robotdeveloped by Rodney Brooks [4].

    Indicator LED

    Vibrationsensors

    Batteries

    Microcontroller(underneath)

    Servos

    Figure 5.1. The six-legged scorpion robot.

    5.1 BodyAs it was important to keep the weight down, a lot of thought was given tobuilding the body. A sandwich material was created, using PVC-foam andaluminium foil. The 8 mm PVC-foam, from Fibreglass International inMelbourne, which is normally used in boat manufacturing, was coated onboth sides with 60 µm aluminium foil. Kwikgrip contact adhesive was usedto fix the aluminium foil to the PVC-foam. The PVC-foam is normally quiteflexible, but strengthened with the aluminium foil, the composite becamerigid enough to be used in this application. The body was then carved outfrom the composite in an oval shape to make the legs cover an oval area, justas the sand scorpion’s legs do. To further reduce the weight, holes werepunched in the body, where the rigidity could be decreased, i.e. between themountings for the servos. This resulted in a body weight of a mere 40g.

  • 23

    5.2 LegsThe legs were constructed from 0.5 mm sheet aluminium to keep the weightdown. An embossed ridge was added to the middle of each leg to increase thestiffness.

    Figure 5.2 shows a leg mounted on the robot. Each leg is connected to ashoulder joint with two degrees of freedom, controlled by two orthogonallyplaced model airplane servos. The first servo is attached directly to the bodyand controls the swinging motion of the leg. The second servo is attached tothe first servo and controls leg elevation.

    One vibration sensor is fixed horizontal with the ground on each leg to pickup Rayleigh waves. An aluminium box encapsulate each sensor to preventthem from damages.

    Rubber bumps from eyedroppers were put on the feet to add friction to theground. The servos generate plenty of vibrations and must therefore beswitched off during vibration sensing. During the switched off period thefriction between the rubber bumps and the ground is enough to keep therobot standing.

    Rubber bump

    Protective box

    Amplifier

    Sensor

    Swing servo

    Elevation servo

    Servo holder

    Figure 5.2. A leg mounted on the robot. The servo that swings the leg is attached directly tothe body of the robot. The servo that elevates the leg is attached to the servo holder thatjoins the two servos. The vibration sensor is encapsulated inside a protective aluminium box,on which the JFET buffer amplifier is attached.

  • 24

    5.3 LocomotionThere are many ways of achieving leg locomotion, including various motors,pneumatic cylinders, electro-magnets, etc. The driving mechanism must bepowerful, as a substantial torque is required to carry the load of the robot.

    5.3.1 Servo controlIt was decided to use model airplane servos, as they are inexpensive, lightand easy to use. A servo is essentially a small DC motor with positionalfeedback. The servo has three inputs: Vcc, ground and signal. The servo iscontrolled by a Pulse Width Modulation (PWM) signal. The angle of theoutput shaft is directly proportional to the duty cycle of the PWM signal.These pulses must be updated at a frequency of at least 50 Hz. At 50 Hz,pulse widths generally range from 0.50 ms (extreme counter-clockwise) to2.5 ms (extreme clockwise), see Figure 5.3.

    tw

    20 ms

    Vdd

    GND

    Figure 5.3. Servos are controlled with Pulse Width Modulation (PWM).

    The servos used are made by HITEC, a large manufacturer of remotecontrolled devices. Six servos (HS-425BB) are used to swing the legs and sixhigh-torque servos (HS-605BB) are used to lift the legs. Both versionsfeature a ball bearing shaft, have the same dimensions and weight 45.5 g and49 g respectively [8]. When driven at 6 V, the output torques are rated 0.36Nm and 0.67 Nm respectively. However the servos can accept voltages up to7.2 V, which increases the torque [8]. Figure 5.4 shows the HS-425BB servo.

    20 mm

    51 m

    m

    35 m

    m

    Figure 5.4. Picture of the HITEC HS-425BB servo.

  • 25

    Using a multiplexer three PWM outputs from the microcontroller could beused to control twelve servos. A 5 ms timer interrupt service routine (ISR) isused to select which servo bank to control, as shown in Figure 5.5. Eachinterrupt call switches servo bank by setting four output port pins (PP4-PP7),which control the multiplexer, as shown in Figure 5.6, and sets new dutycycle values for the PWMs. Each servo responded differently to the sameduty cycle. To correct this an individual duty cycle compensation was addedto each servo.

    0 5 10 15 20 [ms]

    1A

    5A

    2A

    6A

    3B

    4B

    3A

    1B

    5B

    4A

    2B

    6B

    1A

    5A

    3B

    Time

    Act

    ivat

    ed s

    ervo

    s

    Figure 5.5. Servo control scheme. “A”-servos are used for swinging the legs, “B”-servosare used for elevating the legs. The number denotes the servo’s position on the robot viewedfrom the top. Starting with 1 in the one o’clock position, counting clockwise.

    Figure 5.6. The servo control multiplexer.

  • 26

    5.3.2 Leg motionThe legs are moved using a tri-pod gait, which means that at all time at leastthree legs are in contact with the ground. This was possible to achieve due tothe high-torque servos (HS-605BB), which control the elevation of the robot.Once the motion of one leg was established it could be used for all six legs.The walking algorithm has six modes of operation:

    Forced stop The robot stops and all legs are positioned to their centres,one at a time. This mode is used when preparing to detectvibrations.

    Stop The robot stops.

    Forward The robot walks forward.

    Backward The robot walks backward.

    Left The robot turns left by moving right side legs forward andleft side legs backwards.

    Right The robot turns right by moving left side legs forward andright side legs backwards.

    5.4 The MicrocontrollerIt was chosen to use an on-board microcontroller to acquire sensoryinformation, compute algorithms and control the robot. The microcontrollerused was the 16-bit Motorola M68HC12.

    5.4.1 The MC68HC12 MicrocontrollerThe MC68HC912B32 microcontroller is the first in a family of the nextgeneration of the very widely used M68HC11 microcontroller. It featuresboth on-chip memory and peripheral functions. The CPU, CPU12, is a high-speed, 16-bit processing unit. The programming model is identical to thestandard M68HC11 CPU and the CPU12 instruction set is a proper supersetof the M68HC11 instruction set.

    The MCU is capable of a bus-operation of 8 MHz. It contains an 8-channeltimer, a 16-bit pulse accumulator, an 8-bit analog-to-digital converter and afour-channel pulse-width modulator (PWM). It also contains anasynchronous serial communications interface and a serial peripheralinterface.

    The B32 model of the MC68HC12 comes with 32 kbyte Flash EEPROM, 1kbyte RAM and 768 byte of byte-erasable EEPROM [14].

  • 27

    5.4.2 The Evaluation BoardThe microcontroller is mounted on an evaluation board (M68EVB912B32)from Motorola. In a prototype environment, an evaluation board (EVB) cansimplify the hardware and software design, by providing essential MCUtiming and I/O circuitry. The EVB has a 16 MHz crystal for 8 MHz busoperation and an RS-232 interface. It has header footprints for access to allMCU pins and a prototype area for customised interfacing with the CPU.There are four jumper-selectable operation modes:

    EVB Code in Flash EEPROM executes.

    JUMP-EEPROM Code in byte-erasable EEPROM executes.

    POD The EVB serves as a BDM probe.

    BOOTLOAD The EEPROM may be reprogrammed.

    The EVB mode is used in this project where the code is stored in the 32kbyte Flash EEPROM. The RS-232 interface enables download of firmwarefrom a host computer into the Flash EEPROM when the BOOTLOAD modeis selected [13].

    5.5 Indicator LEDA red LED is mounted as a blinking “eye” on the front of the robot. The stateof the led signals the current state of the robot:

    Off The robot is turned off.

    On The robot is walking/turning.

    Blinking The robot is listening for vibrations.

    Fast blinking The robot is calculating bearing to a vibration source.

    The LED is driven by one of the configurable ports of the microcontrollerand consumes about 10 mA.

    5.6 PowerThe microcontroller, the servo multiplexers and the sensor electronicsrequires about 100 mA at 9 V. When the robot walks, the 12 servos consumeabout 2 A at 6 V. A single 9 V alkaline battery is used to supply theelectronics. The servos are supplied with a rechargeable 6 V NiCdaccumulator.

  • 28

    6 Software DesignThis chapter discusses general software design as well as implementation ofthe algorithms presented in chapter 4. The software was written in ANSI Cand was compiled for the M68HC12 microcontroller using the ImageCraftICC12 compiler.

    6.1 Overview of SoftwareThe software has two main tasks, namely vibration direction finding and legmotion control. The vibration detection system uses six timers, configuredfor input capture, to measure the TOA of the vibration wave front. Inputcapture resolution is 4 µs. Leg motion control is achieved with a 5 ms timerinterrupt service routine, which updates the duty cycles of the servos. Thetimer interrupt is also used to validate the vibration sensor data, as discussedin section 4.1.1.

    The start up of the system consists of several steps: hardware and softwareare initialised, the legs are positioned to the centre, and the interrupts areenabled.

    The software then operates via interrupts and a background high-level task ofdata processing. The robot legs are forced to a listening position, i.e. they aremoved to their centres and the servos are switched off to prevent generationof vibrations. When the system has collected enough sensory data, thedirection finding algorithm is executed. If a valid direction is found, the robotis turned towards that direction. As the resolution of the TOA data isinsufficient for calculating distance, the robot always walks approximately0.4 meters towards the vibration source. Then the listening procedure isrepeated.

    Figure 6.1 on next page shows a flow chart of the robot’s behaviour.

  • 29

    Init hardware andsoftware

    Centre legs

    Initiate listening

    ≥ 4 sensorstrigged

    Calculate directionto vibration source

    Validdirection?

    Switch on servos,turn towards

    vibration sourceand walk 40 cm

    Switch off servosand wait 2 seconds

    to eliminatevibrations.

    No

    Yes

    Yes

    No

    Delay 500 ms

    Figure 6.1. Flow chart of the robot’s behaviour.

    6.2 findBearing FunctionThis section describes the implementation of the sliding window algorithmdiscussed in section 4.1.2. The findBearing function takes a set of TOA datafrom the vibration sensors and calculates the direction towards the vibration

  • 30

    source. A set of valid directions is obtained by executing the getDirectionfunction for each sensor-pair that passes the level 2 data validation, i.e. if thedifference of TOA between two sensors is less than 4 ms. The set of validdirections is then passed into the sliding window function, which returns thedirection yielding the highest density of directions from the set. By repeatingthis procedure for all wave propagation speeds of interest, the direction of thesource of vibration is found.

    6.3 getDirection FunctionThe getDirection function returns two possible bearings from one pair ofsensor data.

    The triangular inequality, as discussed in section 4.1.1, is checked byevaluating equation (4.6). Invalid sensory data are ignored in the directioncalculation. To speed up the calculation, the distances between all sensor-pairs are calculated only once during the software initialisation.

    As discussed in section 4.1, two directions are detected for each sensor-pair.One is the true direction while the other is a false direction, pointing in theopposite direction. The true direction and the false direction to the vibrationsource are determined by extending equation (4.1) with:

    −=

    )

    arccos(2

    )

    arccos(

    d

    ld

    l

    δπ

    δ

    α (6.1)

    All directions acquired must be relative to the same axis, hence the angle βmust be calculated to compensate for the location of the sensor-pair, seeFigure 6.2. The angle β is obtained by:

    ≤−−

    >−−

    =0),arccos(2

    0),arccos(

    1212

    1212

    yyd

    xx

    yyd

    xx

    πβ (6.2)

    where (x1, y1) is the position of sensor 1 and (x2 ,y2) is the position of sensor2.

  • 31

    d

    Sensor 1

    Sensor 2

    α

    Vibration wave

    δl

    β

    x

    y

    Figure 6.2. Trigonometry of direction finding that accepts arbitrary positions of sensors.

    The two directions to the vibration source are obtained by adding equation(6.1) and equation (6.2) with a modulus of 2π:

    ( ) πβαθ 2⊕+= (6.3)

    6.4 slidingWindow functionGiven a set of directions the slidingWindow function returns the bearingwhere the highest density of directions is found. A fixed sized window ismoved over the data set. For each position of the window, the number ofdirections in the data set, that resides within the boundaries of the window, iscalculated. By repeating this procedure the direction giving the maximumdensity is found.

    6.5 Pulse Receiving SoftwareThe pulse receiving part of the software utilises the input capture function ofthe microcontroller. There are six pins configured as Input Compare controls.Each of these pins is associated with a 16-bit register, named TICx, where xis a value from 0 to 5. These registers are used to latch the value of the free-running timer counter when a logic transition occurs on the input pins. Sincethe outputs from the vibration sensing circuitry is connected to the inputs, anincoming vibration wave front will generate a latch of a timer value. Thisvalue indicates the TOA of the vibration pulse.

    Because of what is probably a flaw in the microcontroller design, each InputCapture needs to be serviced by an interrupt. The Input Capture registers arealways latched when a transition occurs on one of the inputs, no matter if thecorresponding Interrupt Flag is set or not. By servicing the Input Capturewith an interrupt service routine (ISR) false readings are minimised. The ISRsaves the contents of the corresponding Input Capture register in a globalvariable for later processing.

  • 32

    6.6 Leg Motion SoftwareThe leg motion software controls the twelve servos by utilising themicrocontroller’s built in PWMs, as explained in section 5.3.1. Each leg’smotion is controlled by two servos, one for elevating the leg and one forswinging the leg. Two general patterns of duty cycles are used to control theleg motion. The empirically found patterns each contain eight points alongthe path of motion for the legs. The servos are updated once every 20 ms bythe timer ISR. For every update, two new duty cycles are found byinterpolating between the duty cycles in the pattern.

    Not all servos have the same duty cycle response. Therefore each servo iscompensated with an individually empirically found constant.

  • 33

    7 Performance of the Direction Finding SystemThe results are divided into two sections. The first section presents how wellthe direction finding systems performed when the vibration sensors weremounted directly onto a wooden table with blue tack. In the second sectionthe performance of the direction finding system, when the vibration sensorswere mounted on the legs of the robot, is presented.

    7.1 Sensors Mounted on a TableFive sensors were positioned on a circle, with a radius of 15 cm, on a woodentable. A performance test was conducted by tapping the table at two differentradiuses around the circle, as shown in Figure 7.1. To generate statisticallyvalid data, each direction was tapped ten times. The results are shown inFigure 7.2 and Figure 7.3. The standard deviation of the detected directionswas 10.5 degrees at 25 cm from the origin of the sensors and 22.8 degrees at45 cm. The apparent errors are due to:

    • Different sensitivities of the sensors.• Discontinuities in the surface.• Measurement errors when deciding where to tap.

    The bias median error was 0 degrees at 25 cm from the origin of the sensorsand 2.5 degrees at 45 cm, hence systematic errors were negligible.

    15 cm 10 cm 20 cm

    25 cm radius circle

    45 cm radius circle

    Sensors

    Figure 7.1. The five vibration sensors were placed on a circle with a radius of 15 cm. Twoperformance tests were conducted by tapping the table at a radius of 25 cm respectively 45cm around the circle.

    At the time the test was conducted, only five accurate sensors had beenproduced. It is most likely that the performance would have increased withsix sensors. The resolution of the direction finding system decreases with

  • 34

    distance (about 117% between 25 cm and 45 cm). This is due to theattenuation of the vibration waves traveling through the substrate.

    -150 -100 -50 0 50 100 150

    -150

    -100

    -50

    0

    50

    100

    150

    Target direction [degrees]

    Figure 7.2. Detected directions versus target directions using the direction finding algorithmwith five sensors mounted directly to the table. The distance to the source of vibration was25 cm from the origin of the sensors. The standard deviation was 10.5 degrees and themedian bias error was 0 degrees.

    -150 -100 -50 0 50 100 150

    -150

    -100

    -50

    0

    50

    100

    150

    Target direction [degrees]

    Figure 7.3. Detected directions versus target directions using the direction finding algorithmwith five sensors mounted directly to the table.. The distance to the source of vibration was45 cm from the origin of the sensors. The standard deviation was 22.8 degrees and themedian bias error was 5 degrees.

    7.2 Sensors Mounted on the RobotThe performance test with the sensors mounted on the robot utilised sixsensors. The wooden table was tapped at two different radiuses around therobot, as shown in Figure 7.4, just like in the first test. To generatestatistically valid data, each direction was tapped ten times. The results areshown in Figure 7.5 and Figure 7.6. The standard deviation of the detecteddirections was 46.7 degrees at 25 cm from the origin of the sensors and 60.9degrees at 45 cm. The errors are much larger than in the previous test whenthe sensors were mounted directly to the table. Besides the errors listed in the

    Det

    ecte

    d di

    rect

    ion

    [deg

    rees

    ]D

    etec

    ted

    dire

    ctio

    n [d

    egre

    es]

  • 35

    previous test, some errors were introduced due to the mounting of thesensors:

    • The rubber bump on each leg absorbs vibrations.• The mounting of each sensor absorbs vibrations.• The sensors are linked to each other through the robot.

    The bias median error was 5 degrees at 25 cm from the origin of the sensorsand 2.5 degrees at 45 cm. The systematic error at 25 cm could be due toincorrect positioning of the robot. The systematic error at 45 cm can beconsidered negligible.

    25 cm radius circle

    45 cm radius circle

    Sensors

    Figure 7.4. The robot with its six vibration sensors was placed on a wooden table. Twoperformance tests were conducted by tapping the table at a radius of 25 cm respectively 45cm around the circle.

    The resolution of the direction finding system decreases with distance as inthe previous test. Now the resolution decreased with 30% between 25 cm and45 cm, compared to 117% in the previous test. This indicates that most of theerrors are due to the mounting of the sensors and not from the attenuation ofthe vibration waves travelling through the substrate.

    7.3 ConclusionsThe resolution of the direction finding system decreased remarkably whenthe sensors were mounted on the legs of the robot. The errors, that wereintroduced when the sensors were mounted on the robot, originate from therubber bumps, the mounting of the sensors and the fact that all sensors arelinked together by the body of the robot. To improve the performance,double adhesive tape might be used instead of rubber bumps at the end of thelegs. The tape would not absorb as much vibrations as the rubber bumps,whilst it would give sufficient friction with the ground. Sturdier mounting of

  • 36

    the sensors would also improve performance. However, using highlysensitive commercial accelerometers is probably the best way to achieve areliable direction finding system.

    To illustrate how well the robot performs the direction finding one can saythat approximately three times of four the correct direction (within ±20°) isfound. This is true when the robot is placed on a wooden table and thevibration source is a finger tap within 25 cm of the centre of the robot.

    -150 -100 -50 0 50 100 150

    -150

    -100

    -50

    0

    50

    100

    150

    Target direction [degrees]

    Det

    ecte

    d di

    rect

    ion

    [deg

    rees

    ]

    Figure 7.5. Detected directions versus target directions using the direction finding algorithmwith six senors mounted on the robot. The distance to the source of vibration was 25 cmfrom the origin of the sensors. The standard deviation was 46.7 degrees and the median biaserror was 5 degrees.

    -150 -100 -50 0 50 100 150

    -150

    -100

    -50

    0

    50

    100

    150

    Target direction [degrees]

    Det

    ecte

    d di

    rect

    ion

    [deg

    rees

    ]

    Figure 7.6. Detected directions versus target directions using the direction finding algorithmwith six sensors mounted on the robot. The distance to the source of vibration was 45 cmfrom the origin of the sensors. The standard deviation was 60.9 degrees and the median biaserror was 2.5 degrees.

  • 37

    8 Summary

    8.1 ConclusionsThe results show that ground vibrations can be used to help navigate a robot.A robot equipped with a vibration sensor system was developed and thedirection finding was successfully tested on wooden surfaces.

    Different materials damp vibrations differently. Wood is a good conductorwhile concrete is not, due to its strong damping properties. With theconfiguration described here the detectors could only be used on wood andsimilar materials. The sensor system depends on equally sensitive vibrationsensors. It was hard to achieve, due to the mechanical work involved inmanufacturing the sensors. A large quantity of sensors (~12) had to be madeto find six sensors that had similar characteristics.

    8.2 Further WorkTo increase the performance of the direction finding system, improvementscould be made to:

    • Vibration sensorsFurther improvements to the vibration sensors, for example by usinghighly sensitive commercial accelerometers, would make the systemmore accurate.

    • Sensor mountingSturdier mounting of the sensors would improve performance.

    • Signal conditioningBy reducing the 50 Hz noise component in the signal from the vibrationsensors, the signal to noise ratio would increase and more subtlevibrations could be detected. This is achieved by proper shielding and byusing a band stop filter or a narrower band pass filter.

    These enhancements could allow vibrations conducted through highlydamping materials, such as concrete and sand, to be used for navigation. Anenhanced sensor system would also enable location finding, if the vibrationsource were in the vicinity of the robot.

    Enhancements could also be incorporated into the location finding algorithmby using Bab-Hahiashar’s [1] modified Newton-Raphson method for solvingnon-linear systems of equations. The modified method is reported toconverge faster.

    It would be interesting to investigate the possibilities of extending thedirection and location finding algorithms to handle navigation in non-homogeneous terrains.

  • 38

    9 References[1] Alireza Bab-Hadiashar, "Modified Newton-Raphson Method for Solving

    Non-linear Systems of Equations" Technical Reports MECSE 95-2, MonashUniversity, Australia, 1995.

    [2] Analog Devices, ADXL05 Data Sheet.

    [3] Bruce A. Bolt, Earthquakes, ISBN 0-7167-0094-8.

    [4] Rodney A. Brooks, "A Robot That Walks; Emergent Behaviors from aCarefully Evolved Network,", MIT AI Lab Memo 1091, February 1989.

    [5] Philip H. Brownell, Prey detection by the sand scorpion. Scientific Americanv251 p94, Dec 1984.

    [6] Brooke Clarke, http://www.pacific.net/~brooke/Sensors.shtml, July 2000.

    [7] ETTM website, http://www.ettm.com/news/piezotreadle.html, July 2000.

    [8] HITEC website, http://www.hitecrcd.com/, July 2000.

    [9] George A. Jennings, Modern Geometry with Applications, p 173-174, ISBN0-387-94222-X.

    [10] Lindsay Kleeman, "Ultrasonic autonomous robot localisation system", IEEEinternational conference Intelligent Robots and Systems '89 Tsukuba, Japan,p.212-219, September 1989.

    [11] KYNAR Piezo Film Technical Manual, Pennwalt Corporation, 1987.

    [12] Melvin J. Maron and Robert J. Lopez, Numerical Analysis, p 205-213, ISBN0-534-12372-4, 1991.

    [13] M68EVB912B32 Evaluation Board User’s Manual, MotorolaSemiconductor, Document number 68EVB912B32UM/D.

    [14] Technical data MC68HC912B32, Motorola Semiconductor, Documentnumber MC68HC912B32TS/D.

    [15] Peter M. Narins, Seismic communication in Anuran amphibians (white-lipped frogs), BioScience v40 n4 p268, April 1990.

    [16] J.A Pierce, A.A McKenzie, R.H. Woodward, LORAN, McGraw-Hill BookCompany Inc., 1948.

    [17] Åke Wernersson, Private Communication, 2000.

    http://www.pacific.net/~brooke/Sensors.shtmlhttp://www.ettm.com/news/piezotreadle.htmlhttp://www.hitecrcd.com/

  • 39

    Appendix A: TerminologyBDM Background Debug ModeCPU Central Processing UnitEEPROM Electrically Erasable Programmable Read Only MemoryEVB Evaluation BoardFET Field Effect TransistorISR Interrupt Service RoutineMCU Micro Controller UnitPVDF Polyvinylidene FlourideRAM Random Access MemoryTOA Time of Arrival

  • 40

    Appendix B: Blue PrintsAppendix B.1: Body

    420

    41

    20

    12

    3 10

    14

    2335

    11

    This area shouldbe folded down

    5

    10190

  • 41

    Appendix B.2: Leg

    8

    26

    110

    8

    Emboss a ridge here to make the leg more rigid.

    3

    Appendix B.3: Servo Holder

    20

    20

    42

    20 6

    8

    1410

    5

    5

    16

    10

    5

  • 42

    Appendix C: Scorpion Electronics