snape/RVO2

Optimal Reciprocal Collision Avoidance (C++)

何を解決するか

複数の独立した移動ロボットやエージェントの相互衝突回避の問題に対処します。エージェント同士が通信を必要とせずに共有されたワークスペースを移動しながら衝突しないようにします。

動作方法

このライブラリは最適相互衝突回避(ORCA)の定式化を実装しています。2つのエージェント間の衝突回避の責任の半分をそれぞれのエージェントに割り当てることで、衝突のない運動を保証します。エージェントの最適な行動を求めるプロセスは、低次元の線形計画問題に変換され、滑らかな運動が得られます。C++98実装は2次元空間をサポートしており、効率性を高めるためにOpenMPを使用して複数プロセッサ間でシミュレーションを並列化しています。

対象ユーザー

密なまたは複雑な環境でのエージェント移動を管理する高パフォーマンスな方法が必要なロボットシミュレーションやマルチエージェントシステムの開発者向けに設計されています。

特徴

  • 数千のエージェントをミリ秒単位の計算時間で処理可能。
  • 衝突回避のためのエージェント間通信は不要。
  • 静的障害物、エージェント、好ましい速度を指定するためのシンプルなAPIを提供。
  • OpenMPを使用して並列化され、パフォーマンスが向上しています。

関連

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