LTL Optimal Multi-Agent Planner (LOMAP) is a python package for automatic planning of optimal paths for multi-agent systems. See the directory 'examples' (either in the source archive or in the installation directory) for examples.
Copyright (C) 2012-2015, Alphan Ulusoy ([email protected])
Copyright (C) 2013-2020, Cristian-Ioan Vasile ([email protected], [email protected])
Linux (Ubuntu)
- Clone the lomap repository
- Navigate to desired location
- Run the following line in shell:
git clone https://github.com/wasserfeder/lomap.git
- Install Spot using Debian Packages (https://spot.lrde.epita.fr/install.html)
-
Run the following lines in shell:
wget -q -O - https://www.lrde.epita.fr/repo/debian.gpg | sudo apt-key add - sudo sh -c "echo 'deb http://www.lrde.epita.fr/repo/debian/ stable/' >> /etc/apt/sources.list" sudo apt update sudo apt install spot libspot-dev spot-doc sudo apt install python3-spot # For python3 support
- Install necessary dependencies:
-
Run the following lines in shell:
sudo apt install python-pip pip install six pip install matplotlib pip install numpy sudo apt install python-tk pip install networkx==1.11 pip install pyyaml pip install pp # Optional apt install cmake
-
Note: Ensure that Python 2.7 is installed.
-
Note: If Python3, install matplotlib==2.2.3 in order to maintain compatibility with network 1.11
-
Note: If Python3, there is not easy way to install
pp
package.
- Download and unpack ltl2dstar
-
Download from: https://www.ltl2dstar.de/
-
Unpack ltl2dstar
-
Navigate to the ltl2dstar folder
-
Run the following lines in shell:
mkdir build cd build/ cmake -DCMAKE_BUILD_TYPE=Release ../src make
-
Optionally add the binary to folder in
PATH
-
For example:
mkdir ~/bin cp ltl2dstar ~/bin/ echo 'export PATH="$PATH:$HOME/bin"' >> ~/.bashrc
-
- Set
$PYTHONPATH
to include the location of the lomap library:
-
Run the following line in shell:
export PYTHONPATH="${PYTHONPATH}:/path/to/lomap"
-
Optionally make this setting persistent:
echo 'export PYTHONPATH="${PYTHONPATH}:/path/to/lomap"' >> ~/.bashrc
- Test if the setup worked properly:
- Navigate to
/lomap/lomap/tests
- Run any of the Python test files
- Ex.
python test_automata.py
- Ex.
-
ImportError: No module named lomap.classes
- Problem: The lomap library is not in the path variable
PYTHONPATH
- Possible Solution: Manually add lomap to your Python directory
cd <lomap_directory> export PYTHONPATH="$PYTHONPATH:$PWD"
-
File "/usr/bin/pip", line 9, in <module> from pip import main ImportError: cannot import name main
- Problem: Wrong version of pip (are using Python 3 pip)
- Solution: Run commands with pip2
-
AttributeError: 'Graph' object has no attribute 'nodes_iter' (or other graph issues)
- Problem: Wrong version of networkx installed
- Solution: Uninstall networkx and install networkx1.11 (see above)
- Port to networkx 2.x
- Add support for Python 3.x
- Remove old Ts/Markov file format system, use yaml
- Revise developer instructions, add more tests
- Create more testing examples with instructions (docs)
- Improve visualization
- Add support for DFSCAs
- Implement dfsa and dfsca minimization
- Integrate logic minimization
- Add Buchi/Rabin games
- Sync with twtl, reactive-ltl, lvrmod, pvrp, gdtl-firm
- Integrate GDTL and predicate system
- Add more examples
- Add RH/MPC framework
- General clean-up of code
- Test for functions and continuous integration system
- BDDs for guards
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
A copy of the GNU General Public License is included in this distribution, in a file called 'license.txt'.