Skip to content

Latest commit

 

History

History
280 lines (255 loc) · 13.4 KB

general_purpose_service_robot.md

File metadata and controls

280 lines (255 loc) · 13.4 KB

General Purpose Service Robot (GPSR)

参考動画:https://youtu.be/Hmcg-QO8Nso
※ 参考動画は完璧ではありません.年によってルールも異なるので,あくまで参考程度にしてください.

※ 詳細なルールや配点につきましては,アリーナ環境が決まり次第,追加していきます.気になる点や議論したい点などがありましたら,Issuesへお願いします.


メインゴール

このタスクでは,ロボットがユーザからの様々な要求に対して応じる汎用サービスを想定しています.そのため,この競技では,予め決められたタスクの流れや命令,行動内容などは存在しません.競技内でユーザが要求するタスクは,大量に用意したタスク内容の中から審査員によってランダムに選択されていきます.これらの要求は,複雑さに応じて3つのカテゴリに分類され,このカテゴリの難易度に基づいて得点も変化していきます.


フォーカス

このタスクは,複雑な音声対話,予め定義されていない命令の実行,効率的かつスピーディなタスクの実行,既知環境でのマッピングやナビゲーション,タスクプランニングなどに焦点を当てています.


セットアップ

  • ロケーション: 家庭環境を模したアリーナ環境が用いられます.特に競技はリビングルームで行われます.アリーナ内は事前にマッピングすることができます(既知の環境).
  • スタートロケーション: ロボットは,アリーナの外からスタートします.
  • オペレーター:オペレーターは,ランダムに選択されたタスクを,ロボットに実行するよう命令します.オペレーターは各チームから選出してください.
  • ゲスト:ゲストは,選択されたタスクに応じて,ジェスチャーやロボットとのインタラクションを行います.ゲストの人数は最大で3人です.ゲストは各チームから選出してください.各チームから出せない場合は,運営から人を補充します.

シナリオ

a. スタートフェーズ

  1. 競技時間:競技時間は10分間になります.
  2. 配置:レフェリーは,チームにロボットをスタート位置へ移動させるよう指示します.
  3. スタート:レフェリーはスタートの合図を出し,タイマーをスタートさせます.同時にチームは最後の簡単なセットアップ(スタートボタンを押す等)を完了し,エリアを離れます.このとき,ボタンを2つ以上押すなど複雑なセットアップ手順の実施は認められません.また,これ以降チームがロボットに触れると即座に失格になります.
  4. ドアオープン:チームの1人はスタートの合図と同時にドアを開けます.このとき,ロボットはドアが開いたことを認識し,自律的にアリーナへ入場します.
  5. ゴール:1つの命令タスクに対して,コマンドフェーズとサービスフェーズを行います.これを3回繰り返すことを目標としています.

b. コマンドフェーズ

  1. タスクの選択:チームがレフェリーに希望するカテゴリを伝え,ランダムにカテゴリ内のタスクを選択します.選択したカテゴリに応じてレフェリーはタスクの命令をオペレーターに伝えます.
  • Category 1:低難易度タスク
  • Category 2:中難易度タスク
  • Category 3:高難易度タスク or 不足情報/誤情報を含む命令
  1. ロボットへの命令:オペレータは,ここで選択されたタスクをロボットに命令します.このとき,ロボットがオペレータの命令について理解できなかった場合,もう一度発言を繰り返すように要求することができます.もし,受け取った命令で不足する情報があればロボットから人間に聞くこともできます.

c. サービスフェーズ

  1. 命令の復唱:ロボットは命令受け取ったあと,命令内容を復唱してから行動を開始します.
  2. サービス:ロボットは,与えられた命令のタスクを実行します.タスクの終了後は,次の命令のためにオペレータのもとへ戻ってきます.このときは,再度ドアオープンしてアリーナに入る必要はありません.

※ 何もせずに次の質問へ移行することの禁止
2回目,3回目の命令を達成するとスコアが高くなるため,あえて命令を聞き取るだけにとどめて,何もせずに戻ってきて次の命令にトライすることは禁止とします. タスク達成のために何らかの挑戦を行わなければないけません.また,2回目,3回目の命令のスコアの扱いは1回目,2回目のタスクを達成できたかどうかで判断します.

※ コマンドジェネレータの事前公開
RoboCup@HomeのGitHubに公開されているコマンドジェネレータを使用します(2019 Sydney 世界大会).
上記のコマンドジェネレータはカテゴリー制が採用されていないため,こちらのコマンドジェネレータを使用します(kyordhel legacyブランチ). しかし,カテゴリやオブジェクト,場所名などは本番用に向けて変更されるので,あくまでテスト用としての使用に限ります.


デウスエクスマキナ

本タスクでは,次のデウスエクスマキナが採用されます.デウスエクスマキナでは該当アクションの点数は入らないが,より簡単な手法でアクションをスキップし,タスクを継続することができます.

Action Bypassing
音声対話
  • マーカを用いてオペレータとのコミュニケーションを図る
タスクの支援
  • ロボットがタスクを行うのを何かしらの方法で支援する事もできる
  • その場合,審査員基準で50~200pts減点される
コマンドセットの使用
  • Command Category 1の命令文をコマンドジェネレータで生成する代わりに,コマンドセットを使用する
  • その場合,命令理解の得点は0.7倍される
  • ただし,命令理解後のタスク遂行に関するスコアはCommand Category 1と同じとする

コマンドセット

タスクの種類 命令文例
bring
  • Go to the $ 部屋名, grasp the $ 物体名 on the $ 場所名 and place it on the $ 場所名.
  • Go to the $ 部屋名, grasp the $ 物体名 on the $ 場所名 and give it to $ 人物名.
vision
(find obj | people)
  • Tell me how many $ 物体カテゴリー名 there are on the $ 場所名.
  • Tell me how many people in the $ 部屋名 are $ ポーズ.
navigation
(follow, guide)
  • Go to the $ 部屋名, find $ 人物名 at the $ 場所名 and follow (him | her).
  • Go to the $ 部屋名, find $ 人物名 at the $ 場所名 and guide (him | her) to the $ 場所名.
speech
(question, answer)
  • Go to the $ 部屋名, find $ 人物名 at the $ 場所名 and answer (his | her) question.
  • Go to the $ 部屋名, find $ 人物名 at the $ 場所名 and ask (him | her) $ 質問.

スコアシート

Action Score
メインタスク
命令を理解できた 3 × 20
1回目の命令タスク※を実行
  • タスクを完遂する(Command Category(Cat. = 1, 2, 3)で倍率変動)
    • 把持対象の場所まで移動する
    • 物体を把持する
    • 設置対象の場所まで移動する
    • 物体を正しい場所に設置・収納する
20 × Cat.
5
5
5
5
2回目の命令タスク※を実行
  • タスクを完遂する(Command Category(Cat. = 1, 2, 3)で倍率変動)
    • 把持対象の場所まで移動する
    • 物体を把持する
    • 設置対象の場所まで移動する
    • 物体を正しい場所に設置・収納する
40 × Cat.
10
10
10
10
3回目の命令タスク※を実行
  • タスクを完遂する(Command Category(Cat. = 1, 2, 3)で倍率変動)
    • 把持対象の場所まで移動する
    • 物体を把持する
    • 設置対象の場所まで移動する
    • 物体を正しい場所に設置・収納する
80 × Cat.
20
20
20
20
全てのコマンドを実行した後アリーナから退出 20
ペナルティ
不参加(無断) -500
合計(ボーナスタスクを除く) 500

※ スコアシートでは,Bringタスクを例に部分点を記載しています.

各タスクにおける部分点の内訳

タスクの種類 部分点(1/4) 部分点(2/4) 部分点(3/4) 部分点(4/4)
bring 物体の前まで移動する 物体を把持する 配置場所 / 人の前まで移動する 物体を配置する / 渡す
vision 観測する部屋・場所まで移動する 対象を観測する オペレーターの前まで移動する 観測結果を報告する
navigation 人の前まで移動する 人を追従 / 誘導する 追従 / 誘導先まで移動する 追従終了を認識 / 誘導終了を報告する
speech(ask) 人の前まで移動する 人に質問する オペレーターの前まで移動する 質問の答えを報告する
speech(answer) 人の前まで移動する 人に質問を要求する 質問に答える オペレーターの前まで移動する

運営(EC)による指示

  • 準備
    • ボランティア2名に名前を割り当てます.
    • オペレータに挑戦するコマンドを伝えます.
  • アナウンス(Setup day)
    • 部屋,ロケーション,人物の名称を公開します.
    • 物体の置かれる可能性がある場所を公開します.
    • オペレータ(人物)から命令を聞く可能性のある場所を公開します.
    • アリーナの入口と出口のドアの場所を公開します.

レフェリー(TC)の動き

※TCは各チームから数名選出され,他チームの競技において以下を行ってもらいます.

  • 競技開始30分前に集まり,説明を受け,スコアシートとコマンドリストを受け取ります.
  • シナリオに記載のレフェリーとして行動します.
  • 競技を採点します.
  • 他のTCと採点内容を確認します.
  • スコアシートを提出します.