24
Real Time Adaptive Scheduling for a Swarm of Manufacturing Robots Mac Schwager Assistant Professor Aeronautics and Astronautics Stanford University Feb 7, 2019 1 Platform Annual Review MSL

Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Real Time Adaptive Scheduling for a Swarm of Manufacturing Robots

Mac SchwagerAssistant Professor

Aeronautics and AstronauticsStanford University

Feb 7, 20191

Platform Annual Review

MSL

Page 2: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Flexible Manufacturing

Feb 7, 2019 Platform Annual Review 2

Credit: ECM

Credit: Martin Sehr, Siemens Credit: Martin Sehr, Siemens

Page 3: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Flexible Manufacturing Scenario

Feb 7, 2019 Platform Annual Review 3

A

B

C

DProcess Stations

C, D, AQueues

A, B

C, A, C

A, B, C D, C, A

B, A

Out Bin

Robots

Data Center

Page 4: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

How to coordinate, control, and plan for large teams of manufacturing robots in dynamic, stochastic

environments?

Feb 7, 2019 Platform Annual Review 4

Fully distributedLocal informationLimited communicationReactive control and sensing

Fully centralizedGlobal information

Communication intensiveOptimal planning and scheduling

Credit: Business-opportunities.bizCredit: Farelli.info

Page 5: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Our Approach

Feb 7, 2019 Platform Annual Review 5

Individual robots Centralized planner

Local-Global Map

Local sensor information

Global-Local Online replanning

Global state

Page 6: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

• High level assignment scheduling

• Low-level path planning

• Local-global map

Feb 7, 2019 Platform Annual Review 6

Page 7: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

• High level assignment scheduling

• Low-level path planning

• Local-global map

Feb 7, 2019 Platform Annual Review 7

Page 8: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Assignment Scheduling

Feb 7, 2019 Platform Annual Review 8

Patrick Washington

Page 9: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Widget State MachineAlgorithm 2 Widget j State Machine

Inputs:

Oj , Tj , ⌧dj (0)

Initialize:

sj 1⌧dj ⌧dj (0)

if rj = 0 and ai = j and ⌧i = 0 and ⌧ sj 0 then . Pick Uprj isj sj + 1

end if

if rj > 0 and ⌧rj = 0 then . Drop O↵rj 0⌧ sj Tj(sj)

end if

if sj = length(Oj) and ⌧rj = 0 then . Widget FinishedFinished

end if

⌧ sj �1⌧dj �1

<latexit sha1_base64="U0eyHL13suTfav1Xsy1YUf2kKyo=">AAAGXXictVRBU9NAFA5UKlRE0IMHLzs2zBTFknCRYQaHEXXkwIAjBWaa0tluNsmWZBN3N9K65od68ubv8CVtaQvl4MGddvr6vff2+/bte9tJQiaVZf2amy89WCg/XFyqPFp+vPJkde3pmYxTQWiDxGEsLjpY0pBx2lBMhfQiERRHnZCed64Ocv/5dyoki/mp6ie0FWGfM48RrABqr83/cSRVJE65okLj0I8FU0GUaTurOB3qMz4BVpYcgpM8UZ8z16cKmV0TfVVYUXSESQAa8phbaYwAuAQf55AnqZLaPG53zU1kng5+HIXTdvfSrVkbJsoGcUwxHLIfVJuy3UUOUElkm8hxxuFD9E52sYGnTQGJe8iCJEV7quNpzN0MmbjNAO7ehott2KyEIQEwhfQbuAuFB3EUUa7QCSNXqJHk0KAMBe1AGTMn4PExcus1HCZ3fuTuoTcp+N09/BqcWaFuiv6DiBN07Hkz+a1J/vEpCh+UvgZCNu6qkEXZTBRS7qugVtzVxj9IGjbGJ8aZDKg7ljCJ3DCO1Lmx0vmu2YTGN7Z5X4g7FQItR7k73XDTSFZpr1atulUsdNewh0bVGK4TmIxLoCRpfigSYimbtpWolsZCMRJCnzuppAkmV9inTTA5jqhs6WIiM7QOiIu8WMAXilKgkxkaR1L2ow5ERlgF8rYvB2f5mqnydlqa5YNEORkQeWmIVIzy8UYuE5SosA8GJnB2RhAJsMAExltWpraKsIA53dtmvKV9GkdUiX5WmVYyKuAmWImkKVQkdmm2jgKlkt2tLaIwr8fC30qu/K1xuNy8MXtQKfjD6TWBDoH+0cNnIGvaLb1eGV3wqMMGzt1s5OghJ5Cgh77SzsQNM+7CxWROgkUn7jXhYuo7Tv4IXjMXSqcdgX2fuoL5gUJVeMxmyRi9MvdKGQX8DznQkfbt/rtrnG3Xbatuf9mu7r8f9uai8cJ4adQM23hr7BufjROjYZDSUUmWfpayhd/lhfJyeWUQOj83zHlmTK3y878LwRAl</latexit><latexit sha1_base64="U0eyHL13suTfav1Xsy1YUf2kKyo=">AAAGXXictVRBU9NAFA5UKlRE0IMHLzs2zBTFknCRYQaHEXXkwIAjBWaa0tluNsmWZBN3N9K65od68ubv8CVtaQvl4MGddvr6vff2+/bte9tJQiaVZf2amy89WCg/XFyqPFp+vPJkde3pmYxTQWiDxGEsLjpY0pBx2lBMhfQiERRHnZCed64Ocv/5dyoki/mp6ie0FWGfM48RrABqr83/cSRVJE65okLj0I8FU0GUaTurOB3qMz4BVpYcgpM8UZ8z16cKmV0TfVVYUXSESQAa8phbaYwAuAQf55AnqZLaPG53zU1kng5+HIXTdvfSrVkbJsoGcUwxHLIfVJuy3UUOUElkm8hxxuFD9E52sYGnTQGJe8iCJEV7quNpzN0MmbjNAO7ehott2KyEIQEwhfQbuAuFB3EUUa7QCSNXqJHk0KAMBe1AGTMn4PExcus1HCZ3fuTuoTcp+N09/BqcWaFuiv6DiBN07Hkz+a1J/vEpCh+UvgZCNu6qkEXZTBRS7qugVtzVxj9IGjbGJ8aZDKg7ljCJ3DCO1Lmx0vmu2YTGN7Z5X4g7FQItR7k73XDTSFZpr1atulUsdNewh0bVGK4TmIxLoCRpfigSYimbtpWolsZCMRJCnzuppAkmV9inTTA5jqhs6WIiM7QOiIu8WMAXilKgkxkaR1L2ow5ERlgF8rYvB2f5mqnydlqa5YNEORkQeWmIVIzy8UYuE5SosA8GJnB2RhAJsMAExltWpraKsIA53dtmvKV9GkdUiX5WmVYyKuAmWImkKVQkdmm2jgKlkt2tLaIwr8fC30qu/K1xuNy8MXtQKfjD6TWBDoH+0cNnIGvaLb1eGV3wqMMGzt1s5OghJ5Cgh77SzsQNM+7CxWROgkUn7jXhYuo7Tv4IXjMXSqcdgX2fuoL5gUJVeMxmyRi9MvdKGQX8DznQkfbt/rtrnG3Xbatuf9mu7r8f9uai8cJ4adQM23hr7BufjROjYZDSUUmWfpayhd/lhfJyeWUQOj83zHlmTK3y878LwRAl</latexit><latexit sha1_base64="U0eyHL13suTfav1Xsy1YUf2kKyo=">AAAGXXictVRBU9NAFA5UKlRE0IMHLzs2zBTFknCRYQaHEXXkwIAjBWaa0tluNsmWZBN3N9K65od68ubv8CVtaQvl4MGddvr6vff2+/bte9tJQiaVZf2amy89WCg/XFyqPFp+vPJkde3pmYxTQWiDxGEsLjpY0pBx2lBMhfQiERRHnZCed64Ocv/5dyoki/mp6ie0FWGfM48RrABqr83/cSRVJE65okLj0I8FU0GUaTurOB3qMz4BVpYcgpM8UZ8z16cKmV0TfVVYUXSESQAa8phbaYwAuAQf55AnqZLaPG53zU1kng5+HIXTdvfSrVkbJsoGcUwxHLIfVJuy3UUOUElkm8hxxuFD9E52sYGnTQGJe8iCJEV7quNpzN0MmbjNAO7ehott2KyEIQEwhfQbuAuFB3EUUa7QCSNXqJHk0KAMBe1AGTMn4PExcus1HCZ3fuTuoTcp+N09/BqcWaFuiv6DiBN07Hkz+a1J/vEpCh+UvgZCNu6qkEXZTBRS7qugVtzVxj9IGjbGJ8aZDKg7ljCJ3DCO1Lmx0vmu2YTGN7Z5X4g7FQItR7k73XDTSFZpr1atulUsdNewh0bVGK4TmIxLoCRpfigSYimbtpWolsZCMRJCnzuppAkmV9inTTA5jqhs6WIiM7QOiIu8WMAXilKgkxkaR1L2ow5ERlgF8rYvB2f5mqnydlqa5YNEORkQeWmIVIzy8UYuE5SosA8GJnB2RhAJsMAExltWpraKsIA53dtmvKV9GkdUiX5WmVYyKuAmWImkKVQkdmm2jgKlkt2tLaIwr8fC30qu/K1xuNy8MXtQKfjD6TWBDoH+0cNnIGvaLb1eGV3wqMMGzt1s5OghJ5Cgh77SzsQNM+7CxWROgkUn7jXhYuo7Tv4IXjMXSqcdgX2fuoL5gUJVeMxmyRi9MvdKGQX8DznQkfbt/rtrnG3Xbatuf9mu7r8f9uai8cJ4adQM23hr7BufjROjYZDSUUmWfpayhd/lhfJyeWUQOj83zHlmTK3y878LwRAl</latexit>

Feb 7, 2019 Platform Annual Review 9

Algorithm 1 Robot i State Machine

Inputs:

bmax

i

, D, vi

, rc

, rd

Initialize:

bi

bmax

i

ai

0

⌧i

0

wi

0

pi

0

if ⌧i

= 0 and wi

= 0 then . Set Time to Goal

if ai

> 0 then . Time to Widget

⌧i

D(pi

, Oai(sai))/vi

else if ai

= 0 then . Time to Charger

⌧i

D(pi

, 0)/vi

end if

end if

<latexit sha1_base64="modkkTkLzdkdID38YfaVQy1f+RE=">AAAFn3ictVTdbtMwFM4KhTX8bXDJjaEd2lDVJpMQ06ShiQ2NXQCD/aK6FMdxU2uJHdnu1hLlEXgabuFBeBtOmmZruyGusNr49DvfOefL8XG9OOTaOM7vudKNm+Vbt+cr9p279+4/WFh8eKRlX1F2SGUo1YlHNAu5YIeGm5CdxIqRyAvZsXe6lfmPz5jSXIoDM4xZOyKB4F1OiQGos1h6hj0WcJGQMJCKm16U2hVMSZy5k0/SkwbVeA3tG2IYekdoDwpllJkoTgGswAfvirhvdFLzOvxLEpFBWquj2nb2OOvwbFMdmm9+Lc0DuOEk5N/YKAjhgBmNLsMRxqhGLhxODmBD+rPY+SwQTwAX+rpJEbwx4hk2MF43IcJP8xQbYzbeklHEhEH7zKADHjFkJNqRJARfngdUvQIuumAWrGPuQ9mMV8F566YFby+DtPqHTgIZ0mWd7ysrzaxFo+xvQj0ukMu5WmKrR1TA1L9qOJNJhb/btScMG40WZsKfPspZLO0sVJ2GM1roquGOjao1XnswWV+xL2k/00xDonXLdWLTTogynIYwQrivWUzoKQlYC0xBIqbbyWiiU7QEiI+6UsEX3nmETkYkJNJ6GHnAjIjp6VlfBl7na/VNd62d8GxGmaB5oW4/zBqaXQ/kc8WoCYdgEAqvzimi0GhCDVwieypVBP3nYmO18YKLdhIwGTGjhqk9raXoYB2sWLM+9ET6LF1CPWPi9WaTGiIaUgXN+DRoXtJ1/cIcQK/gh2DnFEYAxjQZ37G05baTJbs4/WKQc+d6WjgGCPc06GHPEzxxyFz4cDQpjony5KAFR9NYw9nfyDn3oXkJViQImK940DOo6qb2dTKKm/tXKQXhf8iBmXRnJ/CqcbTacJ2G+3G1uvl6PJ3z1mPrqbVsudZLa9N6a+1ZhxYtfS/9KP0s/So/Ke+U35f3cmppbhzzyJpa5c9/AM8HzuI=</latexit><latexit sha1_base64="modkkTkLzdkdID38YfaVQy1f+RE=">AAAFn3ictVTdbtMwFM4KhTX8bXDJjaEd2lDVJpMQ06ShiQ2NXQCD/aK6FMdxU2uJHdnu1hLlEXgabuFBeBtOmmZruyGusNr49DvfOefL8XG9OOTaOM7vudKNm+Vbt+cr9p279+4/WFh8eKRlX1F2SGUo1YlHNAu5YIeGm5CdxIqRyAvZsXe6lfmPz5jSXIoDM4xZOyKB4F1OiQGos1h6hj0WcJGQMJCKm16U2hVMSZy5k0/SkwbVeA3tG2IYekdoDwpllJkoTgGswAfvirhvdFLzOvxLEpFBWquj2nb2OOvwbFMdmm9+Lc0DuOEk5N/YKAjhgBmNLsMRxqhGLhxODmBD+rPY+SwQTwAX+rpJEbwx4hk2MF43IcJP8xQbYzbeklHEhEH7zKADHjFkJNqRJARfngdUvQIuumAWrGPuQ9mMV8F566YFby+DtPqHTgIZ0mWd7ysrzaxFo+xvQj0ukMu5WmKrR1TA1L9qOJNJhb/btScMG40WZsKfPspZLO0sVJ2GM1roquGOjao1XnswWV+xL2k/00xDonXLdWLTTogynIYwQrivWUzoKQlYC0xBIqbbyWiiU7QEiI+6UsEX3nmETkYkJNJ6GHnAjIjp6VlfBl7na/VNd62d8GxGmaB5oW4/zBqaXQ/kc8WoCYdgEAqvzimi0GhCDVwieypVBP3nYmO18YKLdhIwGTGjhqk9raXoYB2sWLM+9ET6LF1CPWPi9WaTGiIaUgXN+DRoXtJ1/cIcQK/gh2DnFEYAxjQZ37G05baTJbs4/WKQc+d6WjgGCPc06GHPEzxxyFz4cDQpjony5KAFR9NYw9nfyDn3oXkJViQImK940DOo6qb2dTKKm/tXKQXhf8iBmXRnJ/CqcbTacJ2G+3G1uvl6PJ3z1mPrqbVsudZLa9N6a+1ZhxYtfS/9KP0s/So/Ke+U35f3cmppbhzzyJpa5c9/AM8HzuI=</latexit><latexit sha1_base64="modkkTkLzdkdID38YfaVQy1f+RE=">AAAFn3ictVTdbtMwFM4KhTX8bXDJjaEd2lDVJpMQ06ShiQ2NXQCD/aK6FMdxU2uJHdnu1hLlEXgabuFBeBtOmmZruyGusNr49DvfOefL8XG9OOTaOM7vudKNm+Vbt+cr9p279+4/WFh8eKRlX1F2SGUo1YlHNAu5YIeGm5CdxIqRyAvZsXe6lfmPz5jSXIoDM4xZOyKB4F1OiQGos1h6hj0WcJGQMJCKm16U2hVMSZy5k0/SkwbVeA3tG2IYekdoDwpllJkoTgGswAfvirhvdFLzOvxLEpFBWquj2nb2OOvwbFMdmm9+Lc0DuOEk5N/YKAjhgBmNLsMRxqhGLhxODmBD+rPY+SwQTwAX+rpJEbwx4hk2MF43IcJP8xQbYzbeklHEhEH7zKADHjFkJNqRJARfngdUvQIuumAWrGPuQ9mMV8F566YFby+DtPqHTgIZ0mWd7ysrzaxFo+xvQj0ukMu5WmKrR1TA1L9qOJNJhb/btScMG40WZsKfPspZLO0sVJ2GM1roquGOjao1XnswWV+xL2k/00xDonXLdWLTTogynIYwQrivWUzoKQlYC0xBIqbbyWiiU7QEiI+6UsEX3nmETkYkJNJ6GHnAjIjp6VlfBl7na/VNd62d8GxGmaB5oW4/zBqaXQ/kc8WoCYdgEAqvzimi0GhCDVwieypVBP3nYmO18YKLdhIwGTGjhqk9raXoYB2sWLM+9ET6LF1CPWPi9WaTGiIaUgXN+DRoXtJ1/cIcQK/gh2DnFEYAxjQZ37G05baTJbs4/WKQc+d6WjgGCPc06GHPEzxxyFz4cDQpjony5KAFR9NYw9nfyDn3oXkJViQImK940DOo6qb2dTKKm/tXKQXhf8iBmXRnJ/CqcbTacJ2G+3G1uvl6PJ3z1mPrqbVsudZLa9N6a+1ZhxYtfS/9KP0s/So/Ke+U35f3cmppbhzzyJpa5c9/AM8HzuI=</latexit>

if ⌧i

= 0 and ai

> 0 then . Arrived with/at Widgetpi

Oai(sai) . Record Position

if wi

= 0 and ⌧ sai 0 then . Pick Up and Go

wi

1⌧i

D(Oai(sai), Oai(sai + 1))

else . Drop O↵/Idlew

i

0end if

end ifif ⌧

i

> 0 then . Moving/Discharging⌧i

�1bi

�rd

else if ai

= 0 then . Chargingpi

0⌧i

0if b

i

= bmax

i

then . Do Not Overchargebi

0else

bi

rc

end ifelse . Idle

⌧i

0bi

0end if

<latexit sha1_base64="Qu5GXd9OGjB5bnlVkDHkowW3pus=">AAAHenictVVbb9NIFDYlS8BclsLjvoyoK7VLSexqEQgJBNuu2DxAu0ApUhyi8czYGdX2eGcmTYo1f2Bf4c/tf9mV9thxbk5YnhgpyZlz/c5lToIs5kq77t+XNi43frjSvHrNvn7j5q0fb2/eea/EUBJ2QkQs5IcAKxbzlJ1ormP2IZMMJ0HMToOzg0J+es6k4iJ9py8y1ktwlPKQE6yB1d+8/C9CfsAinuY4joTkepAYexuYBGeFSv5GBEIjp+Ogtxprhl5hMoBgxl415MTYwAZBJ8wdX+Nhn6OnyHWQr9lYB2GOU2qQg4H9DNhmonwgkoSlGr2Qkp8zikbgq401OuU0YrrUAa1JdCcDWx/YCh31c3BkdtTkd9eZe3rDiJAUHQvFixymLgpUo/WQSrCln48K+TH7cwZvAeAxJ2foJENggl6KSjqHNppB85wVYVWNifxwpw5+r8a47+3uTp34v8WK1bEcSpGhozBsd2jM/geKO/eS0k5YXuz6faVpa7rzSpzzNGofckUGWELfI3spPyr0Uo4PqiIsKqBgLpZ9WilAekVoXHWmFvdgXbSsnt9XYUzlRYSgjADfH/MEj41jFsop0GvAdwRvpUyP1cau8JsHZsXtYmvWJyr7xKkXfG42AzBr4zczWR/GXQlSPFCW0uXnucwx/dtbbsstD1olvIrYsqpz3N/coBCYDAvMJMZKdT03070cS81JDFvBHyqWYXKGI9YFMsUJU728XFQGbQOHolBI+EDOJXfRIseJUhdJAJoJ1gNVlxXMdbLuUIePezlPs6FmKZkECocx0gIVWw9RLhnR8QUQmEDqnKCizZho2I32kqukHLen+62HPO3lERMJ0/LC2MtYphXcAypTbAg1EZSZbTTQOnvSbhON05aQUTs7i9pzdbU3I8dQK7ikbERgBGCl5H6nwK9M1+vl2/as09NFNZE+MTPJGPkDBYjYz7m/0GSeUmiO8TMsAzHuQnNaj/3i/2HEKZQv9yWOIkYljwYabXnGXgcESoRj/ol9HcxU47sAgrn06lO4Srzfb3luy/tjf+v5r9WEXrV+su5ZO5ZnPbKeW79bx9aJRRq08Vfjc+PLlX+a95q7zfsT1Y1Llc1da+k0f/kPg/5Z3A==</latexit><latexit sha1_base64="Qu5GXd9OGjB5bnlVkDHkowW3pus=">AAAHenictVVbb9NIFDYlS8BclsLjvoyoK7VLSexqEQgJBNuu2DxAu0ApUhyi8czYGdX2eGcmTYo1f2Bf4c/tf9mV9thxbk5YnhgpyZlz/c5lToIs5kq77t+XNi43frjSvHrNvn7j5q0fb2/eea/EUBJ2QkQs5IcAKxbzlJ1ormP2IZMMJ0HMToOzg0J+es6k4iJ9py8y1ktwlPKQE6yB1d+8/C9CfsAinuY4joTkepAYexuYBGeFSv5GBEIjp+Ogtxprhl5hMoBgxl415MTYwAZBJ8wdX+Nhn6OnyHWQr9lYB2GOU2qQg4H9DNhmonwgkoSlGr2Qkp8zikbgq401OuU0YrrUAa1JdCcDWx/YCh31c3BkdtTkd9eZe3rDiJAUHQvFixymLgpUo/WQSrCln48K+TH7cwZvAeAxJ2foJENggl6KSjqHNppB85wVYVWNifxwpw5+r8a47+3uTp34v8WK1bEcSpGhozBsd2jM/geKO/eS0k5YXuz6faVpa7rzSpzzNGofckUGWELfI3spPyr0Uo4PqiIsKqBgLpZ9WilAekVoXHWmFvdgXbSsnt9XYUzlRYSgjADfH/MEj41jFsop0GvAdwRvpUyP1cau8JsHZsXtYmvWJyr7xKkXfG42AzBr4zczWR/GXQlSPFCW0uXnucwx/dtbbsstD1olvIrYsqpz3N/coBCYDAvMJMZKdT03070cS81JDFvBHyqWYXKGI9YFMsUJU728XFQGbQOHolBI+EDOJXfRIseJUhdJAJoJ1gNVlxXMdbLuUIePezlPs6FmKZkECocx0gIVWw9RLhnR8QUQmEDqnKCizZho2I32kqukHLen+62HPO3lERMJ0/LC2MtYphXcAypTbAg1EZSZbTTQOnvSbhON05aQUTs7i9pzdbU3I8dQK7ikbERgBGCl5H6nwK9M1+vl2/as09NFNZE+MTPJGPkDBYjYz7m/0GSeUmiO8TMsAzHuQnNaj/3i/2HEKZQv9yWOIkYljwYabXnGXgcESoRj/ol9HcxU47sAgrn06lO4Srzfb3luy/tjf+v5r9WEXrV+su5ZO5ZnPbKeW79bx9aJRRq08Vfjc+PLlX+a95q7zfsT1Y1Llc1da+k0f/kPg/5Z3A==</latexit><latexit sha1_base64="Qu5GXd9OGjB5bnlVkDHkowW3pus=">AAAHenictVVbb9NIFDYlS8BclsLjvoyoK7VLSexqEQgJBNuu2DxAu0ApUhyi8czYGdX2eGcmTYo1f2Bf4c/tf9mV9thxbk5YnhgpyZlz/c5lToIs5kq77t+XNi43frjSvHrNvn7j5q0fb2/eea/EUBJ2QkQs5IcAKxbzlJ1ormP2IZMMJ0HMToOzg0J+es6k4iJ9py8y1ktwlPKQE6yB1d+8/C9CfsAinuY4joTkepAYexuYBGeFSv5GBEIjp+Ogtxprhl5hMoBgxl415MTYwAZBJ8wdX+Nhn6OnyHWQr9lYB2GOU2qQg4H9DNhmonwgkoSlGr2Qkp8zikbgq401OuU0YrrUAa1JdCcDWx/YCh31c3BkdtTkd9eZe3rDiJAUHQvFixymLgpUo/WQSrCln48K+TH7cwZvAeAxJ2foJENggl6KSjqHNppB85wVYVWNifxwpw5+r8a47+3uTp34v8WK1bEcSpGhozBsd2jM/geKO/eS0k5YXuz6faVpa7rzSpzzNGofckUGWELfI3spPyr0Uo4PqiIsKqBgLpZ9WilAekVoXHWmFvdgXbSsnt9XYUzlRYSgjADfH/MEj41jFsop0GvAdwRvpUyP1cau8JsHZsXtYmvWJyr7xKkXfG42AzBr4zczWR/GXQlSPFCW0uXnucwx/dtbbsstD1olvIrYsqpz3N/coBCYDAvMJMZKdT03070cS81JDFvBHyqWYXKGI9YFMsUJU728XFQGbQOHolBI+EDOJXfRIseJUhdJAJoJ1gNVlxXMdbLuUIePezlPs6FmKZkECocx0gIVWw9RLhnR8QUQmEDqnKCizZho2I32kqukHLen+62HPO3lERMJ0/LC2MtYphXcAypTbAg1EZSZbTTQOnvSbhON05aQUTs7i9pzdbU3I8dQK7ikbERgBGCl5H6nwK9M1+vl2/as09NFNZE+MTPJGPkDBYjYz7m/0GSeUmiO8TMsAzHuQnNaj/3i/2HEKZQv9yWOIkYljwYabXnGXgcESoRj/ol9HcxU47sAgrn06lO4Srzfb3luy/tjf+v5r9WEXrV+su5ZO5ZnPbKeW79bx9aJRRq08Vfjc+PLlX+a95q7zfsT1Y1Llc1da+k0f/kPg/5Z3A==</latexit>

Robot State Machine

Problem Setup

Unexpectedly Complex!

Page 10: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Optimization Formulation

min

a(t)

TZ

0

NX

i=1

˙bouti

(t)dt

subject to

timer dynamics

charge dynamics

bi

(t) > 0 8i, 8t⌧dj

(t) � 0 8j, 8t<latexit sha1_base64="jkpzMZdk6euPFEL9I9eUN902eP4=">AAADCHicbVJNb9QwEHXCVwkf3cIRCVmsQEVCq6QXuIAquHBCReq2ldbZyHFmU29tJ40niFWUIxf+ChcOIMSVn8CNf4OzXypbRrL09N6b8czYaamkxTD84/lXrl67fmPrZnDr9p27272de0e2qCsBQ1GoojpJuQUlDQxRooKTsgKuUwXH6dmbTj/+AJWVhTnEWQmx5rmREyk4OirZ8R4GbEQDpqVhSmqJNmn4Lj5tKZMGV1Q4PqTM1nptkS+jdvyOsqzAJm0TOW6KGluXRzMMWNzVZAgfsbF1OgWBFAtX8bzmGWUp5NI0XMncQNYGTxZGlBoqms0M11JYZ2YrRZzyKocNKU1kd9srGq7KToqKK0XlszXEZRFeJ9Nx1tlZDueXMqYXMgIGJlv3Rlmc9PrhIJwHvQyiJeiTZRwkvd9uKaLWYFAobu0oCkuMG16hFAragNUWSi7OeA4jB91MYONm/pAtfeyYjLpm3DFI5+zFjIZra2c6dU7N8dRuah35P21U4+RF3EhT1ghGLC6a1G7ggna/gmaycq+kZg5wUUnXK+3WzgW6vxO4JUSbI18GR3uDKBxE7/f6+6+X69giD8gjsksi8pzsk7fkgAyJ8D55X7xv3nf/s//V/+H/XFh9b5lzn/wT/q+/6p7zhg==</latexit><latexit sha1_base64="jkpzMZdk6euPFEL9I9eUN902eP4=">AAADCHicbVJNb9QwEHXCVwkf3cIRCVmsQEVCq6QXuIAquHBCReq2ldbZyHFmU29tJ40niFWUIxf+ChcOIMSVn8CNf4OzXypbRrL09N6b8czYaamkxTD84/lXrl67fmPrZnDr9p27272de0e2qCsBQ1GoojpJuQUlDQxRooKTsgKuUwXH6dmbTj/+AJWVhTnEWQmx5rmREyk4OirZ8R4GbEQDpqVhSmqJNmn4Lj5tKZMGV1Q4PqTM1nptkS+jdvyOsqzAJm0TOW6KGluXRzMMWNzVZAgfsbF1OgWBFAtX8bzmGWUp5NI0XMncQNYGTxZGlBoqms0M11JYZ2YrRZzyKocNKU1kd9srGq7KToqKK0XlszXEZRFeJ9Nx1tlZDueXMqYXMgIGJlv3Rlmc9PrhIJwHvQyiJeiTZRwkvd9uKaLWYFAobu0oCkuMG16hFAragNUWSi7OeA4jB91MYONm/pAtfeyYjLpm3DFI5+zFjIZra2c6dU7N8dRuah35P21U4+RF3EhT1ghGLC6a1G7ggna/gmaycq+kZg5wUUnXK+3WzgW6vxO4JUSbI18GR3uDKBxE7/f6+6+X69giD8gjsksi8pzsk7fkgAyJ8D55X7xv3nf/s//V/+H/XFh9b5lzn/wT/q+/6p7zhg==</latexit><latexit sha1_base64="jkpzMZdk6euPFEL9I9eUN902eP4=">AAADCHicbVJNb9QwEHXCVwkf3cIRCVmsQEVCq6QXuIAquHBCReq2ldbZyHFmU29tJ40niFWUIxf+ChcOIMSVn8CNf4OzXypbRrL09N6b8czYaamkxTD84/lXrl67fmPrZnDr9p27272de0e2qCsBQ1GoojpJuQUlDQxRooKTsgKuUwXH6dmbTj/+AJWVhTnEWQmx5rmREyk4OirZ8R4GbEQDpqVhSmqJNmn4Lj5tKZMGV1Q4PqTM1nptkS+jdvyOsqzAJm0TOW6KGluXRzMMWNzVZAgfsbF1OgWBFAtX8bzmGWUp5NI0XMncQNYGTxZGlBoqms0M11JYZ2YrRZzyKocNKU1kd9srGq7KToqKK0XlszXEZRFeJ9Nx1tlZDueXMqYXMgIGJlv3Rlmc9PrhIJwHvQyiJeiTZRwkvd9uKaLWYFAobu0oCkuMG16hFAragNUWSi7OeA4jB91MYONm/pAtfeyYjLpm3DFI5+zFjIZra2c6dU7N8dRuah35P21U4+RF3EhT1ghGLC6a1G7ggna/gmaycq+kZg5wUUnXK+3WzgW6vxO4JUSbI18GR3uDKBxE7/f6+6+X69giD8gjsksi8pzsk7fkgAyJ8D55X7xv3nf/s//V/+H/XFh9b5lzn/wT/q+/6p7zhg==</latexit>

• Minimize robot battery discharge

• Dynamics set in state machines

• Robots must not die

• Deadlines must be met

Feb 7, 2019 Platform Annual Review 10

Intractable!

Page 11: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Greedy Assignment Heuristic

Feb 7, 2019 Platform Annual Review 11

1

2

3

4

5

Robots

1

2

3

4

5

Tasks

c11

c12

c13

c14

c15

c11 c12 c13 c14 c15c21 c22 c23 c24 c25c31 c32 c33 c34 c35c41 c42 c43 c44 c45c51 c52 c53 c54 c55

1 2 3 4 5

1 2345

Tasks

Robots

subject to Ax b

x 2 Znx � 0

Integer Linear Program

minimize c

Tx

Poly time Algorithm: Hungarian Algorithm

Resolve at each time step, real time for 1000s of robots

Page 12: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

• The Black Magic: Hand-tuned assignment costs• Incorporates:

– Travel distance– Time deadlines– Heuristic look-ahead penalty– Lots of intuition

• Working to formalize cost design mechanisms

Feb 7, 2019 Platform Annual Review 12

Assignment Cost Design

c11 c12 c13 c14 c15c21 c22 c23 c24 c25c31 c32 c33 c34 c35c41 c42 c43 c44 c45c51 c52 c53 c54 c55

1 2 3 4 5

1 2345

Tasks

Robots

Page 13: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Feb 7, 2019 Platform Annual Review 13

Page 14: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Feb 7, 2019 Platform Annual Review 14

Page 15: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

• High level assignment scheduling

• Low-level path planning

• Local-global map

Feb 7, 2019 Platform Annual Review 15

Page 16: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Multi-Robot Routing in Graph

Feb 7, 2019 Platform Annual Review 16

Oriana PeltzerA

B

C

D

C, D, AJob Queue

A, B

C, A, C Out Bin

Page 17: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Transform to Network Flow Problem

Feb 7, 2019 Platform Annual Review 17

One edgeOne robot

Accomplished work

X Adaptation of Jingjin Yu’s network flow model to time-varying edges

t=1t=1

t=1

t=1

t=2

Expanded StructureDirected Network Flow Expanded Network

u

v

Technique from: J. J. Yu and S. M. LaValle, T-RO 2016

Accomplished work

X Adaptation of Jingjin Yu’s network flow model to time-varying edges

Flow constraints: 2 per node per time step

Green and blue edges are constrained by the capacity of a node

Black edges (robots traversing an edge) are Constrained by the capacity of the edge

For edges with travel times larger than 1, the sum at each time step of all robots currentlytraversing the edge must be small than the edge capacity

Page 18: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Solve as Integer Linear Program

Feb 7, 2019 Platform Annual Review 18

Accomplished work

X Adaptation of Jingjin Yu’s network flow model to time-varying edges

Flow constraints: 2 per node per time step

Green and blue edges are constrained by the capacity of a node

Black edges (robots traversing an edge) are Constrained by the capacity of the edge

For edges with travel times larger than 1, the sum at each time step of all robots currentlytraversing the edge must be small than the edge capacity

• Poly time for interchangeable jobs (reduces to LP)

• Flexible capacity limits on edges• Wait times on nodes

maximize c

Tx

subject to Ax b

x 2 Znx � 0

Expanded Network Integer Linear Program

Page 19: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

• High level assignment scheduling

• Low-level path planning

• Local-global map

Feb 7, 2019 Platform Annual Review 19

Page 20: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Local-Global Map

Feb 7, 2019 Platform Annual Review 20

A

B

C

D

C, D, AJob Queue

A, B

C, A, C Out Bin

Kyle Brown

Page 21: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

From Observed Interruptions to Trajectory Prediction

Feb 7, 2019 Platform Annual Review 21

Data Center

Page 22: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

From Observed Interruptions to Trajectory Prediction

Feb 7, 2019 Platform Annual Review 22

Data CenterBayesian filter for trajectory estimationModel regression for intent predictionUpdate edge travel times for re-routing

Page 23: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Looking Forward

• Formalize assignment costs in Hungarian heuristic

• Frame multi-robot routing problem as single (or few) commodity flow for computational efficiency

• Build estimation and intent prediction framework

• Integrate in simulation environment

Feb 7, 2019 Platform Annual Review 23

Page 24: Real Time Adaptive Scheduling for a Swarm ... - Platform Lab · Feb 7, 2019 Platform Annual Review 4 Fully distributed Local information Limited communication Reactive control and

Thanks!

Platform Annual ReviewFeb 7, 2019 24

Prof. Mykel Kochenderfer

Patrick Washington Oriana Peltzer

Dr. Martin Sehr

Kyle Brown