位置推定、地図作成、SLAM、経路計画、制御などのロボティクスアルゴリズムを網羅したPythonコード集兼オンライン教科書。
hanruihua/ir-sim
YAMLファイルで設定できる、ナビゲーション・制御・学習向けの軽量なPython製ロボットシミュレーター。
- スター
- 1,169
- フォーク
- 151
- 未解決の Issue
- 4
- 最終コミット
- 6 日前
これは何?
IR-SIMは、ナビゲーション、制御、ロボット学習の研究を目的としたPython製ロボットシミュレーターです。シナリオ、ロボット、センサー、障害物はYAMLファイルで定義できるため、セットアップに必要なコードは最小限、あるいは不要です。衝突判定を標準搭載し、Matplotlibベースのビューアーでシミュレーション結果を表示します。
差動駆動、全方向移動、Ackermann操舵に対応したロボットに加え、2D LiDAR、FMCW LiDAR、接触センサー、視野センサーをサポートしています。挙動には、目標への直接移動、RVOやORCAによるマルチエージェント衝突回避、社会力モデルに基づく歩行者モデルがあります。オブジェクトは円、長方形、多角形、線分列、バイナリーグリッドマップとして定義でき、剛体接触モードでは押す・積み重ねる動作を扱えます。
このパッケージはpipでインストールでき、Python 3.10以降が必要です。高精度な物理シミュレーションよりも、計画アルゴリズムや学習アルゴリズムを手早く試作できることを重視しており、学術・教育用途を想定しています。
主な機能
- 01差動駆動、全方向移動、Ackermann方式の運動学に対応したロボット
- 02ほとんどコードを書かずに使えるYAMLベースのシナリオ設定
- 03LiDAR、接触センサー、視野センサーを標準搭載
- 04マルチエージェント環境向けのRVO、ORCA、社会力モデルに基づく挙動
- 05デバッグに使える軽量なMatplotlib描画
ユースケース
- 実機で動かす前に、ナビゲーションや衝突回避アルゴリズムを試作する
- ロボットナビゲーション向けの強化学習エージェントを訓練・評価する
- 再現可能なシミュレーションシナリオを使ってロボティクスの授業を行う
- 複数ロボットや歩行者の群集挙動をテストする
クイックスタート
- 1
PyPIからパッケージをインストールします
pip install ir-sim - 2
サンプルのYAMLをrobot_world.yamlとして保存し、Pythonのクイックスタートスクリプトを実行します
使う前に知っておきたいこと
- Python 3.10以降が必要です。
- Matplotlibベースのレンダリングを使用しており、高精細なグラフィックスではなく、軽量なデバッグを目的としています。
収録されている特集
トピック
よくある質問
- ir-sim とは?
- YAMLファイルで設定できる、ナビゲーション・制御・学習向けの軽量なPython製ロボットシミュレーター。 IR-SIMは、ナビゲーション、制御、ロボット学習の研究を目的としたPython製ロボットシミュレーターです。シナリオ、ロボット、センサー、障害物はYAMLファイルで定義できるため、セットアップに必要なコードは最小限、あるいは不要です。衝突判定を標準搭載し、Matplotlibベースのビューアーでシミュレーション結果を表示します。
- ir-sim は無料で使えますか?ライセンスは?
- ir-sim は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ir-sim は今もメンテナンスされていますか?
- 活発にメンテナンス中。ir-sim の最終コミットは 2026年11月1日 です。
- ir-sim は何に使えますか?
- 実機で動かす前に、ナビゲーションや衝突回避アルゴリズムを試作する ロボットナビゲーション向けの強化学習エージェントを訓練・評価する 再現可能なシミュレーションシナリオを使ってロボティクスの授業を行う 複数ロボットや歩行者の群集挙動をテストする
- ir-sim のインストール方法は?
- PyPIからパッケージをインストールします: pip install ir-sim サンプルのYAMLをrobot_world.yamlとして保存し、Pythonのクイックスタートスクリプトを実行します
- ir-sim はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/hanruihua/ir-sim
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
センサーシミュレーションとGymnasium形式の環境を備えた、強化学習や自動運転研究向けの軽量なPython製運転シミュレーター。
PyBulletベースのGymnasium環境で、クアッドコプター向けの単一・マルチエージェント強化学習コントローラーを訓練できます。
自動運転制御アルゴリズムのPythonサンプルコードと解説ドキュメントを収録した、初心者向けの学習資料です。
ROS 2向けのナビゲーションフレームワーク。ビヘイビアツリーを中心としたスタックで、移動ロボットの経路計画、追従、障害物回避を実現します。
推定・計画・制御の教育と研究向けに、集中定数系の空力モデルを備えたPython製マルチローターUAVシミュレーターです。