Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further...

33
Infrared Relative Positioning Infrared Relative Positioning with the E with the E - - Pucks Pucks Autonomous Robotics Course, June 2007 Valentin Valentin Longchamp Longchamp [email protected] James F. Roberts James F. Roberts [email protected] Michael Bonani Michael Bonani [email protected]

Transcript of Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further...

Page 1: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Infrared Relative Positioning Infrared Relative Positioning with the Ewith the E--PucksPucks

Autonomous Robotics Course, June 2007

ValentinValentin LongchampLongchamp [email protected]

James F. Roberts James F. Roberts [email protected]

Michael Bonani Michael Bonani [email protected]

Page 2: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Summary

• Design Problem• Design Solution• Relative Positioning Using Onboard

Sensors• Advanced Relative Positioning System• Hardware Design• Recommended Future Work

Page 3: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Design ProblemIntroducing the E-puck :

(www.epuck.org)

Page 4: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Design Problem

• E-puck Onboard Sensors:• Sound – Three microphones for basic phonotaxis and tone

detection• Acceleration 3D – Tilt sensing and directional acceleration

measurement• Proximity – Eight infrared analog transceivers to detect close

obstacles• Camera – Windowed VGA CMOS camera for basic visual

processing• Bluetooth – Used to communicate with a PC• The e-puck robots currently have: • “No direct means of determining the positions of nearby

robots”

Page 5: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Design Problem• The Desire for E-puck Relative Positioning:• Allows coordinated movement between robots • Good for swarm & flocking experimentation• Inter-robot cooperation allows for increased task complexity• Increases environmental awareness by sharing structured sensor

information between the group• Enables relative map building

EP1

EP3

EP2

D1,3

D1,2

D2,3

EP4

D2,4

D3,4

Page 6: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Design Solution

• Method One:• Evaluation of onboard infrared proximity sensors• roughly determine range and bearing• robots in “Very” close proximity

• Method Two:• Designing an e-puck turret• modulated infrared signals• RSSI on multiple receivers to calculate the relative

position of other robots

Page 7: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Relative Positioning Using Onboard Sensors

• Initial work has been done by Marco Dorigogroup in Brussels• http://www.youtube.com/watch?v=HZu8ta6_I3o

• Proof of concept, but it has some weaknesses• Raw sensor reads• Low data throughput• No signal modulation• Very sensitive to ambient light

Page 8: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Relative Positioning Using Onboard Sensors: frequency modulation

• Transmissions less sensitive to noise

• Limited by e-puck hardware

• Software modulation/demodulation

Page 9: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Relative Positioning Using Onboard Sensors: frequency modulation

• Sampling frequency of 8 IR sensors: 12 kHz (AD converter limitation)

• Wanted bitrate: 400 bits/s• Sampling window: 30 samples

• Mark (1 encoding) frequency: 2 kHz• Space (0 encoding) frequency: 1.2 kHz

Page 10: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Relative Positioning Using Onboard Sensors: preprocessing and demodulation

• Robust to find best signal (bearing)

• Max(signal) –mean(signal) is related to signal distance (range)

• Demodulation must be enhanced (simple methods have phase problem)

Page 11: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Experimental ResultsTwo e-puck facing each other

Range Measure

0

200

400

600

800

1000

1200

1400

1600

7.5 8 8.5 9 10 11 12 14 16 18 20 22 25 28 30

Distance

Ran

ge M

easu

re

Bearing measurement correct up to 30cm

Page 12: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Relative Positioning Using Onboard Sensors: results

• The software modulation/demodulation is able to replace the expansion turret hardware (proof of concept on basic e-puck)

• The bearing measures are correct• The range measures are correct on short

range• Demodulation must be enhanced for real data

transfers• Code uses no more hardware resources than

standard IR sensor functions

Page 13: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Advanced Relative Positioning System

System Design:

IR Photodiode+ Preamp

x8

IR LED x16

HF MUX8:1 Filter + Amp Demodulator BP Filter

LED DRIVER

Dual Freq. GeneratorGlitch Filter

dsPICE-Puck Connector

A

+5V Step-up

A A

A

D

A A

D

DDD

DD

-5V Step-up

Page 14: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• E-Puck Connector:• Allows I²C connectivity to E-Puck• Supplies 3.7V directly from onboard battery

E-Puck Connector

Page 15: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design• dsPIC – Low level:

• Feeds coded data to dual frequency generator

• Selects multiplexer channel for demodulation

• Reads internal 12-bit ADC • Decodes received data stream

into bytes

• dsPIC – High level:• Calculates bearing of each

robot within range• Calculates distance to each

robot within range• Updates relative robot

positions to E-Puck via I²C

dsPIC

Page 16: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• Dual Frequency Generator:• Generates two frequencies at around 10.7 MHz• Data is encoded by selecting between these frequencies• Glitch filter is used to prevent a noisy switching

Dual Freq. Generator

Glitch Filter

Page 17: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design• LED Driver:

• Input from the frequency generator• One MOSFET driver for each of the 16 IR LEDs• Power level has three selections for ranging optimization

LED DRIVER

IR LED x16

Page 18: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design• IR Photodiode + Preamp:

• Required to convert small currents produced by the PIN diode to voltages for the ADC

• Most critical section – Difficult to adjust bias voltage

IR Photodiode+ Preamp

x8

Page 19: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• High Frequency Multiplexer• Allows the eight IR receivers to be connected to a

single demodulator

HF MUX8:1

Page 20: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design• Filter + Amplifier:

• Filters the incoming signal and amplifies for the demodulator

• Incorporates impedance matching for RF designed input

Filter + Amp

Page 21: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• Demodulator:• Standard radio frequency narrow band receiver• Local oscillator at 10.7 MHz• Supplies direct output for RSSI• Supplies analog output for data reception

Demodulator

Page 22: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• Band-pass Filter:• Filters and amplifies the analog output of the

demodulator• Saturated transistor for clean data recreation

BP Filter

Page 23: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design• ±5V Step-up:

• Input 3.7V from E-Puck battery• Supplies both positive and negative voltages for the RF circuitry

and op-amps• Regulated outputs for noise minimisation

+5V Step-up

-5V Step-up

Page 24: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• Omitted Electronics (compared to KIII design):

• Two multiplexers single

• Two demodulators single

• IR transmit Segmentation control removed

• Serial to USB driver removed

• Simpler band pass filter and data amplifier designed

• “Managed to reduce electronics to E-Puck size turret (70mm)”

Page 25: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware DesignRelative Positioning Turret CAD Design :

Page 26: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Hardware Design

• Status:• Routing finished• 4-layer PCB • Production launched• PCB expected for 6th

July

Page 27: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Possible Hardware Optimisations

• Further miniaturisation:• Optimise the receiving circuitry

• Find other OPA (working at 3.3V)• Smaller band pass-filter

• Improving Efficiency:• Reduce the duty cycle from 50% to 10%

(requires emitting circuitry changes)

Page 28: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Firmware Design

• Random wait length between data emissions• Random length RTS• Check for other RTS in Coll. Check • Preamble used for RSSI• Data transmission with parity bit

RTS Coll. check Preamble Data Preamble

Page 29: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

3D design for Swarmanoid

• Optimization of orientation angles according to the number of sensors• 16 receivers:

• 8 placed horizontally • 8 placed at 35°

• 26 emitters:• 8 at 0°• 8 at 14°• 8 at 46°• 2 at 80°

Page 30: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Conclusion and Remaining Work

• Better results on e-puck than expected

• Hardware should be compatible with KIII design

• Hardware miniaturisationproblematic

• Mounting two PCB• Firmware for new

hardware

Page 31: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Questions ?• Thank you for your attention

Page 32: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Advanced Relative Positioning System

• Technology Overview:• Relative Bearing Measurement

• Robots randomly transmit IR packet with 16 IR LEDs• The Received Signal Strength Indicator (RSSI) for each of the eight IR

receivers is read with an ADC• The strongest represents the octant of the bearing of the transmitting e-

puck (V1)• The second strongest represents the adjacent signal (V2)• The octant offset angle can then be determined:

θ = a(V1 − V2) / V1φ = Octant Angle + θ

(Limits are applied to stay within the correct octant)(a is a pre-determined constant)

(Local Range and Bearing Sensing Using Infrared Transceivers in Mobile Robotics - Jim Pugh and Alcherio Martinoli, SWIS EPFL)

Page 33: Infrared Relative Positioning with the E-Pucks€¦ · Possible Hardware Optimisations • Further miniaturisation: • Optimise the receiving circuitry • Find other OPA (working

Advanced Relative Positioning System

• Technology Overview:• Relative Distance Measurement

• Range (D) determined by the RSSI• The distance is calculated from the non-linear intensity curve of the

incoming signals (V1, V2) & the attained bearing (θ):

D = SQRT [ (V1² + V 2²) Cos (π/4 − θ) ]

(Local Range and Bearing Sensing Using Infrared Transceivers in Mobile Robotics - Jim Pugh and Alcherio Martinoli, SWIS EPFL)