Re: The history of "M&Y"

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

つくばりんりんロ-ド

2020-09-30 | ブログ

久々につくばりんりんロ-ドを走ってきました。

鉄道の廃線跡のサイクリングロードなので、勾配もカーブもきつくなくて、走りやすいです。

 

地平線まで続きそうな真っすぐに続く道・・・

 

筑波山が目の前に・・・

 

つくば駅跡の休憩所

 

いや~気持いいです・・・

ただ・・・ずっと前傾姿勢で、首を上げているので・・・肩がこるんだよね。

 

続きの記事はこちら りんりんロードのおまけ

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

夕焼け小焼け!

2020-09-29 | ブログ

夕方の散歩で見た夕焼け!

めっちゃ綺麗!

 

 

 

同じ時間に歩道橋を渡った人は、みんな写真を撮っていました。

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

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

2020-09-28 | RoboCup2020

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

 

Rescue New Simulation のプラットフォームがバージョンアップしたというお知らせがきました。

新しいのは Rescue Maze Release 7 ということで、Release 7 になりました。

 

https://github.com/Shadow149/RescueMaze/releases

 

変更点がいろいろと書かれています。

気になった部分だけコピペします。

New release for the upcoming competition.
Please note this only works with Webots version 2020a and 2020b rev-1.

10月になったら、競技会がありますが、それのためにリニューアルしたようですね。

競技会直前で、プラットフォームの変更は、チームにとっては厳しいのではないでしょうか!?(笑)

(単なるバグフィックスだけなら良いのですが・・・)

で・・・Webotsのバージョンとして、2020aだけでなく、2020rev-1 もサポートしたようなのですが・・・そうすると、Pythonも最新版の3.8を使えるのかなぁ!? でも、Downloading & Installing には、相変わらず Python は 3.7、Webots は 2020a と書いてある・・・やっぱり、「コードは変更してもドキュメントが変更されていないダメプロジェクトの典型」 なのでしょうか!?

Added
・Added downward-facing light to the robot to prevent the colour sensor value from being affected by the shadows of objects and the red light of the heated victim
・Added a new button to allow the option to use the inbuilt webots victim detection API.

ロボットが床の色を検知するための下向きのカメラがあったのですが、それにライトが装備されたようです。これで、床の色を判断しやすくなった・・・ようです。でも、この変更で、これまでのプログラムを再調整しなければなりません。

それから、被災者判別用のAPIのON/OFFのスイッチが追加されました。正直、何のことなのか私にはわかりませんが・・・おそらく、文字の被災者の文字を判定するためのAPIが使えるようになったのだと・・・思います。(あくまでも、想像)

Changed the silver tile to CorrodedMetal

シルバータイル(チェックポイント)の色が CorrodedMetal になったって!

この CorrodedMetal の色って何だろう!?

普通に翻訳すると、腐食金属となるのですが・・・おそらく、サビ色(茶色っぽい)のことだと思います。

 

あとは、様々なバグフィックスのようです。

(すみません・・・「ようです」の表現ばかりで・・・)

 

さて、新しいプラットフォーム(Release 7)で、これまで作ったプログラムを動かしてみると・・・やっぱり、黒のタイル(落とし穴)の判断ができずに、落とし穴にコロンと落ちてしまいます。

ちゃんと黒の色を測りなおして、プログラムを修正する必要があります。

(床の色の検知をするカメラにライトが付いたので、値が違うのですね。)

とりあえず、私のプログラムはそれだけで動きました。(文字の被災者用のカメラとかは、元々のサンプルをそのまま使っているので・・・)

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

NESTロボコン2020のレスキュー競技

2020-09-27 | RoboCup2020

9月のシルバーウィークに開催されたNESTロボコンのレスキュー競技にスタッフとしてお手伝いにいったので・・・その様子の記録(記憶)です。

 

いつもだと、夏休みの最後の日曜日(8月の最後の日曜日)開催されることが多かったのですが、今年はコロナ禍の影響でシルバーウィークに開催されました。

開催された競技は全部で5つ

①Kokohore! Wan Wan! (NESTロボコンオリジナル競技)
②NESTロボコン サッカー日本リーグ競技
③NESTロボコン サッカーワールドリーグ競技
④NESTロボコン レスキュー日本リーグ競技
⑤NESTロボコン レスキューワールドリーグ競技

で・・・分散のため

①は9月20日
②と③は9月21日
④と⑤は9月22日

と、バラバラに開催されました。

私はレスキュー競技のお手伝いとして、9月22日に行ったので、④と⑤を見ました。(ということで、以下の内容は④と⑤についてです。)

 

午前中に⑤、午後に④という、なかなか厳しいスケジュールでした。(笑)

午前中の⑤(レスキューワールドリーグ競技)は、各チームが集まって、ロボットもそれぞれ持ってきて競技をしました。ですので、まあ、いつもと同じやり方ですね。ちょっと違うのは、フィールドでの密を避けるために、フィールドでの練習時間を各チームに割り当てて、チーム毎にフィールドを専有して練習しました。

ただ、その時間が(各チーム)10分間だけ!

なかなかに厳しい!(笑)

それから、他のチームの競技もフィールドの近くで見ることができず、フィールドの近くに設置された固定カメラで撮影した映像(動画)をパドックのスクリーンに投影するのを見ていました。

でも、まあ、コロナ禍の中で、よくできた競技会だったと思います。

 

さて、午後の④(レスキュー日本リーグ競技)の方が、さらに素晴らしい(そして面白い)競技会でした。

チームは会場に来ないで、Zoomでオンライン参加します。

ロボットはあらかじめ共通のものが公開され、チームはそれに合わせたプログラムを作成し、オンラインで登録します。

スタッフは、登録されたプログラムをロボットに流し込みます。

そして、主審と副審(これは普通ですね)と、チームキャプテン役のスタッフがロボットを操作して、競技を実施する・・・という、面白いやり方でした。

無観客競技会 だけでなく 無選手競技会

 

競技の前にチームミーティングがあり、普通だったらキャプテンをフィールドに集めて、スケジュールやルールの確認などを実施しますが、今回はZoomでチーフが一人で説明します。(何か、見てると、異様・・・笑)

センサーの値は、ロボット毎に微妙に違うので、4台のロボットそれぞれの値(黒の値、白の値、銀の値など・・・)を計測して、あらかじめチームに配信しました。

 

フィールドは2つあり、どちらも同じコースでした。

スタッフは主審が2人、副審が2人、チームキャプテン役が4人、ロボットにプログラムを流し込む役が2人と10人で頑張りました。(勿論、そのほかにも沢山のスタッフがご尽力されていました・・・)

 

まず、ロボットにプログラムを流し込む役の人が、一番大変だったと思います。チームから送られてきたプログラムのどれが一番新しいものか、他のチームのプログラムと間違ってもダメだし・・・使用するロボットは4台で、順繰りに使用するのですが、そのロボットも間違わないようにしないと・・・と、大変なプレッシャーだったと思います。(本当にお疲れ様でした)

さて、競技の方は、結構平和でした。

最近のレスキューNL(Nippon league)のルールは先祖返りしたようで、救助ゾーンで救助を待つ被災者が銀と緑のシールになりました。(とっても懐かしい!)

で、いつもと違うのは・・・競技進行停止をチームキャプテンが宣言するのではなく、主審が(勝手に)判断します。ライントレースのコースであれば、コースを外れたり、逆走すれば競技進行停止なので、判断が明確ですが・・・困るのが救助部屋での競技進行停止です。

もう明確に・・・「これはダメだな」となった時に競技進行停止を取りました。

チームメンバーはZoomでスタッフを連絡を取れる状態で見ているのですが・・・競技中は指示は出せないルールでした。(だから見ているしかない・・・)

まあ、こんなやり方で競技をしてました。

 

「コロナ時代の新しい競技会の形」ですかねぇ!!

 

午後の④の競技の開会式も閉会式もありました。

・・・普段なら会場の産技高専のホールに沢山のチームメンバーとメンターや保護者、スタッフが集まって実施する開会式や閉会式なのですが・・・

今回は、選手も観客も居ないので・・・レスキューの競技会場で、机のPCに向かって淡々と式の進行をする中島先生が違和感でした。(笑)

 

いろいろ初めての試みで失敗や反省点もあるでしょうけど、素晴らしい競技会でした。

 

最後に・・・④⑤の競技はYouTubeLiveで配信されていたのですが・・・それぞれの競技を元世界チャンピオンが解説してくれていて、それがとても素晴らしい解説だったそうです。

 

スタッフの皆様、本当にお疲れ様でした。

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

RCXケーブルの修理 リベンジ!

2020-09-26 | RCXねた

前の記事はこちら RCXケーブルの修理 失敗!

 

LEGO MINDSTORMS RCXのケーブルって、経年劣化でボロボロになっています。

これをなんとか、再生できないかといろいろと努力したのですが・・・前の記事で書いたとおり、まだ成功していませんでした。

で、半年放置していたのですが・・・本日、思い立ってリベンジしてみました。

というのも、本日ダイソーに行ったときに、プライヤーを見つけたからです。

とりあえず、プライヤーを買って帰りました。

半年前に、失敗した部品やケーブルが残っていたので、再挑戦です。

 

まず、ケーブルの先についているソケットを外します。(精密ドライバーでこじあける!?)

これまで接続されていた(ボロボロの)ケーブルを取り除きます。(ボロボロになったケーブル被覆の残骸も取り外します)

新しいケーブル(エーモンのヤツ)を載せて、プライヤーでギュッと締めてみました。

おぉぅ なんとなくうまくいった感が!

参考にしたHPにも、最後のプライヤーでの締めは、「勢いよくガシッと」と書かれていたので、一気にやりました。

 

 

 

できたモノを、テスターで確認しました。

おぉぅ ちゃんと出来てるっぽい!

 

ということで、やり方は分かったので、今度まじめにやってみます。

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

電池山盛り!

2020-09-25 | RoboCup2020

先日のNESTロボコンでの一風景

 

山盛りの乾電池

 

 

Fujitsuの電池だったので、ちょっとうれしい(笑)

 

前日のサッカーで使ったものの残骸だったらしい・・・

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

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

2020-09-24 | RoboCup2020

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

 

さて、とりあえず、普通に迷路探索(単純な右手法ですが・・・)ができるようになりました。

そうすると、次はやっぱり被災者の発見ですよね。

被災者を発見するためには、温度の被災者を発見するための温度センサー、文字の被災者を発見するためのカメラの制御をしなければなりません。

で、それらの使い方が  Tutorial にあるらしいのですが・・・・私には理解できませんでした。(英語だし・・・そもそも Python を知らないから・・・)

 

じゃあ、どうするか?

一番安易な方法をとりました。

それは・・・Tutorial 1 の Example code demo  にあるサンプルコード(ExamplePlayerController_updated.py)を右手法に改造する、です。

 

ExamplePlayerController_updated.py は、熱の被災者も発見できるし、文字の被災者も発見できます。ただ、迷路探索がランダム走行です。(とりあえず直進できる間は直進する。壁にぶち当たったら、右回転する・・・という感じ) さらに、なぜか沼地のタイルに入らない様になっていました。

 

だから、改造するのは・・・

・右手法にする。
 →右前の壁を調べて、壁との距離が近ければ左前に進む、壁との距離が遠ければ右前に進む。(ちょうど良い距離であれば直進する)

・沼地には入らない → 特に検知せずに、普通に沼地に入る

・被災者を発見した後に、バックする → 被災者を発見した後に、ちょっと左回転

単純にこのように変更すると・・・

右手法で進んで、被災者も発見できるサンプルプログラムになりました。

 

ただ・・・これは、元々のルールというか、ロボットの設定が悪いと思うのですけど・・・文字の被災者を発見するためのカメラがロボットの前方に設置されているので、経路の真ん前に(文字の)被災者が設置されていないと、発見できません。(熱の被災者は、発見率が高いです)

何で、カメラが3つも搭載されているのにの、前、右前、左前のように前側に寄せられているのでしょうか?

私の想像だと、

①リモート操作をするメジャーレスキューの流れで前側に設置してある
②参考にしたのが CoSpace Rescue で、そのロボットの距離センサーが前、右前、左前に設置してあったので、それを模した

のどちらかかなぁ・・・と想像しています。

Rescue Maze のロボットとしては、前はいらないから、右か左(つまり真横)にカメラがあるとありがたいのですが・・・  

 

とりあえず、動いたので・・・また、時間のある時に自分なりに効率化(無駄なコードを削除するとか)をやってみたいと思いますが・・・なにしろ Python 知らないので、まずは、その勉強からでしょうか!?

 

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

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

新しいBDドライブ 続き

2020-09-23 | ブログ

前の記事はこちら 新しいBDドライブ

 

せっかく新しく購入したBDドライブですが・・・

普通に書き込むだけですが・・・赤色が点滅(電力不足警告)になります。

やっぱり、別途、AC専用のACアダプタを購入しないとダメなのかなぁ・・・

 

しかし、今回の製品は・・・後ろ側にもう一本のケーブルが付属しています。

 

これが、予備の電源になるそうです。

もう一つのUSBの口に接続して、電力不足の解消になるのか・・・!?

 

 

まあ、ダメモトでやってみると・・・焼いている途中で赤色が点滅しません。(ずっと緑色です)

これは、使えるかもしれませんね!

 

そうすると、これまでのBDドライブで、よく焼きミスが発生していたのは、BDドライブが悪いのではなくて、単に電力不足だったのかも・・・と反省です。

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

NESTロボコン

2020-09-22 | RoboCup2020

本日はNESTロボコンの最終日で、レスキューの競技があり、お手伝いに行ってきました。

久しぶりの産技高専(品川)です。

午前中はレスキューWL(World  league)で、こちらはチームがロボットを持ってきて参加します。

競技自体は、ロボカップジュニアの Rescue Line の救助ゾーンだけを取り出した競技でした。

8チームが参加しており、被災者を救助したチームが優勝でした。(当たり前!)

ただ、救助したのは1チームのみで、その他は何もできずに0点か、競技進行停止をしてマイナス点・・・という感じでした。

 

さて、午後は、レスキューNL(Nippon league)で、こちらの競技が面白い・・・

運営側が用意した、LEGOで作成した標準のロボットに、チームが作成したプログラムを入れて競技をします。

チームメンバーは会場には来ないで、オンラインで作成したプログラムを送付します。会場に居るスタッフが、そのプログラムを受け取って、ロボットに流し込みます。スタッフがロボットを操作して、競技をするという・・・「無選手競技会」でした。

ロボカップジュニア初のスタンダードプラットフォーム競技なんじゃないでしょうか? (実機ロボットの競技では・・・)

 

こちらが、全チーム共通のロボット

 

チームからオンラインで送られてきたプログラムをスタッフがロボットに流し込みます。

 

年寄りには、とっても懐かしい、銀の被災者と緑の被災者!

チームの代理操作役のスタッフが、ロボットの操作をします。(スタートや競技進行停止時の操作)

 

最初は、ちゃんと競技会になるのか心配でしたが、ちゃんと競技会になっていましたよ!

 

開会式も閉会式もオンラインでの実施でした・・・

普段は、競技が終わったら、ホールに沢山の人が集まって(選手やメンターや観客、スタッフが)閉会式・表彰式をやるのですが・・・オンラインでの閉会式・表彰式は、なんか違和感&新鮮でした。

スタッフの皆様、本日はお疲れ様でした!

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

学生ロボコン 2020「ロボコニストはあきらめない!」

2020-09-21 | 高専ロボコン

今年の学生ロボコンは 新型コロナウイルスの感染拡大で中止になった・・・ということで、ノーマークだったのですが・・・たまたまテレビを見ていたら、『学生ロボコン 2020「ロボコニストはあきらめない!」』という番組があり、見入ってしまいました。

全国のチームを一堂に集めて大会(競技会)を実施するのは中止になったのですが・・・

交流会ということで、参加チームを募って競技をしたようです。

交流会に参加したのは、東京大学、東京工芸大学、立命館大学の3校でした。

常連の東京大学のロボットは素晴らしい動きでした。

その他に、いくつかの学校のチームが紹介されていましたが・・・中でも豊橋科学技術大学のロボットは、完成度も高く、素晴らしい動きでした。

 

で・・・オンライン学ロボFESTIVAL ということで、各大学の紹介映像が公開されています。

オンライン学ロボFESTIVAL

左側の学校をクリックすると、その学校のチームの映像が見られます。

 

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

ジャパンオープン2020

2020-09-20 | RoboCup2020

本日、ロボカップジャパンオープン2020のロジスティクスリーグが開催されました。

その競技の状況がネット配信されていたので・・・ちょっと見てました。

 

 

会場は、龍谷大学(だったよね)ですが、チームメンバーは会場には来ておらず、リモートで参加してました。

これは、スタンダードプラットフォームだからできるんですね。

 

さて、もう一つ・・・こちらも本日から開催のNESTロボコン

本日は、WanWanをやっていました。

 

こちらも、(今年は)スタンダードプラッフォームで、チームは会場に来なくて、リモート参加での競技会でした。

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

明日からNESTロボコン

2020-09-19 | RoboCup2020

例年だと・・・NESTロボコンは夏休み最後の日曜日(つまり、8月の最後の日曜日)だったのですが・・・

今年はコロナ禍もあり、明日からの3日間に開催されます。

2020年9月20日(日)Kokohore! WanWan競技実施
2020年9月21日(月祝)サッカー競技実施
2020年9月22日(火祝)レスキュー競技実施

と、各競技毎に日程が違います。(これも密をさけるため・・・!?)

さらに、WanWanとサッカーNL、レスキューNLは、無観客試合ならぬ無選手競技です。

あらかじめ、決められた共通のロボットを規定して、チームはプログラムを作成して事前に送付します。

競技当日は、チームから受け取ったプログラムをスタッフがロボットにローディングして、シタッフだけで協議会を実施します。で・・・それをネット配信して、選手も観客も見ることができます。

という、面白いやり方です。

(さすがにサッカーWL、レスキューWLは、会場にチームメンバーがロボットを持ってきて競技をします。)

 

で・・・私も、最終日には、レスキューのお手伝いに行く予定です。

 

NESTロボコンのHPにライブ配信について案内が掲載されていました。

NESTロボコン2020 ライブ配信

 

 

各競技のライブ配信のスケジュールをコピペします。

 

9月20日(日)Kokohore! WanWan競技ライブ配信
午前10:45より配信開始

9月21日(月祝)サッカー競技ライブ配信
午後12:15より配信開始

9月22日(火祝)<前半> 
レスキューワールドリーグ競技ライブ配信
午前8時35分より配信開始

9月22日(火祝)<後半> 
レスキュー日本リーグ競技ライブ配信
午後12時50分より配信開始

 

おまけのたわごと

コピペしておいてナニですが・・・午後12時50分という表現は、日本語としては正しくないように思います。

午後0時50分 または 12時50分 が正しいですね。 午後xx:xx という表現は、正午からの経過時間を表していますので、午後12時50分では、夜中になってしまいます。(笑) 

(英語表現では 12:50PM と書くようです。)

ということで、ライブ配信は(夜ではなく)昼ですのでお間違いなく・・・

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

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

2020-09-18 | RoboCup2020

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

 

さて・・・このシリーズも7回目・・・(まあ、誰も期待していないと思いますが・・・笑)

今回は、フィールドを一周する(一周できる)プログラムを目指します。

これまでで、右手法のプログラムを作りましたが・・・右の壁(通常は外周ですね)を伝って進むと、黒のタイル(落とし穴)があり、必ずそこに落ちて・・・競技進行停止(Lack of Progress )になり、スタート地点に逆戻りです。

ですので、今回は黒のタイルを判断して、落とし穴に落ちないように回避します。(さて、できますか!?)

 

New Rescue Simulation のロボットには、被災者を発見するためのカメラが3台搭載されています。さらに、床の色を判断するためのカメラが1台搭載されています。(合計4台のカメラって、贅沢ですね!)

今回は、この床の色を判断するカメラを使います。

解説は Tutorial 2: Sensing & Victim Detection にあります。

Content Summary に Using the colour camera to identify swamp and trap areas と書かれています。

Exemplar Code のところに、サンプルのプログラムが掲載されていますが・・・code2.py は古いプラットフォーム用なので、現在の最新のプラットフォーム(release 6)では動作しません。最新のプラットフォームで試すのは、code2_webinar_updated.py の方を試しましょう。

(ただ、この code2_webinar_updated.py も、Tutorial 1のサンプルプログラムをベースに作成されているのでランダム走行です。まあ、今回は、あまり関係ないですが・・・)

このサンプルプログラム(code2.py)は・・・「黒のタイルを判断して、そこに入らないようにする」→ はい、これは正しいですね。 しかし、なぜか、沼地(swamp)にも入らないようになっています。 謎です!? 沼地は入ってはいけない場所ではなく、単にスピードが遅くなるだけです。 確かに入りたくない気持ちはありますが・・・沼地の先に被災者やチェックポイントがあって、通り過ぎないと得点できないかもしれません。 先がどうなっているかわからないので、行くしかないと思うのですが・・・

 

話が、ズレました。

Tutorial 2 に Stepping through the code にサンプルプログラム(code2.py)についての解説があります。

この中から、床の色の判断に関するところを取り出します。

In this world we are now dealing with black trap holes and brown swamps. To aid detection later we are going to define the colour of these. We do this by converting the color in the binary value, using the b'color' format. Here we are assuming that the hole and swamp colour is a particular RGB value. You may want to make sure that this is the case so the robot does in fact detect them. To do so, run the calibration code in order to print out on the console what values the colour camera is sensing once the robot is above these tiles.

hole_colour = b'\x1e\x1e\x1e\xff'
swamp_colour = b'R\x89\xa7\xff'

色のバイナリ値を定義しましょう・・・黒の色はコレ、沼地の色はコレ、これらの色を検知したら、入るのをやめよう・・・はい、なんとなく正しいのですが、これに大きくはまりました。

まず、床の色のキャリブレーションをするために、calibrateColourSensor.py を実行します。それから、プラットフォームの Tools → Console を指定すると、フィールドの下にテキストが表示されるコンソールの領域が表示されます。これで、ロボットを移動すれば、そのロボットのカメラが検知した色情報がコンソールに表示されます。

これを、いろいろな場所で実施して、カメラが検知した色情報を記録します。

 

で・・・まず、何もせずに code2_webinar_updated.py を動かしてみます・・・

何もしないと、フィールド内の同じところをグルグル回ってループするので、適当に止めて、手で移動して・・・黒タイルの手前に置いてみます。

すると、ロボットが上に向かって黒タイルに入ると、ちゃんと回避できるのに、下向きに黒タイルに入ると(回避せずに)そのまま穴に落ちることがわかりました。(なんで?)

いろいろ試すと、右向きは回避OKでも、左向きではやっぱり穴に落ちます。

 

原因を追究するために、calibrateColourSensor.py で、上向き、下向き、左向き、右向き・・・いろいろな向きで黒タイルに近づけてみて、床の色情報を記録しました。

すると・・・HSVの値は同じでも、バイナリ値が微妙に違うことがわかりました。

つまり、同じ黒のタイルでも、入る向きによって、ロボットのカメラが検知する色が複数あることがわかりました。

ということで、バイナリ値で判断するのは良くないようです。

知恵袋のU君に相談したら、やっぱり「バイナリ値は光の当たり方によっても幅があるので、HSVの値の方の範囲で検知したほうが良い」との回答を得ました。

 

ということで、Tutorial 2 の床の色の検知のプログラムはあまり参考になりません。(キッパリ!)

 

じゃあ、何を、どうすれば良いのか・・・一時はあきらめかけましたが・・・HSVの判定方法の例を見つけました。

ExamplePlayerController_updated.py

の中に、avoidTilesHSV() という定義があり、(このプログラムの中では使われていませんが)沼地と黒タイルをHSVで判断していました。

avoidTiles() の代わりに、avoidTilesHSV() を使用したら、黒タイルを的確に判断するようになりました。

 

これで、私が作った右手法の単純なプログラムに黒タイルの判断を組み込んで・・・(落とし穴に落ちずに)フィールドを一周する(できる)プログラムができました。

長かった・・・(うれし涙)

 

プログラム全文を載せるのもナニなので、床の色を判断するカメラ関係の部分だけ・・・

宣言

# Declare colour sensor underneith the robot
colour_camera = robot.getCamera("colour_sensor")
colour_camera.enable(timeStep)

 

メインループ内

        # Avoid if any tiles are detected
        colour = colour_camera.getImage()
        img = np.array(np.frombuffer(colour, np.uint8).reshape((colour_camera.getHeight(),colour_camera.getWidth(), 4)))
        img[:,:,2] = np.zeros([img.shape[0], img.shape[1]])
        hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)[0][0]
        if (hsv[2] < 35):
            speeds[0] = -0.4 * max_velocity
            speeds[1] = 0.6 * max_velocity
            startTime = robot.getTime()
            duration = 0.7

 

New Rescue Simulation の GenerateMap.py が作成するフィールドは、スカスカの迷路が多いので、右手法だと「ただ外周を一周」を繰り返す感じですが・・・例えば、こんなフィールドでは、ほとんどの場所を巡ることができます。

 

さあ、次は被災者の発見か・・・!?

 

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

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

LOOK 利平栗 紅はるか

2020-09-17 | ブログ

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

今回は、熊本県産の利平栗と紅はるか

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

梅干し

2020-09-16 | ブログ

散歩の途中で見つけた風景

梅干しを作っているところ・・・

 

 

見ていると・・・口の中が酸っぱくなります・・・

ただ・・・道路の横なので、クルマの排気ガスが気になるのですが・・・

 

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