LoginSignup
3
1

More than 1 year has passed since last update.

AWS Robot Delivery Challenge 2022 に出場できなかった話 : タスクプランニング

Last updated at Posted at 2022-03-20

概要を読んでいない方は先にこちらを読んでください!
目次のページ

はじめに

今回は上図のcommanderの部分について説明します.
WebUIから指令をうけとって,ロボットの各機能を操作する,いわば司令塔に相当する機能です.

Commanderの制御フロー

WebUIは以下のような画面になっています.

画面右上のControllerから確認できるように,送られる指令は以下の4つです.

  • Dijkstra
  • Navigation
  • Manual
  • Auto

それぞれの指令が送られたときのCommanderの対応について以下で説明します.

Dijkstra

この指令を送る際は事前にMapで経由したい箇所(あれば)と目標地点の番号をクリックします.そのあとこの指令を送ることで,指定した番号のリストにあった最適経路が帰ってきてロボットが動くという仕組みになっています.

  • アルゴリズム
    ①ターゲットポイントをdijkstraノードに送り,初期目標姿勢を受け取る.
    ②現在位置と初期目標姿勢から頭とお尻の近い方を目標姿勢に近づける.
    ③ロボットがどちら向きかをplannerノードに送る.
    ④kanayama_controlノードを動かす.

Navigation

この指令を送る際は事前にMapで目標地点の番号をクリックします.
そのあとこの指令をおくることで,目標位置までロボットが動くという仕組みになっています.

  • アルゴリズム
    ①stop_controlで全コントローラを止める.
    ②ターゲットポイントをposition_controlノードにおくる.

Manual

これは,ロボットのコントロールを手動に切り替えるという指令になっています.ロボットの前に移動する障害物が来たり,不測の事態が起こった時に手動に切り替えるための機能です.

  • アルゴリズム
    ①stop_controlで全コントローラを止める.
    ②manual_controlノードを動かす.

Auto

これは,Kanayama Controlを再開させる指令になっています.
主にManualからの切り替えで使用します.

  • アルゴリズム
    ①stop_controlで全コントローラを止める.
    ②kanayama_controlノードを動かす.
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1