http://robotics.usc.edu/~gaurav1/72 networked robotics: from distributed robotics to sensor networks...
TRANSCRIPT
http://robotics.usc.edu/~gaurav 1/72
Networked Robotics:From Distributed Robotics to Sensor Networks
Gaurav S. Sukhatme
Center for Robotics and Embedded SystemsCenter for Embedded Networked Sensing
Computer Science DepartmentUniversity of Southern California
[email protected]://robotics.usc.edu/resl
http://robotics.usc.edu/~gaurav 2/72
Introduction
• Synoptic sensing: sense everywhere in parallel
• Enablers: small computers, sensors, radios
• Role of robotics: Deploy sensors, Localize sensors, Replenish and repair network
• Potential Applications:– Ecosystem bio-complexity
monitoring– Marine microorganism
monitoring– Structural health
monitoring– …
http://robotics.usc.edu/~gaurav 3/72
Network Deployment
http://robotics.usc.edu/~gaurav 4/72
Deployment Constraints and Tradeoffs
• Connectivity– Final/Intermediate– K-connectedness, K-degree (density)
• Visibility– Communication visibility, sensing
visibility• Efficiency
– How many nodes ? How quickly ?
http://robotics.usc.edu/~gaurav 5/72
Network Repair
http://robotics.usc.edu/~gaurav 6/72
Repair Constraints
• Minimal Intervention– Smallest number of nodes are
subjected to small displacements– Small number of new nodes deployed
• Speed– Faster than (re)deployment
• Preserve connectivity/visibility
http://robotics.usc.edu/~gaurav 7/72
Multi-Robot Task Allocation (MRTA)
B B
http://robotics.usc.edu/~gaurav 8/72
MRTA Constraints
• Speed of event detection– ‘Robot only’ solution could be slow– Network effectively extends sensing
range• Speed of response• Simple vs. complex robots
– Computation on the robots vs. in-network
http://robotics.usc.edu/~gaurav 9/72
Today
• Network deployment of robotic nodes– Sensor coverage and line-of-sight connectivity– Sensor coverage and k-neighbor connectivity
• Network deployment of static nodes using mobile robots– Sensor coverage and fast exploration, no
environment map• Network repair using mobile robots
– Speed, no map of the environment• Multi-robot task allocation using a network
– Navigation: No central planning, no constraints on adding robots dynamically
– Adaptive sampling
http://robotics.usc.edu/~gaurav 10/72
Deployment
• Assumptions– Robotic nodes initially confined to a small
area
– Each node has a finite sensing radius Rs and communication radius Rr
• Goal– Maximize total sensor coverage such that
each node has k neighbors within communication range
• Approach– Repulsive potential field with damping and
switching
http://robotics.usc.edu/~gaurav 12/72
The Deployment Algorithm
nonoi FFUUUF )(
i i
nono rkU
1||
i i
nonor
kF 2||
1
mxFx iii /)(
Each robot is controlled according to virtual forces
Andrew Howard, Maja J. Mataric and Gaurav S. Sukhatme, "Mobile Sensor Network Deployment using Potential Fields: A Distributed, Scalable Solution to the Area Coverage Problem," in Proceedings of the International Symposium on Distributed Autonomous Robotic Systems, 2002.
http://robotics.usc.edu/~gaurav 13/72
Static Deployment using a Potential Field
• Tuning the damping term– Use value that gives critical damping for a two node
system– Rs and Rr not used explicitly
• No control over k
http://robotics.usc.edu/~gaurav 14/72
Modified Potential Field Approach
If degree > kRepel neighbors (increase coverage)
elseAttract neighbors (maintain degree)
Sameera Poduri and Gaurav S. Sukhatme, "Constrained Coverage for Mobile Sensor Networks," IEEE International Conference on Robotics and Automation, 2004
http://robotics.usc.edu/~gaurav 15/72
• d<=2Rs
Coverage depends on d
• d>2Rs
Coverage independent of d
• 2 regimesRr > 2Rs
Rr <= 2Rs
Role of Rr/Rs
d
d
d
d
http://robotics.usc.edu/~gaurav 16/72
Evaluation
• Performance metric
– Coverage: Area covered/ NπRs2
• Compare with
– Regular tilings
– Random Networks (uniformly distributed)
– Centralized iterative approach
http://robotics.usc.edu/~gaurav 17/72
Regular k-Tilings
• Rr <= 2Rs and large N
• Exact formulas for coverage for k = 0,1,2,3,4,6
http://robotics.usc.edu/~gaurav 18/72
Random Networks
• Uniformly distributed random network – Poisson distribution
• Probability of exactly m nodes in an area S :
1( , ) exp
!
m
P m S SS m
• Degree depends on ρ
• For , find ρ such that
2rS R ( , ) 0.95P m K S
1 exp( )Coverage S
http://robotics.usc.edu/~gaurav 19/72
A Centrally Computed Baseline
• Generate a configuration prior to deployment
(assumes an environment map)
• Loop:
1. Start with a network N of min. degree k
2. Randomly displace a node to get Nnew
3. If Nnew also has min. degree k, N=Nnew
4. If Average_degree < k+2, stop, else goto 2
http://robotics.usc.edu/~gaurav 20/72
Results Rr < 2Rs
http://robotics.usc.edu/~gaurav 21/72
Results Rr = 2Rs
Rr=8, Rs=4, n=49
http://robotics.usc.edu/~gaurav 22/72
Results Rr > 2Rs
http://robotics.usc.edu/~gaurav 23/72
Potential Field-based Deployment
• Distributed algorithm• No map of the environment• Need range and bearing to neighbors –
impractical on small sensor-constrained nodes
• Experimental results:– Reasonably good coverage– Connectivity > 97%– #nodes with degree at least k > 95%– Converges quickly
http://robotics.usc.edu/~gaurav 24/72
Today
• Network deployment of robotic nodes– Sensor coverage and line-of-sight connectivity– Sensor coverage and k-neighbor connectivity
• Network deployment of static nodes using mobile robots– Sensor coverage and fast exploration, no
environment map• Network repair using mobile robots
– Speed, no map of the environment• Multi-robot task allocation using a network
– Navigation: No central planning, no constraints on adding robots dynamically
– Adaptive sampling
http://robotics.usc.edu/~gaurav 25/72
Robot-based Deployment
• Its hard to make small mobile network nodes
• Not clear if its energetically feasible• Alternate regime:
– Deployment: Single ‘capable’ robot drops off nodes at their places
– Repair: Robot ‘plugs holes’ in the resulting network using the same algorithm
http://robotics.usc.edu/~gaurav 26/72
What’s in it for the Robot(s) ?
• An efficient deployment strategy (linear in the network size), is also an efficient exploration strategy for the robot
• Once the network is emplaced– any robot can use it to navigate (path
planning is done ‘in-network’)– in-network (de-centralized) task
allocation can coordinate the actions of multiple robots
http://robotics.usc.edu/~gaurav 27/72
Approach
M. Batalin, G. S. Sukhatme, Coverage, Exploration and Deployment by a Mobile Robot and Communication Network, Telecommunications Systems, April 2004
M. Batalin, G. S. Sukhatme, Efficient Exploration Without LocalizationProceedings of the 2003 IEEE International Conference on Robotics and Automation (ICRA'03), Taipei, Taiwan, May 12 - 17, 2003.
Robot LoopIf no beacon within radio range
deploy beaconElse
move in direction suggested by nearest beacon
Beacon LoopEmit least recently visited direction
http://robotics.usc.edu/~gaurav 28/72
Robot deploys network
Network Deployment
http://robotics.usc.edu/~gaurav 29/72
Environment change
Network extension
Adapting to EnvironmentChange
http://robotics.usc.edu/~gaurav 30/72
Graph Cover Times
• Cover time is a measure of exploration speed
• Random walk is O(n2)– on a regular graph of n nodes
• DFS is O(n) and requires– passive markers– a topological map– markers of 3 colors
• Our algorithm is O(n ln n) and requires– infinite active markers, no map
http://robotics.usc.edu/~gaurav 31/72
Path to goalcomputed usingdynamic programming
Robot usesnetwork to navigate
Robot Navigation using the Network
http://robotics.usc.edu/~gaurav 32/72
Robot Navigation using a Sensor Network
• Mica2 mote-based sensor network
• Mobile robot navigates based solely on network directives
• Results include over 1 km robot traverses in experiments
robot
Sensornode
startgoal
start
goal
start
goal
http://robotics.usc.edu/~gaurav 33/72
Robot Navigation Using a Sensor Network
http://robotics.usc.edu/~gaurav 34/72
Robot Navigation to Contours
• Use sensor network to navigate robot towards a contour of interest
• Variant on the previous approach
Karthik Dantu and Gaurav S. Sukhatme, "Detecting Level Sets of Scalar Fields Using Actuated Sensor Networks," Submitted to IROS 2004
http://robotics.usc.edu/~gaurav 35/72
From the Air
Peter I. Corke, Stefan E. Hrabar, Ron Peterson, Daniela Rus, Srikanth Saripalli, and Gaurav S. Sukhatme, "Autonomous Deployment and Repair of a Sensor Network using an Unmanned Aerial Vehicle," IEEE International Conference on Robotics and Automation, 2004.
http://robotics.usc.edu/~gaurav 36/72
Today
• Network deployment of robotic nodes– Sensor coverage and line-of-sight connectivity– Sensor coverage and k-neighbor connectivity
• Network deployment of static nodes using mobile robots– Sensor coverage and fast exploration, no
environment map• Network repair using mobile robots
– Speed, no map of the environment• Multi-robot task allocation using a network
– Navigation: No central planning, no constraints on adding robots dynamically
– Adaptive sampling
http://robotics.usc.edu/~gaurav 37/72
Multi-Robot Task Allocation
• Problem: Events in the environment, robot needed in vicinity of each event to observe it
• Given a pre-deployed sensor network, no environment map, no assumptions about a static environment
• Solution: Augment the deployment/exploration algorithm based on event occurrence
M. Batalin, G. S. Sukhatme, Sensor Network-based Multi-robot Task Allocation, Proceedings of the 2003 IEEE International Conference on Intelligent Robots and Systems (IROS '03), Las Vegas, Oct 27-31, 2003.
http://robotics.usc.edu/~gaurav 38/72
Outline
• Pre-computation: In the exploration phase compute P(s’|s,a) transition probability from node s to s’ for action a
• Every event i in the environment is assumed to have a weight wi
• Every node computes a suggested direction of travel for a robot in its vicinity
http://robotics.usc.edu/~gaurav 39/72
In-network Computation
• Events are flooded through the network
• Each node receives an event weight wi
and a hop count hi and computes the following
utility(i) = wi /hi
current alarm = argmax utility(i)V(s’) = C(s,a) + max Σ P(s’|s,a) V(s)Π(s) = argmax Σ P(s’|s,a) V(s)
http://robotics.usc.edu/~gaurav 40/72
Results
• Compare aggregate event on-time for ‘exploration/deployment-only’ mode vs. ‘task-allocation’ mode
http://robotics.usc.edu/~gaurav 41/72
Task Allocation Application I
• Marine microorganism monitoring• Adaptive sampling of the underwater
environment based on physical and chemical measurements
Bin Zhang, Gaurav S. Sukhatme, and Aristides A. Requicha, "Adaptive Sampling for Marine Microorganism Monitoring," IROS 2004.
http://robotics.usc.edu/~gaurav 42/72
TA Application II: Networked Infomechanical Systems
• Networked mobile nodes– Sensing – Sampling– Energy logistics– Communication
• Infrastructure– Enables deterministic and
precise motion– Enables proper elevation– Enables mass transport at
low energy• System Ecology
– Fixed nodes– Mobile nodes– Infrastructure
http://robotics.usc.edu/~gaurav 43/72
http://robotics.usc.edu/~gaurav 44/72
http://robotics.usc.edu/~gaurav 45/72
http://robotics.usc.edu/~gaurav 46/72
http://robotics.usc.edu/~gaurav 47/72
http://robotics.usc.edu/~gaurav 48/72
http://robotics.usc.edu/~gaurav 49/72
http://robotics.usc.edu/~gaurav 50/72
http://robotics.usc.edu/~gaurav 51/72
http://robotics.usc.edu/~gaurav 52/72
http://robotics.usc.edu/~gaurav 53/72
http://robotics.usc.edu/~gaurav 54/72
http://robotics.usc.edu/~gaurav 55/72
http://robotics.usc.edu/~gaurav 56/72
http://robotics.usc.edu/~gaurav 57/72
http://robotics.usc.edu/~gaurav 58/72
http://robotics.usc.edu/~gaurav 59/72
http://robotics.usc.edu/~gaurav 60/72
http://robotics.usc.edu/~gaurav 61/72
http://robotics.usc.edu/~gaurav 62/72
http://robotics.usc.edu/~gaurav 63/72
http://robotics.usc.edu/~gaurav 64/72
http://robotics.usc.edu/~gaurav 65/72
http://robotics.usc.edu/~gaurav 66/72
http://robotics.usc.edu/~gaurav 67/72
NIMS Node
http://robotics.usc.edu/~gaurav 68/72
NIMS Node in Action
http://robotics.usc.edu/~gaurav 69/72
Results
0.0 1.0 2.0 3.0 4.0 5.0
0.0
1.5
3.0
4.5
2
12
22
32
42
52
62
72
PAR Value
Horizontal Displacement (m)
Vertical Displacement
(m)
0.0 1.0 2
.0 3.0 4.0 5.0
0.0
1.5
3.0
4.5
271217222732
3742
47
52
RH (%)
Horizontal Displacement (m)
Vertical Displacement
(m)
PAR Humidity
http://robotics.usc.edu/~gaurav 70/72
Extensions
• Dealing with thrashing• Explicit task assignments vs. implicit • Further experiments underwater and in the forest
canopy
http://robotics.usc.edu/~gaurav 71/72
Today
• Network deployment of robotic nodes– Sensor coverage and line-of-sight connectivity– Sensor coverage and k-neighbor connectivity
• Network deployment of static nodes using mobile robots– Sensor coverage and fast exploration, no
environment map• Network repair using mobile robots
– Speed, no map of the environment• Multi-robot task allocation using a network
– Navigation: No central planning, no constraints on adding robots dynamically
– Adaptive sampling
http://robotics.usc.edu/~gaurav 72/72
Conclusion
• Symbiotic relationship between mobile robots and sensor networks– Actuation enables us to focus sensing
where it is needed when it is needed– Networks extend the effective sensing
range of robots and offload some processing
http://robotics.usc.edu/~gaurav 73/72
http://robotics.usc.edu/~gaurav 74/72
Localization
• Stationary sensor network with some ‘GPS-enabled’ nodes
• Three algorithms (all based on rigid graphs):– Range only (high accuracy requires high
density)– Range and bearing (high accuracy requires
very few neighbors but bearing is difficult to measure on small nodes)
– Range and sectoring (high accuracy with moderate number of neighbors)
K.Chintalapudi, A. Dhariwal, R. Govindan and G. Sukhatme, Adhoc Localization using Ranging and Sectoring, Proceeeding of Infocomm, March 2004
http://robotics.usc.edu/~gaurav 75/72
Cooperative Localization
• System contains beacons and beacon detectors
• Assumptions:• beacons are unique,• beacon detectors
determine correct identity.
• Determine the relative pose of each pair of beacons/detectors
http://robotics.usc.edu/~gaurav 76/72
Team Localization using MLE
• Construct a set of estimates H = {h} where:h is the pose of robot r at time t.
• Construct a set of observations O = {o} where o is either:the measured pose of robot rb relative to robot
ra at time t, or the measured change in pose of robot r
between times ta and tb.
Find the set of estimates H that maximizes:
http://robotics.usc.edu/~gaurav 77/72
Approach
Equivalently, find the set H that minimizes:
http://robotics.usc.edu/~gaurav 78/72
Gradient-based Estimation
• Each estimate• Each observation • Measurement
uncertainty assumed normal
• Relative Absolute
),,ˆ( trqh
),,,,,( bbaa trtro
)ˆ,ˆ(ˆ ba qq
)ˆ()ˆ(2
1)|( THoU
http://robotics.usc.edu/~gaurav 79/72
Gradient Descent
U(o|H)μh
μU(O|H)h Oo ˆ
ˆ
•Compute set of poses q that minimizes U(O|H)•Gradient-based algorithm
http://robotics.usc.edu/~gaurav 80/72
SLAM: Simultaneous Localization and Mapping
http://robotics.usc.edu/~gaurav 81/72
Sensor Network Calibration
http://robotics.usc.edu/~gaurav 82/72
Team Localization
• Runs on any platform as long as it can compute its motion via inertial sensing
• Unique beacons: robots, people, fixed locations etc.
• Global communications• No model of the environment• Indifferent to changes in the environment• Robust to sensor noise • Centralized
Andrew Howard, Maja J. Mataric´, and Gaurav S. Sukhatme, "Relaxation on a mesh: a formalism for generalized localization," In IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1055 - 1060, Wailea, Hawaii, Oct 2001.