タイトルの通り RoboCupJunior Rescue Line Rules 2023 正式版のルールを読んでみました。
大きく変わったのは
・救助ゾーンの出口のテープの色が(緑から)黒になった。(何で?)
・避難場所が2か所になって、(黒から)緑と赤になった。銀のボールはキットは緑の避難場所、黒のボールは赤の避難場所に入れる。
・順位(勝敗)は、競技の得点8割、ドキュメント評価2割で計算される。しかも計算は正規化されるので、各チームの評価値は0~1の間の値(小数)で比較される
という、感じです。
以下は・・・
昨年までのルールと変更があった/無かったに関わらず、「んっ!」と思った部分を列挙します。
注)うんざりするほど長いです。
まず、Before you read the rules のところに・・・
~ the only first draft rules for RoboCupJunior Rescue Line 2023.
と書かれています。この draft rules という表記は正しいのでしょうか?
これ、Draft ルールではなくて Final ルールですよね。
もし、英語の表記が正しくても Draft版ルールと勘違いされるので、表現を変えた方が良いと思います。
次に Summary の中の文章です。
~ the exit with a strip of green tape.
救助ゾーンの出口に貼られてるテープですが・・・2023ルールでは黒色になりました。(2023 rule 2.9.5)
ルールの最初に掲載されているフィールド全体の絵でも黒色になっています。
これまでのルールでは緑色だったので、単なる修正漏れですね。
(これ、公開する前に誰もチェックしてないのですかねぇ?)
1.3.1. Each team is responsible for verifying the latest version of the rules on the RoboCupJunior Official website and additional clarifications/corrections on the official forum made by the RoboCupJunior Rescue Committee before the competition.
ルールの1.3.1でルールと(ルールの訂正を掲載した)Forum を参照しなさい・・・とあるけど、どれだけのチームが Forum を参照しているか疑問です。
まず Forum に訂正を掲載しなくても良いように、しっかりとルールを決めてくださいよ・・・ねぇ。
2.7.4. The ramp will be scored when the robot reaches the horizontal tile at the upper level after an ascending ramp or the horizontal tile at the bottom level after a descending ramp.
傾斜路の説明に、ロボットが傾斜路を上って、(傾斜路の)上の水平なタイルにロボットが reach したら、傾斜路成功と書かれています。
では、reach とはどういう状態か? が明確になっていません。
これまでは、4.4.6にある visit を使用していましたが・・・RoboCup 2022では visit と reach は違うという説明でした。
水平なタイルにロボットが完全に入るのが reach か? それとも別に定義があるのか?
2.9.5. At the exit of the evacuation zone, there is a 25 mm × 250 mm strip of black tape on the floor.
救助ゾーンの出口の印が黒テープに変更になりました。(これまでは緑テープでした) なぜ・・・色を変更する必要があったのでしょうか?
2.9.6. The organizers may place an obstacle inside the evacuation zone. In the evacuation zone, organizers may put the obstacle anywhere with a minimum of 10 cm clearance from the wall. Obstacles in the evacuation zone are not scored.
救助ゾーンに障害物が置かれるかも・・・という説明ですが・・・緑色の部分は2.5.7の説明と重複しています。表記もほとんど同じです。
2.5.7 In the evacuation zone, obstacles may be placed anywhere with a minimum of 10 cm clearance from the wall. Obstacles in the evacuation zone are not scored.
どちらかが、必要ないですよねぇ。
これも、誰もチェックしないのでしょうか?
2.9.7
a. There will be one red evacuation point where the dead victim must be placed by the robot and,
b. There will be one green evacuation point where the living victims must be placed by the robot.
避難場所が2つになりました。銀のボール(とレスキューキット)は緑の避難場所に入れます。黒のボールは赤の避難場所に入れます。つまり、ロボットは被災者の色も、避難場所の色も判別しなければなりません。
で、その色を判断するためには、(Level two では、床の色でなく)壁の色を見分けなければなりません。 新たにカラーセンサーを壁に向けて設置するか、カメラを搭載することになります。
現状では、被災者救助を飛ばすチームが多いのですが・・・さらに被災者救助を難しくしてどうするの? と大変疑問です。
いや、これ、冗談ではなく、このルールが導入されたことで Rescue Line のチームが減っちゃうのではないかと心配してます。
2.9.11. After a Lack of Progress, the referee may roll the dice again and place the evacuation points in new corners.
ルールでは、競技進行停止するごとにサイコロを振って、避難場所を設置し直すことになっていますが・・・これをやっている競技会を見たことがありません。(世界大会でもやっていたのかなぁ)
救助ゾーンのかなり前で競技進行停止になっても(避難場所を変えるのは)意味が無いでしょうし・・・逆に、救助ゾーンの直前のチェックポイントから再スタートしたら、避難場所を入れ替える時間の余裕なんか無いですよね。
これ、ちょっと、現実的には実施不可能なルールなのではないでしょうか?
2.9.12の後に避難場所の絵があります。
この絵には 「Level 1」「Level 2」と書かれています。ルール本文(2.9.8)には「Level one」「Level two」と表現がマッチしていません。細かいですが、ルールの中で用語の統一をきちんとやって欲しいですね。
2.11.3
a. Organizers will place the rescue kit after the final speed bump and obstacle before the evacuation zone.
レスキューキットレベル2の場合に、レスキューキットが配置される場所は・・・「救助ゾーンの前でバンプと障害物の前」ということで、ロボットがレスキューキットを押して運ぶことを想定しているのでしょうが・・・傾斜路やシーソーは考慮されないのでしょうか?
3.2.2. Teams are not permitted to use commercially produced robot kits or sensors components specifically designed or marketed to complete any single primary task of RoboCupJunior Rescue.
RoboCupJunior Rescue の単一の主要タスクを完了するために特別に設計または販売された、市販のロボットキットまたはセンサーコンポーネントは使用禁止・・・ということですが、この RoboCupJunior Rescue 専用のキットやセンサーというのは(現状で)存在するのでしょうか? (かって mindsensors.com の LineLeader が該当していたのですが・・・その LineLeader も、そのまま競技ができたわけではないし・・・)
3.2.5 For example, teams must protect electrical circuits from all human contact and direct contact with other robots and field elements.
特に自作ロボットで、スパゲッティのような配線やブレッドボードに仮配線したまま競技に参加するチームは・・・このルールを読んでないのですかねぇ。(と、いつも思います。)
これ、msut だから、必須項目ですよね・・・
3.2.7. Robots must be equipped with a handle that is to be used to pick them up during the scoring run.
ロボットにハンドルを装備することがルールで義務化されたのですが・・・相変わらず、「どういうのをハンドルと認めるのか」が定義されていません。だから、車検の時に、チームから「これがハンドル」と言われると、「どうみても ハンドルには見えない」のに失格にできません。持ち上げるのに両手が必要だったり、ロボットを(水平に持ち上げるのではなく)縦に持ち上げる(ロボットの後ろを持って、垂直に持ち上げる)のはダメでしょう。
でも、ルールが明確になっていないので・・・失格にできません・・・仕方がないですね。
3.3.6. Team members may compete in Rescue Line twice (2 international events).
Rescue Line で国際大会に2回しか参加できない・・・と書かれていますが、誰もチェックしていないと思います。あくまでも参加者の性善説に基づいたルールですね。
3.4.5. participate in videotaped interviews for research purposes.
今の時代 Video Tape って・・・あるの?
今の子供達なんか知らないと思うけど・・・
3.4.8. All teams have to submit their source code before the competition.
競技会の前に、事前にソースコードを提出することになっていますが・・・これ意味があるのでしょうか? 普通は競技直前まで開発をしていて・・・提出したソースコードとは違うソースコードを使用しますよね。
4.3.3 Calibration does not count as pre-mapping.
キャリブレーションはプレマッピングではない。
当たり前ですよね。
これ、なぜ書かれているのか、意味が分からないのですが・・・わかる人、教えてください。
4.4.6. The robot has visited a tile when more than half the robot is within that tile when viewed from above.
visit の定義が書かれているのですが、もう visit は必要ないですよね。それよりも reach の定義が必要なのに、どこにもありません。
4.6.1で when the robot has reached the next tile in sequence で得点になることが書かれているのですが・・・どうなったら reach なのかが明確でありません。これまでは勝手に reach = visit(4.4.6)という解釈をしていましたが、RoboCup 2022 で reach ≠ visit という説明がされたので、ちゃんとルールに反映して欲しいです。
4.5.5 にあるのが、項番 a. のみです。
なんかおかしい・・・
そもそも a. を設定する必要が無いのか・・・
それとも、a. b. があったのか・・・
4.5.6 Victims that are held by the robot will be placed roughly on the robot’s location when a lack of progress occurs in the evacuation zone.
避難ゾーンの中でロボットが被災者を持ったまま競技進行停止になると・・・ロボットから、被災者(ボール)を取り外して(ロボットのあった位置に)置きなおすのですが・・・それが修理にあたりませんか? そういえば4.5章に、競技進行停止の時に、手動でアームを戻してはいけない、という説明が全くありませんね。
4.5.6 Suppose a lack of progress occurs as the robot exits the evacuation zone while carrying victims. In that case, the victims will be randomly placed in the evacuation zone.
同じく4.5.6ですが・・・ロボットが被災者を持ったまま救助ゾーンを出るときに競技進行停止になったら、被災者をランダムに置きなおす、と書かれています。被災者を持ったロボットが入り口から出たら、逆走で競技進行停止になりますね。 じゃあ被災者を持ったロボットが出口から出てしまった場合はどうなるのでしょうか? これは競技進行停止ではないですよね。 だから、ルールに書かれているのはロボットが出口から出るときに「チームキャプテンが競技進行停止を宣言したら」被災者を取り出して再配置する。ということだと思います。
では、ボールを持ったままのロボットが救助ゾーンを完全に出てから、競技進行停止になった場合はどうなるのでしょうか? ボールを取り出して再配置するのでしょうか? ルールには書かれていません。
4.6.1 Points are awarded per hazard when the robot has reached the next tile in sequence.
ロボットが次の順番のタイルに reach したら得点になる、と書かれているのですか・・・「タイルに reach する」の説明が全くありません。
これ、どうなったら得点なのか分かりません。(笑)
ちなみに、RopboCup 2022 では、「次の順番のタイルに入って、ライントレースをしていたら reach した」という解釈でした。だから、「ロボットの半分がタイル入る」 や「バンプを乗り越えるや傾斜路を越えてロボットが水平になる」など、全く関係ありませんでした。 (本当かよ!)
言葉で説明すると難しいのですが・・・前のタイルにある得点イベントが完了していなくても、次のタイルでライントレースすれば、前タイルの得点イベントが成功と判断されました。 例えば、タイルの最後の方にバンプがあって、ロボットがそのバンプを完全に超える前に、次のタイルでライントレースしていたら(まだ超えていない)バンプの得点が入りました。
4.6.6
▪ (SDVR) = × 1.2 per successful rescue of the dead victim if both living victims have already been successfully evacuated.
死んだ被災者を赤の避難場所に入れることになったのですが、それでも移送する順番って関係あるの? 避難場所が別になったのだから、順番は関係ないでしょう。
4.6.7. Only the victims placed by the robot at the appropriate evacuation point will be awarded multipliers.
被災者の救助は得点ではなくて乗数が得られるのですが・・・銀の被災者を赤の避難場所に入れたり、黒の被災者を緑の避難場所に入れても乗数は得られません。 でも、これは厳しいですね。 それでなくても被災者救助をしない(できない)レスキューチームが多いのに、さらに増えるのではないかと心配です。
4.6.8. When a lack of progress occurs between checkpoints (or checkpoint and exit) containing an evacuation zone
ここの exit はゴールのことだと思われます。 exit だと救助ゾーンの出口と勘違いされそうです。
4.6.8
a. Level one evacuation point: (EZLP) = -0.025 x (number of lack of progresses in the evacuation zone)
この「number of lack of progresses in the evacuation zone」ですが・・・普通に読むと救助ゾーンの中での競技進行停止数になるのですが、これは「救助ゾーンを含むチェックポイント間での競技進行停止数」のことだと思われます。
4.6.9. Multipliers will never be lower than 1.
ひとつ前の4.6.8にも同じことが書かれています。
4.6.8 multipliers will not be less than 1
と表現が微妙に違います。(笑)
4.6.11 以降が得点計算の計算式が掲載されているのですが・・・う~ん難しい!
大きな変更は2つです。
1つは、競技の得点だけでなくドキュメント評価が入ります。
チームの評価 = 競技の得点×0.8 + ドキュメントの評価×0.2
と競技8割、ドキュメント2割の合計がチームの得点になります。
で、もう一つが・・・そのチームの評価はすべて正規化されます。
正規化というのは(チームの得点)÷(一番良いチームの得点)ということで、0と1の間の小数での比較になります。
例えば 第1位 0.7786 第2位 0.7784 第3位0.7602 ・・・という感じになります。(いや~、本当にちょっとの差でしたね・・・という解説が聞こえてきそうです 笑)
う~ん
競技の得点だけでなく、ドキュメント評価やインタビューの評価を加味するのは、RoboCupJunior は、競技会ではなく教育イベントだから・・・と聞いたことがあるのですが・・・今の競技運営者達がきちんとした評価(ドキュメント評価)ができるのかが疑問です。それでなくても Rescue の Committee は(競技数が多いのに)人数が少ないので・・・
それから、ドキュメント評価結果がちゃんと公開されるのか疑問です。 これまでもプレゼン賞などの評価はされていたでしょうけど、評価結果はブラックボックスだったので・・・
はい、長くなりましたが、以上です。
続きの記事(Rescue Line 編)はこちら RescueLine 2023 rules の質問 その1
続きの記事(Rescue Maze編)はこちら RoboCupJunior Rescue Maze Rules 2023 正式版ルールを真面目に読んでみた
続きの記事(Rescue Simulation編)はこちら RoboCupJunior Rescue Simulation Rules 2023 正式版ルールを真面目に読んでみた