前の記事はこちら RoboCupJunior Rescue New Simulation の World Editor
RoboCupJunior Rescue New Simulation(New SIM)ですが・・・やってみると、なかなか面白い感じです。
コースが自由に作れて、そこをロボットが走行するのを見ていると・・・
箱庭的なゲーム(「シムシティ」とか「A列車で行こう」とか)をやっている気分になりますねぇ(笑)
で、今回は、そんなお茶目な New SIM のねた的なものです。
ワールドエディターで迷路(経路)を作成すると・・・
被災者の得点が高いところ(得点が高いタイル)が表示されます。
(被災者は15点、ハザードマップは30点)
例えば、この迷路であれば、真ん中の2×2の部分が緑色になっています。
ここは、片手法のロボットでは行けない場所なので、被災者が高得点です。
(片手法のロボットは外側の壁を周回できるけど、中央の部屋の中には行けない・・・)
じゃあ、壁を1つ追加してこうすると・・・
片手法のロボットでも、中央の部屋に入れるので・・・中央の部屋の 2×2 も普通の得点になります。
これは、落とし穴を設置した場合も同じですね。
片手法のロボットでも、中央の部屋に入れるので・・・中央の部屋の 2×2 も普通の得点になります。
じゃあ、(新しいルールで)追加した壁を半分だけにしたら・・・
また、中央の部屋の 2×2 の部分が緑色(高得点)になりました。
でも、実質的には、片手法のロボットでも中央の部屋の被災者の前を通ります・・・だから、高得点にする必要は無いと思うのですが・・・
2つ目は・・・沼地についてです。
ルールでは、以下のように定義されています。
2.5.1 Swamps:
a. The colour is brown.
b. Affects the straight-driveability and speed of the robot.
直進性と速度に影響します・・・ということで、ロボットが沼地に入ると、スピードが遅くなります。
私は、スピードが「一律 x分の1 に」なるのかと思っていたのですが、そういうことではありませんでした。
(CoSpace は一律5分の1になりますね)
通常は、最高スピードが6なのですが・・・沼地は最高スピードが2になります。
6を指定しても4を指定しても沼地では2になります。
つまり、単純に最高スピードを決められていて、それ以上を指定してもカットされる、ということですね。
だから・・・通常は右車輪を3、左車輪を6にして右カーブするプログラムで沼地に入ると・・・左右の車輪が2になって直進をしてしまいます。これに気が付くまでに、結構な時間がかかりました。
だから、沼タイルで、ちゃんとロボットを制御するためには、2以下の数値で左右の車輪の回転を指示する必要があります。(例えば右カーブをするのなら、右車輪を1、左車輪を2にすれば良い)
もう一つ・・・障害物についてです。
ルールには
2.5.2 d.It must be at least 20cm away from every wall.
と書かれていて、この20cmというのは間違いで、正式版ルールでは、もっと小さな数字に変更されると思っています。
ただ、私は勝手に、Rescue Maze を同じように広間に置かれると思っていました。(ルールの表現が Rescue Maze と同じだから・・・)
ルールにある、上の絵も広間に置かれているし・・・
しかし、ワールドエディタでは、障害物はタイルの真ん中にしか置けません。
これは、どちらが正しいのでしょうか!?
もし、障害物をタイルの真ん中に置くのであれば、落とし穴と同じように壁扱いすることにしないと・・・また、片手法で行ける30点の被災者が増えそうです。(リニア壁とフローティング壁の判定の話です)
一番上に書いたマップと同様にしてみると
片手法で行けるのに、真ん中の部屋のタイルが緑色になります。
正式版のルールが公開されないと、なんとも言えません・・・
とりあえず、こんなところです。
あっ、ついでに・・・マッピングを真面目にやるとしたら、一番欲しいのが自分がどの方向を向いているかを知るセンサーなのですが・・・
https://erebus.rcj.cloud/docs/tutorials/
に紹介されているセンサーにはありません。
いずれ、コンパスやジャイロの使い方が掲載されるのでしょうか・・・というか、早く掲載して欲しいです。