自律走行ロボットの世界レポート


安並 健太郎

増田 壮志

西村 健

小川 和博




















1.設定

ロボットの目は天井に付けられたカメラで、ボール、自機、敵機を判別し、ロボにはそれらの場所をxy座標で送り場所を知ることとする。この把握能力は正確であるものと仮定する。以下ではゴールラインに平行にX軸、サイドラインに平行にY軸をとるものとして説明する。このとき敵のゴールの方向をY軸の正の方向とする。また、コートの対角線の交点をコートの「中心」、中心を通り、X軸に平行な直線を「センターライン」、中心を通り、Y軸に平行な直線を「Cライン」、ロボットを中心にロボットが二秒間に移動できる範囲(円)を「領域」と呼称する。なお、説明で用いられる角度はタンジェントを用いて計算する。



2.基本的な配置と動き

ロボットはそれぞれが固有の役割を持ち、その分担に沿って行動する。

これらはそれぞれが役割ごとに決まった範囲内で動く。役割の分担は以下のとおり。

αグループ : 自陣のゴール前、正確にはゴールを中心とした半径aメートルの半円内を動き、守備を担当する。数は2つ。

βグループ : フィールド内を自由に動きボールを確保する。数は2つ。

γグループ : 常にコートの敵ゴールよりの半面で動き、攻撃を担当する。数は1。



3.個別の状況への対応

αグループ  開始直後にロボットはゴールを中心とした半円を二分する形になるよう移動し、その後は半円内でボールとゴールを結ぶ直線状に割り込むように移動する。ボールをとった場合は、味方と自身を結ぶ直線状に敵がいない場合は、よりY軸に対する角度の小さい位置にいる味方にパスを行い、そうでない場合は直線状に敵のいない方向のうちY軸に対する角度の最も小さい方向にボールを飛ばす。

βグループ  基本はボールを追い、ボールを確保した後はαと同様の法則に従いパス。ただし、敵陣のゴールを特殊な味方として扱うことで、シュートも行う。このシュートは他の味方へのパスよりも優先される。

また、自分よりもボールに距離が近い位置にβ、またはγが2ついるか、味方がボールをキープしている場合、図1のようにθ、Φ、σをとり、それぞれの領域内で、他のすべてのロボットが45度以内、または135度以上に存在するときはそのままY軸正方向に直進。

(ただし、0°≦θ、Φ、σ≦360°)

45度から135度の間に他のロボットが1つ存在する場合はそのロボットのX座標と逆方向に速度を与える。2つ以上存在する場合はその場所で待機する。ボールを追う場合を除き、ロボットは領域内にコートの端が入らないように移動する。コートの端が領域内に入った場合はそれがY軸と平行ならばそれとX座標逆向きの速度を与え、それがX軸と平行ならばY軸方向の速度を0にする。

γグループ 基本的にはβと同様だが、自陣内に入ることはできないため、ボールが自陣内に入った場合はボールを追わず、前述のアルゴリズムに従って移動する。