Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Real Time Adaptive Scheduling for a Swarm of Manufacturing Robots
Mac SchwagerAssistant Professor
Aeronautics and AstronauticsStanford University
Feb 7, 20191
Platform Annual Review
MSL
Flexible Manufacturing
Feb 7, 2019 Platform Annual Review 2
Credit: ECM
Credit: Martin Sehr, Siemens Credit: Martin Sehr, Siemens
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
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
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
• High level assignment scheduling
• Low-level path planning
• Local-global map
Feb 7, 2019 Platform Annual Review 6
• High level assignment scheduling
• Low-level path planning
• Local-global map
Feb 7, 2019 Platform Annual Review 7
Assignment Scheduling
Feb 7, 2019 Platform Annual Review 8
Patrick Washington
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!
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!
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
• 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
Feb 7, 2019 Platform Annual Review 13
Feb 7, 2019 Platform Annual Review 14
• High level assignment scheduling
• Low-level path planning
• Local-global map
Feb 7, 2019 Platform Annual Review 15
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
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
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
• High level assignment scheduling
• Low-level path planning
• Local-global map
Feb 7, 2019 Platform Annual Review 19
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
From Observed Interruptions to Trajectory Prediction
Feb 7, 2019 Platform Annual Review 21
Data Center
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
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
Thanks!
Platform Annual ReviewFeb 7, 2019 24
Prof. Mykel Kochenderfer
Patrick Washington Oriana Peltzer
Dr. Martin Sehr
Kyle Brown