PR

3月15日 かずはVISION COMMANDの最後のChallenges(チャレンジ)に挑む。テーマはSearch And Find - Create a rover that can find a colored ball.(探して見つけろ - 色付きの球を見つけるローバーを作ろう)だ。レゴカム(PCカメラ)のregion(領域)はパターン16で区切る。



 パソコンのウィンドウ上にレゴカムの捉えた映像が写る。



 ローバーは118話のS'Cargobot(エスカルゴボット)にレゴカムを付けたものだ。プログラムの仕様は,
・プログラムを実行するとローバーはゆっくり右折を繰り返す。
・両サイド(1,2,4,5)の領域に選択した色のボールを見つけたら,3の領域にボールが入るように,ローバーを右左折させる。
・3の領域にボールが入ったら,ボールに向かって前進する。
・6の領域にボールが入ったらサウンドを鳴らし,プログラムを終了する。



 難しそうだったので,かずはサンプルプログラムを真似てこんなプログラムを作った。AutoPilotにつながるコマンドブロックはRUNボタンを押すと自動的に実行され,Repeat ~ Foreverで永遠に繰り返される。SpinRightで右折しながら,色付きのボールをWatchする。region1からregion6につなげたコマンドブロックはボールがそれぞれの領域に入った時に実行される。

 かずがテストを行うがこれまでと違いうまくいかない。ボールを認識してくれなかったり,せっかく認識しても,レゴカムの視界からボールを遠ざけるようにローバーが動いてしまう。プログラムにも間違いがあるのだろうが,ボールの大きさも影響しているようだ。

 ボールの位置を変えたりして何度もトライするが,うまくいかない。「しめ,しめ」と内心思った。これまでスイスイ行き過ぎたので悩んだり,じっくり考えたりすることがなかったのである。

3月16日 この日は近くの山にふきのとうを取りに出かけていた。自然の中に連れていくと,かずはどこへでも行ってしまう。そんなところ普通行かないだろうという所に入っていったのだが,その割に成果は少なかった。家に帰ると「昨日の続きしよう」とローバーを持ってくる。悔しくてなんとかしたいという気持ちは強いのだが,今まで失敗した経験がないので具体的な解決策を知らない。

 まず,色付きのボールを認識する設定をAdvancedというメニューで変更できることを説明して,Percent of regionという項目の値を変えてみた。あるregion(領域)にボールが入った場合,領域の何パーセントをそのボールが占めたら,色付きボールを検出したと判断するのかを設定できるのだ。デフォルト値の20%を10%に変更した。これで小さなボールでもその色を検出できる。

 改めてテストした。AutoPilotでSpinRightを実行するので,ローバーは右向きに旋回する。そして右側の領域(region5)にボールが入る。すると,嫌なものでも見たように視界からボールを遠ざけようとする。「かず,SpinRightとSpinLeft,逆じゃないか」と言うと「でも,サンプルプログラムもそうなっていたもん」とかず。「サンプルプログラムよりも自分でやってみた結果の方を信じろ」とつい言葉に力がこもった。

 region1,2のSpinRightをSpinLeftに,region4,5のSpinLeftをSpinRightに入れ替えた。



 ローバーはボールを見つけ,6の領域にそれを入れるように動き,音を鳴らし停止した。かずはガッツポーズで「やった!」と叫び,母にも「できたよ,みて」と自慢げにローバーを動かしてみせた。