ROS2 Epistemic Planning System (eplansys in short) is a project whose objective is to provide Robotics developers with a reliable, simple, and efficient EPDDL-based planning system with Dynamic Epistemic Logic reasoning. It is implemented in ROS2 and built on top of PlanSys2.
This project is the result of research on epistemic planning for autonomous multi-robot systems. PlanSys2 greatly inspired this project. In addition to epistemic extensions, we contribute key new aspects: S5/KD45 world models, EPDDL domain support, and heuristic search over epistemic states.
We hope that this software helps to include formal epistemic reasoning in more Robotics projects, offering a practical bridge between DEL theory and ROS2 deployment.
An epistemic problem is written in EPDDL — a domain and a problem file, the
epistemic counterparts of a PDDL domain and problem — and handed to the system
the way classical PlanSys2 is handed a .pddl domain. Grounding those sources
into the Kripke model the planner searches over is done by
plank, the EPDDL toolkit by
Alessandro Burigana and Francesco Fabiano, which plansys2_epddl_grounder
builds and runs for you.
The image builds the workspace on ROS 2 Humble, with the planner and the grounder at the commits this release pins, and runs the two-site survey: two scouts, two sites, and a policy that branches on what each one finds.
docker build -t eplansys .
docker run --rm eplansys
docker run --rm eplansys ros2 launch eplansys_demo survey_sites_launch.py north:=clean parallel:=trueThe mission prints its elapsed time and exits when the goal holds.
Each release carries Debian packages for ROS 2 Humble on Ubuntu 22.04, and the release itself is the apt repository:
echo "deb [trusted=yes] https://github.com/ePlanSys/eplansys/releases/download/v0.3.0 ./" |
sudo tee /etc/apt/sources.list.d/eplansys.list
sudo apt update
sudo apt install ros-humble-eplansys ros-humble-eplansys-demo
source /opt/ros/humble/setup.bash
ros2 launch eplansys_demo survey_sites_launch.pyThe PlanSys2 packages in it are this repository's fork, released under the upstream names at 3.0.0, and replace the upstream 2.0.x packages when both are available.
We want to invite you to contribute to this Open Source project!
Documentation: eplansys.github.io/eplansys
Visit the PlanSys2 Web Page for tutorials and background.
