Pyrobosim: ROS2 enabled 2D mobile robot simulator for behavior prototyping

Hi folks,

I thought I would promote a tool I’ve been working on lately.

pyrobosim is a standalone, open-source version of some old work I did while working on home service robots at MIT. In making it standalone, I made it into a ROS2 package in hopes of tapping into the robotics software ecosystem.

Basically, pyrobosim is a simple point robot simulator where you can build and navigate environments consisting of connected rooms with locations where objects can be picked/placed. It’s intentionally simplified with the goal of prototyping higher-level behaviors. It also has a way to auto-generate worlds into Gazebo, so you can then run these same algorithms on an actual simulated robot with higher-fidelity motion planning and physics.

This is still in its initial stage, but I would appreciate any feedback as this is a project I hope to continue improving and supporting for some time.

GitHub repo: GitHub - sea-bass/pyrobosim: ROS2 enabled 2D mobile robot simulator for behavior prototyping
Documentation: pyrobosim — pyrobosim 0.0.0 documentation
Blog post: Building a Python Toolbox for Robot Behavior - Robotic Sea Bass

Here is an animation of a plan (or action sequence) running in pyrobosim:
pyrobosim_actions_animation

And here are examples of the same world exported to Gazebo classic and Ignition:

5 Likes

Oooh the tools looks nice and easy to use :slight_smile: