-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🔄 synced local 'docs/ai' with remote 'docs'
- Loading branch information
Showing
1 changed file
with
27 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# RVO2 Local Planner | ||
|
||
## 概要 | ||
|
||
Velocity Obstacle(VO)という考え方をベースに速度空間で計算を行って障害物回避を行うローカルプランナー。 | ||
|
||
## SSLのローカルプランナとしての実装 | ||
|
||
SSLでは単に障害物を回避するだけではなく、ルールによる禁止エリアへの侵入を防ぐ必要がある。 | ||
アルゴリズムに則った実装を行うならば、禁止エリアへ向かう速度を選択しないような速度空間における線形制約を追加する必要がある。 | ||
|
||
しかし、RVO2ライブラリの中に手を加える必要があったり、この操作をわざわざ速度空間で行う必要性もない。 | ||
そこで、ここではRVO2に受け渡す前に禁止エリア内に目標位置がある場合は、禁止エリア外に設定し直すなどの前処理を行うことで対応する。 | ||
この処理の便利なところは、目標位置が必ず禁止エリア外になるため、ロボットが既に禁止エリア内にいる場合でも、目標位置を設定するだけで自動的に禁止エリアから退避できるところである。 | ||
|
||
### ボールプレイスメントエリアの退避 | ||
|
||
ボールプレイスメントエリアの退避は以下のような特殊性をもつ。 | ||
|
||
- ボールプレイスメントは一つのシーンである。 | ||
- したがって、session_controllerで独自のPlannerを割り当てることができる。 | ||
- ボールプレイスメントは特定の条件下でのみ発生する。 | ||
- コマンドのフラグで管理しづらい | ||
|
||
よって、ボールプレイスメントエリアの回避は専用のPlanner作成するのが良い。 | ||
幸い、ボールプレイスメント中はエリアを避けることしか考えなくて良いので、非常にシンプルなPlannerを書くことができる。 | ||
(厳密には、ボールプレイスメント後の敵のフリーキックのことを考える必要はあるが...) |