2022年5月24日

SPIKE WRO2022 RoboMissionジュニアクラスの技術要素

今回はWRO2022 RoboMissionカテゴリーのジュニアクラスでの競技において必要な技術を試していきます。 ジュニアクラスではレスキューロボットをテーマに、ロボットが工場内の火災消化支援や化学物質の運搬、救助すべき対象の位置情報を収集することを課題として課されます。本記事では簡単なルールの理解と、ルールから一部抜粋してロボットの動きを確認していきます。

※本記事内に記載している競技内容やルールについては、あくまで個人での理解ですので誤っている場合があります。WRO2022の競技に関係・挑戦する方は必ず公式のルールを参照してください。

今回の機能を紹介する上で簡易的な車体を用意します。
(ここではSPIKEプライム ラージハブを地面と水平になるように組み立ててください。)

車体に使用しているハードウェア

  • SPIKEプライム ラージハブ
  • Mモーター×2(E,Aポート)
  • Lモーター(Cポート)
  • カラーセンサー(Fポート)
  • フォースセンサー(Bポート)
ロボット
ロボット
ロボット

今回はCポートに接続しているLモーターを使ってオブジェクトを運ぶ方法を考えてみます。

本記事内で作成したプログラムの動作に関しては以下の動画を参照してください。

https://youtu.be/kayy8kW9ZYY

◆ジュニアクラス オブジェクト及びタスクについて

ジュニアクラスでのタスクは大きく分けて4種類あります。

火災地点を見つけて消化する

コースには6つの部屋が設けられており、各部屋にオブジェクトがランダムに配置されます。(下図の右側6色のエリア)
配置されるオブジェクトに応じたタスクを各部屋でこなしていきます。

火災地点を見つけて消化する

部屋に火オブジェクトが配置されている場合は、部屋の火を消すために水オブジェクトを用います。 水オブジェクトが火オブジェクトと同じ部屋に配置できればポイントが付与されます。 水オブジェクトは走行開始前のロボットに配置することができます。ただしロボットの最大サイズに収まる必要があります。

火オブジェクト

火オブジェクト

水オブジェクト

水オブジェクト

水オブジェクト

危険な化学物質を工場から移動する

化学物質を特定し、黒い安全な保管場所に運びます。 化学物質が工場外まで運ばれた場合、ポイントが付与され、化学物質が完全に安全な保管場所の中にある場合は満点が付与されます。

化学物質オブジェクト

化学物質オブジェクト

工場内に取り残されている人を探し、位置情報を提供する

人オブジェクト

人オブジェクト

人オブジェクト
マーキングブロック

マーキングブロック

マーキングブロック

整っていない地面を走行する

凹凸の道を完全に通過すればポイントが付与されます。 ロボットの形状や制御の工夫が試されます。

整っていない地面
整っていない地面

また、ジュニアクラスの特徴として、スタートエリアが二つ設けられており、当日にどちらからスタートするか決定されます。

※詳細な配置などは公式のルールを確認してください。
詳細なルールについては以下のURLより公式のドキュメントを参照することができます。
https://wro-association.org/competition/2022-season/#rules

タスクについて

今回は、エレメンタリーやシニアでは登場しないオブジェクトの「化学物質オブジェクト」について取り組んでみます。 このオブジェクトには上部にパイプのパーツが輪になるように取り付けられており、どう運ぶか検討が必要になります。

化学物質オブジェクト

今回はこのオブジェクトをどう運ぶか、数パターン考えていきます。

ロボットの構成

今回は前述した車型ロボットの前方にアームを取り付けたロボットを作成しています。 アームはLモーターを回転させることで簡単に制御できる構造にしています。これを利用して輪っかの部分に対してどのように対応するか考えてみます。

ロボット

プログラム作成

プログラム

プログラムについて

アームをモーターを回転させることで上げ、輪っか部分にパーツを引っかけて運ぶ方法です。 輪っかの中にアームが入るようにロボットを前進させ、アームを上げ、後退するプログラムになっています。

実際に動かしている様子は動画を参照してください。

https://youtu.be/7d_BcR3qs04

輪っかの中にしっかりアームを入れることができればオブジェクトを運びやすい方法だと思います。

アームの形状を変更してみる

アームの形状を変更して試してみましょう。 今度はLモーターの両サイドにパーツを取り付け、輪っかの下から持ち上げるような方法を試してみます。

プログラムの変更はないため、同一のプログラムで動作させることができます。

アームの形状を変更

輪っかに向かって垂直な形で持ち上げることができれば、保持力は高いですが、 アームが輪っかに当たってしまうなどで輪っかが回転してしまうと、アームが空振りしてしまう可能性がありそうです。

アームの形状を変更してみる

次にフォークリフトのようなパターンを試してみます。

アームの形状を変更
アームの形状を変更
アームの形状を変更

先ほどのアームとは違い、輪っかを持ち上げる部分を、地面と水平にして上下させることができます。
また、モーターの回転部分より下からアームを動作させることができるため、比較すると輪っかとの接触を最小限にすることができます。

プログラム作成

プログラムには変更が必要です。 基本的な構造は同じですが、回転角度の指定が変更されています。

プログラム

◆追加で考えるべきこと

今回は化学物質オブジェクトに着目して動作を数パターン検討してみました。ジュニアクラスでは他にもこなさなければいけないタスクがあります。
それらを加味して以下のことが必要であると考えられそうです。

ロボット面では

  • マーキングブロック、水オブジェクトを運ぶ・配置できる機構
  • オブジェクトを識別するセンサー取り付け
  • 凹凸の道を走破できる車高の高いロボット

プログラム面では

  • 各部屋などコース内のロケーションを判定・記憶する方法
  • 複数あるスタート地点やランダム配置に対応できるアルゴリズム

などを考えてタスクをロボットに行わせる必要があります。

※2022/5/13 最新バージョン(2.0.6)のSPIKEアプリに基づく情報です。
※これらの仕様はアプリのアップデートによって変更される場合があります。

(2022/5/13 現在)