- Robot mission planning deals with accomplishing a mission that requires the robot to visit a set of sites and carrying out specific tasks at each site, consisting of Boolean and temporal constraints.
- The Boolean constraints are like “Visit any one of three coffee machines” and “Visit any two of three instructors”, while temporal constraints typically ask the robot to carry some sub-missions in sequential orders and some others in parallel.
- An Evolutionary algorithm is devised to solve the problem, enabling the use of probabilistic optimality properties.
- Each site is assumed to have an associated waiting time which is the average time for which the robot will have to wait in queue till the resource is available for use. A greedy heuristic is used to align the sites in the crossover operation to approach a better solution faster.
mission_planning.py
contains the implementation of proposed GA
(please note the code is a bit shabby currently)
git clone https://github.com/sashafierce/Mission-Planning-using-ga
cd Mission-Planning-using-ga
pip install numpy matplotlib pandas
python2.7 mission_planning.py
coord.txt
contains the site information (IIITA Robotics lab)transition cost.txt
contains the cost matrix (shortest viable path length for all lab site pairs)100runs_log.txt
contains time taken to complete the mission after each run of the algorithm (total 100 runs)plot_errorbars.py
is script that reads results file and plot error barsmission_planning_optimistic.py
is the optimistic version of the approach for comparisonmission_planning_pessimistic.py
is the pessimistic version of the approach for comparison
Results confirm that the proposed solution performs well as compared to baseline optimistic and pessimistic approaches.
- Python 2.7
- Numpy
- Pandas
- Matplotlib
The robot is instructed by numerous people to complete a set of missions A to C. The numbers denote the mission sites. (A) Ross (9) wants his project report to be collected by the robot for getting signed by any 2 panelists out of three panelists namely, Bishnu (29), Shruti (28) and Rohan (21) , then to be submitted to either GCN (1) or Mary (4). (B) Meanwhile, the person Joey (6) wants to get his room keys which may be with any of this friend Rohan (21), Chandler(22) or Daksha (25). After getting the key the robot should return to him. (C) Rohan (21) wants to get a stipend form printout from any of the machines copying_station (7) or office_pc (8) (either may be mal-functional) and after signing to be submitted to either of the supervisor office_rk (2) or GCN (1) for signature and finally given to office Mary (4).
The output mission site sequence of the robot, Start from the robita entrance gate
- Go to cabin_ross (9 ) to collect project report (A)
- Next goto daksh (25) to collect room keys for Joey(B), is not available
- Goto shruti (28) to get project report signed by panelists (A)
- Visit rohan (21) to get project report signed by panelists (A)
- Goto office_mary (4) to submit the signed doc (A)
- Goto Rohan (21) to collect the stipend form (C) and to collect the room keys for Joey(B)
- Goto cabin_joey (6) again to finally give the collected keys (B)
- Visit copying_station (7) next to get the copy of the stipend form(C)
- Goto office_rk (2) to get the stipend form signed by supervisor(C)
- Finally visit office_mary (4) to submit the signed stipend form to office (C)