PyRoboSim
PyRoboSim is a ROS 2 enabled 2D mobile robot simulator for behavior prototyping.
We look forward to your open-source contributions to PyRoboSim. For more information, refer to the contributor guide on GitHub.
Vision Statement
The vision for PyRoboSim is that you will be able to create worlds to prototype your robot behavior in a simple environment before moving to a more realistic simulator, or even real robot hardware.
To enable this, a typical user of PyRoboSim would:
Build complex worlds using the world modeling framework, both manually and programmatically.
Define custom actions and action executors (e.g., path planning/following or decision-making algorithms).
Design task and motion planners that go from task specification to an executable plan.
Export worlds to Gazebo to test in a 3D world with more complex sensing and actuation models.
Usage Examples
Below is a list of known projects that use PyRoboSim.
Home Service Robotics at MIT CSAIL, by Sebastian Castro (2020) – the precursor to this work!
Task Planning in Robotics and Integrated Task and Motion Planning in Robotics blog posts, by Sebastian Castro (2022)
Hierarchically Decentralized Heterogeneous Multi-Robot Task Allocation System, by Sujeet Kashid and Ashwin D. Kumat (2024)
Hands-On with ROS 2 Deliberation Technologies workshop at ROSCon 2024, by Christian Henkel, Sebastian Castro, Davide Faconti, David Oberacker, David Conner, and Matthias Mayr (2024)
AutoAPMS: A unified software framework for creating behavior-based robotic applications, by Robin Müller (2025)
Collaborative Large Language Models for Task Allocation in Construction Robots, by Samuel A. Prieto and Borja García de Soto (2025)
If you have something to add, please submit a pull request!
Contents: