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(姿態)、UnitDualQuaternion(姿態)。 - 2D空間:
SE2(姿態)、SO2(方向)、Twist2(姿態)。
這些類別支援重載運算子進行組合(*)、點變換(*)與指數(**),以及歸一化、反轉、歐拉角、滾轉-俯仰-偏航、角度-軸形式之間的轉換方法。同時也包含低階函數,供偏好直接操作NumPy陣列的使用者使用,並支援SymPy的符號變數。
適用對象
專為需要執行空間變換與姿態估計的機器人研究人員與工程師設計,也適用於使用《Robotics, Vision & Control》教科書的學生。
主要特色
- 類型安全: 防止2D與3D變換矩陣意外混用。
- 向量化: 支援單行內建立與操作旋轉矩陣或姿態的序列。
- 可視化: 內建工具用於繪製變換(
trplot)與製作動畫(tranimate)。 - 符號支援: 與SymPy相容,支援使用符號變數進行數學推導。
相關
- 專案
- 專案
- 專案
- 專案
- 專案