rai-opensource/spatialmath-python

Create, manipulate and convert representations of position and orientation in 2D or 3D using Python

何を解決するか

空間数学はロボット工学およびロボットビジョンの基盤であり、開発者が2Dおよび3D空間内の物体の位置、向き、ポーズを記述できるようにします。このライブラリは、手動で行列を管理することなく、これらの複雑な幾何変換を標準化された型安全な方法で扱う手段を提供します。

動作方法

このライブラリは、NumPy配列を数学的群に抽象化する高レベルなクラスを提供します。以下のような表現を実装しています:

  • 3D空間: SE3(ポーズ)、SO3(向き)、UnitQuaternion(向き)、および Twist3(ポーズ)。
  • 2D空間: SE2(ポーズ)、SO2(向き)、および Twist2(ポーズ)。

これらのクラスは、合成(* を使用)、点の変換、逆演算のためのオーバーロード演算子をサポートしています。また、正規化、オイラー角とロールピッチヨー間の変換、および行列指数関数と対数演算を介したリー代数への接続のためのツールも提供しています。低レベルのデータを好むユーザーのために、NumPy配列に直接作用する低レベルの基本関数のセットも用意されています。

対象ユーザー

ロボットビジョンや運動制御に取り組むロボット工学の研究者、エンジニア、学生向けに設計されています。

特徴

  • 型安全: 2D変換と3D回転行列を混同するようなエラーを防止します。
  • ベクトル化: 1行でポーズや回転のシーケンスの作成と操作が可能です。
  • 記号的サポート: SymPyと統合され、回転行列に記号変数を使用可能になります。
  • 可視化: 変換や軌道を可視化するための組み込みプロットおよびアニメーションツール(trplot, tranimate)を備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト