Repolode
hanruihua

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. 1

    Install the package from PyPI

    pip install ir-sim
  2. 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