IR-SIM
Lightweight pure-Python 2D robot simulator for navigation, control and RL research
License
MIT
Overview
IR-SIM (Intelligent Robot Simulator) is a lightweight, pure-Python 2D simulator designed for navigation, control and learning research without the overhead of Gazebo-class 3D engines. Robots (differential-drive, omnidirectional, Ackermann), sensors (2D lidar with configurable FOV), obstacles and behaviors are declared in simple YAML files, and simulations run headless or with Matplotlib-rendered animation — fast enough for RL training loops and light enough for classroom laptops.
IR-SIM targets the gap between toy grid-worlds and heavyweight 3D simulators. A complete scenario — world size, robot kinematics, sensor models, obstacle fields (static, dynamic, polygonal), goal behaviors and collision handling — lives in a YAML file, and the Python API steps the world deterministically for algorithm-in-the-loop experiments. It supports fleets of heterogeneous robots for multi-agent navigation research, includes built-in behaviors (differential/omni motion to goal, random walk) plus keyboard teleoperation, and renders publication-quality animations via Matplotlib with GIF export. Kinematics can include configurable noise, lidar scans support intersection with arbitrary obstacle geometry, and a Gymnasium-compatible wrapper (gym-env branch/examples) makes it a natural RL training environment. The project is pip-installable, actively developed, documented on ReadTheDocs, and is used as the simulation backbone of several published navigation papers including RDA planner and neural-network motion planners.
Why it matters
Most navigation and RL research needs thousands of fast, reproducible 2D episodes, not photorealism — and IR-SIM has quietly become the go-to lightweight simulator for that work: pip-installable, YAML-configured, deterministic and fast, it is what many recent navigation papers actually ran their experiments in.
Problem it solves
Gazebo-class simulators are overkill for 2D navigation research: slow to iterate, heavy to install, painful in CI and RL loops. IR-SIM gives researchers a one-line install and a YAML file instead, with enough kinematic and sensor fidelity for credible navigation experiments.
Key takeaways
- Pure-Python 2D simulation of differential, omnidirectional and Ackermann robots
- Whole scenarios defined in YAML: robots, lidars, obstacle fields, behaviors, goals
- Fast headless stepping for RL training; Matplotlib animation and GIF export for papers
- Multi-robot fleets with per-robot kinematics, sensors and behaviors
- Pip-installable, ReadTheDocs-documented and used by published navigation planners
Who it is for
- Navigation and motion-planning researchers
- RL practitioners training 2D navigation policies
- Robotics educators and students
- Algorithm developers needing CI-friendly simulation
Limitations
- 2D only — no 3D physics, manipulation or photorealistic perception
- Matplotlib rendering is for visualization, not camera simulation
- Kinematic (not dynamic) robot models limit fidelity for aggressive control research