Re: The history of "M&Y"

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

競技直前の確認

2021-10-07 | ヒントみたいなもの

先日の「ロボットの鉄人」で、鉄人の一人が良いことを言っていたので、書いておきたいと思います。

 

「プログラムを動かしたら、最初にセンサーがちゃんと機能しているか表示するようにしろって言っているでしょう・・・」

はい、これ、とっても重要だと思います。

 

当たり前の話ですが・・・

センサーが壊れていたり、センサーとの接続がうまくいっていないと、センサーの値が正しく読み込まれません。

で、センサーの値が正しく読み込まれていないければ、(たとえ、プログラムが完璧でも)正しくロボットが動きませんよね。

 

で、どうするかというと・・・

(ロボカップジュニアのレスキューの競技の場合ですが)

競技の8分の中で calibration を実施すれば良いのですが・・・これをしないチームが多いです。

さらに、上で鉄人が言ったように・・・プログラムを起動したら、最初に全部のセンサーの値を読んで、表示します。人間がそれを見て、センサーがちゃんと動作している(いわゆる「センサーが生きてる」)ことを確認してから競技を開始すれば、確実性が上がりますよね。

 

もし、センサーが壊れていたら交換や修理をするしかないのですが・・・センサーへの接続ケーブルが接続されていなかったり、接続が 甘い(中途半端)な場合は・・・

「よしロボットスタート」「はい、得点走行開始」

「あれ、おかしいな、ちゃんと動かない・・・え~と、競技進行停止」「はい、競技進行停止」

「もう一回、スタート」「はい、競技再開」

「やっぱりダメだ・・・あれ、センサーの線が抜けてた、これ直してもいいですか?」「修理になるので、できません」

「え~っ! じゃあ、競技終了します」「はい、競技終了」

という、感じで、悲しい結果になりますね。(笑)

 

特に最近は、時短のために「一発勝負!」の競技会が多いので、後悔がないようにして欲しいものです。

 

 

M&Yは、ロボットに2つのプログラムを入れていました。

1つは、競技を実施するプログラムで、もう一つはすべてのセンサーの値をリアルタイムでLCDに表示するプログラムです。競技の8分間が始まると、まずは calibration を宣言して、すべてのセンサーが「生きているか」を確認しました。それから、得点走行を開始しました。

今どきのロボットはセンサーが沢山あるので、チェックも大変です。

左右のタッチセンサーは、バンパーを押したらちゃんと反応するか? 床の色は見分けられるか、4つの距離センサーは機能しているか、左右の温度センサーはヒーターで反応するか、ロボットを傾けると加速度センサーが反応するか・・・この短い時間で「正しい値かどうか」は分からないと思いますが、少なくとも何かのアクションに対して「値が変化するか」は確認できますよね。

で・・・ここまでしても、2014年のジャパンオープンの3回目の競技で、得点走行後にジャイロがちゃんと機能しなくて、ロボットがグルグル回転してしまい、0点で競技終了になってしまいました。(1回目、2回目が満点だったので、競技には優勝できましたけど・・・)

ということで、直前の確認は大切だよ・・・でも「直前の確認をしたからといって、絶対に本番で大丈夫」な訳ではない、という話です。

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

ヒントみたいなもの 循環的複雑度

2020-12-25 | ヒントみたいなもの

会社で、品質教育を受けた中で、面白い内容があったので、ちょっと紹介します。

 

「循環的複雑度(Cyclomatic Complexity)」こんな言葉、聞いたことがありますか?

私は知りませんでした。

この説明で一番分かりやすいのがここだと思います。

https://jp.mathworks.com/discovery/cyclomatic-complexity.html

 

内容については、記事を読んで欲しいのですが・・・

簡単に言うと、プログラムの開発で・・・プログラムの複雑度を客観的に評価できる手法があり、その複雑度を低くしましょう。(要は、なるべく単純なプログラムにしましょう、ってこと) 複雑度を低くすることで、プログラムの可読性、保守性、移植性が高まります。

ということです。

ロボカップジュニアのロボットのプログラミングもそうですが・・・品質をあげること(≒バグをなくすこと)が必要ですよね。

その時に、この循環的複雑度が高いと、バグが混入しやすい・・・まあ当たり前の話です。

ただ、今回、「なるほど!」と思ったのは、その複雑さを評価(数値化)する方法や、複雑さとバグの混入率が示されていたことです。

それによると・・・循環的複雑度が10以下だと、バグ混入率が25%なのに・・・循環的複雑度が50以上だと、テスト不可能だし、75以上だと「いかなる変更も誤修正を生む」と壊滅的な評価です。

ロボカップジュニアの競技会で・・・家や学校で、完ぺきにプログラミングをしてきたとしても、やっぱり競技会場で何らかの修正をする必要が出てくると思います。まず、現地での修正箇所をいかに減らすか(現地で修正しなくても良い様なつくり)を考えることと、その修正でバグが混入しないように、元々のプログラムの複雑度を低く抑えて置く・・・が良いようです。

 

と言っても、「言うは易く行うは難し」で・・・いろいろな想定を考えると、どんどん条件分けが増えて・・・プログラムもどんどん複雑化してしまうと思います。

だから、複雑度と可読性、保守性などのバランスなのだと思います。

 

ちなみに、プログラムを読ませて、この循環的複雑度を評価してくれるツールもあるそうです。(私は試してませんが・・・)

 

一連のノード大会を見て・・・

大会当日のパドックの中で、一生懸命にロボットの組み立てやプログラミング(プログラムの修正でなく、構築)をしているようでは、もうその時点で失敗でしょう。現地では、ちょっとプログラムを修正するくらいの完成度のロボットを持ってきて欲しいです。

 

(賛否はあるでしょうけど・・・)競技会当日は、もうやることが無くて、ブラブラして遊んでいられるくらい余裕があると良いと思います。(笑)

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

接続できるセンサーの数を増やす方法

2018-01-31 | ヒントみたいなもの

茨城ノード大会での技術交流会で、いくつか質問がありましたが・・・多かったのがセンサーを増やす方法についてです。

茨城ノード大会の参加チームは、ほとんどが LEGO EV3 のロボットで、4つの入力ポートで頑張っていました。

 

ポートが4つ ≒ 4つのセンサーしか使えない

これが常識ですが・・・現状では、日本一、世界一を目指すにはこれを打破しなければならないと思います。

一番簡単なのが・・・EV3を2個搭載することです。これで8個のセンサーが使えます。でも、2つの EV3 の通信など、プログラムがめっちゃ複雑になります。そして、ロボット自体が大きく重くなります。(ですので・・・お勧めしません。)

 

M&Yがロボカップに参入した頃は、LEGO RCX の全盛期でしたが、やっぱり3つの入力ポートに「いかに沢山のセンサーを接続するか」が成績に大きく影響していたと思います。

 

まず、自作とかを考えないのであれば・・・売っている製品でセンサーポートを増やしましょう。

私の知っているのは、これです。

 

http://www.mindsensors.com/ev3-and-nxt/52-port-splitter-for-nxt-digital-sensors

 

mindsensors.com のポートスプリッターです。どのセンサーでも拡張(接続)できる訳ではありませんが・・・それでも、簡単にセンサー数を増やせるのはありがたいですよね。世界大会参加チームのロボットは、結構これを使っていたと思います。

(ちなみに、M&Yはでもこれを購入して実験したことがあります。)

※実際に購入する場合は、良く調べてから買ってくださいね。私の情報はちょっと古いです。

 

次は、センサーコントローラとして Arduino などと接続して(部品屋で売っているような)普通のセンサーを使えるようにする方法です。M&Yは NXT と Arduino を接続していますが・・・おそらくEV3 でも同じようにできるのではないかと・・・

接続方法はいくつもあると思いますが、代表的なのは I2C接続と RS485接続だと思います。

I2C接続が、(ハード的には)一番簡単簡単で、LEGOの黒いケーブルの中の6本の線の

赤:GND
緑:Power
黄:SCL
青:SDA

これらを Arduino の対応するピンに、それぞれ接続します。

あとは、プログラム次第で、いくつものセンサーを接続することができます。(できるハズです。)

(プログラムのサンプルはググって下さい!)

 

M&Yは2011年はI2C接続でしたが、2012年以降は RS485 接続に変えました。

ハードは詳しくないので、良く分からないのですが・・・RS485の方が通信が速いのと、I2C接続のセンサーを使いたいから、通信用にI2Cポートを割り振れなかったから・・・

 

配線はこんな感じです。

M&Yのロボットは、(レスキューメイズのロボットですが)Arduinoに 4つの超音波センサーと2つの非接触型赤外線温度センサーを接続しています。

 

レスキューラインもそのうちにカメラが必要になるのではないかと考えています。(レスキューメイズは既に必要ですよね)ルールが複雑になると、チーム側も追従しなければならないので、大変です。(はぁ~)

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

レスキュー技術交流会

2017-12-10 | ヒントみたいなもの

先日参加した茨城ノード大会で、レスキュー競技が終ったところで、レスキュー技術交流会がありました。

この交流会・・・レスキューの全チームがロボットを持ってフィールドに集まりました。

「じゃあM&Y父さん、今後どういったことをやれば良いか話して下さい・・・」
「えっえ~!」

じゃあ、とりあえず、本日の競技を見ての感想など・・・

 

・完成しているロボットが少ない

ロボットが完成するとは・・・全ての作業が完了していること。じゃあ、すべての作業が完了しているとは「構想」「設計」「製造」「テスト」(もっと具体的な言葉に直すと「目標設定」「どういうロボットにするかの検討」「ロボットの組立」「プログラミング」「練習」)が出来ていることだと考えます。

やっぱり、会場でロボットを改造していたり、プログラムを作っているようでは、良い成績が期待できません。ハードもソフトも完成して、何度も練習して、もうこれ以上やることはない・・・という成熟したロボットで競技をやって欲しいです。

 

・坂道の開始と終了

坂道の開始と終了時に詰まるロボットが多かったです。ロボットの前方に光センサーを配置するロボットが多いですよね。そうすると、坂の始まりや終わりでは、センサーと床の距離が変わってしまいます。この距離を変わらないようにする仕組みを考えましょう。

M&Yのロボットは前輪の間に光センサーを入れて、床とセンサーの距離が変わらないようにしています。

 

・センサーの数が4つ

EV3の4つのポートだけでは、センサーの数が足りません。何らかの方法でセンサーを増やせると、もっと確実性が上がると思います。

 

・障害物の検知方法

まず、障害物を検知するためのタッチセンサーの検知範囲が狭いロボットが多かったです。ロボットの前方をバンパーで囲んで検知範囲を大きくしましょう。また、障害物の回避を3つの直線でやるチームが多いですが、先の黒線を捜すようにすると確実性が上がります。これまでに見た障害物回避の良い例として「ジンシャン方式」と「LINK方式」を紹介しました。

 

・ロボットをリモートコントロールしてはダメ

ロボットのスタートをPCからBluetoothで指示するチームがありましたが、それはリモートコントロールと判断されてルール違反になることを伝えました。

 

・再スタート時にロボットの形を変えるのはダメ

再スタート時にクレーンの糸を巻きなおすチームがありました。競技進行停止後の再スタート時には、電源のOFF/ONやプログラムのリセットしかできません。その他の操作(アームを戻したりすること)は修理とみなされるので、禁止されています。再スタート(プログラムをリセット)したら自動的にアームが戻るようにしましょう。

 

まあ、話したのはこんなところだったと思います。

その後は、自由に意見交換や質問タイムでした。

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

プロジェクト運営について

2016-11-06 | ヒントみたいなもの

いよいよ2017年度のノード大会も近づいてきました。

一番早い神奈川・西東京ノード大会まで、あと2週間です。

参加するチームメンバーは、最後の追い込みを頑張っていることでしょう・・・

 

私がこれまでノード大会で見て来たチーム全般の感想として、「全体的にハード寄り」であるように思います。

ロボットを作りたい子供たちが集まっているのだから、ロボットを作ることに専念する・・・まあ、ある意味正しいです。

でも、競技会で勝つためには、ハードだけでなく、ソフトも完成していなければなりません。

ハードも完成、ソフトも完成・・・こうなれば、問題ありません。

ロボカップジュニアの競技に参加するプロジェクトを結成した時には、作業完了までのスケジュールを引いて、進捗を管理して、競技会までにすべての作業を完成させる・・・こう、できれば素晴らしいですね。

でも、何故か、ほとんどのチームは作業が完了していなくて、前日に徹夜をしたり、当日の会場で組み立てたりしています。

で・・・ハードはなんとか出来たけど、ソフトが入っていません・・・なんて、状態になることが多いです。

 

ここまでが(長かった)前置き

 

もし、競技会までに時間が足りなくなって、ハードの完成、ソフトの完成がままならない場合は、バランスの良い作業をするようにしてください。

ハードの完成度が50%、ソフトの完成度が0% で、あと50%の進捗するだけの作業パワーしか残っていない場合に

①50%のパワーをハードに費やす
 ハードの完成度は100%になるが、ソフトの完成度が0%なので、動かない・・・

②50%のパワーをソフトに費やす
 ハードの完成度は50%だけど、ソフトの完成度が50%になる、完璧ではないが、なんとか動く・・・

さて、どちらが良いでしょうか!?

いろいろ意見は有るでしょうが・・・とにかく、動かなければしょうがありませんよね。

残りの時間、残りのパワーを考えて、ハード、ソフト共にバランスよく作業しましょう。

 

さらに厳しい意見ですが・・・

競技会の会場で、ロボットを組み立てているようでは、プロジェクトとしては成功しないでしょう。(つまりプロジェクト失敗・・・)

競技会の前にロボットのハード、ソフト双方を完成させて、何度も練習をして、練習で見つけた不具合を改善して・・・前日はもう、やることが無くて、ぐっすり眠る。

こうできれば、結果が期待できます。

これを目指して欲しいです。

 

M&Y語録に「Yはいつも暇なの!?」があります。ロボットのハード担当だったYは、会場ではすることが無くて、いつもブラブラしてました。ロボットのハード担当は、これくらいの余裕が有れば良いと思います。(笑)

M&Yと世界大会で仲良くなった上位チームの人達は、大会の会場で・・・楽しく話をしたり遊んでいました。もう、その場では組み立てとか調整とかをする必要が無いのです。それくらい準備が出来ているんですよね。

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

Exit Bonus

2015-01-16 | ヒントみたいなもの

ロボカップジュニアのレスキューB競技では、ロボットがスタートしたタイルに戻ってきて、そのタイルで競技を終了すると、Exit Bonus というボーナス得点が追加されます。

このボーナス得点ですが・・・

レスキューBの、長い(短い)歴史の中で何度か変わっています。

最初は・・・そんなボーナス得点はありませんでした。そもそも「スタート地点に戻る」という発想がありませんでした。フィールド内の被災者を全員発見したら終わり・・・

その次は、20点・・・そうたったの20点でした。まだ、その頃は「戻れるロボットなんて無いだろう」という感じだったのかしれません。

その後「発見した被災者の数×10点」になりました。だから7人発見した後にスタート地点に戻ると70点になります。逆に、一人も発見せずにスタート地点に戻ってもボ-ナス点は0点です。(せっかく戻れたのに、ねぇ・・・)

そして最近は、(ボーナス得点のルール変更ではありませんが)、スタートタイルは必ず銀タイル、という変更がなされたので、ちょっと難易度が下がりました。

 

前置きが長くなりましたが・・・

(私が見る限り・・・)世界大会でも競技でスタートタイルに戻れる実力のあるチームはごく少ないです。

それらのチームは、きちんとマッピングをしています。つまり、ロボットの中にフィールドの地図を描きながら(自分がその中のどこに居るのかを把握しながら)迷路を進みます。

だから、自分がスタートタイルに戻ってきたかどうかがちゃんと分かります。

 

じゃあ、マッピングをしていないと、Exit Bonus は得られないのか!?

これまで、いろんなチームが試行錯誤をして、なんとか (マッピングをせずに!?)Exit Bonus を得ようと努力をしてきました。それらを紹介したいと思います。

 

1.スタートタイルにマーカーを置く

スタート地点に何か(カードのようなもの)を落とし・・・迷路を探索中に床にそのカードの色を感知したら、そこをスタートタイルと判断してロボットを停止する。という作戦のロボットが、2013年のEindhoven世界大会に参加していました。しかし、これは「競技は1台のロボットでやる」というルールに抵触していると判断され、それ以降は使われなくなりました。(分離ロボットに当たると判断)

 

2.進んだ距離でスタートタイルを判断する

これも、2013年のEindhoven世界大会で、そういうロボットのチームがありました。このチームのロボットは、単純に右手法で進みました。右の壁に沿って進み、フィールドを一周してスタートタイルに戻った時に、ピタリと止まりました。そのとき、近くで見ていた私は、どういう仕組みでスタートタイルを判断して止まったのか、全く分からなかったのですが、あとでインタビューで確認してもらったら「進んだ距離で判断した」とのことでした。

なるほど、確かに理論的には可能だと思います。しかし、実現にフィールドのコ-スをぐるりと一周してきて、スタートタイルにピタッと止めるのは可能でしょうか!? 不可能ではないけど、難しいですよね。まず、ロボットが進んだ距離をそんなに正確に測れたのでしょうか!? 楊枝が撒かれていたり、バンプもありました。 実際の競技コースで走らせてみて、停止する距離を計測したのなら、まだ分かりますが・・・競技アリーナでは練習ができません。競技のコースを周りから見ただけで距離を計算(想定)しただけで、ぴったりと止めることができるでしょうか!?

私は、とっても怪しいと考えています。(つまり、何かしらのズルをしたのではないかと・・・) 事実、その一回の競技以降は全ての競技で Give up していました。(ロボットの走行中にリタイアした、ということ)

 

3.決め撃ち

あからさまにルール違反です。(苦笑)

でも、スタートして3タイル先の被災者を発見、3タイル戻ってロボットが停止・・・

これで「決め撃ちじゃない」というのなら、どういった釈明をするのか聞きたいです。

 

ということで、やっぱり真面目にマッピングをしないと Exit Bonus はやっぱり貰えないのでしょうか!?

ちょっと前までは、そう考えていました。

でも、最近マッピングをしなくても出来るんじゃないかと思っています。

 

例えばこんなコ-スで、

右手法で進んだとすると・・・

右前前前 これで被災者Aのタイルに到達します。

右右前右前前右左前 これで被災者Bのタイルに到達します。

前左前前左前右前 これで被災者Cのタイルに到達します。

右前右右前前前 これでスタートタイルに戻ります。

この経路では(右手法だけでは)、被災者Dは発見できませんが、それは仕方がありません。

この進んだ経路をもうちょっと分かりやすく整理します。

最初に向いていた方向を北だとして・・・

東東東 被災者A

西北東北 被災者B

北西西南西 被災者C

北南南南 スタートに戻る

こんな感じになりますよね。

東に進んだ回数と西に進んだ回数が同じ 北に進んだ回数と南に進んだ回数が同じ であれば、スタート地点に戻ったことが分かります。

ロボットがどちらの方角に何回進んだかを累積すれば、スタートタイルに戻ったかどうかを判断できますね。

まあ、「どちらの方角に何回進んだか」これを、確実に計測することが難しい・・・ですかねぇ。

それができるくらいなら、真っ当にマッピングをするよ・・・はい、ごもっとも

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

電池

2013-06-14 | ヒントみたいなもの

そろそろ、世界大会に何を持っていくか考えないといけないですかねぇ。

持っていかなければならないものの中に電池があります。

M&Yは、ここ数年は eneloop lite を愛用しています。

安いし・・・そこかよ!


RCXの時代は、オキシライド電池を使用していました。

普通の乾電池よりも電圧が高くて、パワーもりもり・・・

まあ、レスキューにはあんまりパワーは必要無いのですがねぇ。

大体1日分として2組で12本を用意していました。

だから・・・ジャパンオープンなどで3日開催の時には、2組×3+予備1組 で、合計42本を持って行きました。

世界大会の時には・・・5日分なので66本!!


その後、NXTの時代になると・・・

NXTは大食いなので・・・1日に3組から4組使うこともありました・・・

大量消費するので、100円ショップの電池を使用してました。

それで・・・さすがに、乾電池は Give Up (笑)


で・・・充電池にしました。

電圧が1.2Vしか無いのですが、乾電池に比べると電圧が安定しているように思います。

(乾電池は、電池交換後は凄いパワー、でもだんだんパワーが弱くなる・・・)


レスキューBに参加するようになってからは、(あんまり練習しないこともありますが・・・)一日に2組あれば足りてます。

今は、余裕を見て6組を持って行きますが、その日に使った分だけを充電してます。

電池代が掛からないのは、やっぱりサイフにやさしいですね。


ちなみに、今回の世界大会では、なるべく荷物を減らしたいので・・・

持っていく充電池を4組に減らそうかと考えています。

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

久しぶりに ヒントみたいなもの  コンパクト

2013-01-13 | ヒントみたいなもの

ノード大会を見ていたら・・・やっぱり大きなロボットが多いですね。

クローラのロボットだと、まさに「重戦車」のようです。


被災者が缶になってから、缶を持ち上げる機能が必要になり、ロボットがより巨大化しました。

そのため、小回りが効かなくなってしまいました。

ルール上は、ロボットの大きさ制限はありませんが、25cm×25cmのゲートを通る必要があるため、事実上、それが大きさ制限になっています。


得点を上げる ⇒ 被災者を救出する ⇒ 缶を持ち上げる機能を搭載する ⇒ ロボットが大きくなる ⇒ 小回りが効かなくなる ⇒ ライントレースの確度が下がる ⇒ 得点が下がる 

風が吹くと桶屋が儲かる・・・みたいな感じで書くと、上のように得点を上げようと努力すると、得点が下がる

という矛盾した関係になってしまいます。

その結果・・・被災者を発見する機能や、被災者を持ち上げる機能を持たないロボットの方が、高得点

という逆転現象もありました。


長くなりましたが・・・コンパクトに作る・・・これこそが、今のレスキューAのロボットに求められている技術なのではないでしょうか!?

コンパックトに作ることで、ライントレースを確実にこなします。 いくら、素晴しい被災者救助の仕組みを持っていても、被災者の前まで行けなければ何にもなりません。

まずは、確実に被災者の前まで行きましょう・・・

でも、これが一番難しいですよね。

今回の東東京ノード大会に参加したチーム「救助」のロボットは、一つの回答なのではないかと思っています。


ロボットはできるかぎりコンパクトに作りましょう。

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

久しぶりに ヒントみたいなもの  ローラー

2013-01-11 | ヒントみたいなもの

ノード大会を見ていると・・・傾斜路を上るロボットには2種類の上り方があることが判ります。


方法1

傾斜路で、左右の壁に当たったら、当たった方と反対の方にロボットを回転し傾斜路を上る

いわゆるタッチセンサーで、左右の壁に当たったかを検知すればできます。

いや、できるはずです。

かって、M&Yのロボットもこの方式でした。

理論的には、ごく当たり前で、プログラムも単純です。

ただ、モーターの相性で、ロボットは左右のどちらかに曲がるクセがあるので、片方の壁ばかりに当たりながら傾斜路を上ります。

で、この方式は、側面からのタッチにきちんと反応するバンパーを作れるか・・・ということに尽きます。

ノードを見る限りでは、側面からのタッチに反応せずに、壁にぶつかったまま真横に向いてしまうロボットが結構ありました。

前方のタッチ、側面からのタッチをきちんと検知できるダブルバンパーを装備しましょう。


方法2

壁に沿って上っていく 壁に触れながら上っていく

表現はいろいろありますが、壁に機体を擦りながら傾斜路を上っていく方法です。

機体の左右にローラーなどを配置して、壁に触れても詰まらないようにすれば、意外と簡単にできるかもしれません。

単純で確実な方法だと思います。

しかし、壁の継ぎ目などが出っ張っていたりして、変なところで引っかかってしまうリスクがあります。

さらに、2012年ルールからは、瓦礫を壁に貼り付けて良いことになりました。 つまり、壁にスピードバンプが貼り付けられているかもしれません。 そうすると、このローラー作戦は、怪しくなってきますね。 できるだけ大きなローラーを使うしかありません。


ということで・・・

傾斜路を確実に上れる方法を考えましょう。


ちなみに、現在のM&Yのロボットは(レスキューBですが・・・)上のどちらの方法でもありません。

左右の超音波センサーを使って、壁に触れないようにして傾斜路を上ります。

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

久しぶりに ヒントみたいなもの  最低地上高

2013-01-10 | ヒントみたいなもの

いつからかレスキューのルールにスピードバンプが追加されました。

今回のノード大会では、スピードバンプで詰まるロボットが結構ありました。

単純に、スピードバンプにロボットの先端が引っかかって動けなくなるヤツ

スピードバンプは乗り越えたものの、そこでロボットの進む方向が変わって黒線を外れるヤツ

 

 

最初は、直径10mmの木の棒を縦に割ったもの・・・つまり高さ5mmの邪魔者だったのですが・・・

最近は、直径10mmの棒、そのものが邪魔者になっています。

たかだか10mmの高低差ですが・・・ロボットにとってはけっこうな障害です。

 

 

ロボットはこのスピードバンプを乗り越えなければなりません。

このスピードバンプが、黒線に交わるように(普通は直角に)置かれていれば、あんまり問題は無いのですが・・・スピードバンプが斜めに置かれていたり、進行方向に並べられていたり・・・いじわるなコースはいくらでもあります。

対策としては、直径10mmのスピードバンプを乗り越えることができる駆動系であること。

タイヤならなるべく大きく、クローラーなら先端をちょっと持ち上げるとかして、スプードバンプを乗り越えられるようにします。

さらに、ロボットの下にスピードバンプが差し込まれても、引っかからないようにするためには機体の最低地上高を10mm以上にする必要があります。

特にレスキューAは、床に描かれた黒線を検知して進むので、下向きに光センサーを設置します。 確実に読むためには、なるべく床に近い場所に設置したところです。 でも、上に書いたように、最低地上高をできるだけ10mm以上にする・・・という、どちらも満たすような妥協点を見つける必要があります。

まあ、その一つの解答が、可動式の光センサー(LINKが使っていたヤツ)なんでしょうけどね。

M&Yはあくまでも、固定式の光センサーを前輪軸の間に設置して、最低地上高を10mm以上にしたロボットにしていました。

そう・・・現在のレスキューBのロボットでも、それは変わりません。

 

 

では・・・

スピードバンプが設置されても進行に影響が無いように、最低地上高10mmを確保しましょう。

 

 

 

 

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

久しぶりに ヒントみたいなもの  配線

2013-01-09 | ヒントみたいなもの

ロボットの動力はモーターです。

モーターには、電気を送ります。

ロボットには様々なセンサーが接続されます。

これらのセンサーから信号を受け取ります。

当たり前の話でしですが・・・

モーターに電気を送ったり、センサーから信号を受け取っったりするために、ケーブルを接続します。 いわゆる配線です。


ロボットの中には、スパゲッティのように空中配線だらけのロボットがあります。

(逆に、配線をきれいに隠したりしてスッキリしているロボットもあります。)


作業中に何かに引っかかって、線が抜けてしまった・・・

競技中に障害物に配線が引っかかってしまった・・・

など・・・配線が出ていると良いことはありません。

できるだけ、隠すか、ネジリッコなどで、まとめましょう。


昔は・・・直径22cmの円筒形に収まらなければならないルールで、配線なども伸ばせる部分は伸ばして計測していたので、配線をまとめているチームが多かったのですが、

ルールが変更になってから、野放しになっている気がします。


まあ、正直な話、RCXの時代からNXTの時代になったときに、NXTの黒いケーブルが硬くて、処理に困ったチームが沢山あると思います。(今も困っている!?)

解決方法はいくつかありますが・・・私が知っているのは

①NXTのケーブルの黒いビニールの被服を剥ぐ

 これは、2010年のRoboCup Singapore で中国チームがやっているのを見ました。

 ある意味、素晴しい対策です。(笑)

②mindsensor.com 社のフレキシブルケーブルを使う

 M&Yもやってます・・・

 確かに、まとめるのが簡単なのですが・・・耐久性が不安です・・・!?


ということで、

コードや配線は、きれいにまとめましょう。

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

久しぶりに ヒントみたいなもの  ロボットの重心

2013-01-08 | ヒントみたいなもの

ノード大会のインタビューを聞いたり、車検シートを見たり、直接チームに聞いたり・・・

いろいろと聞いて、現在のレスキューA競技で有効と思えることなどを列挙します。


じゃあ、久しぶりに「ヒントみたいなもの」


まずは、ロボットの重心です。


ノード大会のロボットを見ていると・・・

意外と、傾斜路を上れなかったり、ウィリー走行をするヤツ、傾斜路の途中でゴロゴロ・・・ドカン、と転げ落ちるロボットもありました。


ロボットは、平地だけでなく、スピードバンプを乗り越え、傾斜路を上ります。 ロボットが前後に(左右にも)傾いた時に、転げないように重心を考えなくてはいけません。

通常は、傾斜路を上れるように、重心をすこし前側に寄せるのですが・・・そうすると、スピードバンプを乗り越えた時に、前に転がってしまうかもしれません。 

また、最近のロボットは、直角やギャップからの復帰の時に大きく回転して黒線を探します。 このときに重心が前側だと、小さな範囲でしか黒線を探せません。 となると、重心をロボットの中心か、多少後方にしたいところです。

といった感じで、アチラ立てればコチラが立たず・・・言うは易し、行なうは難し・・・ですねぇ。

当たり前のことですが、低重心にすることを心がけましょう。

ちなみに・・・現在のレスキューBでは傾斜路を上ったり、下ったりします。 レスキューAでも、世界大会の、SuperTeamの特別ルールでの競技で傾斜路を上ったり、下ったりが必要でした。 ロボットが傾斜路を上れるか、そして下れるか、確認しましょう。

さらに、鬼畜なルールとして、瓦礫は傾斜路にも置けます。 つまり、傾斜路上にスピードバンプが設置される可能性があります。 これは、けっこう厳しいですよね。 

さすがに、まだ傾斜路に設置されたスピードバンプは見たことがありませんが・・・うわさでは2012年の世界大会にはあった・・・らしい

ロボットの重心を変えるのに安易な方法は、「おもりを積む」です。

まあ、普通は使用済の単三電池を貼り付けたりします。

でも、できれば、おもりを積まずにロボットの構造自体で適切な重心になるようにしましょう。

最近のレスキューAロボットは被災者救出用に大きなアームを装備していますが、そのアームを伸ばしたりたたんだりして、重心を変えているロボットが多いです。

賢いですねぇ。


ということで・・・

ロボットの重心をよく考えましょう。

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

ロボカップジュニアのレスキュー競技の紹介

2009-04-02 | ヒントみたいなもの

ロボカップに参加して常々思うことがあります。

「ロボカップ」って、マイナーですよね。

 

「我が家の子供達はロボカップに参加してるんだ」と言っても、「???」という顔をされるか、「ああ、年末に放送する、全国の高専生がロボットで戦うヤツね。」と言われるのがせいぜいです。 (それはロボコン!)

 

かくいう我が家も3年前までは知りませんでした。 杉並区立科学館でロボット杉並21の競技の説明会の時に講師の中島先生が「ロボカップ」の説明をしてくださっていましたが、「そんなのは、物好な人達の特別な競技会」という考えでしかありませんでした。

しかし、とても楽しい競技会であることがわかり、続けて参加するようになりましたが・・・やっぱり他人に説明するのは面倒です。 

「とりあえず、こんな競技です。」という「レスキュー競技の紹介資料」を作ってみました。

追記 2014.9.18 この紹介資料は参照不能になります。あしからず。

これで、わかりますかねぇ。

ちなみに、中身は2008年ルールです。

作成にあたり、確認、評価をしてくださった関東ブロックのレスキュースタッフの方々に感謝いたします。

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

雑感(ルール:競技の中止)

2008-04-24 | ヒントみたいなもの

4.6.7. ロボットの故障が原因で競技進行が停止した場合、チームはその試合を所定の時間より早く止めることを選択できる。この場合、チームのキャプテンは競技を終えたいというチームの意向を審判に告げなければならない。この場合、その時点までに獲得した全ての点数がチームに与えられる。


レスキューの競技時間は10分間ですが・・・これ以上競技を続けても得点があがらない(又は、これ以上競技を続けると下がってしまう。)という場合には、競技の中止(いわゆる「リタイア」)を宣言することができます。 それまでに取得した得点となります。


ところがこの「リタイア」という宣言は、昨年のアトランタでの世界大会では、全く通用しませんでした。 そもそもこの「retire」は、英和辞典を調べても、「退く」とか「退職する」というような意味のようです。 スポーツとかでは棄権の時には「Give up」とか「Default」とかだったような気がします。 アトランタ大会では、途中でやめるときに「END」とコールしていました。 他の世界大会常連者に確認すると、やっぱり他の大会でも「END」だったそうです。

先日「LINK」に聞いたら、競技を中止するときには「END」か「Give up」だったそうです。 日本の大会でも「Give up」 にすれば良いのになあ・・・。


ちなみにアトランタ大会では、(最初の頃の競技では)自由に中止ができませんでした。 ロボットが黒線を外れたり、壁にぶつかったり、何かしらトラブルがないと中止できません。 今考えると、確かにルールの先頭のところに、「競技進行が停止した場合に、早く止めることを選択できる。」と書かれています。 審判はそのままの解釈だったようですね。 2階のレッドゾーンでランダムに走行しているチームが、これ以上続けてもしょうがないと思い「END」コールをしましたが、「ちゃんとロボットが動いているのだから中止できない。 競技進行停止にならないと中止できない。」と言っていました。 まあ、こんな解釈もあるということで。


注2012.10.5

現在は競技時間は、調整を含めて8分間になっています。

また、世界大会では、競技終了の宣言は「Finish」または「END」が普通のようです。

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

雑感(ルール:部屋の得点)

2008-04-12 | ヒントみたいなもの

(レスキューのルール)

各部屋を出ると、部屋のポイントがもらえます。
しかし、競技進行停止中に部屋を出ても、部屋のポイントはもらえません。
・競技進行停止のまま部屋を出て、20秒以内に黒線に復帰できれば、部屋のポイントが入る。
・競技進行停止のまま部屋を出て、20秒以内に黒線に復帰できなければ、競技進行停止のペナルティ(-5点)をとられて、黒線を外れた場所(元の部屋の中)の少し先に戻されます。

ということのようです。


ちなみに「M&Y」のロボットは・・・

いままでの、長い(いや短い)ロボカップ人生の中で、部屋の得点をもらえなかったこと(最後の部屋まで行けずに、リタイアしたこと)が2回だけあります。

昨年の全国大会の決勝1回目と、世界大会の予選で中国のチームとマルチチームを組んだ時の2回です。 いずれも、1階でレッドゾーンプログラムが誤発動してしまい、泣く泣くリタイアするしかなかったのです。 その反省って、生かされているのかな? いや、生かしてくれ!


注2012.10.5

部屋ポイントも変更になりました。

3回以内で通過できれば得点で、4回以上のトライでは得点になりません。

ただし、減点もないので、何回でもトライできるようになりました。

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