(この辺は基礎の基礎になるのでちゃんと書きたいです)その他、質問の中に多かったのが「何を使えばいいのか?」にまつわることでした。この記事ではRCJ、WROで使う色々なものの比較をしていきます。具体的には、プログラム言語、NXTとEV3、そしてライトセンサーについてです。EV3-Gについて解説します。Robolabブロックダイアグラムでプログラムを組んでいくものとしては古いわりに非常にいいと思います。いうか一番いいと思う。なにがいいかというと、Cに一番近く、楽に細かい設定ができることです。Robolab後のプログラムNXT-GやEV3-Gプログラムが簡潔化されていて細かい設定ができません。一つの例はモーターのコマンドです。したかった時、Robolabではそのまま3つのコマンドを貼り付けます。(B回転、C回転、ウェイト1秒)しかし、EV3-Gではそれが一つのブロックになっています。う~ん、書きながら考えると初心者には優しい気がすることもするのですが、僕としては(特にCをやったことある人からすれば)、Robolabのほうがいいです。他にもいかにLEGO社がEV3-Gを初心者向けに作ったのかがわかる機能が多くあります。逆をいうと、いろいろな場面で使いやすい感じもしますが。代表的なものとしてモーターのコマンドが純粋なモーター回転ではないことです。1秒まっすぐでプログラムを試すと、とまる直前少し原則します。これは回転やステアリングでも同じです。進むとかいうことに関してはモーター同期がかかってやりやすい面もあるのですが、スピーディーなWROとかではそういう設定も自分で入れるか入れないか決めたいところです。(実際、2013のWROを練習しているとき、相方がNXT-Gを使ってプログラムをしましたが、同じハードを使っているのにもかかわらず、そういう同期や謎の組み込みPID制御が原因で調整に苦しめられました)あとはブロックの形です。大きい!!大きすぎます。大きいわりに自由度がないので(すべてくっついてる)元々あるプログラムに新しいものを組み込むっていう意味では非常にやりにくい。時間がないサプライズ対応とかは特に。(あとは一つ一つのブロックのグラフィックが無意味に良いためすぐにプログラムが重くなります。)なにかEV3-Gの文句を言ってる感じになりましたが、言いたいことは「EV3-Gはガチでロボット競技やってる人にとっては向いてない」ということです。Robolabも同じですが、EV3-Gよりは自由度があります。個人的に、もしEV3がRobolabで動かせたなら絶対そうしてました。EV3-Gを使ったのはWRO2015の競技ではモーターが絶対4個必要で、EV3をつかわざるをえなかったから。(ちなみにLabViewは全く別物です。Robolabの進化版みたいに書かれてますが、コンセプトがだいぶ違います。RobolabとEV3-Gのほうが似てます。)WROはC禁止なのでしょうがないですが、ある程度プログラムに慣れてきたらEV3-G、RobolabからCに移行することを強くお勧めします。ブロックダイアグラムでは限りがあります。いうことで次はC言語のプログラミングソフトウェアを紹介します。Cは難しいイメージがありますが(難しいですが笑)、NXCやRobotCは簡単です(普通にロボカップで使う分には)僕が実際にCを使って大会に出場したのは2013年のロボカップが最初でした。(NXC)さっきも言いましたが、RobolabはNXT-GとかよりもCに似ているのでNXCで初めてプログラムを書いてみてると「あ、これはRobolabのこのコマンドと同じことか!」と思うことが多かったです。この記事はCのチュートリアルではないので自らの体験はこのへんで笑あまりこの記事を書いている意味がなくなるかもしれませんが、NXCとRobotC、あまり違いはないですではなぜNXCを使っていたの?と聞かれると、「タダだったことと、最初に使ったものだから」と答えるほかありません。どっちも経験してみてわかったことはRobotCのほうがクオリティーが高いことです。主な違いはダウンロードスピード、サポート、バグ出し、二次元配列が使えるです。サポートに関してもNXCよりいろいろなセンサーに対応しているし、NXCよりも的確なバグ検知ができます。レスキューメイズの選手からしたら二次元配列はうれしいことでしょう(NXCが二次元配列つかえなかったかどうかは正確には忘れました。使えなかったような気がします)。他、プログラムの文法的な部分に関してはあまり変わりません。多少文が変わりますが、そんなのは覚えたらすぐです。デメリットはRobotCはお金がかかるところでしょうか?($5000/年とかだったような?)僕も明らかにメリットがあるから使ってみました。具体的には2015年のロボカップ全国後から世界大会の40日くらい前まで。僕が愛用している8角形のジャイロが思うように使えませんでした。Mセンサーも試したのですが、MセンサーはI2Cでありながら、ほかのI2Cと共存できないっぽいのでそれも没。結局世界大会はNXCで挑むことになりました。いうことで僕のプログラム言語の関するコメントでした。次回はNXTとEV3の比較を行います。2016RCJ2016のルールも発表されましたね!(まだファイナルバージョンではないらしいですが..)とにかくリンク貼っときますhttp://rcj.robocup.org/rescue.html追記:ルールをざっと読んでみましたまあ去年がすごいルール変更だったのでまあレスキューラインが去年よりも詳しくなったって感じです。重要な変更点:1坂の下をくぐる場合は高さが25cmなければいけない。2障害物の高さは最低15cm3交差点の説明が詳しくなった4ドロップパック→チェックポイントマーカー5ドロップタイル→チェックポイント6チェックポイントの得点方法が大きく変わったまあ競技者の視点からすると一番懸念すべきは交差点ですかね。すみませんこれからは十分可能性としてあるので少ないタイル数で長いコースができそうですね!もう一つの点はチェックポイントとチェックポイントマーカー(以下はマーカーで統一)の変更点ですまず、マーカーのサイズは固定出なく最大直径7cmになりました(これはあんま関係ないか笑)重要なのは得点の計算方法です。競技者側からするとこれは「一気にスタート後にマーカーを置いて得点を稼ぐ作戦」が使えなくなりました笑これをやられるとどのチームが本当に上手いのかわからない場合も出てきます。これを防ぐために多くのノードやブロック大会では様々なローカルルールは設定されていると思います。)2016年01月16日00:28カテゴリWROWRO2016WRO2016のルールが発表されました!とりあえず一通り目を通しました。難しい部類に入るでしょう。高校生に関してはとても面白いと思います。(学校も始まったので更新頻度は落ちるかと...)それまでに、より具体的な質問に返答しようと思います。重心レスキューで多くのチームを悩ます重心の問題です。何が問題かというと、坂をどうクリアするかです。レスキューラインになると坂がただの邪魔者になったうえ、坂が幾つもあるコースが考えられるのでちゃんとクリアできないと得点が大幅に下がってしまいますね...泣じゃあ、どうすればいいの?ベストなロボットは平べったくて重さが均等に広がっているロボットです。逆に背の高くて高ところに重いものが乗っかっているロボットは坂を乗り越えにくいロボットです。ロボットの片側に重いものを置かないですね。目指すことが重要です。レゴのロボットで見かけるのがEV3/NXTがロボットの高いところの位置されているロボット。あきらかにロボットの底部に何も入っていないのに本体がロボットの高いところに位置しているロボットをよく見かけます。NXTやEV3は電池と一体化していこともあってその置き場所でロボットの重心が大きく変わります。この辺の配置はよくよく考えてロボットを作りましょう。僕の経験上、レゴのキャタピラを使うよりバルーンタイヤで四駆にする方がはるかに摩擦が大きく、坂は登りやすいです。その面でいうとバルーンタイヤの四駆をお勧めします。バルーンタイヤの四駆は構造的に「しっかり」していないとうまくいかないこともあって、難易度が上がります。その面キャタピラは結構簡単に作れるのでハード面では易しいです。~この記事では2014年まで使っていたライントレースシステムを紹介します。これが当時に配置です。真ん中2つあるのがNXTのライトセンサーです(NXT1、NXT2と呼びます)。それを挟む形であるのがRCXのライトセンサーです(RCX1、RCX2と呼びます)。NXTの下にあるのがライトセンサーアレーです(LSAと呼びます)。一つ一つ役割を説明していきます。NXTのライトセンサーはメインのライントレース用です。この二つの比例制御でメインのライントレースを行っています。高さ(正確な値は忘れた)から読んでいます。→比例制御に関しては過去に書いた記事を参照してくださいNXTライトセンサーを使う理由ですが、やはり信用性と安定性です。今説明しているのはブラジル世界大会の時のライントレースシステムですが、同大会の全国ではメインのライントレースにLSAを使っていて散々なことになりました。遅かったり、もう販売してないこともあってメインに使うのは僕はあまり好まないので。直角/交差点のために使っています。NXTライトより手前にあるのは、ライントレースしているときにNXTライトよりも先に直角に反応するためにそうしてます。どちらでも反応したらすぐにプログラムでそのモードに切り替えます。(交差点は右優先と考えて...)手順としてはどちらかが反応すれば前後に少し動いてスキャニング。RCX1もRCX2も黒を読めばまっすぐいって、メインループに戻るRCX2(右)が反応すれば、光センサーが反応するまで右に回転。この場合右優先なので、前方の黒線を読まないように、少し秒数で回転してから光センサーが反応するまでにしてます。RCX1(左)が反応すれば、光センサーが反応するまで回転。することで直角と交差点を同じプログラムで攻略できます!あと残るはLSAです。これでギャップ検索をします。LSAは8つのライトセンサーで構成されているので真ん中の2つを使ってギャップを検索します。開です!WROとロボカップジュニアレスキューラインに出場していました。gmail.comへ(&を@に変更お願いします)。ブログは終了いたしました。今までありがとうございます。