A Python code collection and textbook of robotics algorithms covering localization, mapping, SLAM, path planning and control.
hanruihua/ir-sim
A lightweight, Python-based robot simulator for navigation, control, and learning, configured through YAML files.
- Stars
- 1,169
- Forks
- 151
- Open issues
- 4
- Last commit
- 5 days ago
What is it?
IR-SIM is a Python robot simulator aimed at navigation, control, and robot learning research. Scenarios, robots, sensors, and obstacles are defined in YAML files, so most setups need little or no code. It includes built-in collision detection and renders results with a Matplotlib-based viewer.
The simulator supports differential-drive, omnidirectional, and Ackermann-steering robots, along with 2D LiDAR, FMCW LiDAR, contact, and field-of-view sensors. Behaviors include direct goal-seeking, RVO and ORCA multi-agent collision avoidance, and social force model pedestrians. Objects can be circles, rectangles, polygons, line strings, or binary grid maps, and a rigid-body contact mode handles pushing and stacking.
The package installs with pip and requires Python 3.10 or newer. It is intended for academic and educational use, where quick prototyping of planning and learning algorithms matters more than high-fidelity physics.
Key features
- 01Robots with differential, omnidirectional, and Ackermann kinematics
- 02YAML-based scenario configuration with little or no coding
- 03Built-in LiDAR, contact, and field-of-view sensors
- 04RVO, ORCA, and social force model behaviors for multi-agent scenes
- 05Lightweight Matplotlib rendering for debugging
Use cases
- Prototyping navigation or collision-avoidance algorithms before running on hardware
- Training and benchmarking reinforcement learning agents for robot navigation
- Teaching robotics courses with reproducible simulated scenarios
- Testing multi-robot or pedestrian crowd behaviors
Quick start
- 1
Install the package from PyPI
pip install ir-sim - 2
Save the example YAML as robot_world.yaml and run the Python quick-start script
Things to know
- Requires Python 3.10 or newer.
- Uses Matplotlib-based rendering, which is aimed at lightweight debugging rather than high-fidelity graphics.
In collections
Topics
FAQ
- What is ir-sim?
- A lightweight, Python-based robot simulator for navigation, control, and learning, configured through YAML files. IR-SIM is a Python robot simulator aimed at navigation, control, and robot learning research. Scenarios, robots, sensors, and obstacles are defined in YAML files, so most setups need little or no code. It includes built-in collision detection and renders results with a Matplotlib-based viewer.
- Is ir-sim free to use? What license does it have?
- ir-sim is open source under the MIT license. Check the license terms before using it in commercial products.
- Is ir-sim still maintained?
- Actively maintained. The last commit to ir-sim was on Nov 1, 2026.
- What can I use ir-sim for?
- Prototyping navigation or collision-avoidance algorithms before running on hardware Training and benchmarking reinforcement learning agents for robot navigation Teaching robotics courses with reproducible simulated scenarios Testing multi-robot or pedestrian crowd behaviors
- How do I install ir-sim?
- Install the package from PyPI: pip install ir-sim Save the example YAML as robot_world.yaml and run the Python quick-start script
- Where can I get ir-sim?
- The source code and installation instructions are on GitHub: https://github.com/hanruihua/ir-sim
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A lightweight Python driving simulator for reinforcement learning and autonomous driving research, with sensor simulation and Gymnasium-style environments.
PyBullet-based Gymnasium environments for training single and multi-agent reinforcement learning controllers for quadcopters.
Python sample code and guide documents covering autonomous vehicle control algorithms, intended as a beginner-friendly study resource.
ROS 2 navigation framework that lets mobile robots plan paths, follow them, and avoid obstacles using a behavior-tree-driven stack.
A Gymnasium-compatible collection of simulated driving environments for training and testing autonomous driving and decision-making agents.