acta polytechnica, 56(1): 47-56 hybrid reasoning for multi...

11
http://www.diva-portal.org This is the published version of a paper published in Acta Polytechnica. Citation for the original published paper (version of record): Mansouri, M., Andreasson, H., Pecora, F. (2016) Hybrid Reasoning for Multi-robot Drill Planning in Open-pit Mines. Acta Polytechnica, 56(1): 47-56 http://dx.doi.org/10.14311/APP.2016.56.0047 Access to the published version may require subscription. N.B. When citing this work, cite the original published paper. Permanent link to this version: http://urn.kb.se/resolve?urn=urn:nbn:se:oru:diva-51018

Upload: others

Post on 19-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

http://www.diva-portal.org

This is the published version of a paper published in Acta Polytechnica.

Citation for the original published paper (version of record):

Mansouri, M., Andreasson, H., Pecora, F. (2016)Hybrid Reasoning for Multi-robot Drill Planning in Open-pit Mines.Acta Polytechnica, 56(1): 47-56http://dx.doi.org/10.14311/APP.2016.56.0047

Access to the published version may require subscription.

N.B. When citing this work, cite the original published paper.

Permanent link to this version:http://urn.kb.se/resolve?urn=urn:nbn:se:oru:diva-51018

Page 2: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

doi:10.14311/APP.2016.56.0047Acta Polytechnica 56(1):47–56, 2016 © Czech Technical University in Prague, 2016

available online at http://ojs.cvut.cz/ojs/index.php/ap

HYBRID REASONING FOR MULTI-ROBOTDRILL PLANNING IN OPEN-PIT MINES

Masoumeh Mansouri∗, Henrik Andreasson, Federico Pecora

Centre for Applied Autonomous Sensor Systems (AASS)∗ corresponding author: [email protected]

Abstract. Fleet automation often involves solving several strongly correlated sub-problems, includingtask allocation, motion planning, and coordination. Solutions need to account for very specific, domain-dependent constraints. In addition, several aspects of the overall fleet management problem becomeknown only online. We propose a method for solving the fleet-management problem grounded on aheuristically-guided search in the space of mutually feasible solutions to sub-problems. We focus ona mining application which requires online contingency handling and accommodating many domain-specific constraints. As contingencies occur, efficient reasoning is performed to adjust the plan onlinefor the entire fleet.

Keywords: robot planning; multi-robot coordination; on-line reasoning.

1. IntroductionAutonomous vehicles are becoming key components inindustrial automation. State-of-the-art methods forlocalization, mapping, control and motion planninghave enabled the development and deployment of au-tonomous vehicles in logistics, material handling, andmining application. Yet important hindrances remainwhen it comes to employing fleets of autonomous ve-hicles [1]. This paper is concerned with three of thesehindrances:• Fleet automation often involves solving severalstrongly correlated sub-problems — among these,allocating tasks to vehicles, planning vehicle mo-tions, and vehicle coordination. This makes solvingthe overall problem very hard, as solutions shouldbe found in the space of mutually-feasible solutionsto sub-problems.

• Solutions often need to account for very specific,domain-dependent constraints. Thus, even if meth-ods exist for solving individual sub-problems, theseoften need to be adapted to reflect the nuances ofthe particular domain.

• Several aspects of the overall fleet managementproblem become known only online. This makes itnecessary to compute at least parts of the solutionto the overall problem during execution and/or toadapt existing plans to contingencies.

In this paper, we propose a method for dividing theoverall fleet-management problem into sub-problems.We apply a general method for searching for a mu-tually feasible solution to the sub-problems of theoverall problem. We focus on a mining applicationwhere fleets are composed of surface drilling machines.The aim is to plan and coordinate blast-hole patterndrilling with multiple drilling machines. Solutions

Figure 1. Two AtlasCopco drilling machines(Pitviper-351) in the process of drilling targets in abench.

consist of an executable plan for multiple vehiclesoperating concurrently within a common area of theopen-pit mine, called a bench (see Figure 1). Severalaspects of the problem become known only online: theduration of hole-drilling actions depends on the hard-ness of the rock, which is unknown at planning time;the durations of navigation actions between targetsare also unknown at planning time, as they depend onthe actual state of the terrain; and unplanned stopsmay occur due to the fact that drills may get stuckand need to be replaced. All three forms of contingen-cies are modeled as metric temporal constraints, andare posted online to a common representation thatmaintains the state of execution of the plan for theentire fleet. As temporal constraints become knownduring execution, efficient temporal reasoning is per-formed to adjust the plan and to provide an optimisticTime to Completion (TTC) of the overall plan for theentire fleet.

47

Page 3: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

M. Mansouri, H. Andreasson, F. Pecora Acta Polytechnica

Figure 2. The actuated dust guard and leveling jacksare highlighted on an Atlas Copco Pitviper-271. Afterdrilling, piles of excess material accumulate under thedust guard, which requires the machine to actuate thedust guard before navigating away from the target.

In Section 2 we define the Drill Pattern PlanningProblem and state the specific requirements of theapplication. Section 3 details how the problem isdivided into sub-problems, and Section 4 describes thealgorithm used to find mutually feasible solutions tothe individual sub-problems. Section 5 describes thedomain-specific heuristics that capture the nuancesof this particular mining application and how theycan be easily plugged into the search for a solution.Section 6 is dedicated to the online aspects of theapproach. A preliminary experimental evaluation isprovided in Section 7, which evaluates the feasibilityof on-line plan adaptation in a simulated environment.A brief discussion on related work and on the outlookconcludes the paper.

2. Problem Definition andRequirements

We focus on a problem in a mining application, wherea fleet of surface drills operates on a bench in an open-pit mine. A set of drill targets in the bench is given;at each target, a blast hole is to be drilled. The blastholes are then filled with explosive material that willbe detonated after all targets have been drilled. Afterthe explosion, the ore is taken away and processed formineral extraction.For each drill target, a machine can autonomously

carry out a set of tasks: auto-tramming (navigatingto the target from its current position), leveling (de-ploying jacks for horizontally leveling the machine),drilling, and de-leveling (retracting the jacks so themachine is placed back on its tracks). Each drillingmachine has a square dust guard around its drill bit.Drilling produces piles of excess material around thehole, thus one side of the dust guard must be liftedafter drilling; this allows the machine to navigate tothe next target without colliding with the pile thathas accumulated under it after drilling (see Figure 2).

The Drill Pattern Planning Problem (DP3) consistsof computing a plan that involves machines reachingeach drill target in a bench and performing the nec-essary operations to drill the blast hole. The plan issubject to the following requirements:

Figure 3. A bench with drill targets (grey circles)and a geofence (green polygon).

• Machines should not collide with obstacles/eachother;

• Drilling a target leads to the creation of a pile underthe dust guard of the machine; this pile constitutesan obstacle, hence no machine can drive over it;

• Once drilling has been performed, the machine canonly drive away from the target (backing up fromthe target pose) by raising the forward dust guard(the only part of the dust guard that can be actu-ated);

• Motions should be executable by the machines i.e.,motions should be kinematically feasible;

• It should be possible to modify the plan online;

• The plan should respect spatial constraints such asa virtual fence within which the vehicles are allowedto operate; this area is called a geofence.

The locations of the drill targets and the geofenceare given. These are based on a geological survey ofthe area and on the current production targets of themine (see Figure 3). A set of machines R is also given,and the size of a fleet is based on the size of the bench.Also given are initial poses of all machines, as well astheir desired final “parking” poses.

The requirements above pose several problems e.g.,task allocation (of machines to target poses), motionplanning, and coordination. These problems cannotbe treated separately, as the solutions of each problemdepend on each other. For instance, coordination mustlead to a sequence of target poses that accounts for thepiles generated after drilling (which become obstaclesthat must be taken into account in motion planning).Hence, it is necessary to subject the possible choicesmade to solve one problem to the choices made inresolving the other problems — e.g., verifying throughmotion planning that a chosen sequence of targets todrill will be kinematically feasible. Because of theseinterdependencies, we face a hybrid reasoning problem.We propose an approach in which the overall problemis divided into sub-problems, and the solution to theoverall problem is searched for in the joint search spaceof these sub-problems. In the next section, we defineeach sub-problem in detail, while in Section 4 weoutline the algorithm used to search for plans that aremutually feasible with respect to all the sub-problems.

48

Page 4: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

vol. 56 no. 1/2016 Hybrid Reasoning for Multi-Robot Drill Planning in Open-Pit Mines

3. ApproachWe divide DP3 into five sub-problems.

• The sequencing sub-problem consists of deciding atotal ordering of targets i.e., sequencing every pairof targets.

• The motion planning sub-problem consists of decid-ing the pose of the drilling machines at each target.Constraints on the orientation of the machine incertain target poses may be given (e.g., due to thepresence of the geofence or other geographical con-straints like cliffs and walls). The decisions aresubject to kinematic constraints, obstacles and thegeofence, and must account for piles resulting fromdrilling, as well as the dust guard mechanism.

• The machine allocation sub-problem consists of al-locating machines to targets given the availablemachines and their positions. Machine allocationalso accounts for the need to reach a given endparking position.

• The coordination sub-problem consists of schedulingmachines. Solutions to this sub-problem considerthe spatio-temporal overlap between machines andbetween machines and piles.

• The temporal sub-problem consists of deciding whenmachines should carry out motion, drilling, level-ing and de-leveling operations, subject to temporalconstraints arising from coordination, sequencing,maximum achievable speeds, etc.

A solution to DP3 is obtained by reasoning uponthese five different sub-problems jointly. Candidatesolutions for a sub-problem are validated by dedicatedsolvers. Each solver focuses on a subset of aspectsof the overall problem, e.g., a motion planner verifieskinematic feasibility and absence of collisions, whilea temporal solver verifies that coordination choicesare temporally feasible. Validated solutions for eachsub-problem can be seen as constraints that accountfor particular aspects of the overall problem. Theyare maintained in a common representation, which issufficiently expressive to model the search space ofall problems jointly. The common representation is aconstraint network where variables represent missions.A mission is a tuple M = (gp, sp, r, P,m, S, T,A),where r represents the robot which should perform theset of activities A = {drilling, leveling,de-leveling} at,respectively, starting pose sp and goal pose gp. P isthe path that r traverses to reach gp from sp, and iscomputed based on a map m of the environment. Sis a set of polygons representing sweeps of the robot’sfootprint over P , and T is a set of time intervalsrepresenting when r will be in each polygon containedin S. Henceforth, we denote with M(·) an element ofthe mission tuple.Let M be the set of all missions in DP3 (one for

each drill target). A solution to DP3 is such thata value is decided for all elements of a mission, for

each mission in M ∈ M. Each element is decidedby solving one or more sub-problems. We view amission M as a variable in a Constraint SatisfactionProblem (CSP, see [2]) whose domain represents allpossible combinations of values that can be givento each element of M . Accordingly, we view a sub-problem as the problem of constraining the domainsof missions so that the requirements stated above aremet. Hence, the solvers that validate solutions tothe sub-problems are seen as procedures that postconstraints to the common constraint network. Aswe will see, adopting the CSP metaphor allows usto employ heuristic search strategies for solving theoverall DP3.

3.1. Sequencing Sub-problemThe sequencing sub-problem consists of finding a to-tal order of missions. A decision variable of thissub-problem is a mission Mi ∈ M that does nothave a preceding mission. A possible value that canbe assigned to this decision variable is a precedenceconstraint Mj

precedes−−−−−→ Mi, asserting that missionMj ∈ M should occur before Mi. Mj is a missionfor which it has not been already decided that it pre-cedes another mission. A sequencing solver verifiesthat missions are totally ordered. Figure 4(a) showsan example of decision in this sub-problem, namelyM166

precedes−−−−−→M137. White arrows in the figure rep-resent precedence constraints.

3.2. Motion Planning Sub-ProblemThe motion planning sub-problem consists of finding agoal pose gp for each missionMi ∈M. A gp is a tuple〈x, y, θ〉 in which x and y represent the position of adrill target, and θ is the orientation of the machine.The decision variables of the motion planning sub-problem are missions Mi such that (1) Mi(gp) doesnot have a defined orientation, i.e., θ is not assignedto an angle, (2) there exists Mj

precedes−−−−−→ Mi in thecommon constraint network, and (3) Mj(gp) has beenassigned an orientation. Possible values that can beassigned to a decision variable are a set of eight angles{θ1, . . . , θ8} ∈ [0, 2π).

A particular choice of approach angle for a missionis only feasible if the machine can drive away from theprevious target Mj(gp) and can navigate to the endpose of a mission Mi(gp) considering piles created byall the preceding missions. For example, Figure 4(b)shows a selection of one feasible approach angle forseveral missions with respect to existing sequencingconstraints. The approach angles are represented bypink arrows, and the machines drive away from thetargets in the opposite direction of the pink arrows.

The eight possible assignments to the decision vari-able determine eight different possible end posesof the machine {Mi(gp1), . . . ,Mi(gp8)}, which dif-fer only in the orientation of the machine in thegoal pose. A possible assignment θk is validated

49

Page 5: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

M. Mansouri, H. Andreasson, F. Pecora Acta Polytechnica

(a) (b) (c) (d)

168

167

137

139

140

141

142

166

165

Figure 4. Examples of different sub-problems with their decision variables and particular choices of values.

through a path planner, which is given the triple(Mi(sp),Mi(gpk),Mi(m)), where the start pose is thegoal pose of the preceding mission (Mi(sp) = Mj(gp)),and Mi(m) is a map of the environment that containsobstacles and a geofence. The obstacles correspondto circular shapes centered in the goal poses of thepreceding missions. Through the map Mi(m), thepath planner accounts for targets that have alreadybeen drilled prior to mission Mi.

Since the path planner is potentially invoked severaltimes while solving the motion planning sub-problem,computational efficiency is crucial. We employ a pathplanner for a car-like mobile robot based on cubic spi-rals [3]. This path planner computes paths consistingof curvature-constrained curves constituted by a fewcubic spirals and straight lines. The output of thepath planner is either fail, which indicates that aparticular approach angle θk cannot be achieved, orthe splineMi(P ), representing a kinematically-feasibleand obstacle-free motion from Mi(sp) to Mi(gpk).

3.3. Machine Allocation Sub-problemIn this sub-problem, a decision variable is a setM′ ⊆M such that ∀M ∈M′, M(r) has not been decidedand

∃Mi ∈M′ : Miprecedes−−−−−→M ∨M precedes−−−−−→Mi,

that is, a total order of missions has been decided,but machines have not been allocated. The values arecomplete assignments of robots to missions, i.e., anassignment M(r) = R for each mission inM′.Clearly, the machine allocation sub-problem has a

huge space of possible solutions. Each possible solu-tion has complex ramifications on other sub-problems:different allocations will affect the amount of coordi-nation necessary; allocations must be such that thefinal mission of a machine is not surrounded by piles(drilled by other machines), which would make it im-possible to navigate to its final parking pose. Aswe show in Section 5, heuristics with high pruningpower are needed to explore the search space of thissub-problem, and these heuristics must account forother sub-problems. Solutions to the machine allo-cation sub-problem are indirectly validated in otherproblems, hence no particular solver is used for directvalidation of possible values.

3.4. Temporal Sub-ProblemA mission’s path P is segmented into a sequence ofsub-paths based on its curvature. Each segment isassociated to a convex polygon sk resulting from thesweep of the machine’s footprint along the sub-path.The resulting sequence {s1, . . . , sm} of convex poly-gons represents the areas occupied by a robot whilenavigating along the path (see an example in Fig-ure 4(c)). Since the path planner used to obtain Pis aware of the obstacles created by preceding mis-sions, the convex polygons do not intersect the pilesresulting from drilling (see Figure 4(d), where redcircles represent piles, white polygons represents themotions of the machine, and the green line representsthe geofence).In addition to the polygons representing the mo-

tion of machines, the activities involved in a mis-sion M (i.e., M(A) = {drilling, leveling,de-leveling})have polygons associated to them. Since these ac-tivities all occur while the machine is idle in poseM(gp), their polygons coincide with the polygonthat covers the last sub-path of M(P ). Hence,the set of all convex polygons of mission M isM(S) = {s1, . . . , sm} ∪ {sdrilling, sleveling, sde-leveling},where sdrilling = sleveling = sde-leveling = sm.

Each convex polygon inM(S) is associated to a timeinterval in the set M(T ) = {I1, . . . , Im+3}. The inter-val Ik = [Is, Ie] is a flexible temporal interval withinwhich robot M(r) is in sk, where Is = [ls, us], Ie =[le, ue], ls/e, us/e ∈ N represent, respectively, an inter-val of admissibility of the start and end times of theoccurrence of polygon sk ∈ S.The temporal sub-problem consists of deciding a

start and end time for each interval Ik. The temporalsub-problem has a decision variable for every machineR ∈ R. Each decision variable is a set of missionsM′ ⊆ M such that for all Mi ∈ M′, (1) Mi(P ) hasbeen decided, (2) Mi(r) = R, and (3) the start andend times of Mi(T ) have not been decided. We re-duce the problem of deciding valid start/end timesof the intervals to a Simple Temporal Problem (STP,[4]). The STP is formulated as a collection of tem-poral constraints as follows. First, for each Mi ∈M′with intervals Mi(T ) = {I1, . . . , Im+3}, temporal con-straints that reflect the order of the convex polygons

50

Page 6: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

vol. 56 no. 1/2016 Hybrid Reasoning for Multi-Robot Drill Planning in Open-Pit Mines

Figure 5. Coordinating two machines to avoid spatio-temporal overlap.

along the path Mi(P ) are imposed:

Ik−1before−−−−→ Ik, k ∈ {2 . . .m+ 3}. (1)

Second, temporal constraints that force the possiblestart and end times of missions to adhere to the order-ing decided by the sequencing solver are added. Thatis, for each pair of missions (Mi,Mj) ∈M′×M′ thatare subject to a sequencing constraintMi

precedes−−−−−→Mj ,the following temporal constraint is added amongthe intervals Mi(T ) = {Ii

1, . . . , Iim+3} and Mj(T ) =

{Ij1 , . . . , I

jm+3}:

Iim+3

before−−−−→ Ij1 , (2)

reflecting the fact that the de-leveling polygon of mis-sion Mi occurs before the first motion of mission Mj .Third, we impose minimum durations of the motionsand activities of the machines:

Duration[α,∞) : Ik, k ∈ {1 . . .m+ 3}. (3)

For every motion polygon sk, k ∈ {1, . . . ,m}, an ini-tial value for α is computed based on the maximumallowed velocity of machine R. Hence, the earliesttime solution of the STP represents the fastest possi-ble execution of all motions and activities in the plan,i.e., an “optimistic” estimate of the start and end timesof all operations of all machines. During execution,further temporal constraints can be added to reflectcontingencies such as machine maintenance, delays,and so on. The association of an interval per polygonallows us to predicate via temporal constraints on howlong every movement or activity will take. Solvingthe STP is polynomial in the number of intervals inthe temporal problem, namely

∑Mi∈M′ |Mi(T )| [4].

Note that there are no temporal constraints amongintervals pertaining to different machines, hence themotions and activities of different machines may beconcurrent.

3.5. Coordination sub-problemSince several machines operate in the same environ-ment, it is crucial to address collision/deadlock avoid-ance. As a consequence of decisions made in all pre-vious sub-problems, the common constraint networkincludes polygons, temporal intervals, and temporalconstraints (eqs. (1) to (3)) among them. The STPsolver computes start and end times for each inter-val. This determines when machines will occupy mo-tion and activity polygons in the various missions.

Figure 6. Scheduling a machine to avoid spatio-temporal overlap with a pile.

If two polygons pertaining to different vehicles over-lap, and their corresponding temporal intervals inter-sect, then the two vehicles may collide. Coordinationavoids this by imposing additional constraints thateliminate temporal intersection where needed. De-cision variables of the coordination sub-problem arepairs of polygons and intervals represented by thequadruple (si

k, sjm, I

ik, I

jm), of mission i and j respec-

tively, that overlap both spatially and temporally, i.e.,si

k ∩ sjm 6= ∅ ∧ Ii

k ∩ Ijm 6= ∅ ∧Mi(r) 6= Mj(r). The

value of a decision variable is one of two possible con-straints {Ii

kbefore−−−−→ Ij

m, Ijm

before−−−−→ Iik}, imposing either

of which eliminates the temporal overlap between con-current polygons. The STP solver will validate thesequencing in time of these two overlapping polygonsaccordingly. It will also compute the consequent shiftin the occurrence of any other polygon whose intervalis constrained with Ij

m or Iik by means of temporal

constraint propagation within the common constraintnetwork. We use a similar approach for the coordina-tion of multiple vehicles as described in [1]. Figure 5depicts the situation where missions of two machinesare temporally and spatially overlapping. Polygonswith the same color belong to one machine and forclarity, we omit the time intervals of polygons in thevisualization.

The polygons involved in the decision variables rep-resent two types of occupancy. The first type corre-sponds to the motions of machines as described in 3.4.The second corresponds to the piles created by drilling.By modeling both types of polygons in the commonconstraint network, collisions among machines andwith piles are found and thus scheduled. Figure 6illustrates a conflicting situation between the motionsof a machine (depicted as yellow polygons) and a pile(depicted as a blue polygon).

4. Backtracking SearchThe collection of decision variables for each sub-problem mentioned above constitutes a high-level CSP(henceforth called a meta-CSP). A search in the meta-CSP consists in finding an assignment of values todecision variables that represent high-level require-ments. Each of these requirements is, in our case, asub-problem. Possible values among which these as-signments are selected are verified by a specific solverfor each sub-problem. Thanks to the common repre-sentation of the search space, each sub-problem solveraccounts for the assignments made for decision vari-ables of other sub-problems. For example, the pathplanner validates with respect to a map containing

51

Page 7: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

M. Mansouri, H. Andreasson, F. Pecora Acta Polytechnica

Function DP3-solver(M): success or failureDseq ∪Dalloc ∪Dtime ∪Dcoord ∪Dmp ←1CollectDVars(M)if ∃Di 6= ∅, i ∈ {seq, alloc, time, coord, mp} then2

p← Choose({seq, alloc, time, coord, mp},hprob)3d← Choose(Dp, hvar

i )4Vd ← CollectValues(d)5while Vd 6= ∅ do6

v ← Choose(Vd, hvali )7

Update(M, v)8if Solve-p(M) then9

return DP3-solver(M)10

Remove(M, v)11Vd ← Vd \ v12

return failure13

return success14

Figure 7. Algorithm DP3-solver.

obstacles resulting from sequencing decisions; andthe coordinator’s decisions depend on the machineallocation as well as motion plans. The choices of val-ues for decision variables in the various sub-problemscontribute parts of the missions in the common repre-sentation, and the sub-problem solvers propagate theconsequence of these decisions.The sub-problem solvers used in our approach

are denoted in the following with solve-p, wherep ∈ {seq, alloc, time, coord, mp}. As we have ex-plained, solve-seq disallows sequencing decisionsthat are not totally ordered; solve-mp verifies bymeans of a motion planner that motions are kinemati-cally feasible and obstacle-free; solve-alloc acceptsall candidate allocations, as the infeasible ones arediscovered indirectly via coordination; solve-timeis an STP solver which computes feasible start/endtimes of mission intervals subject to temporal con-straints; solve-coord is also provided by the sameSTP solver, which validates and computes the conse-quences of temporal ordering decisions.

We use a CSP-style heuristically guided backtrack-ing search to find values to assign to the decisionvariables. Henceforth, let the set of sub-problems beindicated by the symbols {seq, alloc, time, coord,mp}.Given the set of missionsM, Algorithm DP3-solvercollects all the decision variables belonging to all thesub-problems (line 1), and terminates when no deci-sion variables are left (lines 2 and 14). A particularsub-problem is then chosen according to a sub-problemranking heuristic hprob (line 3), e.g., hprob prioritizesmachine allocation decision variables over coordina-tion decision variables, as the latter problem requiresmachines to be assigned to missions (see Section 3.5).Among the decision variables of a sub-problem, oneis chosen according to a variable ordering heuristichvar

i (line 4). For example, which target should beselected first among the decision variables Dmp ofthe motion planning sub-problem. Among possiblealternative values, one is chosen according to a valueordering heuristic hval

i (lines 5–7). For instance, which

Figure 8. An example of topology and group extrac-tion.

approach angle has to be selected for a given targetin the motion planning sub-problem. This value isadded to the common representation (line 8). Thesub-problem solver solve-p verifies that assignmentv is feasible. If so, DP3-solver is called recursively(line 10), which results in selecting another unassignedvariable subject to the newly updated common rep-resentation M. Note that if all possible values areattempted for a decision variable d and all are re-jected by solve-p, the algorithm returns a failure(lines 6, 11–13). In the next section, we will explainthe problem-, variable- and value-ordering heuristicsthat are used in DP3-solver.

5. HeuristicsDP3-solver must select a set of decision variablespertaining to a sub-problem from the union of all deci-sion variables. This selection is guided by a heuristichprob. Let Di ≺ Dj indicate that the decision vari-ables of problem i have a higher priority than thoseof problem j. The partial ordering based on whichthe hprob heuristic operates is {Dseq ≺ Daloc ≺ Dtp ≺Dcoord, Dmp ≺ Daloc ≺ Dtp ≺ Dcoord}. Decision vari-ables to branch on (within a chosen Di) are orderedbased on hvar, and alternative values are chosen ac-cording to hval.Variable ordering heuristics are provided for the

sequencing sub-problem and for the coordination sub-problem. The latter heuristic is based on temporalflexibility, and has been used for resource-constrainedproject scheduling [5]. The former is based on ananalysis of the drill target placements, and is describedbelow.

Variable Ordering for Sequencing hvarseq. The

pattern of drill targets is analysed to reveal its topol-ogy and the possible principal directions of drill targetsequencing (see Figure 8). To determine the former,we use a distance threshold; the latter are discoveredvia K-Means clustering of the set of angular coeffi-cients of topologically neighbouring drill targets. Thisyields clusters containing similarly oriented edges ofthe topology. These are used to group drill targetsinto roughly-parallel lines (see Figure 8). The topol-ogy and the groupings are used to rank drill targetsin groups. Variability in these groups are first in thesequencing sub-problems.

52

Page 8: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

vol. 56 no. 1/2016 Hybrid Reasoning for Multi-Robot Drill Planning in Open-Pit Mines

Figure 9. An example of a sequence pattern givenby an operator.

Value ordering heuristics are defined for the sequenc-ing, allocation, motion planning, and coordinationsub-problems. As for variable ordering, the decisionvariable in the coordination sub-problem are branchedupon using a heuristic based on temporal flexibilitythat is widely used in the scheduling literature [1]. Theremaining heuristics hval

seq, hvalallocare explained below.

Value Ordering for Sequencing hvalseq. A value

for a decision variable of the sequencing sub-problemdecides which drill target precedes a given target.There are many alternatives for this choice. Note thatthe sequencing decision variables that are resolved firstare those pertaining to drill targets along groups —for such decision variables, the heuristic prioritizes oneof two possible predecessors, namely those adjacentto the current decision variable in the grouping. Forexample, the two values with the highest heuristicscore for decision variable M141 in Figure 4(a) areM142

precedes−−−−−→M141 and M140precedes−−−−−→M141.

Also, this heuristic contributes to alleviating thecomputational burden of finding sequences in regionsclose to the geofence while transitioning betweengroups. Finding a feasible sequence in these situationsis challenging, because a machine has limited spaceto manoeuvre. These regions of highly-constrainedmotion typically span eight targets for every pair ofadjacent groups, thus in the worst case sequencing re-quires verifying, through motion planning, 87 possiblemotions for each pair. For this reason, the heuris-tic uses given sequence patterns that reflect commonpractice by human operators. A sequence pattern is atopological description of a human driving behavior,augmented with metric information that facilitatesassessing whether the pattern is applicable in a givenregion. Specifically, a sequence pattern is a graph(V,E) where V is a set of nodes representing drilltargets, and E is a sequence of precedence constraintsamong the nodes. A distance threshold dgeofence isalso given, and represents the minimum distance tothe geofence required for the pattern to hold. Also, aranking < of the nodes in terms of how far they liefrom the geofence is provided. An example pattern isshown in Figure 9. If the search is considering a de-cision variable Mi that is surrounded by targets thatcan be mapped to the nodes in the pattern, then theheuristic ranks possible predecessors of Mi accordingto the edges in E.

Value Ordering for Motion Planning hvalmp.

This heuristic suggests approach angles similar tothose assigned to other drill targets in a same group.

Value Ordering for Machine Allocation hvalalloc.

A solution to the machine allocation sub-problem de-termines which drill target is drilled by which machine.Among all possible choices, those are preferred whichhave three properties: (1) each machine is assignedto a contiguous sequence; (2) the start and end mis-sions of a contiguous sequences are the drill targetsclose to an open area, i.e., not close to a geofence andnot those that are entirely surrounded by other drilltargets; and (3) targets are evenly distributed amongmachines. This heuristic not only contributes to theplan quality in terms of similarity to what a humanplanner would decide, but also improves the efficiencyin planning time by suggesting a restriction on startand exit points for each machine.

6. Adapting Solutions OnlineSeveral aspects of DP3 are unknown at planning time.For example, the actual durations of activities only be-come apparent during execution. In a bench, varioustypes of contingencies may occur, such as unexpectedmaintenance of machines, or increased drilling timedue to unknown geological characteristics of the ter-rain. Therefore, we need to monitor the executionand reflect the contingencies in the common represen-tation. In our approach, the nominal behavior of themachines is given by a solution of the DP3, obtainedvia Algorithm DP3-solver. The start and end timesassociated to the intervals M(T ) of every mission Mare computed through temporal propagation. All thelower bounds represent the earliest possible times atwhich missions can be executed, and are used to com-pute the desired speeds at which the computed pathsshould be driven by the vehicle executives. A machineexecutive realizes the interface between machine con-trollers and the missions in the plan by instructingthe machine controller to follow the given trajecto-ries1. It also updates the time intervals M(T ) of thecurrent mission by posting into the common represen-tation constraints representing the current progress ofthe machine. These constraints are used by the STPsolver to propagate any mismatch between prescribedand executed missions of all machines in the fleet.The STP solver plays a central role in execution

monitoring. Machine executives update the commonrepresentation at a frequency of 1Hz to dispatch orend missions. A mission is ended by adding a temporalconstraint into the common constraint network repre-senting the finish time of the mission as the executivelayer informs. The consequences of such updates canbe easily computed within the period of one secondbecause the STP solver performs polynomial inference.

1In the current implementation, we employ a Model Predic-tive Controller (MPC) [6].

53

Page 9: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

M. Mansouri, H. Andreasson, F. Pecora Acta Polytechnica

Also, due to the fact that adding constraints cannot“undo” other decisions, we can post unforeseen dura-tions (e.g., encountering hard rock while drilling) atexecution time. More precisely, the prolongation of anactivity represented by a flexible time interval associ-ated to a motion polygon cannot affect the sequencing,the approach angle, the particular motions, nor ma-chine allocations. It only bears consequences on thecoordination sub-problem, as delays may need to bepropagated to other waiting machines. An example ofthis situation is described in the next Section. Notethat if we want to minimize the TTC, then, prolonga-tion of an activity should lead to re-allocation of themachines, which in turn would result in updating thedecisions in the sequencing sub-problems. This allowsfor re-balancing the workload among the machines.Considering the wide range of re-planning strategiesthat can be used to minimize TTC is a topic for futurework.

On-line temporal reasoning also caters to anotherimportant requirement of mining companies, namelythe need to know an estimate of the Total Time toCompletion (TTC). At planning time, we providean optimistic TTC by initializing the duration con-straints 3 with reasonable values: the durations ofintervals corresponding to motion polygons are com-puted using the maximum allowed speed of the ma-chines; and the intervals corresponding to activitypolygons are initialized with durations under nominalconditions (average rock density, and no maintenance).As execution proceeds, TTC is updated as a result oftemporal reasoning to reflect the actual situation.

7. Experiments and EvaluationsWe carried out several experiments in different se-lections of benches and drill targets. In this sec-tion, we exemplify one of the most challenging sce-nario. The resulting plan was then run by a Gazebo-simulated fleet of Pitviper-311s, and all interfacesbetween the DP3-solver and the platforms were re-alized as ROS [7] nodes. The DP3-solver ran on a3.40GHz×4 Intel i7-3770M CPU with 8GB of memory.

The difficulty of the example originates from thecloseness of some targets to the geofence. It is also af-fected by the average distance between targets, whichis 16 meters (only 1.8 meters greather than the lengthof the Pitviper-311). The drill target positions aretaken from a real blast hole pattern recently drilledin an open-pit iron-ore mine in Western Australia.As noted earlier, problems become much more dif-ficult if they contain drill targets that are close tothe geofence. When that is not the case the prob-lems are easier, since machines have enough spaceto manoeuvre regardless of how the approach anglesare chosen. This experiment contains 76 drill targetsand 3 available machines. Figure 10 shows the finalsolution to the overall DP3 for this specific bench. Inthe figure, robots and groups used by hvar

seq and hvalseq

are numbered to facilitate the explanation. As shown,

1 56

12

34

2

3

Figure 10. A solution to the DP3 problem in thisbench which is visualized in the ROS visualization tool,white arrows depict sequencing, pink arrows representvehicle poses at each drill target, and the green lineshows a part of the geofence.

machine 1 starts with row 1 and exits the field fromrow 2, machine 2 starts at row 3 and exits at row 4,and machine 3 starts its missions from row 6 and exitsfrom row 5. The plan is found in 2.14 minutes.

Figure 11 shows three snapshots of a simulated run.Each snapshot shows the motions of each robot (thecollection of all movement polygons). In Figure 11(a),the motions of robot 1 partly occupy rows 3 and 4 formanoeuvring between row 1 and 2. This results inrobot 2 having to wait just before the conflicting area,until robot 1 finishes its manoeuvre. As robot 2 alsooccupies some part of rows 5 and 6 (see Figure 11(b)),robot 3 has to wait until robots 1 and 2 are finishedswitching rows.The fact that the motions of machine 2 do not

conflict with rows 1 and 2 is handled by the motionplanner; the same holds for machine 3 and rows 3and 4 (see Figure 11(c)). As the machines start theirexecution concurrently, their motions would lead tocollisions, were it not for the fact that the coordina-tion sub-problem was solved as well. The temporalconstraints that were selected by the algorithm resolvethese conflicts by forcing machines 2 and 3 to yield tomachine 1.

The plan obtained with Algorithm DP3-solver wasrun in simulation three more times. During the firstrun, we artificially injected delays in the drilling ac-tivities of robot 1 for a drill target in row 1. Throughtemporal reasoning, the delay was propagated on thestart times of future missions of machines 2 and 3.The TTC increased drastically as a result, as robot 2(and consequently robot 3) were forced to wait untilrobot 1 finished manoeuvring between rows 1 and 2.In the second run, we artificially delayed robot 1 whiledrilling a target in the second row. In this case, TTConly increased by the amount of the delay, since thedelay does not affect robot 2 and robot 3. Finally, inthe third run, we injected a delay in one of the initialdrill targets of robots 2 and 3. Since these robotswere scheduled to yield to robot 1 later on duringexecution, the delay did not increase the TTC. In allthree runs, the contingencies were accounted for by

54

Page 10: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

vol. 56 no. 1/2016 Hybrid Reasoning for Multi-Robot Drill Planning in Open-Pit Mines

(a) (b) (c)

Figure 11. Motions of different robots representedon a separate figure as white convex polygons.

27 53 76hval

seq w/o sp 8.68min timeout timeouthval

seq w sp 0.21min 0.6min 2.14min

Table 1. A small quantitative evaluation hvalseq.

temporal reasoning and the resulting adjusted planwas dispatched to the machines within the 1 secondsampling period.

We also evaluated the effectiveness of the sequencepattern (sp, see Section 5) used by hval

seq on problemsdefined over the same drill pattern as was used in theprevious experiments. We considered three cases witha different number of drill targets (27, 53 and 76).Each case was run twice, once with and once withoutthe sp heuristic. The search process was abortedafter a 60 minute timeout. Table 1 shows the strongpruning power of this heuristic.

In the next experiment, the focus was on evaluatingthe TTC in a slightly bigger setup with 91 drill targets(see Figure 12). The TTC of the solution, wheremachine 1 starts at row 1 and exits at row 4 andmachine 2 starts at row 5 and exits at row 8, is 101minutes, whereas the TTC is 61 min in the case thatmachine 1 starts at row 4 and exits at row 1 andmachine 2 starts at row 5 and exits at row 8. In thelatter case, the machines do not need to wait for eachother and all the operations can be done in parallel.In order to extract the latter solution from the searchspace, an ad-hoc sequencing heuristic built for thisparticular set of drill targets was employed. Thisproves that this solution is in the search space. Ashas been mentioned, devising a general heuristic thatbiases the sequencing choices to minimize TTC is atopic for future work.

7.1. Comparison with A∗

Our approach consists in exploring the joint searchspace of different sub-problems via a heuristicallyinformed CSP-style backtracking search. The intelli-gence in our approach is distributed among severalheuristics, each guiding the resolution of specific sub-problems. An obvious alternative approach is to de-fine the state of DP3 as node in a traditional heuristicsearch, and to employ A* (or some other heuristicsearch algorithm) in conjunction with a heuristic that

1

2

3

4

5

6

7

8

2

1

Figure 12. A high quality solution with respect tothe TTC for a bench with 91 drill targets.

accounts for all aspects of the DP3. We would, how-ever, have to build all aspects of the problem into thissingle heuristic — that is, we would have to makethe heuristic capable of informing which are the bestallocations of vehicles to targets, the best sequencing,grouping and scheduling decisions, etc. More impor-tantly, it would be difficult to exploit the structure ofthe different sub-problems to enhance performance. Inour approach, scalability can be improved by identify-ing heuristics for specific sub-problems and/or heuris-tics that exploit the hybrid nature of the underlyingrepresentation. Another important factor in industrialdomains is the ability to specify domain-dependentrequirements, e.g., in this specific bench, that drilltargets 122 and 344 must be drilled at the end, or thatmachine 3 should not drill a set of drill targets. Themodularity of our approach facilitates programmingthese types of requirements in the relevant decisionvariables of specific sub-problems.

8. Related Work and OutlookWe have divided DP3 into several sub-problems andthe DP3-solver finds mutually feasible solutions tothe individual sub-problems. The idea of problemdecomposition and solution synthesis is not new inAI. There have been many studies in Multi AgentSystems (MAS) regarding cooperative problem solv-ing [8]. Although our work has not been done in thecontext of MAS, we reify this idea into a challengingrobotic domain.The DP3-solver combines solutions from different

sub-problems, each of which can be seen as a “classical”AI or robotics problem. The sequencing sub-problemcan be seen as a Vehicle Routing Problem with Multi-ple Depots (MDVRP) where the drill targets are thecustomers. MDVRP is a combinatorial optimizationwhich has been largely studied. However, solutions toMDVRPs often do not consider spatial, temporal andkinematic constraints, nor dynamic maps. The needto consider these problems destroys the assumptionsbased on which existing AI solutions are built. Acomprehensive survey [9] has shown, that there arevarious ways of modeling for MDVRP including time

55

Page 11: Acta Polytechnica, 56(1): 47-56 Hybrid Reasoning for Multi ...oru.diva-portal.org/smash/get/diva2:941273/FULLTEXT01.pdf · This is the published version of a paper published in Acta

M. Mansouri, H. Andreasson, F. Pecora Acta Polytechnica

windows, split delivery, heterogeneous fleet accord-ing to the single and multiple objectives. For futurework, our main focus is to optimize the TTC whileall the requirements are upheld, therefore, casting thesequencing sub-problem to MDVRP is therefore anoption for further investigation.Combined route and motion planning in the pres-

ence of strong spatial and temporal constraints hasbeen studied [10]. Although the application differs,the proposed approach is similar to ours in that itcombines solutions from different sub-problems suchas non-trivial motion planning and route planning.However, the solution assumes that sequencing ofgoal poses is given, and it does not handle on-linecontingencies.

The coordination problem has to be addressed whenwe have a fleet of autonomous vehicles. Many ap-proaches to this problem largely rely on fixed trajec-tories (e.g., [11] and the KIVA system [12, 13]). Thismakes the coordination problem much easier than inour case, where vehicle paths are not known a priori.The coordination sub-problem could be addressed byusing multi-robot motion planners, using a distributedapproach [14] or solving the problem in a centralizedfashion [15]. The latter is similar to our work in termsof using a centralized approach. However, multi-robotmotion planners are not efficient enough for use withinanother search, and are unable to handle temporalcontingencies that may occurr on-line.In this work, we have broken down a given hybrid

problem and have identified interdependency amongthe sub-problems, and we interleave reasoning withineach sub-problem. A heuristically guided backtrack-ing search finds a solution to the overall problem inthe joint search spaces of these sub-problems. Thisapproach is general and can be used in other domains,such as task planning for mobile service robots [16] orwarehouse management [17].

In addition to focusing on the optimization issue,our ongoing work will broaden the range of possibleonline contingencies (e.g., machine breakdowns whichrequire removing a machine) that can be dealt withby our DP3-solver.

AcknowledgementsThis work has been supported by the Swedish KnowledgeFoundation (KKS) project “Semantic Robots” and by At-las Copco. We are grateful to Pontus Bergsten, Lars Eriks-son, Stephen Joyce, Robert Lundh, and Ola Petterssonfor their support. We also wish to thank Nils Johanssonand the workers of the New Boliden mine in Gällivare fortheir precious insights into the mining process.

References[1] H. Andreasson, A. Bouguerra, M. Cirillo, et al.Autonomous transport vehicles: where we are and whatis missing. Robotics & Automation Magazine, IEEE22(1):64–75, 2015. doi:10.1109/MRA.2014.2381357.

[2] E. Tsang. Foundations of constraint satisfaction.Computation in cognitive science. Academic Press, 1993.

[3] T.-C. Liang, J.-S. Liu, G.-T. Hung, Y.-Z. Chang.Practical and flexible path planning for car-like mobilerobot using maximal-curvature cubic spiral. Roboticsand Autonomous Systems 52(4):312–335, 2005.doi:10.1016/j.robot.2005.05.001.

[4] R. Dechter, I. Meiri, J. Pearl. Temporal constraintnetworks. Artificial Intelligence 49(1-3):61–95, 1991.doi:10.1016/0004-3702(91)90006-6.

[5] A. Cesta, A. Oddi, S. F. Smith. A constraint-basedmethod for project scheduling with time windows.Journal of Heuristics 8(1):109–136, 2002.doi:10.1023/A:1013617802515.

[6] S. Qin, T. Badgwell. A survey of industrial modelpredictive control technology. Control EngineeringPractice 11:733–764, 2003.doi:10.1016/S0967-0661(02)00186-7.

[7] M. Quigley, K. Conley, B. Gerkey, et al. ROS: anopen-source robot operating system. In ICRAWorkshop on Open Source Software. 2009.

[8] M. Woolridge. Introduction to Multiagent Systems.John Wiley & Sons, Inc., New York, NY, USA, 2001.

[9] J. R. Montoya-Torres, J. L. Franco, N. I. Santiago,et al. Survey. Computers & Industrial Engineering79(Complete):115–129, 2015.doi:10.1016/j.cie.2014.10.029.

[10] S. Scheuren, S. Stiene, R. Hartanto, et al.Spatio-temporally constrained planning for cooperativevehicles in a harvesting scenario. KI pp. 341–346, 2013.doi:10.1007/s13218-013-0267-y.

[11] J. Marshall, T. Barfoot, J. Larsson. Autonomousunderground tramming for center-articulated vehicles.Journal of Field Robotics 25(6-7):400–421, 2008.doi:10.1002/rob.20242.

[12] Amazon robotics. http://www.amazonrobotics.com.Accessed: 2015-09-01.

[13] E. Guizzo. Three engineers, hundreds of robots, onewarehouse. IEEE Spectrum 45(7):26–34, 2008.

[14] K. E. Bekris, D. K. Grady, M. Moll, L. E. Kavraki.Safe distributed motion coordination for second-ordersystems with different planning cycles. Int Journal ofRobotics Research (IJRR) 31(2), 2012.doi:10.1177/0278364911430420.

[15] M. Cirillo, T. Uras, S. Koenig. A lattice-basedapproach to multi-robot motion planning fornon-holonomic vehicles. In IEEE/RSJ Int. Conf. onIntelligent Robots and Systems (IROS). 2014.doi:10.1109/IROS.2014.6942566.

[16] S. Stock, M. Mansouri, F. Pecora, J. Hertzberg.Online task merging with a hierarchical hybrid taskplanner for mobile service robots. In IEEE/RSJInternational Conference on Intelligent Robots andSystems (IROS). 2015.

[17] M. Mansouri, H. Andreasson, F. Pecora. Towardshybrid reasoning for automated industrial fleetmanagement. In Proc. of the IJCAI Workshop onHybrid Reasoning. 2015.

56