HAL Id: hal-03189849
https://hal.archives-ouvertes.fr/hal-03189849
Submitted on 5 Apr 2021
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Multi-Robot Scheduling and Path-Planning for Non-Overlapping Operator Attention
Sebastián Zanlongo, Franklin Abodo, Philip Long, Taskin Padir, Leonardo Bobadilla
To cite this version:
Sebastián Zanlongo, Franklin Abodo, Philip Long, Taskin Padir, Leonardo Bobadilla. Multi-Robot Scheduling and Path-Planning for Non-Overlapping Operator Attention. 2018 Second IEEE Inter- national Conference on Robotic Computing (IRC), Jan 2018, Laguna Hills, United States. pp.87-94,
�10.1109/IRC.2018.00021�. �hal-03189849�
Multi-Robot Scheduling and Path-Planning for Non-Overlapping Operator Attention
Sebasti´an A. Zanlongo
∗, Franklin Abodo
∗, Philip Long
†, Taskin Padir
†and Leonardo Bobadilla
∗∗
School of Computing and Information Sciences Florida International University
Miami, FL 33199, USA
Email: {szanl001, fabod001}@fiu.edu, bobadilla@cs.fiu.edu
†
Department of Electrical and Computer Engineering Northeastern University
Boston, MA 02115, USA Email: {p.long, t.padir}@northeastern.edu
Abstract—There is a growing need for robots to perform complex tasks autonomously. However, there remain certain tasks that cannot - or should not - be completely automated.
While these tasks may require one or several operators, we can oftentimes schedule when an operator should assist. We build on our previous work to present a methodology for allocating operator attention across multiple robots while attempting to minimize the execution time of the robots involved. In this paper, we: 1) Analyze of the complexity of this problem, 2) Provide a scalable methodology for designing robot policies so that few operators can oversee many robots, 3) Describe a methodology for designing both policies and robot trajectories to permit operators to assist many robots, and 4) Present simulation and hardware experiments demonstrating our methodologies.
I. I
NTRODUCTIONThe ability of robots to autonomously perform tasks has vastly increased in recent years. Despite this, there are many tasks that currently cannot - or will not - be automated, and therefore require a human operator to step in and assist the robot. Examples include industrial [30] and defense tasks such as traversing a dangerous environment, executing sensitive maneuvers that include complicated kinematics and actions that require human oversight - such as removing detonators.
These portions of a robot’s actions cannot be automated for practical, ethical, or other concerns. Moreover, many robot designs assume that there will be dedicated operator for each robot, and some robots may require separate operators for different actions (e.g. discrete operator for navigation, manipulation, monitoring, etc.). However, while these tasks might not be automated, they can be planned for. Indeed, we see great benefits in combining human abilities with robots [26], in particular in industrial applications [11].
One such example is robot assisted disaster response teams.
The ratio of operator to robots in robot assisted rescue task is generally about 2:1 [20]. However, this number can increase for more complex robotic systems, for example humanoid robots. Humanoid robots are equipped with high degrees of freedom and thus can be viewed a general solution to a wide range of tasks. As seen during the DARPA Robotics Challenge (DRC), in complex dynamic environments, humanoids require
large teams of operators and shared control is indispens- able [5]. In [32], the human robot interfaces used at DRC is analyzed and several design guidelines for future systems proposed. Among these points, there are two particularly relevant to this work. First, the authors state that a decrease in the amount of operator input needed to control the robot actually increases system performance. In fact, during the DRC operator errors led to major failures [1]. Second, less operators means less confusion and a more effective operation.
Moreover, there are other reasons to reduce the number of operators, for instance during the emergency response to Fukushima, there was an explicit desired minimize the number of operators to reduce unnecessary radiation exposure [21].
In most situations, an operator is only required in specific parts of an operation. Knowing this, we can schedule these operator interactions so that a single operator can perform multiple tasks. The contributions of this work are: extending our preliminary ideas [34] in the following directions. First, we analyze the complexity of this problem. Second we present a sampling-based algorithm that allows us to design policies for a large number of tele-operators instead of a complete algorithm that only works for a small set of operators. Third, we allow re-planning of the robots alongside the operator.
Finally, we present results of both simulated and physical experiments.
The remaining work is organized as follows: Section II dis- cusses related literature and the original work being extended.
Section III describes the problem, and Section IV defines the solution. In section V we present both software and hardware simulations, and conclude in Section VI along with future directions.
II. R
ELATEDW
ORKThe inspiration for this work comes from a lack of planning
tools for mission autonomy that can help operators plan
requirements and robot policies. There are some existing
approaches, such as in [4], [19], [3], however, in Gerkey et
al. [8] we find that many existing solutions are based on
experimental evidence, and don’t have formal approaches. We
also find evidence of both a need for human collaboration with multi-robot systems [26], and an emphasis on experimental results in [25]. This is of particular interest as Hughes [12]
argues that leveraging human operators alongside robots will result in robust systems that are more reliable, which has led to work on tele-operation using 1 : 1 operator:robot paradigms [33], [9].
Of particular interest and relevance to this research is the work by Trautman [27], [28], which incorporates anticipated human behavior into robot behavior so that the robots can execute complex plans. In [30], we also find evidence for the need to optimize human-robot interaction in industrial applications which involve repeated human-robot interaction in a controlled environment. We aim to improve upon these foundations by providing a formal methodology for scheduling operator attention across multiple robots.
This paper builds upon [34], in order to perform multi- robot planning [23], [24], and also has some similarities with that of Hauser [10], where the goal is to minimally displace obstacles in order for a robot to travel from its initial to goal state. Likewise, in this paper we aim to remove operator
“collision obstacles” in order to minimize the ending time of the mission. Work by Wang et al. [29] attempts to deal with the large complexity of coordinating many robots and operators by dividing planning and scheduling into separate components.
This is also an approach used by LaValle and Hutchinson [16], [17], and is incorporated into our solution as well.
III. P
RELIMINARIESWe are provided a set m of robots A = { A
1, A
2, · · · , A
m}.
Each robot A
ihas a configuration space C
ithat represents the set of all possible transformations, where the set of valid configurations in C
iis called the free space C
f reei. Robots also have initial q
iI∈ C
f reeiand goal q
iG∈ C
f reeiconfigu- rations, and a trajectory τ
i. The trajectory takes the robot from the initial configuration τ
i(0) = q
iIthrough C
f reeito the final configuration τ
i(l
i) = q
iG, where l
iis the length of the trajectory. The configuration space for all robots is defined as: C = C
1× C
2× · · · × C
m. When executing the trajectory, the robot A
imay encounter k
icritical segments S
i= {[s
i1, f
1i], . . . , [s
ik, f
ki]}, during which it will require one of the p operator’s supervision. Each interval [s
ij, f
ij] is a closed subset of the trajectory and defines the start s
ijand end f
ijpoints of the segment τ
i[s
ij, f
ij] requiring attention. The set of all critical segments is defined as S = S
1S S
2S . . . S S
m. Given a range of time T = [0, t
f], where the mission is executing, we will attempt to minimize t
f= max(t
1f, . . . , t
mf), when all robots have finished.
A conflict is defined as T
i=0p+1[s
ia, f
ai] 6= /0|a ∈ k
i, meaning that p + 1 robots require supervision at the same time. Let the set of invalid configurations X
obsindicate configurations where the number of robots requesting supervision exceeds p, and X
f ree= X\X
obsto be configurations where the number of requests does not exceed p.
Define a Coordination Space X = [0, l
1] × · · · × [0, l
m] (fol- lowing a procedure similar to [15], chapter 7) representing all
possible configurations of the robots along their trajectories.
At (0, ..., 0) all robots are in their initial configuration, and at (l
1, ..., l
m) ∈ X all robots are in their final configuration.
Problem 1: Scheduling for Multiple Operators: Given a set of robots A , each with a trajectory τ
i, and a set of critical segments S
i, determine a policy π
i: T → [q
iI, q
iG] for each robot mapping time to a position along its trajectory such that 1) robots enter their critical sections only when an operator can supervise them, 2) the number of operators requested at any time is less than or equal to p, and 3) an effort is made to minimize the ending time of the mission t
f.
Building on the previous problem, we might also ask: Can we get better results if we generate an alternative trajectory for robots so that they do not require supervision at the same time as other robots, thus avoiding operator attention “collisions”
altogether?
Problem 2: Scheduling with Re-Planning: Given a set of robots A , a number of operators p, and a Workspace W where the robots reside, find trajectories τ through C
f reethat avoid operator conflicts and reduce the completion time of the mission.
Problem 2 is a more concrete extension of Problem 1. As be- fore, robots will have initial q
iIand goal q
iGconfigurations, and will be moving through a Workspace W . This workspace may include environmental obstacles o ∈ O , such that the robots should only move in the obstacle-free region W \ O . Thus, the free configuration space for the robots consists of removing all robot-obstacle collisions C
obs= {q ∈ C | A (q) T O 6= /0} to get C
f ree= C \ C
obs. Moreover, the workspace may contain dangerous regions d ∈ C
f ree, which the robot can only traverse if there is an operator to supervise them.
IV. M
ETHODSHere, we provide solutions to the problem defined in Section III.
A. Scheduling for Multiple Operators
In our earlier work [34], we provided a solution to the scheduling problem for both a single operator and multiple operators using a novel geometric approach. However, the complexity of creating the coordination space makes the so- lution intractable for problems with a large number of robots.
We sketch a complexity proof of the problem as follows:
1) Computational Complexity Sketch: This problem can
be shown to be NP-hard via proof by reduction [7]. In the
Multiprocessor Scheduling problem, we have a set of J jobs,
where each job j
ihas a length l
i. Given a set of processors p,
determine the minimum time needed to schedule all jobs such
that they do not overlap. Starting with our problem, assume
that each robot will require an operator during a single segment
[s
i1, f
1i], whose length is equal to τ
i, and that this segment
occurs immediately at t = 0. The length of the segment now
corresponds to the length of time needed from an operator (a
job), and we must schedule these jobs across p operators (the
processors). This is the Multiprocessor Scheduling problem
where j jobs must be scheduled across p processors. We see
then that our problem is at least as hard as the known NP-hard problem of Multiprocessor Scheduling.
2) A sampling based solution: Knowing that the problem is NP hard we then ask: how can we improve the runtime of the solution by using a heuristic approach?
We can improve the scalability of the solution in [34] by generating a path through the coordination space and using a lazy evaluation approach to check the locations visited, rather than generating the entire coordination space; using RRT
∗described in [13], [14], and replicated in Algorithm 1 for reference. We modify the calls to SampleFree to use an obstacle detection function as in Algorithm 2, and to CollisionFree as in Algorithm 3.
Algorithm 1 Attention RRT
∗(x
init, S)
1:
V ← {X
init}
2:
E ← /0
3:
for j ∈ [1, n] do
4:
x
rand← SampleFree( j)
5:
x
nearest← Nearest(G = (V, E), x
rand)
6:
x
new← Steer(X
nearest, x
new)
7:
if ObstacleFree(X
nearest, x
new) then
8:
X
near← Near(G = (V, E), x
new, |V |)
9:
V ← V T {x
new}
10:
x
min← x
nearest11:
c
min← Cost (x
nearest) + c(Line(x
nearest,x
new))
12:
for x
near∈ X
neardo
13:
if CollisionFree(x
new, x
near) ∧ Cost(x
near) + c(Line(x
new, x
near)) ≤ Cost(x
near) then
14:
x
min← x
near15:
c
min← Cost (x
near) + c(Line(x
near, x
new))
16:
for x
near∈ X
neardo
17:
if CollisionFree(x
new, x
near) ∧ Cost (x
new) + c(Line(x
new, x
near)) ≤ Cost(x
near) then
18:
x
parent← Parent(x
near)
19:
E ← (E\{(x
parent, x
near)}) S {(x
new, x
near)}
20:
return G = (V, E)
Algorithm 2 checks if a point in X also resides in X
f ree. We accept the location to check x, a set of operators p, and the set of supervision segments S. In line 1, initialize the collision count to 0. Iterate over the attention segments in lines 2-3, checking to see if for each dimension of the location, it intersects a corresponding attention obstacle in line 4. If there is a collision, we increment the number in line 5, and if the number of collisions is greater than the number of operators, we break and indicate that x represents an invalid configuration, else the location represents a valid configuration (lines 6, 7).
Algorithm 3 expands upon Algorithm 2, checking if a line lies completely within X
f reeor intersects an obstacle. In lines 4, 5, we order the start and end point of dimension i of the line so that they are in ascending order, and in 6, 7, we take the max and min of the endpoints of the line, and the endpoints of the attention segment. If they have an overlap (line 8), then that
Algorithm 2 ObstacleFree(x, S, p)
1:
num colls ← 0
2:
for S
i∈ S do
3:
for s
j∈ S
ido
4:
if s
sj≤ x[i] ≤ s
jfthen
5:
num colls ← num colls + 1
6:
if num colls ≥ p then
7:
return True
8:
break
9:
return False
Algorithm 3 CollisionFree(x, start,end, p)
1:
num colls ⇐ 0
2:
for S
i∈ S do
3:
for s
j∈ S
ido
4:
line
lower← min(start[i], end[i])
5:
line
upper← max(start[i], end[i])
6:
intersection
lower← max(line
lower, s
sj)
7:
intersection
upper← min(line
upper, s
jf)
8:
if intersection
lower≤ intersection
upperthen
9:
num colls ← num colls + 1
10:
if num colls ≥ p then
11:
return False
12:
return True
location within X will require an operator for that instance of s
j. If the number of intersecting attention segments is greater than the number of operators (lines 9-11), then the location is invalid.
Executing the modified RRT
∗algorithm, we receive a path h : [0, 1] → X through X
f ree, where the path goes from h(0) = (0, ..., 0) to h(1) = (l
1, ..., l
m), as seen in Figure 1. We then proceed as in our original work [34] by mapping h to the sequence of configurations ˜ x
ithat correspond to robot A
i. To accomplish this, define σ
i: T → [0,l
i], which yields the location of A
ialong τ
iat time t. Next, compose φ
i= τ
i◦ σ
ito derive a mapping T → C
f reei. With this mapping, we can now find the configuration of robots at any time via φ
i(t) = τ
i(σ
i(t)). The method described here can handle robots with different-length trajectories by extending the corresponding dimensions accordingly. RRT
∗is probabilistically complete, and thus will not yield opt(t
f), however given a large enough set of samples, it will converge towards opt(t
f).
B. Scheduling with Re-Planning
With the coordination space and corresponding path from Method A (Algorithm 1), we have a solution that avoids operator collisions. We now seek a solution that yields a better result if we are able to alter the trajectories of the robots.
Extend the notation for Problem 1 as follows: First, denote U
ito be the set of intervals U
i= {[b
i1, c
i1], ..., [b
ik, c
ik]} where for
each interval [b
ij, c
ij], an operator is not available to supervise
robot A
i. Second, consider the dangerous regions d ∈ C
f reeito be obstacles within O
iwhen the robot does not have an
(a) (b)
Fig. 1. RRT∗ Examples
(a) RRT
∗visualization for two robots avoiding operator attention collisions (purple). The axes correspond to the positions of robots 1 and 2 along their trajectories. The red line represents a valid path through the coordination space that can be mapped back into policies for the robots. (b) Similar example as (a) for three robots.
operator to supervise it d ∈ O
i|t ∈ U
i. Third, define a procedure replan, that can re-plan the trajectory of robot such that the robot will not perform critical maneuvers during times U
i, and returns a new S
iand τ
i. As an example, replan can be a path-planning algorithm that avoids dangerous regions of the environment when an operator will not be available). For illustrative purposes, an example of replan can be found in Section V.
We solve this scheduling and path-planning problem by comparing the path h through the coordination space with a desired path h
des, a path from the origin to the opposite corner (the shortest path through X ). Building on the example found in Figure 2(a, b), we can visualize an ideal path as the one in Figure 2(c), which is currently not possible due to an operator conflict. As we follow our ideal path through the coordination space, we may encounter an obstacle at point x ∈ X such that h
des(x) T X
obs6= /0. In this case, we must either plan around the obstacle, tuning the velocity of the involved robot(s) as in the solution for Problem 1 or create alternate plans for the robots so that the number of robots requesting supervision during that time can be satisfied by the p operators, and potentially reducing the total mission run-time by not having to wait for an operator to become available.
As before, we have to consider conflicts within the resulting coordination space S. We then allow for the possibility of re-planning trajectories to eliminate overlapping supervision requests. However, by altering the trajectories of robots to avoid an operator attention collision, we alter when the robots involved will reach later parts of their trajectory, affecting when they will require operator supervision in subsequent sec- tions. This in turn will modify X, potentially moving, creating, or removing later obstacles. As an illustration, in Figure 3(a), we have two robots, which are expected to simultaneously enter regions requiring supervision. The resulting coordination space in Figure 3(b) shows that we can resolve this by stopping robot 1 (represented by the vertical segment of h) until robot 2 has exited the region. We can attempt to circumvent this conflict by having robot 2 plan a trajectory that partially avoids
(a) (b)
(c)
Fig. 2. Example Coordination Space
(a) 2 Robots (red), and trajectories (yellow) in a 2-dimensional Environment. Blue areas require an operator’s supervision. (b) 2- dimensional Coordination Space resulting from (a). The axes corre- spond to the positions of robots 1 and 2 along their trajectories. The red line represents a valid path through the coordination space that can be mapped back into policies for the robots. The blue squares are areas of operator attention collision. (c) Coordination space from (b), with the desired (optimal) policy shown as the red line.
the conflict. However, the additional time needed to circle the region will cause it to encounter its second critical section at a later time - the same time as robot 1 (Figure 3(c)) - resulting in another operator conflict obstacle that must be dealt with.
In order to handle the complexity of the problem, this paper uses a heuristic approach as shown in Algorithm 4. We begin by constructing a coordination space X and path h through X
f ree(lines 1, 2) using RRT
∗as in Solution 1. This provides us with our standard solution. We then create what would be an optimal solution h
opt, given by no robots requiring supervision (lines 3, 4). Next, we check to see if the optimal solution is feasible by looking for any collisions with obstacles in the actual coordination space (line 5), which can be done using Algorithm 3. If the optimal solution is invalid, we can correct it in two ways:
1) Accept the obstacle, and alter our policy (as in Solution 1).
2) Re-plan the robots that have a conflict in order to eliminate the obstacle.
We now describe how to re-plan the robots. Begin by
sampling along h
optwith Algorithm 2; when a collision is
encountered, denote this as an obstacle z ∈ X
obs, where z
Ais
the set of robots and their segments z
Sthat are responsible
for the conflict (line 6). By selecting the obstacle z that is
closest to the origin, we will preserve any previous work,
and only affect the policy that remains after encountering
(a) (b)
(c)
Fig. 3. Shifting Conflict Regions
(a) Environment and expected trajectories; (b) Original Coordination Space; (c) Final Coordination Space
this obstacle. For each robot involved in the collision, use the mapping defined in Solution 1 to determine the times U
iduring which it needs supervision (the times corresponding to intersecting the obstacle) in lines 8, 9. Then use replan and U
ito re-plan the remaining portion of the robot’s trajectory, returning and saving a new set of segments during which it requests supervision, and trajectory τ
j(lines 10, 11). If no modification is possible, the original trajectory is returned.
Given that there are |z
A| robots involved in the collision represented by obstacle z, we need to remove g = |z
A| − p robots from this collision in order to remove the obstacle. In line 12, we select the g robots involved in z that have the shortest trajectory lengths (minimum effect on total mission time). Next, we compare a path through the new coordination space with the g re-planned robots, to the path through the original coordination space (lines 13 - 18). If the new path given by using the re-planned robot trajectories is shorter than the original solution, we update our solution (lines 19, 20), otherwise, we maintain the current robot trajectories and instead add that obstacle to the obstacles in S
opt(lines 21, 22) so that the robot velocities will be tuned.
Once there are no more obstacles intersecting the optimal policy h
opt, we are left with a policy that will result in no operator conflicts.
V. S
IMULATIONIn this section, we describe our implementation of RRT
∗and re-scheduling, and provide both simulated and physical experiments.
Algorithm 4 Heuristic Re-Planning(s, p)
1:
X = [0, l
1] × · · · × [0, l
m]
2:
h ← RRT
∗(X, (0, . . . , 0), (l
1, . . . , l
m), S, p)
3:
S
opt← { /0}
4:
h
opt← line(X, (0, . . . , 0),(l
1, . . . , l
m))
5:
while h
optT X
obs6= { /0} do
6:
z ← First Obstacle(h
opt, S, p)
7:
alternatives ← /0
8:
for A
i∈ z
Ado
9:
U
testi← Unsupervised Times(h
opt, A
i, z
S)
10:
S
j,τ
j← r( A
i,U
testi)
11:
alternatives → alternatives S (S
i, S
j, τ
j)
12:
alternatives = min(g,alternatives)
13:
S
alt← S
14:
for (S
i, S
j, τ
j) ∈ alternatives do
15:
S
alt← (S
alt\S
i) S S
j16:
h
alt← RRT
∗(X, (0, . . . , 0), (l
1, . . . , l
m), S
alt, p)
17:
if len(h
alt) ≤ len(h) then
18:
S ← S
alt19:
h ← h
alt20:
else
21:
S
opt← z
S22:
h
opt← RRT
∗(X ,(0, . . . , 0), (l
1, . . . , l
m), S
opt, p)
23:
Output: h
optA. Software Simulation for Scheduling with Re-Planning Here, we describe and display our simulation. We also provide an example replan algorithm to allow robots to re- plan their trajectory around the unsafe areas if an operator will not be available during certain times.
Example Re-plan Algorithm: The replan algorithm func- tions as follows: Intuitively, we are striving for the shortest path between x
iinitand x
if inalwithin the physical environment.
This can be achieved by using the A
∗algorithm [2], [18]. How- ever, the shortest path may pass through obstacles requiring supervision. Given the times during which an operator will not be available, U
i, we can modify A
∗as follows: Denote the starting time of the mission as T
i= 0. Augment A
∗’s nodes with an additional time parameter. As we expand each node, we set it’s neighbors time attribute to time+travel time where time is the current time-stamp, and travel time is the the time required to move from the current node to the neighbor. This will give an estimate of when the robot will reach a location within the environment. If the neighbor is inside a conflict and the neighbor’s time lies within U
i, then we treat the neighbor as an obstacle that cannot be visited. This implementation of A
∗nicely solves the problem, and will result in a path that leads out of and around conflicts during the operator-denied intervals, as seen in Figure 4.
We now present an example to illustrate our work in Figure
4. We show a known 2-dimensional R
2environment with three
robots. The environment contains a set of areas (shown in
blue) where the ground may be too spongy to support a robot,
(a) (b)
(c) (d)
Fig. 4. Example Simulation Environment
Simulation Environment; Robots 1, 2, 3 are arranged from top to bottom. (a) Robot 3 is paused to allow Robot 2 to receive supervision.
(b) Robot 3 has re-planned around the critical region, allowing Robot 2 to receive supervision. (c) Robot 1 is paused to allow Robot 3 to receive supervision. (d) All robots proceed to their goal locations.
therefore an operator must supervise any robots inside of these areas in case the robot starts to sink.
The example has also been designed to show several oper- ator attention “collision” types. As all three robots move from left to right, we see the following potential operator requests:
•
A
1requiring an operator
•
A
1and A
2simultaneously requiring an operator
•
A
1, A
2, A
3simultaneously requiring an operator
•
A
3requiring an operator while A
1and A
2leave their critical regions
•
A
2requiring an operator
•
A
1and A
2simultaneously requiring an operator In Figure 5, we see the coordination space corresponding to the solution without re-planning (a, b), and with re-planning (c, d). Many of the collisions in Figure 5(c) have resolved by tuning the velocity of stopping one or more of the robots involved. Comparing the initial and final coordination spaces, we see that an additional set of collisions has been introduced.
This arises from A
3re-planning around part of its supervision segments, entering and leaving a dangerous region, creating two instances where it will require supervision. This allows the mission to finish faster, at t = 67, rather than if the robot had simply paused, which would finish at t = 69.
The simulation was set up using a planar 2-dimensional world. This world was then populated with a set of dangerous regions with random locations and dimensions, and robots were assigned random starting and goal locations such that q
iI, q
iG∈ C
if ree, and trajectories taking them from their start to goal as in Figure 6. A set of 10 environments were generated,
(a) (b)
(c) (d)
Fig. 5. Example Simulation Coordination Space
(a) Original Coordination Space; (b) Side view of (a); (c) Final Coordination Space; (d) Side view of (c)
Fig. 6. Example Random Environment
Example of a randomly-generated environment and trajectories inter- secting critical regions.
where each trial used a newly generated environment and set of robot starting and goal positions. Each of the 10 environments used in trials consisted of 2, 4, or 8 robots, moving at 1 cell/second. Each of these was in turn solved using both Scheduling and Scheduling with Re-Planning, with 1, 2, 4, or 8 operators. The results are shown in Table I.
We find a marked increase in savings as the number of
robots increases, as re-scheduling removes a greater number
of obstacles. In cases where the number of operators is equal
to or greater than the number of robots there are no savings as
expected, since this would not result in any attention obstacles
to avoid. Over the course of the trials, all tests with 2, and 4
robots completed successfully. Of the trials with 8 robots and 1
operator, no solutions could be found with the provided RRT
∗parameters. With 2 operators, 30% completed, and 60% for
4 operators. This is likely due to the relatively low number
of samples taken (25,000) when running Attention RRT
∗, and
the large steer length, which did not allow for finding paths in
TABLE I
AVERAGE TIME SAVINGS WHEN RE-PLANNING VSATTENTIONRRT∗ Robots Operators Average Savings
2 1 1.126
2 2 0
2 4 0
2 8 0
4 1 1.937
4 2 3.402
4 4 0
4 8 0
8 1 NA
8 2 0.218
8 4 5.284
8 8 0
narrow gaps between obstacles. Tuning these parameters lies outside the scope of this paper, but is nonetheless an interesting problem we hope to look into in future work.
B. Hardware Experiment for Scheduling with Re-Planning In this section, we further motivate the efficacy of the approach by applying it to hardware rather than being lim- ited to simulations. The hardware demonstration assumed a single operator spread across three robots. The example was implemented using a hardware/software test-bed composed of line-following robots in a discrete grid environment, and a distributed software system. The robots’ bodies and electronics are based on the open-source Arduino Controlled Servo Robot reference design [22]. The reference design was augmented using three infrared light detectors for use in line detection, and an XBee DigiMesh [31] radio transceiver for use in robot- controller communication.
The software component of the test-bed is distributed across one controller and all three robots. The robots observe the world through line sensors, which inform them of whether they are:
1) centered on a grid line 2) left of a grid line 3) right of a grid line
4) at a grid intersection (i.e. a world-state) 5) in an unknown part of the environment
The robots maintain knowledge only of their own world- state (position and orientation) using a deterministic finite state machine of infinite size, the transition function of which is implemented using a second transition-state machine that ensures – given some assumptions about the uniformity of the environment – that the robots’ inter-state path does not deviate from a grid line (i.e. that while transitioning between world- states, their transition-state is one of the first three of the five previously enumerated states). State transitions are performed upon the instruction of the controller, on which the presented algorithms run. The controller does not maintain knowledge of the robots’ world-states, but can query each robot individually as needed to determining if collision obstacles exist.
The simulation performed in Figure 7 began with a model environment as in Figure 7(a), where each of the 3 robots were assigned trajectories, expecting to traverse areas of the
(a) (b)
(c) (d)
Fig. 7. Hardware Experiment Example
(a) Simulation Environment; (b) Resulting Coordination Space; (c) Corresponding hardware simulation at t = 1; (d) Hardware simulation at t = 5
environment that require operator supervision (shown in blue), and ending at their goal (red). A single operator is available to oversee robots inside of critical areas. The physical environ- ment represents the supervision-required areas as red/yellow squares, in the same positions as in the simulation. We then generated a coordination space (b), which provides an attention-collision-free set of policies that enable the robots to execute their trajectories while guaranteeing that a single operator would not have their attention split among multiple robots. The robots received and executed their corresponding policies, moving and pausing when appropriate, such that no more than a single robot entered a supervision region at a time. Further experiments and videos can be found at:
http://users.cis.fiu.edu/
∼jabobadi/oa/
The hardware experiments show a successful run using our methodology to coordinate three different robots provided a single operator. The robots finished in the shortest time possible, and the operator was not overburdened.
VI. C
ONCLUSIONIn this work, we provide a methodology for converting a set of robot trajectories and supervision requests into a policy that guides the robots in such a way that operators can oversee critical sections of robot plans without being over-allocated.
Moreover, we indicate how to decide whether re-planning a robot would yield a better plan compared to slowing down or stopping to wait for an operator.
In the future, we would like to incorporate how robot
movements affect an operator’s effectiveness in overseeing
them [6]. In particular, we are especially interested in in-
corporating operator context-switching time. This may be
accomplished by extending obstacles towards the origin in
order to resemble the extra time needed for an operator to
adjust to their new task. Another possible avenue for further work is incorporating uncertainty of a robot’s trajectory. Here, in the case of uncertainty regarding when the operator will be required, we can uniformly expand all obstacles. The resulting coordination space will yield a path h which has a more conservative solution. This may also be combined with a receding horizon approach to allow for rapidly changing robot plans in a more dynamic environment, compared to a controlled industrial setting.
Future avenues of research will include uncertainty models on how long operators take to complete their task. We also plan to extend the configuration space use into a phase that can include the robot dynamics and can model situations where the robot needs some time to accelerate/decelerate and do more realistic motions.
A
CKNOWLEDGMENTMr. Zanlongo would like to thank FIU’s Applied Research Center (ARC) and the Department of Energy Office of En- vironmental Management for providing the opportunity to be a DOE Fellow under the Science and Technology Workforce Development Initiative and facilitating research opportunities under the DOE-FIU Cooperative Agreement DE-EM0000598.
R
EFERENCES[1] Christopher G Atkeson, Benzun P Wisely Babu, Nandan Banerjee, Dmitry Berenson, Christoper P Bove, Xiongyi Cui, Mathew DeDonato, Ruixiang Du, Siyuan Feng, Perry Franklin, et al. No falls, no resets:
Reliable humanoid behavior in the darpa robotics challenge. InIEEE- RAS International Conference on Humanoid Robots (Humanoids), pages 623–630. IEEE, 2015.
[2] J. Beardwood, J.H. Halton, and J.M. Hammersley. The shortest path through many points. InMathematical Proceedings of the Cambridge Philosophical Society, volume 55, pages 299–327. Cambridge Univ Press, 1959.
[3] J.W. Crandall, M.L. Cummings, M. Della Penna, and Paul M.A.
de Jong. Computing the effects of operator attention allocation in human control of multiple robots. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 41(3):385–397, 2011.
[4] M.L. Cummings and P.J. Mitchell. Operator scheduling strategies in supervisory control of multiple uavs.Aerospace Science and Technology, 11(4):339–348, 2007.
[5] Mathew DeDonato, Velin Dimitrov, Ruixiang Du, Ryan Giovacchini, Kevin Knoedler, Xianchao Long, Felipe Polido, Michael A Gennert, Tas¸kın Padır, Siyuan Feng, et al. Human-in-the-loop control of a humanoid robot for disaster response: A report from the darpa robotics challenge trials.Journal of Field Robotics, 32(2):275–292, 2015.
[6] Anca D Dragan, Shira Bauman, Jodi Forlizzi, and Siddhartha S Srinivasa. Effects of robot motion on human-robot collaboration.
InACM/IEEE International Conference on Human-Robot Interaction, pages 51–58. ACM, 2015.
[7] Michael R Gary and David S Johnson. Computers and intractability: A guide to the theory of np-completeness, 1979.
[8] B.P. Gerkey and M.J. Mataric. A Formal Analysis and Taxonomy of Task Allocation in Multi-Robot Systems. The International Journal of Robotics Research, 23(9):939–954, 2004.
[9] Michael A Goodrich and Alan C Schultz. Human-robot interaction:
a survey. Foundations and trends in human-computer interaction, 1(3):203–275, 2007.
[10] K.K. Hauser. Minimum constraint displacement motion planning. In Robotics: Science and Systems, 2013.
[11] Evert Helms, Rolf Dieter Schraft, and M Hagele. rob@ work: Robot assistant in industrial environments. InIEEE International Workshop on Robot and Human Interactive Communication, pages 399–404. IEEE, 2002.
[12] T. Hughes. Human-automation coordination in multi-uav control. In AIAA Guidance, Navigation and Control Conference and Exhibit, page 6315, 2008.
[13] Sertac Karaman and Emilio Frazzoli. Incremental sampling-based algorithms for optimal motion planning. Robotics Science and Systems VI, 104, 2010.
[14] Sertac Karaman and Emilio Frazzoli. Sampling-based algorithms for optimal motion planning.The international journal of robotics research, 30(7):846–894, 2011.
[15] S.M. LaValle. Planning Algorithms. Cambridge University Press, Cambridge, U.K., 2006. Also available at http://planning.cs.uiuc.edu/.
[16] S.M. LaValle and S.A. Hutchinson. Optimal motion planning for multi- ple robots having independent goals. InIEEE International Conference on Robotics and Automation, pages 2847–2852, April 1996.
[17] S.M. LaValle and S.A. Hutchinson. Optimal motion planning for mul- tiple robots having independent goals. IEEE Transactions on Robotics and Automation, 14(6):912–925, December 1998.
[18] James Matthews. Basic a* pathfinding made simple. AI Game Programming Wisdom, pages 105–113, 2002.
[19] R. Murphy and J. Shields. The role of autonomy in dod systems.
Technical report, Technical report, Department of Defense, Defense Science Board Task Force Report, 2012.
[20] Robin R Murphy. Human-robot interaction in rescue robotics. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 34(2):138–153, 2004.
[21] Keiji Nagatani, Seiga Kiribayashi, Yoshito Okada, Kazuki Otake, Kazuya Yoshida, Satoshi Tadokoro, Takeshi Nishimura, Tomoaki Yoshida, Eiji Koyanagi, Mineo Fukushima, et al. Emergency response to the nuclear accident at the fukushima daiichi nuclear power plants using mobile rescue robots. Journal of Field Robotics, 30(1):44–63, 2013.
[22] Oomlout. Arduino controlled servo robot (serb), 2008.
[23] L.E. Parker. Multiple mobile robot systems. InSpringer Handbook of Robotics, pages 921–941. Springer, 2008.
[24] S.S. Ponda, L.B. Johnson, A. Geramifard, and J.P. How. Cooperative mission planning for multi-uav teams. InHandbook of Unmanned Aerial Vehicles, pages 1447–1490. Springer, 2015.
[25] Sarvapali Ramchurn, Joel Fischer, Yuki Ikuno, Feng Wu, Jack Flann, and Antony Waldock. A study of human-agent collaboration for multi-uav task allocation in dynamic environments. 2015.
[26] Julie Shah, James Wiken, Brian Williams, and Cynthia Breazeal. Im- proved human-robot team performance using chaski, a human-inspired plan execution system. In6th international conference on Human-robot interaction, pages 29–36. ACM, 2011.
[27] Pete Trautman. Probabilistic tools for human-robot cooperation. In Human Agent Robot Teamwork Workshop HRI, 2012.
[28] Pete Trautman, Jeremy Ma, Richard M Murray, and Andreas Krause.
Robot navigation in dense human crowds: Statistical models and exper- imental studies of human–robot cooperation. The International Journal of Robotics Research, 34(3):335–356, 2015.
[29] J.J. Wang, Y.F. Zhang, L. Geng, J.Y.H. Fuh, and S.H. Teo. Mission planning for heterogeneous tasks with heterogeneous uavs. InInterna- tional Conference on Control Automation Robotics & Vision (ICARCV), pages 1484–1489. IEEE, 2014.
[30] Ronald Wilcox, Stefanos Nikolaidis, and Julie Shah. Optimization of temporal dynamics for adaptive human-robot interaction in assembly manufacturing. Robotics Science and Systems VIII, pages 441–448, 2012.
[31] Product Manual XBee and XBee-PRO DigiMesh. 2.4 oem rf modules, digi international, 2010.
[32] Holly A Yanco, Adam Norton, Willard Ober, David Shane, Anna Skinner, and Jack Vice. Analysis of human-robot interaction at the darpa robotics challenge trials. Journal of Field Robotics, 32(3):420–
444, 2015.
[33] Erkang You and Kris Hauser. Assisted teleoperation strategies for aggressively controlling a robot arm with 2d input. InRobotics: science and systems, volume 7, page 354, 2012.
[34] Sebastian A Zanlongo, Mahbubur Rahman, Franklin Abodo, and Leonardo Bobadilla. Multi-robot planning for non-overlapping operator attention allocation. In IEEE International Conference on Robotic Computing, pages 109–112. IEEE, 2017.