leggedrobotics/ocs2
Optimal Control for Switched Systems
解決する課題
OCS2は、非線形最適制御問題を定式化および解決するためのC++ツールボックスを提供し、特にロボット工学におけるリアルタイムのモデル予測制御(MPC)向けに設計されています。これは、搭載計算能力が限られていることが多いロボットプラットフォーム上で、数値的に安定し効率的な制御を実装するという課題に対処します。
仕組み
このツールボックスは、最適制御問題を扱うために様々なソルバー(SLQ、iLQR、SQP、SLP、IPMを含む)を使用します。モードスケジュールとジャンプマップを備えたスイッチングシステムのOCPをサポートしています。ロボットのセットアップを簡素化するために、URDFモデルと統合して、システムダイナミクス、コスト、および制約(自己衝突回避など)を定義します。また、微分の計算のための自動微分機能を備え、デプロイ用のROSインターフェースも提供します。
対象者
脚式ロボット、クアッドローター、モバイルマニピュレータなどの複雑なロボットシステムに対して、リアルタイムMPCを実装する必要があるロボットエンジニアや研究者向けに設計されています。
ハイライト
- 複数のソルバー: SLQ、iLQR、SQP、SLP、IPMを含む幅広いアルゴリズムをサポート。
- スイッチングシステムのサポート: モードスケジュールとジャンプマップを使用して、単一およびマルチドメインの問題を処理。
- 制約の処理: Augmented Lagrangianおよび緩和バリア法を介して、ハード制約およびソフト制約を管理。
- ロボットツール: PinocchioによるURDF-to-modelヘルパー、およびHPP-FCLによる自己衝突制約を含む。
- ROS統合: ROS 1およびROS 2用の専用メッセージ、ノード、および可視化ツールを提供。
- 自動微分: システムダイナミクスとコストの微分計算にCppADを利用。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト