大阪電気通信大学

RoboCup SSL Humanoid における歩行動作の選択の改善と複数キック選択のキックプレイへの応用

研究背景

 升谷研究室では,自律分散ロボットシステムの研究の一環として,ヒト型ロボットによるサッカー競技RoboCup SSL Humanoidに,ODENSというチーム名で参加している.

 RoboCupのこの種目では,ロボットの外部のカメラやコンピュータを利用することができるので,フィールド上空に設置されたカメラの映像に基づいて,外部のPCで各ロボットの行動を決定し,無線で指令を送る(図1).ロボットには,あらかじめ「前進」「旋回」「キック」というようなの動作が登録されており,PCからの指令によってそれらの動作を再生する.一連の動作は,すべて自動的に実行され,人間による操縦や介入は許されていない.

 ODENSのシステムでは,並進動作の選択のために,平井が考案した所要時間に基づくアルゴリズムを採用している.そのアルゴリズムは,ボールをキックする前にボールを回避する移動にも使われている.ところが,キック前にロボットを位置決めする点(以後,キック前点と呼ぶ)がボールに近い場合には,適切に動作を選択できていなかった.

 さらに、キックをするために使用していたインサイドキックは、片脚を使って股関節のヨー軸を90度回転させ、足の甲の内側でボールを蹴る動作であった。このキック動作の問題は、片脚の股関節のロール軸の一つの関節のみの力で蹴るため、ボールを蹴る力に限界があった。そのため、キック力が弱いことやボールを蹴ることのできる距離が狭い問題があった。

研究目的

 本研究の目的は、研究背景で述べた平井の研究の問題の解決と、インサイドキックに代わる新たなキック動作の開発を用いた、歩行動作の選択の改善と複数キック選択のキックプレイへの応用である。具体的には、ボールを目標の方向に向けて確実にキックを行うことや、新たなキック動作の使い分けを行うための歩行動作の改善と、それに伴う行動決定プログラムの仕組みの改良を行うことである。

旧キックと新たな2種類のキック

 旧キックであるインサイドキック(左右)と、新たに作成したトーキック(左右)、横キック(左右)の2 種類とのキックについて述べる。

インサイドキック

トーキック

横キック

回避動作

 回避動作とは,ロボットが目標点まで移動する動作のことであり,決定条件・種類・移動動作により変化するものである.以下で登場する対象物は,相手チーム・自チームのロボットやボールなどと対象物となるものが多い.そのため,本説明では対象物をボールとして説明を行う.判定円は,対象物から任意の半径分を広げた円の事を指す.判定円の目的は,回避動作を行うにあたって対象物を回避するために必要な範囲を指定するためである.著者が所属するチームODENS のシステムでは,ロボットがボールをゴールにシュートさせようとすると,ボールに対してゴールの反対側に移動する必要がある.そのため,ボールに接触しないように回り込むための回避動作が必要である.

  • 回避動作の決定条件は,ロボットの現在位置・ボール・目標位置などとの位置関係の判定と,ロボットが回避動作判別線の左右どちら側かに位置するかの判定.また,回避動作判別線の判定は,図3の青枠で囲った本研究で拡張した部分のみで使用されている.
  • 回避動作の種類は,決定条件に基づいて,ロボットがボールを回避する必要がある場合(回避点経由あり)または,必要がない場合(回避点経由なし)の2種類に分けられる(図3).
  • どちらかの種類の判別は常に行われており,自動的にそれぞれの種類にあった移動動作を行う.移動動作は以下の3つに大まかに分けられる.
  1. 必要があれば,現在の位置から旋回や前進を行い,回避点へ移動する.
  2. キックするために旋回や前進を行い,キック前点へ移動する.
  3. キック前点から旋回や前進を行い,ボールへ接近した後にキックする.

回避点経由ありの場合は,1,2,3番の移動動作が実行され,実行順番は1→2→3である.回避点経由なしの場合は,2,3番の移動動作が実行され,実行順番は2→3である.

位置関係の判定

 位置関係の判定とは,回避動作の決定条件の要素の一つであり回避点の種類の判別を行う判定のことである.判定目的・判定条件・判定方法は以下のとおりである.

  • 判定目的は,回避動作における回避点を経由する場合・しない場合の判別を行うため.
  • 判定条件は,ロボットの現在位置、ボール、目標位置の情報が必要.
  • 判定方法は,線分CTと判定円との位置関係を調べる.

回避点

 回避点とは,回避動作の種類の一つの回避点経由ありの場合に生成される点のことである.回避点の生成目的・生成条件・生成方法は以下のとおりである.

  • 生成目的は,回避点経由ありの場合の回避動作を行うため.
  • 生成条件は,2直線が交差する場合に回避点を生成する.
  • 生成方法は,2直線の交点を計算し、その交点を回避点としている.

従来の方法の拡張

 従来の回避点の生成方法では,現在点を通る直線と円が接する接点との直線と,目標点を通る直線と円が接する接点との直線の2 直線の交点を回避点として求めていた(図5の赤枠).しかし,従来の方法(図3,4,5の赤枠)では,判定円の内部に目標点を設ける場合における位置関係の判定が用意されていないため,回避点の生成が不可能である.そのため,判定円の内部に目標点がある場合の回避動作の拡張(図3)と,その位置関係の判定の拡張(図4)と,回避点の生成の種類の拡張(図5)を本研究で行った.

回避動作の一例

 回避動作の一例としてPC画面と実機動画を録画したものを載せる.

歩行動作の選択の改善

 本研究の本章における目的は,複数キック選択のキックプレイのためのキックの使い分けありにおける歩行動作の選択の拡張と,使い分けなしにおける歩行動作の選択の改善である.研究背景でも述べた通りに,ロボットの歩行動作の選択に使われるロボットの並進動作は,前進,後進,左進,右進の4 種類である.そのため,直進歩行1回につき4候補の組み合わせがある.キックの使い分けありにおいては,トーキック・横キックの新たな2 種類のキック動作のうち,横キックは左右で方向(θ)が異なるため,候補姿勢(𝑥,𝑦,θ)はトーキック,横キック(左右)の3 種類である(図2).使い分けなしにおいては,あらかじめプログラム内で設定した1種類のキック動作のみのため,候補姿勢も1種類である.全ての歩行動作の選択の候補数の計算は,候補姿勢の種類と可能な直進歩行の組み合わせの総数で求められる.

 キックの使い分けなしにおける回避点経由なしの場合に可能な直進歩行の組み合わせは,直接キック前点まで移動するため直進を1回行うので4候補であり,全ての歩行動作の選択は4×1=4候補である.回避点経由ありの場合における可能な直進歩行の組み合わせは,回避点を経由しキック前点まで移動するため直進を 2 回行うので4×4=16 候補であり,全ての歩行動作の選択は 16×1=16 候補である(図6).

 キックの使い分けありにおける回避点経由なしの場合に可能な直進歩行の組み合わせは,直接キック前点まで移動するため直進を1回行うので4候補であり,全ての歩行動作の選択は4×3=12候補である.回避点経由ありの場合における可能な直進歩行の組み合わせは,回避点を経由しキック前点まで移動するため直進を 2 回行うので4×4=16 候補であり,全ての歩行動作の選択は 16×3=48 候補である(図6).

 選択されるキック種類は,現在位置から回避点を経由するキック前点までの最も所要時間が短い候補姿勢を計算し,その候補姿勢をキック前点における目標方向として選択されている(図6).

複数キック選択のキックプレイ

動画

 初期位置における候補姿勢の内,方向(θ)のみが異なる条件で実験を行った.方向が異なるとキック前点までの所要時間が変化するため,選択されるキックの種類も異なることが動画から確認できる.そのため,キックの使い分けが正しく行われている証拠となる.

初期方向 0°

初期方向 90°

評価実験

実験目的

 キックの使い分けなしと,キックの使い分けありのプログラムで比較実験を行う.この実験の目的は,使い分けなし・ありで選択されたキックの種類が異なる場合,使い分けありが使い分けなしよりも所要時間が短縮されているかの確認を行う.また,その他の問題は無いかを検証を行うのが目的である.実験方法で登場するキック前点の方向を,図 6 における現在位置からキック前点までの最も所要時間が短い候補姿勢を計算し,求めた候補姿勢の方向𝑞𝑘とする.

実験方法

 ボールを蹴る目標である目標位置の座標は(0,0,0),ボールの座標は(−1300,0,0)とする。ロボットの開始位置を以下の8 つの条件のとおりにする(図 7).ボールから140[mm]奥に離した位置をキック前点の座標(−1440,0,𝑞𝑘)とし、方向はプログラムによって決定された最短でキック前点に到達できる候補姿勢としている(図 6).判定円の半径は200[mm]とする.よって,判定円の範囲は,-1500 < x < -1100,-200 < y < 200 である.

  1. (−1800,0,π/2)
  2. (−1800,0,0)
  3. (−1300,500,π/2)
  4. (−1300,500,0)
  5. (−1300, −500,π/2)
  6. (−1300, −500,0)
  7. (−800,500,0)
  8. (−800,500,π/2)
  9. (−800, −500,0)
  10. (−800, −500,π/2)

である.各条件をキックの使い分けを行わないプログラムと,キックの使い分けを行うプログラムで 3 回ずつ行い,各条件でのキックを行うまでの秒数とキックの種類を記録する.

実験結果

 結果を表にしたのもが表 1 と表 2 である.秒数はストップウォッチやログから測り,有効桁数は小数点以下2 桁とする.表 1 の選択されたキックとは,図 7 のキック前点でボールを蹴った際に出したキックの種類を記録したものである.図 8 は,各条件でキックを行うまでの3 回分の秒数を棒グラフにグループ化したもので,その平均を棒グラフにしたものが図 9 である.

考察

 条件1,2,3,5,6,8,9,10では,キックの使い分けありの方が秒数は少ないことが見て取れる.特に,使い分けなしにおける条件8の3回分の平均は 24.66[s],使い分けありにおける平均秒数は 15.90[s]となり,8.76[s]の短縮に成功した.これらの結果から,複数キック選択のキックプレイの有効性が確認できた.しかし,条件4のようにキックの使い分けありの方で前キック以外のキックが選択されたのにも関わらず,秒数が短縮されていない問題が見られた.これは,プログラムによって設定されたキック前点とボールとの距離が短いことが原因である.プログラムの改良が必要だと考えられる.

おわりに

 本研究で,RoboCup SSL Humanoid における歩行動作の選択の改善と複数キック選択のキックプレイへの応用を行った.本研究により,小型ヒト型ロボットMAX-E1 における従来のキック動作に変わる3 種類の新たなキック動作を開発した.その開発により,キックの使い分けを実装することが可能になり,キックに関するものの全般の改善・改良も行った.
 それらの改善・改良を行うにあたって,新たな回避点の生成方法を開発し,ボールをロボットがゴールなどの目標物の方向に対して正確に位置と角度の調整を行えるようにするための座標系の変更を行った.これにより,キックの使い分けの実装を達成した.また,本研究で残った課題を今後の研究で改良されることを望む.

作者プロフィール

坂根隆斗

大阪電気通信大学 総合情報学部 情報学科 3年 ロボティクス研究室

コメント