Re: The history of "M&Y"

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

New Rescue Simulation を動かしてみる・・・その3

2020-08-31 | RoboCup2020

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

 

タイトルを考えるのが面倒なので・・・連番にしました。(笑)

とりあえず前回は Tutorial 1: Introduction to the platform and first steps のところで、サンプルプログラムを動かすところまで行きました。

 

あと書かれているのは・・・

Manually move the robot where you want it to go
When you click on a robot in the simulation window, red, blue, and green arrows will appear. You can move the robot to any position by grabbing this arrow with the mouse. You can also hold shift and move the robot around freely. Note that the robot will not be displayed until the program is started.

ロボットを手動で動かす方法・・・CoSpace みたいにラジコンっぽく動かすのではなく、X軸,Y軸,Z軸に沿って移動することができます。

やり方は・・・

①とりあえず、プログラムを指定して一旦実行します。(そうしないと、ロボットが表示されない)

②ロボットを停止する。(停止しなくてもよいけど・・・動いたままだとロボットをつかみにくい)

③ロボットをクリックする。(そうすると、赤、青、緑の軸と矢印が表示される)

④表示された3つの矢印を(マウスでつかんで)動かすと、ロボットをその方向に動かせる

⑤矢印の根本付近に回転軸(丸まった矢印)が表示されているので、これを動かすと軸に沿ってロボットを回転することができる。

 

 

で・・・基本的にZ軸の矢印(緑の矢印)、X軸,Y軸の回転軸(赤の丸まった矢印、青の丸まった矢印)は使うことは無いと思いますが・・・Webotsの仕様で消せないのだそうです。

さらに・・・③のロボットをクリックした状態でShiftキーを押しながらロボットをドラッグすると、マウス操作でロボットを移動することができます。(こちらの操作のほうが直感的でわかりやすい)

ただ、うまくロボットをドラッグできていないと、フィールド自体が動いてしまうので注意です。(笑)

 

さて、下のほうにロボットの機能が列挙されています。

Introducing Your Robot
In this challenge, the robot is fixed and as Epuc (this is actually a real world robot!) Your robot has a number of components:
Left and Right wheels : Can be controlled independently to set the speed
Distance Sensors : A number of distance sensors around the robot to detect walls/objects
Three Cameras : Three RGB camera on the front of the robot (left, right, centre cameras) to provide visual information
Temperature sensors : To detect the heated victims on the left and right
Bottom Camera : An RGB camera on the bottom of the robot to sense the ground colour

ロボットの紹介
この課題では、ロボットは固定されており、Epuc(これは実際には現実のロボットです!)として、ロボットにはいくつかのコンポーネントがあります。
左と右のホイール:速度を設定するために個別に制御できます
距離センサー:壁や物体を検出するためのロボット周辺のいくつかの距離センサー
3つのカメラ:視覚情報を提供するためにロボットの前面にある3つのRGBカメラ(左、右、中央のカメラ)
温度センサー:左右の熱くなった被災者を検出する
下部カメラ:地面の色を感知するロボットの下部にあるRGBカメラ

Google先生の助けを借りると、こんな感じです。

・左右独立したのホイール(当たり前ですね)
・ロボットの周りのいくつかの距離センサー(上の図のように8個だった)
・Visual Victim を識別するためのカメラだと思うのですが・・・3つも搭載してます。(なんという贅沢!)
・Heated victim を識別するための温度センサー(左右に1個ずつ)
・床の色を検知するカメラ(ここもカメラってことは、ロボットに全部で4台もカメラを搭載しているの!? なんという贅沢!)

で・・・もと Rescue Maze チームのメンターとしては・・・方位またはジャイロセンサーが欲しいです。ロボットがどの方向を向いているのかわからないとマッピングができません。同様に、ロボットが進んだ距離を知りたいです。左右のホイールの回転角(せめて回転数)が欲しいのですが・・・現状ではそれは無いようです。

これでは、いったいどうやれば、スタート地点に戻ることができるのでしょうか!?

 

このロボットは以下のページのロボットを利用(流用)していると思うのですが・・・

https://cyberbotics.com/doc/guide/epuck

元のロボットには、ジャイロセンサーと Position Sensor として、ホイールの回転数のセンサーが付いているのですが・・・わざわざ削除をしてしまったのでしょうか?

 

もとに戻って・・・その後に、簡単なタスク(壁をよけて進む)が示されて、ごく簡単なサンプルプログラムが掲載されています。

Exemplar Code
Below we step through the example code developed step by step, explaining what is going on. Try and build this up by yourself first, referring back to this if you need. The full uninterrupted program can be found here. This code was used for the seminar video, and also runs on the latest release.

で、このサンプルプログラムですが・・・動きません。(いや、動くのですが、きちんと動きません)

どうも release 3 の時代と、現在(release 6)では、何かが違うらしい・・・(センサーからの値の取り方なのかなぁ)

スタートすると、真っすぐ進んで、壁にぶつかって止まります。それからピクリとも動きません・・・

 

で・・・

https://github.com/Shadow149/RescueMaze/blob/master/docs/tutorials/code1.py

ここにあるPythonのプログラムと、前回のサンプルプログラムを見比べてみて・・・違うところを直してみました。

 

①    if leftSensors[i].getValue() > 80:
 → if leftSensors[i].getValue() < 0.05:

②    elif rightSensors[i].getValue() > 80:
 → elif rightSensors[i].getValue() < 0.05:

③    if frontSensors[0].getValue() > 80 and frontSensors[1].getValue() > 80:
 → if frontSensors[0].getValue() < 0.05 and frontSensors[1].getValue() < 0.05:

なぜ、不等号が逆なのかは謎ですが・・・この修正で、ロボットは(まがりなりにも)動くようになりました。

その下のほうに、プログラムの説明が(ある程度)書かれています。

それを読んでいって・・・なんとなく、>80 と <0.05 の謎が分かりました。

このシミュレーションのロボットは実在する「e-puck education robot」を模しているようです。

http://www.e-puck.org/

 

で、このロボットに搭載されている距離センサーは、(超音波センサーではなく)infra-red sensors(つまり赤外線距離センサー、いわゆるシャープセンサー)なので、計測した距離とセンサーの値が反比例のような関係になっています。

それがこのグラフ

 

おそらく、これが分かりにくいということで、 release 3 から release 6 の変革の中で、単純にセンサーの値は距離を返すように改良された、のだと思います。

すると・・・0.05 というのは 0.05m = 5cm ということなのではないかと・・・

 

なるほど・・・勝手に自分として納得!(笑)

 

で・・・自分として、もっと単純にしたのが以下のプログラムです。

from controller import Robot

timeStep = 32
max_velocity = 6.28

robot = Robot()

wheel_left = robot.getMotor("left wheel motor")
wheel_right = robot.getMotor("right wheel motor")

leftSensors = []
rightSensors = []
frontSensors = []

frontSensors.append(robot.getDistanceSensor("ps7"))
frontSensors[0].enable(timeStep)
frontSensors.append(robot.getDistanceSensor("ps0"))
frontSensors[1].enable(timeStep)

rightSensors.append(robot.getDistanceSensor("ps1"))
rightSensors[0].enable(timeStep)

leftSensors.append(robot.getDistanceSensor("ps6"))
leftSensors[0].enable(timeStep)

#        [left wheel speed, right wheel speed]
speeds = [max_velocity,max_velocity]

wheel_left.setPosition(float("inf"))
wheel_right.setPosition(float("inf"))

while robot.step(timeStep) != -1:

    #for both front sensors
    if frontSensors[0].getValue() < 0.07 and frontSensors[1].getValue() < 0.07:
        #spin
        speeds[0] = 0.6 * max_velocity
        speeds[1] = -0.6 * max_velocity

    #for sensors on the left
    elif leftSensors[0].getValue() < 0.05:
        #turn right
        speeds[0] = 0.6 * max_velocity
        speeds[1] = -0.2 * max_velocity

    #for sensors on the right
    elif rightSensors[0].getValue() < 0.05:
        #turn left
        speeds[0] = -0.2 * max_velocity
        speeds[1] = 0.6 * max_velocity

    else:
        #go stright
        speeds[0] = max_velocity
        speeds[1] = max_velocity

    wheel_left.setVelocity(speeds[0])
    wheel_right.setVelocity(speeds[1])

 

まだ、迷路探索ではなく、単純なランダム走行ですけど・・・(もちろん、被災者を発見できないし、黒タイルの穴に落ちます!)

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

再度・・・New Rescue Simulation を動かしてみる・・・続き

2020-08-30 | RoboCup2020

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

 

前回のタイトル「・・・動かしてみる」なのに、動かしてないじゃないか・・・と自分で突っ込みを入れています。

今回は、ちゃんと動かしてみます。(といっても、サンプルプログラムです)

 

まず、基本はここ

Erebus Rescue Maze Simulator

このページの中ほどの

Tutorial 1: Introduction, installation and getting started with basic movement

をクリックしてリンク先に飛びます。

 

Tutorial 1: Introduction to the platform and first steps

この中に、また「Download and installation」が掲載されているのですが、すでに別項目でインストール済なので、ここにはいらないですよね。

さて、サンプルのコードは・・・

Example code demo の中の 

The complete sample code can be found either here

のリンク先にあります。

リンク先に飛ぶと・・・Pythonのソ-スが表示されるので、このソースが格納されたファイルをダウンロードすれば良いと思うのですが・・・やりかたが分かりません。(たんに GitHubの使い方を知らない)

最初に、よくわからずに、コピペでテキストファイルに貼り付けたけど、それでは動作しませんでした。

GitHubを多少知っているMに助けてもらって、ファイルを落としました。

 

Mが実施した操作は以下のとおり

RescueMaze のディレクトリに戻る

② code ボタンの Download ZIP で、すべてのファイルを含んだZIPファイルをダウンロ-ド

③ ダウンロードしたZIPファイルを展開して、player_controllers の中にある ExamplePlayerController_updated.py を取り出す

これが正解かわかりませんが・・・今回は、こんな面倒臭いことをして入手しました。

 

では、このサンプルプログラムを動かしてみます。

SampleWorld.wbt

をダブルクリックしてフィールドを表示します。

画面左の LOAD CONTROLLER をクリックして、(先ほど取り出した)ExamplePlayerController_updated.py を指定します。

そうしたら、画面左の 「▷」ボタンをクリックします。

フィールドの手前のほうに、ロボット(と緑色のスタートタイル)が表示されて、ロボットが動き出します。

ロボットが動き出すと、緑色のスタートタイルの表示は消えます。(これは、緑色のタイルを残すと、簡単にスタートタイルに戻ったことの判断ができてしまうからだそうです。)

で、真っすぐ進んで、正面にある暖かい被災者を発見して得点を得ます。そうすると、被災者が消えます。救助したのだから被災者が消えるのはある意味正しいのですが・・・実機のMazeに慣れた身には、なんか違和感が・・・(笑)

 

なんとなく、ロボットの動きを見てると・・・

①壁にぶつかるまで直進
②前に壁があるときは右回転

というアルゴリズムのように思います。

(これ、Rescue-B のどこぞのチームがやっていたアルゴリズムに似てます・・・笑)

 

私のPCの環境だと、同じところをグルグル回るだけになってしまいます。

灰色のタイルはチェックポイントなので、到達すれば得点になるのですが、そこまで行きません。

黒色のタイル(落とし穴)に落ちると、LOPになるのですが・・・やっぱり、そこまで行きません。(笑)

 

とりあえず、サンプルプログラムが動いたということで、今回は終わりなのですが・・・

画面に「RELOCATE」ボタンがあります。これは、Lack of Progress(競技信仰停止)になったときに押すボタンだと思うのですが、何で名称が「LOP」ではないのでしょうか?

おそらく、このプラットフォームが CoSpace Rescue の流れでできているので、CsBot にあった ReLocate をそのまま使ったのかな!? と考えています。ルールにも「RELOCATE」 という単語は出てこないので、違和感です。

 

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

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

再度・・・New Rescue Simulation を動かしてみる・・・

2020-08-29 | RoboCup2020

私のPCを初期化(Windowsのクリーンインストール)してしまったので、いろいろと消えてしまいました。

改めて、New Rescue Simulation を動かしてみたいと思います。

(なんか、日々、開発が進んでいるらしいので・・・)

 

まず、ベースになるページはこちら

Erebus Rescue Maze Simulator

 

まずは、このページの中ほどにある「Tutorials and Getting Started」の「Download and installing:」に飛びます。

 

Download and installing:

 

早速ですが・・・Software Requirementsに必要なソフトが書かれています。

1. Webots Robot Simulator - the simulation environment
2. *Python Version 3.7 - to write controllers for the robots
3. Competition Controller - Custom controller to implement the rules and scoring.

まず、最初の疑問・・・なぜ Webots Robot Simulator と Competition Controller だけ斜め(斜体)なのでしょうか?

 

 

次に・・・横に並んだイラスト(ハードコピー)が左から Webots、Competition Controller、Python の順です。その下の説明は Webots、Python、Competition Controllerです。さらにその下の Full installation では、Python、Wobots の順で書かれていて・・・みごとにバラバラです。

日本人的には、こういうところの順番をそろえてもらうと、スッキリするのですが・・・

 

一通り文句を言ったところで、実際にインストールしてみます。

Full installation の順番に従って作業をしていきます。

 

 

1. Install python 3.7 (please make sure it is version 3.7 for windows, and 3.8 if installing on macOS or linux) 64 bit from the official website. Check out this great installation guide if you need some help! During the install option, please make your python installation is referenced in your PATH (see picture below!)

最初は Python のインストールですが、(最新版の3.8ではなく)3.7をインストールします。(Macは3.8だけど、Windowsは何故か3.7)

で、またまた突っ込みたくなったのが、上のインストール画面のハードコピーです。64ビット版をインストールしなさい、と説明しているのに、ハードコピーには「32bit」を表示されています。これ、どちらかが間違いですよね。

で・・・Pythonのofficial websiteに飛んで、Winodws 用の 64bit 版 Python 3.7 を落とします。

最初、これの中のどれを落とせばいいの? と分からなかったのですが・・・いちおう「Windows x86-64 executable installer」にしてみました。

 

落ちてきた「python-3.7.9-amd64.exe」を実行します。

一番下の「Add Python 3.7 to PATH」にチェックを入れてインストールします。

 

2. Install the Webots version (r2020a rev1) from their official website. Currently r2020a rev1 is stable with our releases. Once we have tested our platform on newer versions on Webots, this page will be updated. More information on the official Webots Installation guide.

さて、次は Webots です。これも、最新版ではなく r2020a rev1 版をインストールします。こちらはちゃんと、official website のリンクをクリックすると、r2020a rev1 版のページに飛ぶので迷いません。(感謝!)

(このWebotsのインストーラは1.6GBもある大きなファイルなので、時間帯によってはダウンロードに1時間以上掛かることがあるそうです。)

落ちてきた、「webots-R2020a-rev1_setup.exe」を実行してインストールします。

 

3. Download and extract the latest Erebus Release Build.

さて、いよいよ最後は、New Rescue Simulation のプラットフォームのダウンロードです。

Release Build のリンクに飛んで、最新版のファイルを落とします。

私が落としたのは RescueMaze_Release_6.zip です。

ダウンロードした zip ファイルを解凍します。

 

4. Run the world.wbt file from \game\worlds\sampleworld.wbt, opening it in Webots.

さて、いよいよプラットフォームを動かしてみます。

項番3.で解凍したディレクトリの中・・・

RescueMaze_Release_6\game\worlds\SampleWorld.wbt

をダブルクリックします。

 

Webots が起動して・・・

こんな画面になります。

(その前に、Webotsから、もっと性能の良いGPUを搭載してないとダメ! と怒られますが・・・笑)

 

とりあえず、ここまでで、長かったので、今回は終わりにします。

 

最後に、もう一つ文句・・・

System Requirements
OS-Windows: Win 10, 8.1, 7 64 bit

と書かれているのですが・・・もう、サポートの終わった Windows 7 を掲載するのはセキュリティの観点でどうか・・・と思います。(笑)

 

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

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

本日の滝巡り

2020-08-28 | ブログ

払沢の滝

さすがに有名な滝らしく・・・たくさんの人が(涼を求めて!?)来ていました。

 

茅倉の滝(かやぐら)

葉が邪魔で・・・見えない・・・

 

 

中山の滝

水量はなかなかで、音もしぶきもすごいけど・・・落差は1mっくらいしかありません。

まあ、これを滝と言ってしまうと、川のあちこちに無数の滝ができちゃう・・・(笑)

 

さらに久しぶりに天狗滝(と子天狗滝)を見に行こうと・・・急な坂道を苦労して登っていったのですが・・・

土砂崩れで通行止めになっていました。

だったら、入口に書いておいてよ!

ここまでの苦労は何だったの!?

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

Soccer Simulation Demo 2021 - Do you want to participate?

2020-08-27 | Rescue Rules 2021

RobocCupJunior のフォーラムに投稿された記事

Soccer Simulation Demo 2021 - Do you want to participate?

 

ロボカップジュニアのレスキューには、Rescue Simulation という仮想競技があります。(昔 CoSpace と言っていたヤツです)

今回のネタは・・・サッカーにもシュミレーション競技ができる・・・かもしれない、ということです。

(ジュニアの)サッカーシミュレーション(のデモ)を2021年1月にやるつもりなので、参加してくれるチームを募集しているようです。

ルールがすでに有るのかははっきりしませんが・・・現状のジュニアサッカーと似ているもののようです。また、シミュレータは、Webotsを使用するみたいなので、New Rescue Simulation と同じですね。

 

 

まだ、具体的な計画ではなく、参加する意欲のあるチームが揃ってから、計画を具体化するようです。

 

現在のコロナ禍の中では、仮想競技の独壇場ですなぁ。

 

上の記事でデモ競技へ参加募集をしているチームについてですが、年齢上限はジュニアと同じですが・・・ジュニアの年齢下限よりも下でも参加OKのようです。

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

2020年度 (一社)ロボカップジュニア・ジャパン ブロック長意見交換会

2020-08-26 | RoboCup2020

おとといの記事(8月24日)で理事会の議事録を紹介しましたが・・・今回はそのあとに開催された「ブロック長意見交換会」の議事録についてです。

 

https://www.robocupjunior.jp/office.html

2020年度 (一社)ロボカップジュニア・ジャパン ブロック長意見交換会

 

会議といっても、やはり ZoomによるWEB会議だったようです。(まあ、そうですよね)

基本的には、理事会と同じような議題が並んでます。

 

まず、各競技の参加人数の推移が報告されたようですが・・・これについては意見などはなにも書かれていません。

次に、各ノードやブロックへのチームの参加エントリーを(ジャパンオープンで使用している)エントリーフォームを使って共通的に実施することについては、いろいろな意見が出てます。

なるほど・・・と思ったのは「統一的に使うのであれば、エントリーの開始日と終了日を全国統一にすべき」という意見です。確かにそうですね。ブロックごとに、エントリー期間がばらばらだと、入力するほうも混乱すると思います。(あるブロックは締め切りが過ぎているのに、入力ができてしまう・・・とか)

それから、「(エントリーした)情報はどこで管理し、ノードやブロックは、どうやって活用するのか?」に対して・・・「具体的な手順は決まっていない(考えていない)」というのが、笑えました・・・

 

さらに笑ったが、以下の記述・・・

統一フォームにすることに対し、前回反対意見がブロック長会議で挙がったと思うが、その後どういう検討をしたのかとの質問がなされた。その件について、・・専務理事より、特にその後検討したわけではないと回答があり・・

前回の意見が、何も検討されていない・・・

 

そのあと、出場資格証明や、電池のルール、ビデオ審査などが報告されたが、特に意見はなかったようです。

2020年のロボカップの世界大会やRCAPの延期の報告のあと、

資料4に基づき、RoboCup2020関連のオンラインイベントについて説明がなされた。

とあっさり書かれているのですが、ジュニアジャパンとしては、これらには全く興味が無いのでしょうか?

普通なら、チームに参加を促してください、とか、紹介してください、とか、あると思うのですが・・・

 

実際、ジュニア・ジャパンとしては、日本のチームを参加させたいのでしょうか? それとも参加させたく無いのでしょうか?

 

その後は、各ブロックの活動の状況(ノード大会やブロック大会の見通しなど)の報告などが続いています。

 

あとは・・・

ジャパンオープンは中止されたが、世界大会が実施される場合の選抜方法を決める必要があり、選抜メンバー内でビデオ審査を実施する等、RCJJとして出来る範囲での選抜方法を理事会で検討するとの説明がなされた。

これの意味が分からないのですが・・・今年(2020年)の話ではなくて、将来の想定の話なのでしょうね。

ジャパンオープンが開催されなかったが、世界大会が開催される場合に、世界大会への参加チームをどうやって選定するか? ということなのでしょうか?

普通に考えたら、世界大会には参加しない(推薦しない)だと思うのですが・・・

日本の代表チームを決定するのに、大会(競技会)を開催せずに、みんなが納得する方法って、あるのでしょうか?

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

プリウスαねた 今回の燃費は25.5km/L

2020-08-25 | プリウスαねた

めちゃ、暑い日が続いています・・・

今年は、ロボカップの世界大会が無いので、長い休みを取る必要もなく・・・

夏休みを、ちょびちょびと細切れに取っています。

本日も・・・適当にドライブに行ってきました。

 

今回は・・・612.0km走破して、給油量が24.0Lだったので、

燃費は、25.5km/L でした。

なかなか良いですね。

さすがに、暖かくなると燃費が良くなります。

(そして、高速道路を使わずに、一般道を走ると・・・)

 

 

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

2020年度 (一社)ロボカップジュニア・ジャパン 第3回理事会議事録

2020-08-24 | RoboCup2020

ロボカップ ジュニア・ジャパンのHPにタイトルにあるように、理事会の議事録が掲載されていました。

https://www.robocupjunior.jp/office.html

一般社団法人ロボカップジュニア・ジャパン 2020年度第3回理事会議事録 

 

早速、内容を確認してみます。

今回は Zoom によるWeb会議ですね。

コロナ禍の中では仕方がないし・・・交通費や時間を考えたら、今後もこれで良いのではないでしょうか!?

ちなみに、この理事会が午前にあって、午後にはブロック長会議があったようです。

 

内容ですが・・・相変わらず、議事録だけで、提示資料が無いので討議内容はよくわかりません。

最初に、ロボカップジュニアの競技会への参加人数(チーム数?)の報告があったようです。

WLではサッカーープシミ ュレーションOnStageに減少傾向が見られる

シミュレーションというのは、おそらく Rescue Simulation のことだと思います・・・が・・・そもそも、情報(参加チーム数)を提出していないブロックがあり、正しく分析するためのデータが揃っていなかったようです。

文章の後のほうに、

上位リ ーグであるMAZEの減少は顕著で

と書かれていて、減少ではなく、そもそも Rescue Maze への参加チームは少ない、ということでしょう。

元、Rescue Maze チームのメンターとして、なんか残念です。

でも、Rescue Line と Maze は上位下位ではなくて、それぞれやることが違うので別の競技と考えたほうが良いと思うのですが・・・

 

で、次に大きな話として、これまでは、ノード大会、ブロック大会のエントリーをそれぞれのノードやブロックでやっていたのを、ジュニア・ジャパンが一括してエントリーをまとめる。(≒全国のノ-ド大会/ブロック大会のエントリーをジュニア・ジャパンのシステムで一括して行う)という構想があるようです。

できるのかなぁ・・・!? (できるのであれば、やったほうが良いと思いますが・・・)

これは、ブロック長会議でブロック長の意見を聞いてみることになりました。

 

2020年は世界大会が無くなりましたが、2021年のボルドー世界大会でも渡航制限などがあった場合に、推薦をどうするのか・・・については・・・(いつもの通り)外務省の渡航情報に従うようです。

(これまでは、確か「レベル1」以上だと推薦しない・・・だったような)

 

あとは・・・2021年のジャパンオープンは予定どおり 2021年3月26日~28日で開催予定のようです。

ただ、ノード大会やブロック大会ができなかった場合に、ブロック長に推薦してもらう・・・らしい。

ノード大会もブロック大会もできないなら、ジャパンオープンに参加しない・・・というのが普通だと

思うのですが。

 

じゃあ、次・・・

国内では実機とシミュレーションが別になっているので今後一体化する方向で検 討していきたい

これだけ読むと何のことだかわかりませんが・・・ジュニアのRescueリ-グの中で、技術委員会が2つに分かれているので、今後は Maze/Line/Simulation を合わせてレスキューの技術委員会を一つにまとめませんか・・・ということでしょう。

 

それから・・・

2021年の世界大会では、(2020年の世界大会の中止の余波で)2020年に世界大会に参加することが決まっていた選手に限って、ジュニアの年齢制限を超えていても、2021年の世界大会に参加することが認められています。(つまり、2021年の世界大会には19歳を超えて20歳の選手がジュニアの競技に参加する可能性がある)

ただ、日本では、ジャパンオープンが開催されず、2020年の世界大会への参加チームを決定しなかったため、この緩和措置は関係ありません。

しかし、2021年のジャパンオープンには、(2020年のジャパンオープンを開催しなかった関係で)20歳の選手も参加可能になっています。(広報済)

これにより、2021年に20歳の選手は、ノード大会、ブロック大会、ジャパンオープンには参加できるが、世界大会には参加できない・・・ということになりました。

 

最後に

ジャパンオープンが開催されなかった場合の世界大会への選抜方法について質問がなされた。
ブロックから各1チーム推薦してもらい、その中から世界大会への選抜をしてはどうか 

ジャパンオープンが開催されなかったら・・・世界大会への推薦無し・・・でしょう・・・

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

休日

2020-08-23 | ブログ

今日は、久しぶりに涼しい(まあ、めちゃ暑いわけではない)休日です。

エアコンを使用しなくても、普通に過ごせました。

とくにやることもなく・・・

マンガを読んで、アニメを見て、サイクリングして、風呂に入って、昼寝・・・こんな「だらら~ん」とした生活が、贅沢なんでしょう。(笑)

 

で・・・昼食は、Mがマックのハンバーガーを食べたいというので、クルマで向かいました。

店がすいていたら、そこで食べるし、混んでたら、持ち帰りで・・・などと考えて店の近くまで行くと・・・

片側二車線の左側が渋滞しています。

こんなところに、駐車車両!?

などと思っていたら、ずらっと並んだマックのドライブスルーの順番待ちでした。

私たちは(ドライブスルーではなく)駐車場に入りたいだけなのですが、この列に並ぶしかないのか・・・

さすがに、あきらめて、近くのスーパーマーケットの駐車場にクルマを入れて、マックに向かいました。

マックの中も混んでいて、大変でした。

特に、商品を渡す手前のスタッフが、調理済の商品を注文ごとにグルーピングして袋詰めするところが、パニックのようになっていました。

まあ、久しぶりにマックのハンバーガーとシェークを味わいました。

 

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

PCの再インストールで失敗!?

2020-08-22 | ブログ

ちょっと、いろいろあって・・・普段使用している、PCのOSを再インストールしました。

データがなくなっては大変なので,重要なデータをDドライブに移したりして・・・

よし行け! とばかりに、実行したのですが・・・

 

ブラウザのブックマーク(お気に入り)だけ、移行(保存)するのを忘れていました。

もう、これまでのすべての財産を無くした気分です。(涙)

 

いま、毎日の巡回ルートを思い出しつつ、人力でブックマークの再作成をしています。

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

暑い夏

2020-08-21 | ブログ

夏は暑いのは当たり前ですが・・・今年の夏は暑すぎませんか!?

コロナ禍で、テレワークが当たり前になり、一日中家にいるので、昼間に仕事する部屋はエアコン(冷房)を稼働させていますが・・・エアコンを点けていない部屋は・・・35.3℃

 

 

私は、けっこう暑さの耐性がある(逆に、冷房で寒いのが苦手)のですが・・・さすがにこれは・・・って感じですね。

 

昼飯に、ラーメンと食べて、たっぷりと汗をかいて、そのまま水風呂に入って・・・午後は、エアコンの効いた部屋で仕事・・・贅沢だなぁ。(笑)

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

M&Y家の 風呂の残り湯消失事件!

2020-08-20 | ブログ

テレワークになって、良かったことの一つに、いつでもお風呂に入れる・・・というのがあります。

梅雨明けしてから、暑い日が続きますが・・・私は、よく水風呂に入ります。(前の日の残り湯に、そのまま入るってこと・・・です)

昼休みに入って、仕事が終わってから夕方に入る・・・

 

で・・・先日、夕方に入ろうとしたら・・・湯船に残っているはずの残り湯がありません。

前日は、夕方に私が風呂を洗って、湯を入れました。

夕方に私がお風呂に入って、それから家族が入りました。

まず、前日最後に入った(であろう)Mに確認したら・・・Mが深夜に風呂に入った時には、すでに湯船にお湯がほとんど無かった、とのことでした。

ということは、私が夕方に風呂に入ってから、深夜にMが入るまでに入った人物が犯人です。

次にM&Y母に確認したら・・・昨日は風呂には入らず、シャワーを浴びただけ、とのことでした。

そうすると、犯人は、残ったYになりますね。

自分が最後だと思って、風呂桶の栓を抜いてお湯を捨ててしまったのか・・・

 

一応、言い訳を聞こうと、Yに昨日の風呂の事を確認したら・・・「俺が入った時には、なぜか、風呂のお湯が半分くらいしか無かったよ!」

なにっ!?

 

なるほど

(レイトン教授風に)なぞ解明!

 

真犯人は・・・私でした。(汗)

風呂を洗って、お湯を溜めるときに、風呂桶の栓がちゃんとはまっておらず、少しづつお湯が抜けていた・・・

「他人を疑う前に、よく自分自身で確認しよう」と、さんざん言われました。(笑)

 

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

「香港は三権分立」記載を削除 香港教育当局、教科書管理を強める

2020-08-19 | ブログ

Yahooニュ-スに

「香港は三権分立」記載を削除 香港教育当局、教科書管理を強める

という記事が掲載されていました。

香港国家安全維持法が6月に施行されて以降、いろいろなことが急激に進んでいるように思います。

 

記事に中心の部分だけコピペすると・・・

香港紙「明報」などによると、当局に修正を要求されたのはいずれも「通識」の教科書。「香港教育図書社」の教科書では香港の法制度の特徴として「三権分立の原則に従い、個人の自由と権利、財産の保障を極めて重視する」との記述があった。だが検定後は削除され、代わりに「デモで違法行為をした場合、関連の刑事責任を負う」との記述が加えられた。他の三つの出版社でも「香港では三権分立の制度が取られている」との表記が削除された。

ということで、香港の教科書から「個人の自由と権利、財産の保証を重視する」が削除されたそうです。ということは、「個人の自由と権利、の保証」は無くなった・・・ということでしょう。(苦笑) で、代わりに「デモをするとつかまる」が追加された・・・

 

香港は、M&Y家族にとって特別な場所です。

子供が生まれる前後に毎年のように香港に旅行に行っていました。

ここのところは・・・行っていませんが、ロボカップで香港人と友達になったりしたので、またいつか行きたいなぁ・・・と思っていたのですが・・・

もう、行けない国になってしまうのでしょうか!?

1997年に香港がイギリスから中国に返還される・・・というので、大好きだった香港がなくなってしまう・・・と、大変心配だったのですが、そこ後も変わりませんでした。

なんで、急に一国二制度を廃止してしまったのでしょうか? (イギリスとの約束だったはずなのに・・・国と国の約束を守らない国が多い!?   こういうことを書くと、私もつかまっちゃうのでしょうか!?)

 

昨年だったか、Yが突然、「一人でぶらっと香港に行ってくる」と一人旅をしてきたのですが、よいタイミングで行ったと思います。

 

私の知っている香港の街の夜景は(空港が街の中にある関係で)点滅しない光だったので・・・きらきら輝く新しい香港を見たいと思っていたのですが・・・

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

LOOK 2つのこだわりチョコミント

2020-08-18 | ブログ

私の好きなLOOKチョコレート

今回見つけたのは、「2つのこだわりチョコミント」

 

 

おいしい!

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

Rescue Simulation AIプログラミング

2020-08-17 | RoboCup2020

前の記事はこちら いまさら Rescue Simulation を動かしてみる 続き

 

まあ、もう、あまり役に立たないでしょうけど・・・Rescue Simulation の AIプログラミングを自分の備忘録として記載しておきます。

大昔の(2010年の頃)AIは、全くのランダム走行や、壁に沿って一周するプログラムが普通でした。

しかし、時代が進み、現在の Rescue Simulation では、作戦を立てて、きちんとその位置に向かうようなプログラムを作り必要があります。

①オブジェクトを収集したら、オブジェクトコレクションボックスに入れる。

②スーパーオブジェクトやスーパープラスオブジェクトが発生したら、収集する。

③その他、オブジェクトが撒かれている特定の領域に向かう・・・

こんな感じです。

で、特定の場所に向かうのは 自分(ロボット)の座標が分かる WORLD_2 でのプログラミングになります。

自分(ロボット)の座標は PositionX、PositionY の変数で取得することができます。

また、自分が向いている方向も Compass という変数で取得できます。

 

では、向かうべき座標を(Xt,Yt)として、そこに向かうプログラムのサンプルです。

 

dX=Xt-PositionX;
dY=Yt-PositionY;

if((dX>0)&&(dY>0))
  if(dX>dY)
    T=300;
  else 
    T=330;
else if((dX<0)&&(dY>0))
  if(-dX>dY)
    T=60;
  else 
    T=30;
else if((dX<0)&&(dY<0))
  if(-dX>-dY)
    T=120;
  else 
    T=150;
else
  if(dX>-dY)
    T=240;
  else 
    T=210;

T=(T-Compass+540)%360;
if(PositionX==0)
  {WheelLeft=3;WheelRight=3;}
else if(T<30)
  {WheelLeft=-3;WheelRight=3;}
else if(T<=90)
  {WheelLeft=3;WheelRight=-1;}
else if(T<=160)
  {WheelLeft=3;WheelRight=1;}
else if(T<200)
  {WheelLeft=3;WheelRight=3;}
else if(T<270)
  {WheelLeft=1;WheelRight=3;}
else if(T<300)
  {WheelLeft=-1;WheelRight=3;}
else 
  {WheelLeft=-3;WheelRight=3;}

 

面倒なのは、ロボットが信号ブロック領域に入ると、自分の座標(PositionX、PositionY)が(0,0)になってしまうことです。

(この信号ブロック領域がどこに発生するか分からないところが、難しい・・・!)

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