Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

Rescue Simulation を起動してみる・・・

2021-04-30 | RoboCup2021

ここのところ、RoboCupJunior の New Rescue Simulation(いわゆる New SIM)で遊んでいたので・・・今度は旧SIM(現行の RoboCupJunior の Rescue Simulation いわゆる CoSpace)を起動してみることにしました。

以前お伝えしたように・・・

CoSpaceの新しいプラットフォームはMRDS(microsoft robotics developer studio)が必要無くなったようです。

(まだ、「MRDSが必要な版」もリリースされています)

RoboCupJunior の Rescue Simulation の新しいプラットフォーム

 

で・・・

https://www.cospacerobot.org/download/cospace-rescue-download

このページから、左側の 「NEW CoSpace Rescue Simulator 2021 V6」をダウンロードします。

今回は・・・RCJ-CoSpaceRobot-Rescue-V21.6.0.1.exe というファイルでした。

(Simulator 2021 is version 21.6.0.1ですね。)

 

で、これを実行すると、CoSpaceのプラットフォームがインストールされます。

デスクトップできた、CoSpace のアイコンをクリックすると・・・CoSpace が起動して・・・!?

あれっ、起動しません!

 

何度やっても同じ(あたりまえ!)

一瞬、コマンドプロンプト上にエラーが表示されて、そのコマンドプロンプトも消えてしまい・・・何も起きません。

苦労してコピペしたのが・・・以下のメッセージ

ハンドルされていない例外: System.IO.FileNotFoundException: ファイルまたはアセンブリ 'CLR.Core.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたモジュールが見つかりません。
   場所 CS.Base.Doc.RscSYS.LoadDeafaultInfo(Boolean bRCJ)
   場所 CS.Rescue.CSRSimForm..ctor(String key)
   場所 CS.Rescue.Program.Main()

これ・・・何かが足りないのでしょうか!?

勿論、再インストールしても変わりません・・・

 

以前にM&Y母のPCにインストールしたときには、全然問題なかったのですが・・・

PCが悪いのかと思って、もう一台のPCにインストールしたのですが・・・同じエラーで起動しません。

う~ん

 

これは、シンガポールに問い合わせするしかないのか・・・悩んだのですが・・・

いろいろとググって調査すると・・・

何か、モジュールが足りないような感じです。

一番怪しそうなのが「Microsoft Visual C++ 再頒布可能パッケージ」ということで、これをインストールしてみました。

https://www.microsoft.com/ja-jp/download/search.aspx?q=Microsoft+Visual+C

最初は、何も考えずに

VC_redist.x86.exe

をダウンロードして、インストールしました。

そうしたら・・・

おぉ~っ! 起動しましたよ CoSpace が(倒置法です 笑)

 

 

ということは、やっぱりこのVC++のモジュールが足りなかったのでしょうね。

確認するために、VC++のモジュ-ルをアンインストールしてみました。

さて、CoSapce を起動すると・・・やっぱり起動しない。

 

じゃあ・・・さっきは、何も考えずに x86 をインストールしてしまったので、今度は x64 をインストールします。

VC_redist.x64.exe

をダウンロードしてインストールします。

CoSapce を起動すると・・・あれっ! やっぱり起動しない。

 

ということは、x86でないとダメなの!?

再度、VC++(x64)をアンインストールして、VC++(x86)をインストールします。

CoSapce を起動すると・・・おぉっ! 起動した!

 

ということで、CoSapce のプラットフォームを起動するために 「Microsoft Visual C++ 再頒布可能パッケージ(x86)」が必要なようです。

 

あらかじめ、申請していたシリアルコードでアクティベーションしたら・・・

見慣れた画面が表示されました。

 

後から考えると・・・

今回、CoSpace をインストールしてみた2台のPCは、Windows10をクリーンインストールしたての、まっさらなPCでした。だから、VC++が入っていなくて、起動しなかったのでしょう。以前にM&Y母のPCにインストールしたときは、他の何かのアプリを入れたときの VC++が既に組み込まれていたので、エラーにならなかったのでしょう・・・と想像しています。

 

続きの記事はこちら Rescue Simulation(CoSpace)のプログラムコンバート

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RoboCupJunior Rescue New Simulation の World Editor

2021-04-29 | RoboCup2021

前の記事はこちら RoboCupJunior Rescue New Simulation を動かしてみる 続き

 

RoboCupJunior Rescue New Simulation についてですが・・・

とりあえず、迷路内を進むサンプル的なプログラムはできました。(迷路の外周を回るだけですが・・・)

で・・・プラットフォーム一式の中にサンプル的なフィールド(どうも、この競技では「World」と言うらしい)が組み込まれています。

私がダウンロードした版では

easy1.wbt、world1.wbt~world4.wbt の5種類のフィールドが用意されていました。

勿論! 全部、走らせてみました。

 

さらに・・・

https://rescue.rcj.cloud/events/2021/robocup2021/newsimulation/practice.html

ここに、(現状では1つだけですが・・・)さらにサンプルフィールドが掲載されています。

 

で・・・素晴らしいのは、自分で好きなレイアウトのフィールド(World)を作成できるエディターが用意されていることです。(上のページの右側ですね。)

 

ちょっと操作性が・・・というところはあるものの、自由に(しかも簡単に)デザインできるのは素晴らしいと思います。

(ここが、CoSpace と違う・・・笑)

(私のPCでは、ちゃんと日本語で表示されてます。)

作成したら・・・セーブは、「このマップをJsonファイルにエキスポート」で保存するのでしょう。

で、「このマップをErebus用ワールドファイルにエキルポート」をクリックすると、wbtファイルが作成されます。

このファイルを game\world に移動して実行すると・・・

はい、ちゃんとフォールドが表示されました。

 

勿論、ロボットを動かして確認することができます。

う~ん、なんか、ちょっと、これは、楽しいゾ!

 

続きの記事はこちら RoboCupJunior Rescue New Simulation の ねた的なもの

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RoboCupJunior Rescue New Simulation を動かしてみる 続き

2021-04-28 | RoboCup2021

前の記事はこちら RoboCupJunior Rescue New Simulation を動かしてみる

 

前の記事に追補しましたが・・・

(提供されたい一連のモージュールに含まれている)サンプルプログラムを動かすことができました。

でも、このサンプルプログラムですが・・・迷路を探索している感が全くなくて・・・(行き当たりばったりで)なんだかうろうろして、一番近くの穴に落ちる・・・再スタートして、またうろうろして、同じ穴に落ちる・・・(繰り返し)

これは、サンプルとしてダメでしょう!

 

ということで、もうちょっと迷路を進んでる感がみられるものを作ってみました。

といっても・・・私は Python を知らないので・・・超簡単なプログラム。

単にロボットの右前の距離センサーで壁との距離を見て、壁に近ければ左回転、壁が遠ければ右回転、ちょうどいい距離なら直進・・・単にそれだけのプログラムで、右手法で進みます。

まあ、これだけだと、やっぱり(外周にある)穴に落ちます。

穴に落ちないためには、穴を認識して回避するしかありません。穴を検知するのは・・・ロボットの下にあるカラーセンサーです。

このセンサーの使い方を研究しないといけないようです。

今回は、各センサーの解説をしてくれるページが揃っていて、分かりやすいです。

と思って SENSOR のところを探しても COLOR Sensor がありません。 だめじゃん!

いや、RGB Camera のところにありました。

https://erebus.rcj.cloud/docs/tutorials/sensors/rgb-camera/

ここに、

As a RGB color sensor to detect environment colors, like the color of the floor (In this case, it may be implemented as a 1px by 1px camera).

床の色などの環境色を検出するRGBカラーセンサーとして(この場合、1px x 1pxのカメラとして実装できます)。

と書かれていました。(分かりにくいけど・・・カメラをカラーセンサーとして使うってこと 贅沢!)

 

で・・・黒色の床を判断して、回避するプログラムを組んだら、とりあえず、外周を1周できるようになりました。

 

まあ、やっぱり、自分がプログラムして、その通りにロボットが動いてくれると楽しいですよね!

 

で・・・いろいろなマップで確認していたら、面白い現象が起こりました。

私のPCではWorld3のマップで発生します。

ロボットが外周を1周半してこまでは順調・・・

ここで・・・

ロボットが突然、倒れます。(何で!? 壁にぶつかったわけでもないのに)

そして・・・飛び上がって、画面から消えた後・・・

落ちてきて、転がって、動かなくなります。(車輪は回転しているので、ロボットとしては頑張って動いている・・・つもり 笑)

これは何だろう!?

面白いけど!?

 

コンソールには、こんなメッセージが表されます。

WARNING: The current physics step could not be computed correctly. Your world may be too complex. If this problem persists, try simplifying your bounding object(s), reducing the number of joints, or reducing WorldInfo.basicTimeStep.

ということで・・・なんとなく、私のPCでは性能不足なんだろうな・・・と思ってます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ひたち海浜公園のネタ的なもの

2021-04-27 | ブログ

ひたち海浜公園の中で見つけたネタ的なもの

 

ハチがいます!

ハチの巣があるのかなぁ・・・

 

わんこジェラート

犬用のアイスってこと!?

牛乳が苦手なヒトもOKだって(笑)

 

人用のものを犬が食べるのはわかるけど・・・

(名前からして)犬用のものを人が食べる感じなのは・・・!?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ハクション大魔王

2021-04-26 | ブログ

良く行く100円SHOPにあった、インスタントラーメンに楽しいイラストが描かれていました。

 

 

ハクション大魔王ですね!

ところで、真ん中のキャラは誰ですか!? こんなキャラ出てきましたっけ!?

ぐぐると、アクビちゃんの弟で「プゥータ」というらしい・・・う~ん、思い出せない!

 

このハクション大魔王はハンバーグが好きで、山のように(そしておいしそうに)食べますよね。

子供の頃に、「いつか、大魔王のようにハンバーグを山ほど食べるぞ!」と思っていました。

(まあ、今では、2つも食べるとおなかいっぱいで満足ですけど・・・笑)

 

ちなみに、この小さなラーメンですが・・・いつも海外旅行の時に持っていきます。

かさばらないし、お湯を注ぐだけで出来るし、大きさもGoodです。

時差ボケで、食欲のない時でも、これなら食べられます!

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

日本橋続き

2021-04-25 | ブログ

前に記事はこちら 日本橋

 

この日本橋の上にある像

まず、ドラゴンの像があることに驚きです。

龍じゃなくてドラゴン!

 

そして、背中合わせの2体のドラゴンの片方は口を開き、片方は口を閉じています。

これは、神社の狛犬と同じなのですかねぇ・・・

 

橋を渡ると・・・道路元標(複製ですが)があります。

 

そして、日本の各都市への距離表示

「粁」の漢字がお洒落です!

 

さて、帰り道には、最近流行りの渋沢栄一の像

 

桜も、そろそろ終わりですね。

 

本日は、屋根の上の光る玉ねぎが、良く見えました。(笑)

 

終わり・・・(笑)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

日本橋

2021-04-24 | ブログ

休日の早朝のドライブ&サイクリング

本日も皇居一周

馬場先門跡の交差点

 

三菱一号館

 

東京駅

 

そろそろ止まると思っていた時計も、刻々とカウントダウンを続けています。

いつもは、ここで、皇居に戻って、普通に一周するのですが・・・今回は、日本橋にいってみることにしました。

 

続きの記事はこちら 日本橋続き

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RoboCupJunior Rescue New Simulation を動かしてみる

2021-04-23 | RoboCup2021

タイトルのとおり、RoboCupJunior Rescue New Simulation を動かしてみます。

まず・・・RoboCupJunior の ページの RCJ Rescue – New Simulation (Demonstration) に行きます。

https://junior.robocup.org/robocupjuniorrescue-league-new-simulation-demonstration/

 

このページの下の方に

・WebotsSimAppWebotsSimApp-Erebus Wiki
・RCJ Rescue Community Website for most updated information

この2つのリンクがあります。

普通なら Wiki に飛ぶのですが・・・まず、ここが落とし穴になっていて、Wikiに行くと昔の情報に行ってしまいます。ここは、 community Website に飛ぶのが正解です。(分かりにくい!)

 

そうすると、Community Website のトップに飛びます。

https://rescue.rcj.cloud/

 

ここで、下の方の SUB-LEAGUES から、一番右の「New Simulation (Demonstration)」を選んで、リンク先に飛びます。

 

これでやっと、New Simulation(以下 New SIMと表記)のページにたどり着きました。

https://rescue.rcj.cloud/events/2021/robocup2021/newsimulation/

 

さて、ここからNew SIM のプラットフォームを見たいので・・・

一番左の PLATFORM WEBSITE を選択してリンク先に飛びます。

https://erebus.rcj.cloud/

 

こんな、ちょっとカッコイイ画面が表示されました。

 

ここの「Get Started」でインストール方法の解説が始まります。

(ここまで長いですねぇ!)

 

インストールするのは以下の3つです。(Software Requirements)

1. Webots Robot Simulator Version 2021.a - the simulation environment
2. Competition Supervisor - Implement the rules and scoring
3. Python Version 3.x - to write controllers for the robots

1.が Webots  2.が EreBus  3.が python です。

ちなみに Minimum System Requirements として

・OS-Windows: Win 10, 8.1 64 bit
・CPU: Dual Core 2 GHz
・RAM: 2 GB
・Nvidia 512MB or AMD OpenGL 512MB

が要求されています。私のPCの環境では、一番下を満たしていないので、本当はダメということです。

 

手順に従うと、まず Python 3.9 64 bit のインストールになります。

(だったら、上の Software Requirements に書く順番も Python を最初にしてくれると、対応が分かりやすいのですがねぇ!)

1. Download & Install Python 3.9 64 bit from the official website. During the install option, please make your python installation is referenced in your PATH (see picture below!)

説明文の中のリンクをクリックすると、いきなり python-3.9.4-amd64.exe がダウンロードされてきます。

ダウンロードした exeファイルを実行すると・・・インストーラーが起動します。

Add Python 3.9 to path にチェックを入れて Install Now をクリックしてインストールします。

(私のPCには古いバージョンの Pythonが入っていたので、トラブらないように、アンインストールしておきました。)

少しすると・・・Setup was successful と表示されて、Python のインストールは終了です。

 

2. Download & Install the Webots version 2021.a from their official repository.

次は、Webots Ver 2021.a をダウンロ-ドします。

これも、説明文中のリンクをクリックすると、いきなり webots-R2021a_setup.exe がダウンロードされますが・・・ファイルが大きいのか、遅いからか・・・ダウンロードに15分程かかります。 まあ、気長に待つしかないですね! (1.6GBなので、デカいのですね)

ダンウンロードが終わったら、exe ファイルを実行してインストールします。

 

3. Download and unzip the latest Erebus Release Build.

最後は EreBus のダウンロードです。

これは、説明文中のリンクをクリックすると、リンク先に飛びます。

リンク先の「Download Release Package (zip)」をクリックして「Erebus-v21_0_0.zip」をダウンロードします。

ダウンロードしたZipファイルを展開します。

 

これで、準備は終了のようです。

いよいよ実行!

 

\Erebus-v21_0_0\game\worlds\world1.wbt をクリックします。(実行します)

 

私のPCだと、最低限のハードスペックを満たしていないと、怒られますが・・・とりあえず、起動はしました。

 

これで、Installation は終了のようです。

いくつか、トラブルシューティングが書かれていますが・・・私には、いまの状態が正常なのか、トラブル発生なのかも良くわかりません。(苦笑)

とりあえず、次に行ってみます。

 

次は、いよいよ Run the sample code です。

1. Run the world.wbt file from /game/worlds/world1.wbt, opening it in Webots.
/game/worlds/world1.wbt をダブルクリックして実行

2.Press the LOAD button in the Competition Controller displayed on the left side of the screen, and select the sample code included in the release you just downloaded located in the “player_controllers” folder (currently the general sample code is named “ExamplePlayerController_updated.py”).
画面の左側に表示されるCompetitionControllerのLOADボタンを押し、「player_controllers」フォルダーにあるダウンロードしたリリースに含まれるサンプルコードを選択します(現在、一般的なサンプルコードの名前は「ExamplePlayerController_updated.py」です)。 

When the program is loaded, the colour of the LOAD button changes to orange.
プログラムが読み込まれると、LOADボタンの色がオレンジ色に変わります。

3.The interface to control the simulation is shown below. The top band is for loading the robot controller and a custom robot if you do make one (see here for more info). Two bands below, the three circular buttons is what you will use to interact with the simulation once the robot is moving. Below that, the remaining time and the current score is displayed.
シミュレーションを制御するためのインターフェースを以下に示します。 トップバンドは、ロボットコントローラーとカスタムロボットを作成する場合にロードするためのものです(詳細については、こちらを参照してください)。 下の2つのバンド、3つの円形ボタンは、ロボットが動いたときにシミュレーションを操作するために使用するものです。 その下に、残り時間と現在のスコアが表示されます。

この説明が、全く分からなかったのですが・・・トップバンド(top band)というのは、上の図の2つの「LOAD」が入っている、灰色の領域のことで、2つ目のバンドというは、丸が3つ並んでいる紺色の領域のことでしょう。

4. When you press the start button, the robot appears in the world and starts moving.
スタートボタンを押すと、ロボットが世界に現れて動き始めます。

と、かかれていますが・・・

スタートボタンを押すと、ロボットは現れるものの・・・

右下に・・・

Traceback (most recent call last):
  File "D:\NewSIM\Erebus-v21_0_0\game\controllers\robot0Controller\robot0Controller.py", line 2, in
    from PIL import Image
ModuleNotFoundError: No module named 'PIL'
WARNING: 'robot0Controller' controller exited with status: 1.

と赤い文字で表示され PIL のモジュールが見つからない、と怒られて動きません。

 

というところで、本日は終了です。

ち~ん(合掌)

 

追補

コメントで、コマンドプロンプトから

python -m pip install pillow

を実行すれば、サンプルプログラムが動作することを投稿しましたが・・・

サンプルのソースプログラムの2行目の

from PIL import Image

を削除するだけでも良いようです。

 

続きの記事はこちら RoboCupJunior Rescue New Simulation を動かしてみる 続き

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

RoboCup2021 Junior Rescue New Simulation (Demonstration) League Team Qualification Guideline

2021-04-22 | RoboCup2021

RoboCupJunior の New Simulation(以下 New SIMと表記)の今回の競技について、「Team Qualification Guideline」が掲載されていました。

(まあ、なんとなく、今年の世界大会はオンライン開催なので・・・盛り上がっていない感なのは仕方がないでしょうね・・・)

で・・・New SIM の参加ガイドの方ですが・・・締め切りは結構近いです。

New SIM の内容が掲載されているのはこちらのページです。

https://rescue.rcj.cloud/events/2021/robocup2021/newsimulation/

 

締め切り関係の日付は、こちらです。

あと、3週間位です。

 

同じページの中に「Qualification Guideline」のリンクがあり、クリックするとPDFファイルが表示されます。

読んでいくと・・・

 

・今年の世界大会に、他の競技で参加することが決まっているチームは参加申請できません。
 (当たり前ですね!)

・まだ、世界大会への参加ができるかできないかはっきりしていないチームは参加申請ができます。でも、他の競技で世界大会に参加できることが決まった時点で、どちらに参加するか決めなければなりません。

・参加申請の締め切りが5月16日、ドキュメント(TDP)や動画、コード(プログラム)などの資料提出の締め切りが5月21日です。

・選択の基準は・・・

At a high level, each team will be evaluated by their current progress and potential improvements until the competition.

競技会に向けた、現在の進捗状況と潜在的な改善度合い・・・によって評価されるらしいです。

 

「Qualification Guideline」には、TDP、動画、コードの順番で書かれているのですが・・・

・・・下の画面ではコード、TDP、動画の順番で説明が書かれています。

些細なことですが、この順番を合わせてもらえると、スッキリするのですが・・・ねぇ。

 

 

この New SIM ですが、興味のあるチームは・・・ぜひ参加してみてください。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

富士芝桜まつり

2021-04-21 | ブログ

富士芝桜まつりというのが開催されているというので、M&Y母と一緒に行ってきました。

場所は、本栖湖リゾート

まあ、広い花畑に芝桜が植えてある・・・飾らない言葉で表現するとこうなります・・・が

バックに富士山があると、それだけで価値が100倍になるような気がします。(笑)

 

まだ、開催したばかりで、芝桜も全体の五分咲きだったそうです。

確かに、ハゲている部分が多いですが・・・(笑)

 

芝桜の富士山と、本物の富士山

 

いろいろなところに、「インスタ映え」を狙った!? ハートマークが!

 

 

5月に入ってからが、一番きれいなんだそうですが・・・そうすると、混雑もすごいらしいので・・・まあ、これくらいがちょうどよいかと・・・

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rescue New Simulation (Demonstration) Rules 2021 (Draft) を読んで・・・

2021-04-20 | Rescue Rules 2021

前の記事はこちら Rescue New Simulation (Demonstration) Rules 2021 (Draft) の修正

 

放置していた RoboCupJunior の Rescue New Simulation (Demonstration) Rules 2021 のドラフトルールを一気に読みました。

こういうのは、勢いが大切!(笑)

 

私が「んっ!!」と思ったことを列挙します。

(以下 New Simulation って書くのが面倒なので、競技名のことは New SIM と表記します。)

 

1.4.4. Robots have to be mainly student’s own work. Any robot that appears to be identical to another robot may be prompted for re-inspection.

別のロボットと同じロボットはダメ(調査されるよ)・・・と言われても、New SIMでは皆同じロボットでしょう・・・(笑) まあ、2021年のルールでは、センサーの種類や個数を個別に変更することができますが・・・

 

2.4.3. One of the outermost tiles is the starting tile, where a robot should start the run.

スタートタイルは、フィールドの外側にあるタイル。ルールとしては単純で良いのですが・・・

でも、2021年ルールでは、3つの難易度の異なる部屋の集合体でフィールドが作られています。どの部屋からもスタートが可能だとすると、ロボットは、まずスタートした部屋がArea1なのか、Area2なのか、Area3なのかを自分で調査して認識しなければなりません。これは難しいと思います。(というか、無理でしょう・・・)

3種類のAreaを導入した最初の年なので、せめて「スタートタイルはArea1の外周のタイル」とする位が良いと思います。(そうすれば、色のついた橋を渡った先の部屋の難易度を知ることができます。)

 

2.4.4. Walls may or may not lead to the starting tile by following the left/right most wall consistently. Walls that lead to the starting tile are called "linear walls". The walls that do NOT lead to the starting tile are called "floating walls".

Rescue Maze も同じですが・・・リニア壁とフローティング壁の区別があって、被災者の得点が違っていたりします。それ自体は、分かるのですが・・・(この2.4.4の下にある絵で表現はされていますが)・・・New SIMでは落とし穴(Rescue Maze では黒のタイル)も壁の扱いになることをどこかで説明したほうが良いと思います。

 

2.5.2 d. It must be at least 20cm away from every wall.

これは、単に直し忘れでしょう・・・タイルの大きさを12cm×12cmに訂正したので、障害物の設置条件もそれに合わせて小さく(短く)する必要がありますね。タイルが30cmだったときに(壁と障害物の距離が)20cmだったので、タイルが12cmになったのだから、8cm位ですかねぇ。

 

2.5.3a. The edge of the holes is coloured black and will be 4cm from neighbouring tiles.

これも、サイズ変更の直し忘れでしょう・・・タイルの大きさが12cmで、落とし穴の両側の平面が4cmだと、落とし穴自体は4cm×4cmになります。こんな小さな落とし穴では、ロボットは落ちないでしょう。(笑)

タイルのサイズが12cmになったのであれば、落とし穴の両側の平らな部分も1.5cm程度が妥当でしょうか・・・

 

2.6.1. Victims and hazard maps are represented by a 4cm by 4cm image placed anywhere on walls (including curved surfaces)

被災者とハザードマップも元の大きさのままですが・・・これは、そのままなのでしょうかねぇ?

タイルと同じ圧縮率で考えると、1.5cm×1.5cm程度になると思われますが・・・これだと小さ過ぎる!?

ルールの頭にある全体図で見る限り・・・ハーフタイルの3分の1程度の大きさに見えるので、2cm×2cmというのが正解かも・・・!?

 

3.2.e. Lidar to measure the distance to surrounding walls

最初、Lider が何かわかりませんでした。英語の辞書を調べても分からないし・・・

しかも、3.2.c. と同じ表現なので、 c. と e. は何が違うんだろう・・・と悩みました。

これは、LiDER と表記してくれたら、分かりやすいと思います。

 

4.2.1. (Not in 2021) Teams should designate one of their members as “captain” and another one as “cocaptain.

チームメンバーの中からキャプテンと副キャプテンを選ぶのですが・・・これは2021年の競技では必要無いの? たとえオンライン競技でもキャプテンは必要ですよねぇ!?

 

4.3.4. (Not in 2021) Competition World for each round will only be revealed after the round’s computers submission time expires.

4.3の一連のルールで、2021年の競技では、いつの時点で競技フィールドが公開されるのかが書かれていません。でも、プログラムを収集した後だと思うので、この4.3.4は「(Not in 2021)」を削除して良いのではないでしょうか!?

 

4.3.5. (Not in 2021) No changes or updates to the program after the deadline of each rounds are allowed.

上の4.3.4と同様に・・・2021年も、プログラムの提出締め切りが後は、訂正ができないのは同じだと思うので「(Not in 2021)」を削除して良いのではないでしょうか!?

 

4.3.7. Pre-mapping the field and/or victim’s location is prohibited. Pre-mapping activities will result in immediate robot disqualification for the round.

プレマッピングはダメだよ! これは正しいです。 ただ、競技フィールドが分かるのは、プログラムを提出した後なので、プレマッピングをしたくても(実質的には)できない! ですよね。

 

4.5.1d. The referee determines the robot is not completely static but is stuck in sequence of motion. There will be a button to allow referee to execute a manual lack of progress.

ロボットが動いているのに、審判が勝手にLOPを判断するのは、審判としてやりたくないです。もし審判がLOPと判断したときに、チームから「なぜLOPにするんだよ、もう少し待てば、復帰したのに・・・」とか文句を言われたら怖いです・・・(笑)

(後々、遺恨を残さないようにして欲しいです。)

少なくとも、競技現場にチームが居るときにはLOPはチームからの申告にして欲しいです。2021年のオンライン競技で、リアルタイムにチームからの指示ができない場合には、審判が判断するというのもアリなので「Only 2021」を付けてくれると、(審判側として)ありがたいと思います。

 

4.6.3. Victim identification (VI). Points are rewarded for each Successful Victim Identification on the field.

2021年ルールではハザードマップが追加され、確かに扱いは被災者と同じ(似ている)なのですが・・・ハザードマップは被災者ではありませんよね。ハザードマップが「被災者の発見」と説明されるのは、ちょっとおかしい感じです。

 

4.6.3の下の図の説明文

Some of the victims on the floating wall are worth 10 points. This is because 10 points victims are on a tile near a linear wall. The colour in the figure is for illustration only.

単に古い文章がそのまま訂正されずに残っているだけでしょうか・・・10点の被災者というのは、2021年ルールにはありません。被災者は5点で、ハザードマップが10点ですね。

 

4.7.2. The round ends when:
 a.The time expires.
 b.The robot sends an "exit" command to the game manager.

競技の終了は・・・

a.時間切れ  b.ロボットがスタート地点に戻って競技終了 

この2つだけでなく、もう一つ、4.7.1 にある、チーム側の申告で途中での競技終了(日本的に言うと「リタイア」)がありますね。

Rescue Maze のルールにはちゃんと3種類が書かれていのですが・・・なぜ、消えてしまったのでしょうか!?

 

5.1.2. Judges will circulate and interact with the teams. The Open Technical Evaluation is intended to be a casual conversation with a "question and answer" atmosphere.

う~ん、ここは、Not in 2021 ではないでしょうか!?

まあ、ここは、オンラインでカジュアルにチーム巡回するから(このままで)良いのです・・・と言われたら、その通りなのですが・・・

 

これくらいです・・・

あっ、ついでにもう一つ・・・

 

4.6.1. To identify a victim, the robot must stop by the victim and blink an indicator light/LED for 1 second.
After 1 second, it must send a command to the game manager with the type of the victim in a platform specific format.

被災者の発見(これは、おそらくハザードマップの発見も含まれていますよね)は、ロボットを停止して、1秒間ランプを点滅して、その後に競技サーバに被災者コードを送信します。システム的には、被災者コードを競技サーバに送信することで、(得点の)判定ができるので・・・「1秒間ランプを点滅」が削除されました。

競技としては問題無いのですが・・・これだと、人間は何が起きているか分からなくて(見ていても)面白くないと思います。(まあ、もともとの「1秒間ランプを点滅」という表現もどうかと思いますが・・・「1秒間ランプを点灯」ならわかります。)

ここは、Rescue Maze と同じように「被災者を発見したら停止して5秒間ランプを点滅」にしてくれると・・・「おっ、この被災者は発見できたな」と人間が見ていてわかるので、楽しいと思うのですがねぇ。

 

以上です。

あ~、今回も沢山書いちゃったなぁ・・・(笑)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rescue New Simulation (Demonstration) Rules 2021 (Draft) の修正

2021-04-19 | Rescue Rules 2021

前の記事はこちら Rescue New Simulation (Demonstration) Rules 2021 (Draft) を読んでみた

 

先日、やっとのことで Rescue New Simulation (Demonstration) Rules 2021 のドラフトルールを読んだのですが・・・

既に、フォーラムに訂正記事が掲載されていました。

https://junior.forum.robocup.org/t/corrections-to-the-new-simulation-demonstration-2021-rules/1843

 

まず、このルールの訂正ですが・・・

何がどう変わったのかの説明も必要ですが・・・その結果、この項番はこうなりました。という最終形のルールの文章が欲しいです。(例えば 4.6.1の訂正は、LEDを光らなくするだけで、1秒間の停止は残るの? とか)

 

では、上から見ていきます・・・

Section 2.4 - Tiles, Areas, and Walls

The dimensions should read:
Tiles are 12cm by 12cm
Quarter tiles are 6cm by 6cm
Walls are 1cm thick and 6cm tall
Reason for change: To match the simulated environment.

これまで、タイルの基本の大きさは Rescue Maze と同等で30cmだったのですが、New Simulation では12cmになりました。だから、ハーフタイルは(当然ながら)6cmです。壁の高さも6cmになりました。

 

Sub-section 2.4.5

The two statement describing Areas 2 and 3,
“However, the robot’s path must have at least a full tile worth of space.”
should be removed.
Instead the statement
“For areas 2 and 3, regions where the robot cannot physically traverse (i.e.: openings that are half tile length) will not contain victims and hazard maps. Such regions must be fully viewable from the opening.”
should be added.
Reason for change: To broaden the possible field design configurations without creating an impossibility for robots to obtain a perfect score.

今年の News Simulation では、部屋の難易度によって Area1 ~ Area 3 の3種類がありますが・・・

そのArea2とArea3には、6cmバウンダリで壁が設置されます。これまでは、経路は必ず1タイル分の幅があり、ロボットが行けない場所は無かったのですが・・・今回の訂正で、ロボットが行けない場所がありうることになりました。(幅が6cmしかない経路とか) ただし、そのロボットが行けない場所には被災者やハザードマップは設置されない、ということです。

ロボットが行けない場所がありうるということは、その場所のマップ情報を作成することができませんよね。そうすると、マッピングボーナスで満点を得ることができなくなります。(まあ、全部のチームで共通の環境なので、不公平は無いのですが・・・)

 

Section 3.1 - Construction

An upper bound to the budget is introduced. Each sensor and wheel costs a certain amount which can be viewed in the Robot Customiser Tool. The upper bound is 3000. The number of sensors are also limited, which can be also viewed from the same tool.
Reason for change: To introduce a more realistic scenario for robot design.

今度は、ロボットのセンサーをチーム毎にカストマイスできる機能が導入されました。

仮想的にですが、ロボット構築の予算が決まっていて、その予算を越えなければ、必要なセンサーや個数を設定できる、ということです。

そのシステムが・・・Robot Customiser Tool(https://robot.erebus.rcj.cloud/)です。

画面はこんな感じで・・・

センサーを選択すると、その費用が累積されていって、費用のコストが3000以上になると追加できなくなります。

例えば、ジャイロセンサーは100、カメラは500、LiDERも500です。

まあ、面白い試みですが・・・ここまでやる必要あるのかなぁ・・・これまでのCoSpaceのように、ロボットは皆同じのスタンダードプラットフォームの方がすっきりしていると思うのですが・・・

 

Section 3.2 - Sensors

Add the option to use inertial measurement unit (IMU) sensors: gyroscopic sensor and accelerometer.
Reason for change: To introduce a wide variety of sensors.

これはセンサーの種類の追加です。IMU(ジャイロセンサーと加速度センサー)が追加されたようなのですが・・・上に出てきた Robot Customiser Tool では、ジャイロセンサーと加速度センサーが別々に設定できます。(何が疑問かと言うと・・・IMUを追加したら、ジャイロと加速度センサーが組で追加されるのではないかと・・・笑)

 

Sub-section 4.6.1

Remove the necessity of blinking an LED when a victim is detected.
Reason for change: Inability to detect LED flashes by the Main Supervisor.

被災者を発見したら、LEDを点滅させる・・・がなくなりました。

単に競技サーバーに「被災者発見」のコードを送信すれば得点になるから・・・らしいです。

でも、これじゃ人間が競技を見ていて面白くないですよね。(1秒停止というのも、どうなったのか、人間からすると分からない感じ・・・)

 

4.6.10 Mapping bonus (MB). When the game ends, the robot may submit a matrix with the map of the maze encoded in a particular format. The aim of the map is to encode the geometry of the environment, key elements such as holes, and victim locations. The mapping bonus is a multiplier between 1 and 2.
a. Each quarter tile and its surrounding edges and vertices will be represented by a cell (value).
b. Walls are marked by ‘1’; holes as ‘2’; swamps as ‘3’; checkpoints as ‘4’; starting tile as ‘5’; connection tiles from 1 to 2 as ‘6’, 1 to 3 as ‘7’, 2 to 3 as ‘8’; victims as the corresponding victim code, and any other tiles/edges/vertices should be zero.
c. For curved walls in area 3, the vertex should be represented by a ‘0’
d. The presence of a victim should be marked on the cell that represents the corresponding wall. If more than one victim is on a wall, the entry should be concatenated.
e. Maps can be stored in any rotation as long as it is a multiple of 90°
f. The correctness of a submitted map matrix will be checked against the matrix representing the real map (real map matrix).
i. The starting tile will be used to align the two maps matricies.
ii. For every non-zero entry on both the real and submitted map matrices, the two values are compared.
iii. If the two values match, the correct count is incremented. Otherwise, incorrect count is incremented.
iv. The correctness is given by the ratio of the correct count over the sum of the correct count and incorrect count.
v. The correctness will be calculated for each possible orientation of the submitted map matrix aligned to the real map matrix. The maximum value will be used.
g. The mapping bonus multiplier will be the correctness + 1
h. Ambiguous edge cases will be noted in the official documentation. For new edge cases that were are not defined, please contact the TC and/or the platform development team.
i. Method of submitting a map matrix is described in the documentation (when made available) and in example codes located in the platform releases.
Reason for change: Fixing simple mistakes and aligning it to the platform implementation.

全とっかえなのですが・・・何がどう変わったのか、1つ1つ見るのも大変そうなので、確認していません。新しい文章を翻訳しなおしました。

まあ、要するに、ロボットが迷路の経路情報や被災者の位置などを作っていき・・・競技終了時に提出します。提出されたマップ情報を正解のマップ情報と比較して、同じところが多いとボーナス点がドカンと入るよ・・・ということです。(笑)

 

でも、さあ・・・何もマッピングしていなくても、すべての値を壁の「1」にしておけば50%位マッチするような気がします。そうすると・・・それだけで、得点が1.5倍になるという(まさに)ボーナス!(笑)

欲しいのは、経路が正しいかと被災者やハザードマップの位置、落とし穴の位置が合っているか・・・なんでしょうね。)

 

とりあえず、ルールの訂正については以上です。

 

続きの記事はこちら Rescue New Simulation (Demonstration) Rules 2021 (Draft) を読んで・・・

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

猿橋

2021-04-18 | ブログ

日本三奇橋である猿橋に行ってきました。

 

やまなしの猿橋公園の駐車場にクルマを置いて・・・

 

この公園は、さくらがめっちゃ綺麗!

公園の中をてくてくと歩きます。

猿橋まで、200m

 

上に掛かるのが猿橋

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rescue New Simulation (Demonstration) Rules 2021 (Draft) を読んでみた

2021-04-17 | Rescue Rules 2021

ずっと放ったらかしにしていた Rescue New Simulation の2021年ルールを読んでみました。

読んだ・・・というと、凄い感じですが・・・英語力は0に近いのでGoogle先生のご助力で、なんとか読んでます。

 

感想は・・・複雑すぎて、正直、良くわからん・・・です。

 

新しい競技が正式競技になるためには、2年間「デモ競技」を実施する必要があるそうで・・・今年(2021年)もデモ競技みたいです。

ということは、2022年から正式競技になるのでしょう・・・そうしたら、現状の RoboCupJunior Rescue Simularion(いわゆる CoSpace Rescue)は終息ということなんでしょうかねぇ・・・

 

さて、ルール方ですが・・・ルールに掲載されている絵が素晴らしい!

「百聞は一見にしかず」ですね。

2020年ルールでは、Rescue Maze を単純化したようなルールでしたが・・・

2021年ルールは、Rescue Maze をベースに、めちゃくちゃ高度になった感じです。(これ、できるの!?)

 

フィールド全体の例の絵がこちら

 

この例だと3つの部屋に分かれていて、左手前の部屋は、2020年ルールと同じ感じで、これまでのRescue Maze なのですが・・・左奥の部屋はタイルが15cmバウンダリになっています。さらに、右奥の部屋はタイルが15cmバウンダリになっているだけでなく、壁がカーブしていたりします。

タイルが15cmバウンダリになっているからといって、15cmの通路があるわけではなく、通路幅は30cmが確保されるようです。(逆に通路幅が45cmなどというのが設定可能です。)

 

これが、今説明した、3種類の部屋です。

Area2だけでも、難しいと思うのですが・・・もう、Area3なんてどうするんでしょうか!?(笑)

一応、部屋と部屋との接続タイルには特定の色が設定されているので、部屋が変わることは認識できるのですが・・・私は、勝手に「橋」と命名しました。

今、自分が(ロボットが)どの部屋に居るのかが分かっていれば、橋の先の部屋の種類が特定できます。

例えば、Area1から「青の橋」を渡るとArea2になります。同様にArea1から「紫の橋」を渡るとArea3になります。

ただ、スタートタイルが必ずArea1とは限りません。

2.4.3. One of the outermost tiles is the starting tile, where a robot should start the run.

フィールドの外壁に接しているタイルであれば、スタートタイルになりえるので、ロボットはスタートしたら、まず自分はどの部屋(Area1~Area3)のどこにいるのかを特定しなければなりません。というのが、まず難しいですよね。

(せめて2021年は、スタートタイルは必ずArea1にすればいいのに・・・)

Rescue Maze で言うところの「黒のタイル」は、落とし穴になっています。これは2020年ルールから変わっていませんね。シュミレータでは、ちゃんと床の黒色を判断してバックしないと・・・ロボットが穴に落ちて・・・笑えました。

Rescue Maze では、(元々のRescue-Bでは)黒のタイルは穴ではなくて、危険な薬品が床にこぼれた部屋の想定で、入ってもすぐに出ればセーフ、という設定でした。

 

Rescue Maze では、被災者は「熱を出す被災者」「文字の被災者(H,S,U)」「色の被災者(赤、黄、緑)」ですが・・・こちらは「文字の被災者(H,S,U)」とハザードマップになりました。

文字の被災者は、Rescue Maze と同様の文字ですが、ハザ-ドマップというのは新しいルールです。

こんな絵が壁に貼られるようです。

左から、可燃性ガス[F]、毒[P]、腐食性物質[C]、有機過酸化物[O] になります。

毒は毒ガスでしょうか・・・

有機過酸化物というのは・・・ぐぐると・・・「分子内に過酸化結合(-O-O-)を有する有機化合物のこと」で、取り扱いを間違えると、爆発したり、火災の原因になるようです。

(それぞれの絵の下に描かれている数字は何なのでしょうか?)

 

ロボットに搭載されるセンサーは、3.2.1に定義されています。

3.2.1. The robot has the following sensors.
a. Location sensor to detect where the robot is in the field
b. Colour sensor to detect floor colour
c. Distance sensors to measure distance to surrounding walls
d. RGB camera to search victims and hazard maps
e. Lidar to measure the distance to surrounding walls

最初、Liderというのが分からなかったのですが・・・LiDER センサーのことだと分かりました。

Wikiを見ると・・・Light Detection and Ranging、Laser Imaging Detection and Ranging と書かれています。

もともとは、レーザーなどを使った測距技術のことだったようなのですが、今は・・・そのセンサーをくるくる回して360度の距離を測るセンサーを意味するようです。(自動運転する自動車などに使われる)

 

あと・・・得点計算がめっちゃ複雑です。

最近は、Rescue Lineも人間業では計算できない複雑な得点計算になったのですが・・・さらに複雑な感じです。

とても覚えられないし、まして暗算などできません。

 

さらに・・・

競技が終わったら、競技中に作成した競技フィールドのマップを提出します。

そのマップが、(実際のフィールドと比較して)どの程度正しいかで最終的な得点が出ます。

 

という、とっても高度な競技になりました。

ざっと見ただけで、もうおなか一杯です。

 

とりあえず、今回は、このくらいで勘弁してください・・・(笑)

 

続きの記事はこちら Rescue New Simulation (Demonstration) Rules 2021 (Draft) の修正

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

謎の坂道

2021-04-16 | ブログ

つくばりんりんロードを走っていて・・・突然現れた、謎の坂道

 

「自転車から降りてご通行願います」って、ここは自転車を押して進まないといけないの!?

 

上り線と下り線で凸凹が逆になっています。

 

元の地形が凸凹だたとか、そういうのではなくて、どう考えてもわざと作った坂道ですよね。

 

これは、いったい何のためにこうなっているのでしょうか?

単にスビードを落とすためのスピードバンプの役目なのでしょうか!?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする