Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar...

31
1 emulab Mobile Emulab: A Robotic Wireless and Sensor Network Testbed D. Johnson, T. Stack, R. Fish, D.M. Flickinger, L. Stoller, R. Ricci, J. Lepreau School of Computing, University of Utah (Jointly with Department of Mech. Eng.) www.emulab.net IEEE Infocom, April 2006

Transcript of Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar...

Page 1: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

1

emulab

Mobile Emulab: A Robotic Wireless and Sensor Network

Testbed

D. Johnson, T. Stack, R. Fish, D.M. Flickinger,L. Stoller, R. Ricci, J. Lepreau

School of Computing, University of Utah(Jointly with Department of Mech. Eng.)

www.emulab.net

IEEE Infocom, April 2006

Page 2: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

2

emulab

Need for Real, Mobile Wireless Experimentation

Simulation problemsWireless simulation incomplete, inaccurate (Heidemann01, Zhou04)Mobility worsens wireless sim problems

But, hard to mobilize real wireless nodesExperiment setup costlyDifficult to control mobile nodesRepeatability nearly impossible

Must make real world testing practical!

Page 3: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

3

emulab

Our Solution

Provide a real mobile wireless sensor testbedUsers remotely move robots, which carry sensor motes and interact with fixed motes

Page 4: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

4

emulab

Key Ideas

Help researchers evaluate WSN apps under mobility with real wireless

Provide easy remote access to mobilityMinimize cost via COTS hardware, open sourceSubproblems:

Precise mobile location trackingLow-level motion control

Page 5: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

5

emulab

Outline

IntroductionContext & ArchitectureKey Problem #1: LocalizationKey Problem #2: Robot ControlEvaluation

MicrobenchmarksData-gathering experiment

Summary

Page 6: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

6

emulab

Context: EmulabWidely-used network testbed

Provides remote access to custom emulated networks

How it works:Creates custom network topologies specified by users in NSSoftware manages PC cluster, switching fabric

Powerful automation, control facilitiesWeb interface for experiment control and monitoring

Extended system to provide mobile wireless…

emulab em

ulab

emulab

managemente

ee

Page 7: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

7

emulab

Mobile Sensor AdditionsSeveral user-controllable mobile robots

Onboard PDA, WiFi, and attached sensor mote

Many fixed motes surround motion areaSimple mass reprogramming toolConfigurable packet logging… and many other things

New user interfacesWeb applet provides interactive motion control and monitoringOther applets for monitoring robot details: battery, current motion execution, etc

Page 8: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

8

emulab

Mobile Testbed ArchitectureEmulab extensions

Remote users create mobile experiments, monitor motionVision-based localization: visiond

Multi-camera tracking system locates robotsRobot control: robotd

Plans paths, performs motion on behalf of userVision system feedback ensures precise positioning

Internet

control backend

robotd visiond

Users

emulab

emulab

emulab

Page 9: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

9

emulab

Motion Interfaces

Drag’n’drop Java applet, live webcamsCommand linePre-script motion in NS experiment setup files

Use event system to script complex motion patterns and trigger application behavior

set seq [ $ns event-sequence {$myRobot setdest 1.0 0.0$program run -time 10

“/proj/foo/bin/pkt_bcast”$myRobot setdest 1.0 1.0…

} ]$seq run

Page 10: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

10

emulab

Outline

IntroductionContext & ArchitectureKey Problem #1: LocalizationKey Problem #2: Robot ControlEvaluation

MicrobenchmarksData-gathering experiment

Summary

Page 11: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

11

emulab

Need precise location of each robotNeeded for our control and for experimenter use in evaluation

System must minimize interference with experiments

Excessive node CPU useWireless or sensor interference

Solution: obtain from overhead video cameras with computer vision algorithms (visiond)

Limitation: requires overhead lighting

Key Problem #1: Robot Localization

Page 12: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

12

emulab

Localization BasicsSeveral cameras, pointing straight down

Fitted with ultra wide angle lens

Instance of Mezzanine (USC) per camera "finds" fiducial pairs atop robot

Removes barrel distortion ("dewarps")

Reported positions aggregated into tracksBut...

Page 13: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

13

emulab

Localization: Better Dewarping

Mezzanine's supplied dewarp algorithm unstable (10-20 cm error)Our algorithm uses simple camera geometry

Model barrel distortion using cosine functionlocworld = locimage / cos( α * w )

(where α is angle between optical axis and fiducial)

Added interpolative error correction

Result: ~1cm max location errorNo need to account for more complex distortion, even for very cheap lenses

Page 14: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

14

emulab

Outline

IntroductionContext & ArchitectureKey Problem #1: LocalizationKey Problem #2: Robot ControlEvaluation

MicrobenchmarksData-gathering experiment

Summary

Page 15: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

15

emulab

Key Problem #2: Robot Motion

Users request high-level motionCurrently support waypoint motion model (A->B)

robotd performs low-level motion:Plans reasonable path to destinationAvoids static and dynamic obstaclesEnsures precise positioning through vision system feedback

Page 16: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

16

emulab

Motion: Control & Obstacles

Planned path split into segments, avoidingknown, fixed obstacles

After executing each segment, vision system feedback forces a replan if robot has drifted from correct heading

When robot nears destination, motion enters a refinement phase

Series of small movements that bring robot to the exact destination and heading (three sufficient for < 2cm error)

IR rangefinders triggered when robot detects obstacleRobot maneuvers around simple estimate of obstacle size

Page 17: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

17

emulab

Motion: Control & Obstacles

IR sensors “see” obstacleRobot backs upMoves to corner of estimated obstaclePivots and moves to original final destination

Page 18: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

18

emulab

Outline

IntroductionContext & ArchitectureKey Problem #1: LocalizationKey Problem #2: Robot ControlEvaluation

MicrobenchmarksData-gathering experiment

Summary

Page 19: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

19

emulab

Evaluation: LocalizationWith new dewarping algorithm and error correction, max error 1.02cm, mean 0.32cm

3

4

5

6

7

8

9

10

11

12

13

6 7 8 9 10 11 12 13 14 15

Grid pointsError lines

3

4

5

6

7

8

9

10

11

12

13

6 7 8 9 10 11 12 13 14 15

Grid pointsError lines

Page 20: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

20

emulab

Case Study: Wireless Variability Measurements

Goal: quantify radio irregularity in our environment

Single fixed sender broadcasts packetsThree robots traverse different sectors in parallelCount received packets and RSSI over 10s period at each grid point

Power levels reduced to demonstrate a realistic network

Page 21: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

21

emulab

Wireless Variability (2)Some reception decrease as range increases, but significant irregularity evident Similarity shows potential for repeatable experiments

X Location (meters) 6 7 8 9 10 11 12 13 14 15

Y L

ocat

ion

(met

ers)

3

4

5

6

7

8

9

10

11

12

13

14

100 +

90 − 99

80 − 89

70 − 79

60 − 69

50 − 59

40 − 49

30 − 39

20 − 29

10 − 19

1 − 9

0

SteelPillar

Transmitter

X Location (meters) 6 7 8 9 10 11 12 13 14 15

Y L

ocat

ion

(met

ers)

3

4

5

6

7

8

9

10

11

12

13

14

100 +

90 − 99

80 − 89

70 − 79

60 − 69

50 − 59

40 − 49

30 − 39

20 − 29

10 − 19

1 − 9

0

SteelPillar

Transmitter

Page 22: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

22

emulab

Wireless Variability (3)

50-60% time spent moving robotsContinuous motion model will improve motion times by constantly adjusting robot heading via vision data

Robot1 2 3

seco

nds

0

200

400

600

800

1000

1200Reorientation

Refinement

Long Move

Experiment Time

Page 23: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

23

emulab

Outline

IntroductionContext & ArchitectureKey Problem #1: LocalizationKey Problem #2: Robot ControlEvaluation

MicrobenchmarksData-gathering experiment

Summary

Page 24: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

24

emulab

In Conclusion…

Sensor net testbed for real, mobile wireless sensor experimentsSolved problems of localization and mobile controlMake real motion easy and efficient with remote access and interactive control

Public and in production (for over a year!)Real, useful system

Page 25: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

25

emulab

Thank you!

Questions?

Page 26: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

26

emulab

Page 27: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

27

emulab

Related Work

MiNTMobile nodes confined to limited area by tethers

ORBITLarge indoor 802.11 grid, emulated mobility

EmstarSensor net emulator: real wireless devices coupled to mote apps running on PCs

MoteLabBuilding-scale static sensor mote testbed

Page 28: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

28

emulab

Ongoing Work

Continuous motion modelWill allow much more efficient, expressive motion

Sensor debugging aidsPacket logging (complete)Sensed data emulation via injection (in progress)

Interactive wireless link quality map (IP)

Page 29: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

29

emulab

Evaluation: Localization

Methodology:Surveyed half-meter grid, accurate to 2mmPlaced fiducials at known positions and compared with vision estimates

With new dewarp algorithm and error correction, max error 1.02cm, mean 0.32cm

Order of magnitude improvement over original algorithm

Page 30: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

30

emulab

Evaluation: Robot MotionIn refine stage, three retries sufficient

End position 1-2cm distance from requested position

Accuracy of refine stage not affected by total movement distance

0.2 0.4 0.6 0.8 1 1.2 1.4 1.60

0.01

0.02

0.03

0.04

0.05

0.06

0.07

Movement Distance (meters)

Dis

tanc

e E

rror

(m

eter

s)

Allowable Distance Error

max tries: 2max tries: 3

Page 31: Mobile Emulab: A Robotic Wireless and Sensor Network … researchers evaluate WSN apps ... Pillar Transmitter X Location (meters) ... max tries: 2 max tries: 3. 31 emulab. Title:

31

emulab