こんにちは。SYです。今回は要望の多かった敵よけをどうやって行うかについてです。

敵よけって?

そもそも敵よけとはどのようなものかについては、言葉で長々と説明するよりも実際に見てもらったほうが早いと思うので、関東大会での動画をのせておきますね。

簡単にいうと、ボールを持った時にどのように目の前の敵をよけ、シュートに向かうかということです。

ドリブラーがなくても、敵よけをするだけでシュートが入る確率は格段に変わります。

何が必要か

敵よけをうまく行うために必要なものはいくつかあります。

  • カメラ(全方位か前向き)
  • ジャイロセンサやコンパスセンサ
  • 前向きの距離センサ(超音波センサやPSDセンサなど)
  • ボール捕獲センサ
  • キッカー
  • ドリブラー(なくても全然いい)

関東機では、以下の製品を使用しました。

  • カメラ:OpenMV Cam M7
  • ジャイロセンサ:MPU6050
  • 距離センサ:GP2Y0E03
  • ボール捕獲センサ:NJL7302L-F3 (受光素子)、OSG58A3131A(LED)
  • キッカー用ソレノイド:CB1037100

もちろんLightweightなのでドリブラーをのせるほどの重量の余裕はありませんでしたが、Openの方はドリブラーの併用により、よりスムーズに敵よけが行えると思います。

いかにして敵をよけるのか

認識できる敵には大きく分けて二種類あります。

  • ゴール前に居座っている敵(主にGK)
  • ゴールから離れて自機の前にいる敵(主にFW)

1つ目の敵はカメラで認識し、2つ目の敵は距離センサで認識することで、うまく敵をよけることが可能になります。

また、敵よけの流れを簡単にまとめると次のようになります。

  1. ボールを捕捉エリアに入れる(ボール捕獲センサが必要)
  2. ゴール前の敵を事前によける(カメラが必要)
  3. 自機の前にいる敵をよける(ジャイロセンサ、距離センサが必要)
  4. ゴールが空いたらシュート!(キッカーが必要)

1についてはまた別の記事で、2についてはカメラのアルゴリズムのほうの記事で詳しく話したいと思います。

2での動きは、カメラから送られてきたゴールの方向へとロボットの向きを変えながら前進するだけなので、カメラによるゴールと敵の認識さえできればそこまで難しくありません。

ちなみに、ボールへの回り込みを正確にするために、ボールを持っていないときはジャイロで姿勢制御(真正面を向く)、ボールを持っているときや前方近くにあるときはカメラで姿勢制御(ゴールの方向を向く)、というように状況に応じて使い分けています。

次回へつづく。。。

長くなりそうなので今日はここまで。

今回は、敵よけの流れと概要を紹介しました。

次回は3、4の具体的なアルゴリズムを紹介したいと思います。

お楽しみに!