real-time support for mobile robotics
Post on 31-Dec-2015
30 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
To accomplish a search: Sensor tasks : acquire sensor data Processing tasks : process sensor data Motor tasks : drive the movement of
robots
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?
Outline
Motivation System model Allocation and scheduling algorithms Experimental results Related work and conclusions
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
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
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
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
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}
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?
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
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
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
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
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}
Outline
Motivation Problem setting Allocation and scheduling algorithms Experimental results
Simulation results Application analysis
Related work and conclusions
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
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
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
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
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]
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/
top related