real-time support for mobile robotics
DESCRIPTION
Real-Time Support for Mobile Robotics. K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen). Background. A team of mobile robots Collaborate with each other to achieve a common goal Search for trapped people in a burning building. Sensors. Processor. Wireless link. Motivation. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/1.jpg)
Real-Time Support for Mobile Robotics
K. Ramamritham
(+ Li Huan, Prashant Shenoy, Rod Grupen)
![Page 2: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/2.jpg)
Background
A team of mobile robots
Collaborate with each other to achieve a common goal Search for trapped
people in a burning building
Sensors
Processor
Wireless link
![Page 3: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/3.jpg)
Motivation
To accomplish a search: Sensor tasks : acquire sensor data Processing tasks : process sensor data Motor tasks : drive the movement of
robots
![Page 4: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/4.jpg)
Problem
Dynamic environment Robots move as a team Team may change in the size
Hardware constraints for some tasks Sensor tasks are pre-allocated to robots
Which robots run which tasks and when? Where to allocate processing tasks? When to run tasks?
![Page 5: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/5.jpg)
Outline
Motivation System model Allocation and scheduling algorithms Experimental results Related work and conclusions
![Page 6: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/6.jpg)
Problem Model
Leader
Follower
Pair-wise relationship to control the movement
Leader Follower
Two control strategies
Push:
follower specifies the search area of the leader Pull:
leader searches the area, pulls the follower behind him
![Page 7: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/7.jpg)
Task Graph (Push)
POS Moto
r
Motor IR
P2
P1
P3
Leader
Follower
Push
Construct the
map of walls
Choose search area
Compute the next locationof the leader
![Page 8: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/8.jpg)
Task Graph (Pull)
P2
POSMoto
r
P1
Motor
LeaderIR
P3
Follower
Pull
Construct the map of
wallsChoose search area
Compute the next location
of the follower
![Page 9: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/9.jpg)
Task Model and Goal
Tasks are abstracted using task graphs Periodic tasks with constraints :
Deadline : each instance has a relative deadline Location : sensor tasks are pre-assigned to
robots Precedence : sensor tasks processing tasks motor tasks
Goal: Allocate and schedule tasks on robots
All constraints are satisfied
![Page 10: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/10.jpg)
Why is this a Hard Problem?
Possible strategies dynamically change as the size changes Increase exponentially as
the team size scales Need to efficiently find a
feasible strategy onlineLeader
Follower
Push
Push
Follower
Leader
Pull
Pull
{Push, Push}, {Push, Pull}, {Pull, Push},
{Pull, Pull}
![Page 11: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/11.jpg)
Overall Approach
Allocate tasks to appropriate robots Minimize
communication Balance
processor workload
Find a feasible schedule
Deadlines are met
Precedence constraints are satisfied
Can smart allocation improve
schedulability?
![Page 12: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/12.jpg)
Task Allocation
Step 1 : Choose an unallocated task Tj
Step 2 : Choose an appropriate processor
Communication Cost Ratio (CCR):
CCRi, j
=
comm_cost(Ti Tj )
Ei + Ej
Ei: Execution time of Ti
![Page 13: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/13.jpg)
Step 1: How to Choose a Task
Consider tasks such that all their preceding tasks have been allocated
Try to minimize communication cost Two techniques to choose Tj :
Greedy: consider individual cost
Aggressive: consider total cost from the same processor
, ,max , i j x j x jCCR CCR T T
, ,maxi j x jx
CCR CCR
![Page 14: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/14.jpg)
Step2: How to Allocate a Task
If Tj is chosen, and TiTj Try to balance and minimize workload Assign Tj to the same processor as Ti
So long as the processor does not become the most heavily loaded processor
Network communication between Ti and Tj is eliminated
Otherwise, put Tj to the processor with the least utilization
![Page 15: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/15.jpg)
Allocation Example
Step 1: Consider T4,T5
T T1 T2 T3 T4 T5
Ei 2 3 3 2 3
Pi 6 18 18 18 18
T1 T3T2
T4 T5
Robot 1 Robot 2
1/4
1/5
1/5 1/6 1/6
Greedy :CCR1,4 = 1/4
Choose T4
Aggressive:
CCR2,5+CCR3,5=1/3
Choose T5
Step 2: find the robot
Currently : U1 = U2 = 1/3
Greedy: Assign T4 to Robot 1
Aggressive: Assign T5 to Robot 2
1/3
![Page 16: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/16.jpg)
Making Scheduling Decisions
Have allocated tasks to processors, need to find a feasible schedule
Possible heuristic functions EDF (Min_D) Minimum laxity first (Min_L) Earliest-start-time first (Min_S) Weighted combinations of {deadline, earliest-start-time, laxity}
![Page 17: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/17.jpg)
Outline
Motivation Problem setting Allocation and scheduling algorithms Experimental results
Simulation results Application analysis
Related work and conclusions
![Page 18: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/18.jpg)
Simulation Settings
Homogeneous system Number of processors and tasks are varying Task sets are randomly generated, each
Metric: SuccessRatio (SR):
N succ: number of successfully scheduled task setsN: total number of tested task sets
1( / )
ni i
iE P m
succSR N N
![Page 19: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/19.jpg)
Scheduling Heuristic
Min_S is the best single heuristic Encode
precedence constraints
Min_D + W×Min_S is the best overall Both deadline and
precedence are taken into account
2 4 6 8 10 120.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
SR (#
Task
= 1
2, W
= 4
)
Number of Processors
Min_D+W*Min_Lax Min_D+W*Min_S Min_L Min_S Min_D
![Page 20: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/20.jpg)
Performance of Allocation Algorithms
Aggressive outperforms the other methods.
The improvement is larger when the resources are tight.
2 4 6 8 10 120.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0 Random Greedy Aggressive
SR(T
ask
= 20
, W
= 4
)Number of Processors
2 4 6 8 10 120.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0 Random Greedy Aggressive
SR(T
ask
= 12
, W
= 4
)
Number of Processors
![Page 21: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/21.jpg)
Three Robots, period = 220 ms
{Push,Pull} is not feasible Metrics to choose the optimal one
Min max laxity : {Pull, Push} Prune the infeasible strategies as the team
size scales
Analysis With Mobile Robots
strategy {Push, Push}
{Pull, Pull} {Push, Pull}
{Pull, Push}
Robot 1 195 205 223 195
Robot 2 203 209 220 206
Robot 3 211 203 231 203
Completion time for tasks on each robot
![Page 22: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/22.jpg)
Related Work
Task allocation and scheduling in distributed environment.
Branch-and-bound search [Peng 97] Period-based method of load partitioning and
assignment [Abdelzaher 00] Static allocation for tasks with duplication and
precedence constraints [Ramamritham 95] Utilization bound for schedulability
analysis Uniprocessor, independent tasks [Liu&Layland 73] Multiprocessor , P-fairness scheduling [Baruah 96] EDF, RMA [Andersson 01], [Baruah 01], [Funk 01],
[Goossens 02], [Srinivasan 02]
![Page 23: Real-Time Support for Mobile Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081519/56812c79550346895d9121b0/html5/thumbnails/23.jpg)
Conclusions and Future Work
A team of mobile robots to achieve a goal Allocate and schedule real-time tasks
with constraints for dynamic robotic teams
Smart allocation of tasks can improve the schedulability of the whole system
Future work : Heterogeneous systems
http://lass.cs.umass.edu/