Repolode
AtsushiSakai

AtsushiSakai/PythonRobotics

位置推定、地図作成、SLAM、経路計画、制御などのロボティクスアルゴリズムを網羅したPythonコード集兼オンライン教科書。

スター
30,754
フォーク
7,422
未解決の Issue
64
最終コミット
一昨日

これは何?

PythonRoboticsは、広く使われているロボティクスアルゴリズムのPythonサンプル実装を集め、各アルゴリズムの数学的な背景を解説するオンライン教科書を併せて提供しています。アルゴリズムの基本的なロジックを追えるよう、実運用向けの実装ではなく、要点を理解しやすいシンプルなサンプルを目指しています。

コードは課題の分野ごとに整理されています。位置推定には拡張カルマンフィルタ、パーティクルフィルタ、ヒストグラムフィルタの例があり、地図作成ではグリッドマップ、LiDARデータのグリッドへの変換、k-meansクラスタリングを扱います。そのほか、SLAM向けのICPマッチングやFastSLAM 1.0、A*、Dijkstra、各種RRT、PRM、Frenet座標系の軌道など多数の経路計画手法、Stanley、LQR、モデル予測制御などの経路追従コントローラを収録しています。ロボットアームのナビゲーション、クアッドローターの軌道追従、ロケットの着陸、二足歩行ロボットの足跡計画も含まれています。

各サンプルは2Dまたは簡略化したシミュレーションで、アニメーションを生成します。利用にはPython 3.13とNumPy、SciPy、Matplotlib、cvxpyが必要で、condaまたはpipでインストールできます。

主な機能

  • 01位置推定、地図作成、SLAM、経路計画、経路追従、制御を網羅。
  • 02EKF、パーティクルフィルタ、A*、Dijkstra、RRT、Stanley、MPCの例を収録。
  • 03各サンプルは読みやすさを重視して実装され、アニメーション付きのシミュレーションを生成。
  • 04各アルゴリズムの数学的背景を解説するオンライン教科書を併設。
  • 05NumPy、SciPy、Matplotlibなど、一般的なPythonライブラリを少数用意するだけで利用可能。

ユースケース

  • ロボティクスアルゴリズムを大規模なシステムに実装する前に、その仕組みを学ぶ。
  • シミュレーションで経路計画器や経路追従コントローラのプロトタイプを作成する。
  • 実行可能なサンプルを使って、学部または大学院のロボティクス講義を行う。
  • 同じシナリオで複数の位置推定手法やSLAM手法の挙動を比較する。

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/AtsushiSakai/PythonRobotics.git
  2. 2

    pip で必要なライブラリをインストールする

    pip install -r requirements/requirements.txt
  3. 3

    ディレクトリ内の Python サンプルスクリプトを実行する

使う前に知っておきたいこと

  • サンプルコードの実行には Python 3.13.x が必要です。
  • パッケージ化されたライブラリや本番環境向けのロボティクススタックではなく、学習用のサンプルコードが含まれています。
  • ライセンスは NOASSERTION と記載されています。再利用する前に、リポジトリのライセンスファイルを確認してください。

トピック

よくある質問

PythonRobotics とは?
位置推定、地図作成、SLAM、経路計画、制御などのロボティクスアルゴリズムを網羅したPythonコード集兼オンライン教科書。 PythonRoboticsは、広く使われているロボティクスアルゴリズムのPythonサンプル実装を集め、各アルゴリズムの数学的な背景を解説するオンライン教科書を併せて提供しています。アルゴリズムの基本的なロジックを追えるよう、実運用向けの実装ではなく、要点を理解しやすいシンプルなサンプルを目指しています。
PythonRobotics は無料で使えますか?ライセンスは?
PythonRobotics は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
PythonRobotics は今もメンテナンスされていますか?
活発にメンテナンス中。PythonRobotics の最終コミットは 2026年10月19日 です。
PythonRobotics は何に使えますか?
ロボティクスアルゴリズムを大規模なシステムに実装する前に、その仕組みを学ぶ。 シミュレーションで経路計画器や経路追従コントローラのプロトタイプを作成する。 実行可能なサンプルを使って、学部または大学院のロボティクス講義を行う。 同じシナリオで複数の位置推定手法やSLAM手法の挙動を比較する。
PythonRobotics のインストール方法は?
リポジトリをクローンする: git clone https://github.com/AtsushiSakai/PythonRobotics.git pip で必要なライブラリをインストールする: pip install -r requirements/requirements.txt ディレクトリ内の Python サンプルスクリプトを実行する
PythonRobotics はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/AtsushiSakai/PythonRobotics

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト