230 likes | 338 Views
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.
E N D
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
Leader Follower Problem Model • 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
Motor Leader P3 P1 P2 Motor Follower Task Graph (Push) Construct the map of walls IR Compute the next location of the leader Choose search area Push POS
Task Graph (Pull) Leader IR Motor Construct the map of walls Choose search area P3 P1 Pull P2 Compute the next location of the follower Motor POS 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
Leader Push Pull Follower Push Leader Pull Follower 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 online • {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): comm_cost(Ti Tj ) CCRi, j = Ei: Execution time of Ti Ei + Ej
Step 1: How to Choose a Task • Consider tasks such that all their preceding taskshave been allocated • Try to minimize communication cost • Two techniques to choose Tj : • Greedy: consider individual cost • Aggressive: consider total cost from the same processor
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
Choose T4 ChooseT5 Step 2: find the robot Currently : U1 = U2 = 1/3 Greedy:Assign T4 to Robot 1 Aggressive:Assign T5 to Robot 2 Allocation Example Step 1: Consider T4,T5 Robot 2 Robot 1 Greedy : Aggressive: T1 T2 T3 CCR1,4 = 1/4 CCR2,5+CCR3,5=1/3 1/6 1/5 1/6 1/4 1/5 T4 T5 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 sets N: total number of tested task sets
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
Performance of Allocation Algorithms Aggressive outperforms the other methods. • The improvement is larger when the resources are tight.
Analysis With Mobile Robots • 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 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/