Simultaneous Task Allocation and Planning for Multi-Robots under Hierarchical Temporal Logic Specifications
Past research into robotic planning with temporal logic specifications, notably Linear Temporal Logic (LTL), was largely based on singular formulas for individual or groups of robots. But with increasing task complexity, LTL formulas unavoidably grow lengthy, complicating interpretation and spec- ification generation, and straining the computational capacities of the planners. We capitalized on the intrinsic structure of tasks and introduced a hierarchical structure to LTL specifi- cations, which have proven to be more expressive than their flat counterparts. We also designed an algorithm to ascertain whether they are satisfied given an input sequence. Second, we employ a search-based approach to synthesize plans for a multi-robot system, accomplishing simultaneous task allocation and planning. The search space is approximated by loosely interconnected sub-spaces, with each sub-space corresponding to one LTL specification. The search is predominantly confined to a single sub-space, transitioning to another sub-space under certain conditions, determined by the decomposition of automatons. Moreover, multiple heuristics are formulated to expedite the search significantly. A theoretical analysis concerning complete- ness and optimality is conducted under mild assumptions. When compared with existing methods on service tasks, our method outperforms in terms of execution times with comparable solution quality. Finally, scalability is evaluated by testing a group of 30 robots and achieving reasonable runtimes.
Install
The code is tesed using Python 3.10.12.
Develop via Conda
Following the instruction:
cd /path/to/Hierarchical-LTL-Stap
conda env create -f environment.yml
conda activate hierarchical_ltl_stap
Import as package
cd /path/to/Hierarchical-LTL-Stap
pip install -e .
Install ltl2ba
Download the software LTL2BA from this link, and follow the instructions to generate the exectuable ltl2ba and then copy it into the folder Hierarchical-LTL-Stap, same hierarchy level with hierarchical_LTL_stap_on_the_fly.py.
Usage
Input
Folder domain includes domain files that describe robot and environment action models.
Scripts workspace describes the environment that robots reside in.
Script specification.py includes hierarchical task specifications.
The office building is depicted using a grid-based layout, where areas $d_1$ to $d_{14}$ represent desks, $m_1$ to $m_6$ are meeting rooms, $e$ stands for the elevator, $g$ for the garbage room, $p$ for the printer room, and $k$ for the coffee kitchen. Areas marked as "public" indicate public spaces. Obstacles are illustrated in gray. The locations of robots are shown as numbered red dots.
Scenario 1
Empty a paper bin located at desk $d_5$. During this task, the robot must avoid the public area while transporting the bin.
The explanation of arguments can be found in function create_parser.
stap_nav_12.mp4
In the demonstration video, the red text highlights a particular robot and the action it's performing at a given moment. For example, "(1, 2) carrybin" indicates that at this point in time, the second robot of type 1 is engaged in transporting a bin. Additionally, the red arrow signifies the direction of movement for that time step.
Scenario 2
Distribute printed copies of a document to desks $d_{10}$, $d_7$, and $d_5$, and avoid public areas while carrying the document.
Take a photo in meeting rooms $m_1$, $m_4$, and $m_6$. The camera should be turned off for privacy reasons when not in meeting rooms. Deliver a document from desk $d_5$ to $d_3$, ensuring it does not pass through any public areas, as the document is internal and confidential. Guide a person waiting at desk $d_{11}$ to meeting room $m_6$.
@article{luo2024simultaneous,
title={Simultaneous Task Allocation and Planning for Multi-Robots under Hierarchical Temporal Logic Specifications},
author={Luo, Xusheng and Liu, Changliu},
journal={arXiv preprint arXiv:2401.04003},
year={2024}
}
Related work
@article{luo2024decomposition,
title={Decomposition-based hierarchical task allocation and planning for multi-robots under hierarchical temporal logic specifications},
author={Luo, Xusheng and Xu, Shaojun and Liu, Ruixuan and Liu, Changliu},
journal={IEEE Robotics and Automation Letters},
year={2024},
publisher={IEEE}
}