🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

ir-sim

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ir-sim

IR-SIM is an open-source, lightweight robot simulator based on Python, designed for robotics navigation, control, and learning. This simulator provides a simple and user-friendly framework for simulating robots, sensors, and environments, facilitating the development and testing of robotics algorithms with minimal hardware requirements.

2.5.4
PyPI
Maintainers
1

Intelligent Robot Simulator (IR-SIM)

Github Release License PyPI Downloads Read the Docs Python Version

Documentation: https://ir-sim.readthedocs.io/en

IR-SIM is an open-source, lightweight robot simulator based on Python, designed for robotics navigation, control, and learning. This simulator provides a simple and user-friendly framework for simulating robots, sensors, and environments, thereby lowering the barrier to developing, training, and testing AI & robotics algorithms with minimal coding and hardware requirements.

Features

  • Simulate robot platforms with diverse kinematics, sensors, and behaviors (support).
  • Quickly configure and customize scenarios using straightforward YAML files. No complex coding required.
  • Visualize simulation outcomes using a naive visualizer matplotlib for immediate debugging.
  • Support collision detection and behavior control for each object.

Demonstrations

ScenariosDescription
drawingIn scenarios involving multiple circular differential robots, each robot employs Reciprocal Velocity Obstacle (RVO) behavior to avoid collisions. See Usage - collision avoidance
drawingA car-like robot controlled via keyboard navigates a binary map using a 2D LiDAR sensor to detect obstacles. See Usage - grid map
drawingA car-like robot controlled via keyboard navigates a grid map generated from 3D habitat spaces datasets like HM3D, MatterPort3D, Gibson, etc. See Usage - grid map hm3d
drawingEach robot employing RVO behavior is equipped with a field of view (FOV) to detect other robots within this area. See Usage - fov
drawingA car-like robot navigates through the randomly generated and moving obstacles. See Usage - dynamic random obstacles

Prerequisite

  • Python: >= 3.9

Installation

  • Install this package from PyPi:
pip install ir-sim

This does not include dependencies for all features of the simulator. To install additional optional dependencies, use the following pip commands:

# install dependencies for keyboard control
pip install ir-sim[keyboard]

# install all optional dependencies
pip install ir-sim[all]  
  • Or if you want to install the latest main branch version (which is more up-to-date than the PyPI version) from the source code:
git clone https://github.com/hanruihua/ir-sim.git    
cd ir-sim   
pip install -e .  

Usage

Quick Start


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


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, 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

Advanced Usage

The advanced usages are listed in the irsim/usage

Support

Currently, the simulator supports the following features. Further features, such as additional sensors, behaviors, and robot models, are under development.

CategoryFeatures
KinematicsDifferential Drive mobile Robot
Omni-Directional mobile Robot
Ackermann Steering mobile Robot
Sensors2D LiDAR
FOV detector
GeometriesCircle
Rectangle
Polygon
linestring
Binary Grid Map
Behaviorsdash (Move directly toward the goal)
rvo (Move toward the goal using Reciprocal Velocity Obstacle behavior)

Projects Using IR-SIM

  • Academic Projects:

    • rl-rvo-nav: [RAL & ICRA2023] A Reinforcement Learned based RVO behavior for multi-robot navigation.
    • RDA_planner: [RAL & IROS2023] An Accelerated Collision Free Motion Planner for Cluttered Environments.
    • NeuPAN: [T-RO 2025] Direct Point Robot Navigation with End-to-End Model-based Learning.
  • Deep Reinforcement Learning Projects:

Contributing

This project is under development. I appreciate and welcome all contributions. Just open an issue or a pull request. Here are some simple ways to start contributing:

  • Report bugs and issues.
  • Enhance the website documentation, such as the API and tutorials.
  • Add new usage examples and benchmarks.

Acknowledgement

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts