IR-SIM — Intelligent Robot Simulator *A lightweight, YAML-driven robot simulator for navigation, control, and learning* arXiv Paper Cite IR-SIM PyPI Version Python Version CI Coverage Docs License Downloads Ranked #1 among 2D Robotics Simulators in best-of-robot-simulators
## Contents - [Overview](#overview) - [Demonstrations](#demonstrations) - [Installation](#installation) - [Quick Start](#quick-start) - [Support](#support) - [Projects Using IR-SIM](#projects-using-ir-sim) - [Citation](#citation) ## Overview **IR-SIM** is an open-source, Python-based, lightweight robot simulator designed for navigation, control, and learning. It provides a simple, user-friendly framework with built-in collision detection for modeling robots, sensors, and environments. Ideal for academic and educational use, IR-SIM enables rapid prototyping of robotics and learning algorithms in custom scenarios with minimal coding and hardware requirements. ## Key Features - Simulate robot platforms with diverse kinematics, sensors, and behaviors ([support](#support)). - Quickly configure and customize scenarios using straightforward YAML files. No complex coding required. - Visualize simulation results with a lightweight Matplotlib-based renderer for rapid debugging. - Support collision detection and customizable behavior policies for each object. - Suitable for multi-agent and robot-learning research ([Projects](#projects-using-ir-sim)). ## Demonstrations

Multi-Robot RVO Collision Avoidance
Source

Ackermann Robot with 2D LiDAR
Source

HM3D / MatterPort3D Grid Map
Source

Field-of-View Detection
Source

Dynamic Random Obstacles
Source

200-Agent ORCA via pyrvo
Source

Fog-of-Map Exploration
Source

Rigid-Body Contact: Pushing Boxes
Source

Social Force Model Pedestrians
Source
## Installation > **Requires Python >= 3.10** ### pip ```bash pip install ir-sim # Optional: keyboard control and all extras pip install ir-sim[all] ``` ### From source ```bash git clone https://github.com/hanruihua/ir-sim.git cd ir-sim pip install -e . ``` ### uv ```bash git clone https://github.com/hanruihua/ir-sim.git cd ir-sim uv sync ``` ## Quick Start A minimal example: a differential-drive robot navigates toward a goal using the built-in `dash` behavior. ```python import irsim env = irsim.make( "robot_world.yaml" ) # initialize the environment with the configuration file for i in range(300): # run the simulation for 300 steps env.step() # update the environment env.render() # render the environment if env.done(): break # check if the simulation is done env.end() # close the environment ``` YAML Configuration: `robot_world.yaml` ```yaml world: height: 10 # the height of the world width: 10 # the width of the world step_time: 0.1 # 10Hz calculate each step sample_time: 0.1 # 10 Hz for render and data extraction offset: [0, 0] # the offset of the world on x and y robot: kinematics: {name: 'diff'} # omni, omni_angular, diff, acker shape: {name: 'circle', radius: 0.2} # radius state: [1, 1, 0] # x, y, theta goal: [9, 9, 0] # x, y, theta behavior: {name: 'dash'} # move toward to the goal directly color: 'g' # green ``` For more examples, see the [usage directory](https://github.com/hanruihua/ir-sim/tree/main/usage) and the [documentation](https://ir-sim.readthedocs.io/en). ## Support | **Category** | **Features** | | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Kinematics** | Differential Drive mobile Robot · Omnidirectional mobile Robot · Omnidirectional with Angular control · Ackermann Steering mobile Robot | | **Sensors** | 2D LiDAR · 2D FMCW LiDAR · Contact Sensor · FOV Detector | | **Geometries** | Circle · Rectangle · Polygon · LineString · Binary Grid Map · Fog of Map | | **Behaviors** | dash (move directly toward goal) · RVO (Reciprocal Velocity Obstacle) · ORCA (Optimal Reciprocal Collision Avoidance) · SFM (Social Force Model, per-object and group with social groups) | | **Collision** | stop · unobstructed · unobstructed_obstacles · contact (rigid-body pushing with mass, friction and inertia: robots push what they can overcome, stall against heavier boxes, off-center pushes turn boxes, released boxes slide to a stop, walls block) | ## Documentation - **English:** [https://ir-sim.readthedocs.io/en](https://ir-sim.readthedocs.io/en) - **Chinese (中文):** [https://ir-sim.readthedocs.io/zh-cn](https://ir-sim.readthedocs.io/zh-cn) ## Projects Using IR-SIM ### Academic Publications - **[RAL & ICRA 2023]** [rl-rvo-nav](https://github.com/hanruihua/rl_rvo_nav) -- Reinforcement learning-based RVO behavior for multi-robot navigation. - **[RAL & IROS 2023]** [RDA_planner](https://github.com/hanruihua/RDA_planner) -- Accelerated collision-free motion planner for cluttered environments. - **[T-RO 2025]** [NeuPAN](https://github.com/hanruihua/NeuPAN) -- Direct point robot navigation with end-to-end model-based learning. - **[ROBIO 2025]** [MfNeuPAN](https://doi.org/10.1109/ROBIO66223.2025.11377233) -- Proactive end-to-end navigation in dynamic environments using direct multi-frame point constraints. - **[WCL 2025]** [Robotic Sensor Network: Achieving Mutual Communication Control Assistance With Fast Cross-Layer Optimization](https://doi.org/10.1109/LWC.2024.3502757) -- Cross-layer communication and control optimization evaluated on IR-SIM. - **[IROS 2026]** [SDLW](https://github.com/williamleong/sdlw) -- Decentralized scalable exploration using sensor-driven Lévy walks for minimal-sensing robot teams. - **[Sensors 2026]** [PPO-GAT-Follow](https://doi.org/10.3390/s26154711) -- Graph-attention reinforcement learning for robot person following in dense crowds. - **[TWC 2026]** [Energy-Efficient Federated Edge Learning for Small-Scale Datasets in Large IoT Networks](https://doi.org/10.1109/TWC.2026.3683911) -- Energy-efficient federated edge learning evaluated through IR-SIM autonomous-navigation experiments and CARLA validation. ### Community Projects - [DRL-robot-navigation-IR-SIM](https://github.com/reiniscimurs/DRL-robot-navigation-IR-SIM) -- Deep reinforcement learning for robot navigation. - [AutoNavRL](https://github.com/harshmahesheka/AutoNavRL) -- Autonomous navigation using reinforcement learning. - [IRSIM-3DGS-Bridge](https://github.com/Wayneyujie/IRSIM-3DGS-Bridge) -- A closed-loop bridge from 3D Gaussian Splatting scenes to IR-SIM planning/following and back to Habitat-GS trajectory playback. - [EdgeVox](https://github.com/nrl-ai/edgevox) -- Offline voice-agent framework with an IR-SIM mobile-navigation backend. ### Courses Using IR-SIM - **The University of Hong Kong (HKU):** [COMP3356 Robotics](https://www.cs.hku.hk/index.php/programmes/course-offered?infile=2026/comp3356.html) - **Southern University of Science and Technology (SUSTech):** [CS401 Intelligent Robotics](https://github.com/Intelligent-Robot-Course) *If your publication, project, or course uses IR-SIM, we welcome proposals for inclusion via an issue or pull request.* ## Citation If you find IR-SIM useful, please consider starring ⭐ this project and citing our paper: ```bibtex @article{han2026ir, title={IR-SIM: A Lightweight Declarative Simulator for Navigation Learning and Benchmarking}, author={Han, Ruihua and Wang, Shuai and Li, Chengyang and Gao, Rui and Wang, Xinyi and Liu, Zhe and Li, Guoliang and Lu, Yupu and Hao, Qi and Pan, Jia and Zhao, Hengshuang}, journal={arXiv preprint arXiv:2606.08729}, year={2026}, doi={10.48550/arXiv.2606.08729}, url={https://arxiv.org/abs/2606.08729}, eprint={2606.08729}, archivePrefix={arXiv}, primaryClass={cs.RO} } ``` ## Contributing Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/hanruihua/ir-sim/blob/main/CONTRIBUTING.md) for guidelines. ## Acknowledgement - [PythonRobotics](https://github.com/AtsushiSakai/PythonRobotics) ## License IR-SIM is released under the [MIT License](https://github.com/hanruihua/ir-sim?tab=MIT-1-ov-file).