helsing-ai/sguaba
A Rust crate that provides hard-to-misuse rigid body transforms (aka "spatial math") for engineers with other things to worry about than linear algebra.
何を解決するか
Sguabaは、剛体変換と空間数学を扱うための型安全な方法を提供し、異なる座標系からの座標が誤って混ざったり、誤用されたりする一般的なエンジニアリングエラーを防ぎます。航空宇宙やロボティクスで使用されるさまざまなグローバルおよびローカル座標系間の変換プロセスを簡素化します。
仕組み
このライブラリはRustの型システムを使用して、座標系を明示的にします。CoordinateおよびVector型を提供し、これらはCoordinateSystemに対してジェネリックです。system!マクロを使用すると、開発者はカスタム座標系(例:PlaneFrd)を定義でき、あるシステム内の座標が明示的な変換なしに別のシステムで使用されないことを保証できます。
標準的な座標系をいくつか標準でサポートしています:
- WGS84: 緯度、経度、および高度。
- ECEF: 地球中心、地球固定のデカルト座標。
- NED: 北、東、下(ローカル接平面)。
- FRD: 前、右、下(機体相対フレーム)。
- ENU: 東、北、上。
ユーザーは、「エンジニアリング重視」のAPI(PoseおよびOrientation型を使用)または「数学重視」のAPI(剛体変換と回転を使用)を選択できます。
対象ユーザー
空間データ、ロボティクス、または航空宇宙システムに従事し、線形代数を手動で管理することなく、信頼性の高い座標変換を実行する必要があるエンジニア。
ハイライト
- 型安全な座標系: 異なる参照フレーム間での座標の誤用を防ぎます。
- 包括的なシステムサポート: WGS84、ECEF、NED、FRD、およびENUの組み込みサポート。
- 柔軟なAPI: 直感的なエンジニアリング型(Pose/Orientation)と厳密な数学的変換の両方を提供します。
- マクロベースのシステム定義: 特定のセマンティクスを持つ新しい座標系を簡単に定義できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト