robocup

明日は京都大会

最近真剣に忙しくなって来てブログの記事書く書く詐欺をしてしまっています...

わかってはいるのですがイマイチ時間がとれません...(頑張りますがあまり期待しないでください)

まあ、それとは別に明日はロボカップ京都ノード大会が行われます

今年は運営として登場します笑

レスキューのすべてを運営する立場にいるのですが、初めてなこともあってうまく行くかわからないところ、うっかり忘れているところがあるかもしれません...

レスキューは形だけの大会(全チーム京滋奈に上がれる)なのである程度ミスは許されるかと...

とにかく、明日出場するチームすべてに健闘を祈ります!

RCJ 2016

RCJ2016のルールも発表されましたね!(まだファイナルバージョンではないらしいですが..)

とにかくリンク貼っときます

http://rcj.robocup.org/rescue.html


追記:

ルールをざっと読んでみました

まあ去年がすごいルール変更だったのでまあレスキューラインが去年よりも詳しくなったって感じです。

重要な変更点:

1坂の下をくぐる場合は高さが25cmなければいけない。

2障害物の高さは最低15cm

3交差点の説明が詳しくなった

4ドロップパック→チェックポイントマーカー

5ドロップタイル→チェックポイント

6チェックポイントの得点方法が大きく変わった

まあ競技者の視点からすると一番懸念すべきは交差点ですかね。去年はルールに書かれていた例しか大会には出なかったのですが今年からは例が増えたので

こんな感じです
image


以前関西オープンに出場したときにこういうやつが出題されて「こういうのはあり得ない」と言ってしまいました... すみません
これからは十分可能性としてあるので少ないタイル数で長いコースができそうですね!

もう一つの点はチェックポイントとチェックポイントマーカー(以下はマーカーで統一)の変更点です

まず、マーカーのサイズは固定出なく最大直径7cmになりました(これはあんま関係ないか笑)

重要なのは得点の計算方法です。
チェックポイント到達が
一回目なら通ったタイル×3点
二回目なら通ったタイル×2点
三回目なら通ったタイル×1点
それ以降なら0点

審判の側からするの一気に難易度が上がりました笑 タイルを数えないといけないので笑

競技者側からするとこれは「一気にスタート後にマーカーを置いて得点を稼ぐ作戦」が使えなくなりました笑

これをやられるとどのチームが本当に上手いのかわからない場合も出てきます。これを防ぐために多くのノードやブロック大会では様々なローカルルールは設定されていると思います。

最も合理的な得点方法はまんべんなくマーカーをフィールド上に置くことになりますね(^^)

以上2016年ルールの変更点の解説でした!



技術公開 part 2

~ 2014年のライントレースシステム ~

 この記事では2014年まで使っていたライントレースシステムを紹介します。

これが当時に配置です。
13 PM

真ん中2つあるのがNXTのライトセンサーです(NXT1、NXT2と呼びます)。それを挟む形であるのがRCXのライトセンサーです(RCX1、RCX2と呼びます) 。NXTの下にあるのがライトセンサーアレーです(LSAと呼びます)。

では、一つ一つ役割を説明していきます。

NXTのライトセンサーはメインのライントレース用です。この二つの比例制御でメインのライントレースを行っています。比例制御をするためにはラインを1点で見るのではなく面で見る必要があるので、地上から1.2~1.5cm くらいの高さ(正確な値は忘れた)から読んでいます。
→比例制御に関しては過去に書いた記事を参照してください

NXTライトセンサーを使う理由ですが、やはり信用性と安定性です。

今説明しているのはブラジル世界大会の時のライントレースシステムですが、同大会の全国ではメインのライントレースにLSAを使っていて散々なことになりました。

RCXライトセンサーは小さいですが、 色々と遅かったり、もう販売してないこともあってメインに使うのは僕はあまり好まないので。NXTのやつは少し光の環境が違っても、バンプとかにのって高度が変わっても、安定的に使えるのがいいところですね〜


RCX1とRCX2 は直角/交差点のために使っています。NXTライトより手前にあるのは、ライントレースしているときにNXTライトよりも先に直角に反応するためにそうしてます。
どちらでも反応したらすぐにプログラムでそのモードに切り替えます。

(交差点は右優先と考えて...)
手順としては
どちらかが反応すれば前後に少し動いてスキャニング。
RCX1もRCX2も黒を読めばまっすぐいって、メインループに戻る
RCX2(右)が反応すれば、光センサーが反応するまで右に回転。ただし、この場合右優先なので、前方の黒線を読まないように、少し秒数で回転してから光センサーが反応するまでにしてます。
RCX1(左)が反応すれば、光センサーが反応するまで回転。

ただこれだけです。

こうすることで直角と交差点を同じプログラムで攻略できます!

あと残るはLSAです。これでギャップ検索をします。
LSAは8つのライトセンサーで構成されているので真ん中の2つを使ってギャップを検索します。
(ギャップ検索に関してはまた詳しく書きます)¥
 

技術公開 part 1

~ 2015年ルールの避難部屋アルゴリズム ~

特に大したことはしてません笑(と、言ったら嘘になるのですが)

避難部屋アルゴリズムは2013年のときから大体は変わってませんが、レスキュー(特にレゴロボット)の中では標準的なものだと思っています。

とにかく図のように避難部屋の周りを回り続けます。
44 AM

被災者がボールに変わってもこの方法を活用し続けました。

前方にボールがあればアームでつかんで取り込む。ロボットの横に物体があれば(距離センサーが反応したら)そっちを向いてまっすぐ動いてそれが障害物かボールかを検知する。避難場所が見つかれば安全策として常にボールをロボットから落とす動作をする。

このアルゴリズムは簡単でプログラムもしやすいしミスも少ないですが、とにかくハードをうまく作るのが大切です。

まず前方にボールが来たらそれを検知して持ち上げる必要があります。僕は通電でしましたが、なにか距離センサーとかでもいけそうな気はします。ボールが球体であることからこの辺は難しくなってきます。

ちゃんと壁と避難場所を認識するシステムも必要ですね。僕は避難場所が6cmなので6cm以上の場所にメインのバンパーを設置して、その下にもう一つタッチを設置しました。こうすることで、下のやつが反応したら避難場所だということがわかります。(タッチはマイクロスイッチを使用)

あとは、ちゃんと遠くにあるボールを認識するための距離センサーが必要です。僕は標準的な赤外線戦距離センサー(中距離)を使いました(DISTってよばれているやつですね)。ただ、センサー自体がでかいので、力技でセンサーの目の部分(SHAPRセンサー部)を外して地上から4cmくらいのところに設置しました。あまり床に近すぎると誤検知するし、離しすぎるとボールを見ないのでこの辺も面倒くさいです笑。

アルゴリズムっていいながらほとんどハードの話になりました笑(まあそれありきにアルゴリズムなので)

まあアルゴリズムでいうと、常に銀を読んでいたり(絶対に部屋から出ないために)、避難場所のどの 位置にいるかを記憶していたり、距離でミスらないために二度読みしていたりしてます。



~ 自作坂センサー ~

これはまずあまりおすすめしません笑 特にて加工で作るなら余計に

絶対に既製品の加速度センサーや水銀スイッチの方が性能がいいです。

まあ、当時はあまりI2Cの使い方とかよくわからなかったので、自作で行きました。

自作といっても本当に中学生の工作程度です。

ver 1. 
05 AM





















これは2013年のレスキューで地区から世界まで使用しました。アルミに包まれている部分が2つあり、坂にロボットが乗ると重力で傾き接触します。なので通電センサーですね。

ver2.
21 AM












写真がなかったので説明しにくいのですが、磨いた10円がたくさん入った箱です。箱自体が地上と平行になっていないのでもともと坂以外の時では反応しません。坂に乗ると箱がロボットと同じく傾いて、10円が2つの銅板を通電させます。

10円スイッチの方がうまくいった記憶がありますが、これも10回に一回くらいは反応しなかったので結構なクセものでした。いずれは振動とかで反応しますが、坂の下りは早く反応して欲しいので 2014年の全国からは加速度センサーに変更しました。

あー、あと自作の問題として1軸しか読めないのと、登り下りあるので2つ作らなければならないのが面倒です。 


 ~ ジャイロセンサー ~

2015年からジャイロを変えたと指摘がありましたが、変えていません。ずっと赤い8角形のやつです。

正式名称は Absolute-IMU ACG とかでしたんね。日本だったらROBO-PRODUCTとかテクノロジアから購入できます。少し高いです。

センサー自体はジャイロ(3軸)と加速度(3軸)とコンパス(1軸)が入っている上ちっちゃいすごいはずのやつですが....

レスキューではあまり使い物になりません... 特に加速度とコンパスは無能です。2015年の全国では頑張ってこいつの加速度を使いましたが、色々と大変でした。プログラムで多くのフィルターを使って2度読み/3度読みすればなんとか使えるかなっていうレベルです。使えることはつかえますが、楽ではないです。

ジャイロに関してはある程度正確に回転してくれます。

とはいえ、これが正しい方法かどうかはわかりません。なんせ、これを使い出した2014年の世界大会前はジャイロ使うの初めてだったしその原理もよくわかっていなかったので。


プログラムはこんなんです。2015年の世界大会でも使いましたが、2014年に使ったままです。 
   IMU_ReadGyro(SensorPort, Addr, currGyro);
    rotational_speed = (currGyro.gx/100);
    integral += rotational_speed;

 もちろん最初にセンサーの設定とかセンサー起動とかしないといけないですが。

最後のintegral (int です)が角度になります。

絶対値の6000くらいが90だったことは覚えてますがその辺は調整したらすぐにわかります。

でも、性能は低くてMセンサーみたいにずれてもきっちり90度は曲がれません。そもそもレスキューラインでめっちゃ正確な90度はいらないと思っているので... 笑

まあ、ずれはなんとか壁とか使って補正しろってことですね笑



以上、part 1でした。 

RCJ2015 World Competition Day 2 ~7/17/2015~

ブログの更新遅くてすみません、現在WROの調整でとても忙しいです.. 
Sorry for the blog update delay, I'm currently very busy with my WRO work...

この日は前日の2時間睡眠とは違い目覚めがよかった。

〜ホテルからの景色〜
2015-07-17-13-54-13
とにかく、この日は夜に合肥に移動するからちゃんと朝昼の間に練習しないとやばい状態だった。

練習の他にやばいことがあった。メンターがちゃんと中国に来れるかだ。

彼は以前予約した17日の夕方(台風が直撃する時w)のフライトしか無理らしい。だからこれが遅れ/欠航されたらメンター大会の序盤はメンターなしになってしまう。

一応この状態に陥っても大丈夫なように竹間さんやFredrikさんなどに伝えておいた。

しかも、不便なことに泊まってる空港ホテルはwifiがロビーでしか使えない上、そのwifi速度は遅い。せっかく教えてもらったスイカVPNも役に立たなかった。

それでも時間は過ぎていく一方だからできるだけホテルで練習を重ねた。

そのままホテルを出ることなく夕方の5時くらいまで練習。wifiがなかったから逆にロボットに完全集中できて良い練習ができた。

正直この時は自信しかなかった笑

ロボットもうまく行くし新しく作った鋭角プログラムとかもブラジル大会の経験もあってうまく行くし、この時メンターも来れることがわかったし、最高の状態だった。

予定通り6時くらいに空港に向かってメンターと合流。

そこですごいことが明らかに。メンターの一つか二つ前の便で上海に向かうはずだったCoSpaceの日本チームが台風の影響で足止めされたようだった。

もしフライトをキャンセルしてなくて運が悪かったら本当に僕とこうきは練習日に着かなかったかもしれない。(後々この大会での練習日は大会のなかで最も大事な日となる。)

〜合肥までの飛行機〜
2015-07-17-23-01-12
合肥までは1時間くらいしかかからなかったが、座席は狭いし、飛行機は揺れるし、フライト中に音楽聞くと怒られるし、2時間遅れるし、散々なフライトだったがなんとか合肥に到着。

〜合肥に到着!〜
2015-07-18-02-02-31

合肥空港にはなんとロボカップのカウンターが設けられていた。

僕たちのほかにもたくさんの選手/メンターがいてそれにちゃんと対応していた。

この時カウンターにいたのはロボカップの緑のT-シャツを着た現地の女子高生らしき(大学生だった)ボランティアスタッフ5、6人。

もう12時を回っているのにテキパキした仕事ぶりで見習うものがあるな〜と強く思った。

この大会も彼女たちのようなボランティアスタッフにとても助けられた。

その後はガタガタ揺られるバンに乗って1時間くらいで今年の宿、Four Points By Sheraton Hotel に到着した。

なんとこのホテルにも空港にいた同じようなボランティアスタッフが!

どこまで良く働くねんっ笑

チーム名やフライト番号、部屋番号を記録して明日のシャトルバスの時間を教えてくれた。

もう2時過ぎ。チェックインをして寝ようと思ってたところ…

ブレーカーが落ちる笑笑

寝る前に明日のために色々チャージしようと思いいたるところにあるコンセントにバッテリーとかをつなげていったら、「バチッ!!」と火花をあげて部屋の電気すべてがきれた。確実にブレーカーが落ちた模様。

別に電気の使いすぎっていうわけではない感じ。チャージしてるのもmac3台とNXTのバッテリー

しょうがなく、フロントでブレーカーを上げてもらうことに。

結局問題は持ってきたうちのひとつのタコ足が内部でショートしていたのだろう。

マレーシアの時みたいにNXTのバッテリーが死亡しなくてよかった〜〜

なんやかんやでこの日眠りにつけたのは夜の3時過ぎ…

ハードで苦しい大会は続く….

This day started off relatively nicely because of the sufficient amount of sleep :)

Although we wanted to relax, at the same time, we had to work as hard as we can and get the robot into a better shape, because it was this day we were going to travel to Heifei.

In addition to the problems the robot had, there was another concern.

Our mentor was still in Japan.

We tried contacting him, but our wifi conditions were pretty harsh, only leaving us to pray lol

Because the flight was around 8, we ended our practice around 5-ish and traveled back to the airport around 6.

After some waiting time, our mentor arrived!!

According to him, the flight before his was canceled, leaving one Japanese CoSpace team behind.

Just thinking about this gave us goosebumps. It was a pretty good decision to cancel and change the flight.

The flight to Hefei from Shanghai was terrible… After being late for more than an hour and a half, the flight was shaky for the whole time, and for some strange reason I got busted for listening to music when its not even take off/landing…

Right after midnight, our plane arrived at the Hefei Airport.

With the help of several hard-working girls from nearby universities(who are doing some volunteer work for this competition), we were able to arrive at our hotel by 2 in the night.

Our day was thought to be over, but there was one more problem. The breakers went down…

It turned out to be that one of our extension plugs had a short circuit, which caused the electricity to go off.

Anyway, it was after 3 when we finally got to sleep this day…

livedoor プロフィール
アクセスカウンター

    最新コメント
    記事検索
    Record of robotics X大会結果
    •WRO 2015 Finals in Qatar 2nd Place
    •WRO 2015 世界大会 in カタール 準優勝

    •WRO 2015 Japan First Place for Presentation
    •WRO 2015 全国大会 最優秀プレゼン賞

    •WRO 2015 Japan 1st Place
    •WRO 2015 全国大会 優勝

    •WRO 2015 Kyoto 1st place
    •WRO 2015 京都大会 優勝

    •RCJ Rescue Line Secondary 2015 Finals in China Best Programming
    •ロボカップジュニアレスキューラインセカンダリ 2015 世界大会 in 中国 ベストプログラミング賞

    •RCJ Rescue Line Secondary 2015 Finals in China Individual 1st place
    •ロボカップジュニアレスキューラインセカンダリ 2015 世界大会 in 中国 個人競技 優勝

    •RCJ rescue A secondary 2015 Japan Open Best Presentation Award
    •ロボカップジュニアレスキューAセカンダリ 2015 ジャパンオープン 優秀プレゼンテーション賞受賞

    •RCJ rescue A secondary 2015 Japan Open 1st place
    •ロボカップジュニアレスキューAセカンダリ 2015 ジャパンオープン 優勝

    •RCJ rescue A secondary 2015 Keijina Best Presentation Award
    •ロボカップジュニアレスキューAセカンダリ ベストプレゼンテーション賞受賞

    •RCJ rescue A secondary 2015 Keijina 1st place
    •ロボカップジュニアレスキューAセカンダリ 2015 京滋奈大会 優勝

    •RCJ rescue A secondary 2015 Kyoto 1st place
    •ロボカップジュニアレスキューAセカンダリ 2015 京都大会 優勝

    •WRO 2014 Japan 8th place
    •WRO 2014 全国大会 8位

    •WRO 2014 Kyoto 1st place
    •WRO 2014 京都大会 優勝

    •RCJ rescue A secondary 2014 Finals in Brazil Individual 2nd place
    •ロボカップジュニアレスキューAセカンダリ 2014 世界大会 in ブラジル 個人競技 準優勝

    •RCJ rescue A secondary 2014 National Competition 2nd place
    •ロボカップジュニアレスキューAセカンダリ 2014 日本大会 準優勝

    •RCJ rescue A secondary 2014 Keijina Best Presentation Award
    •ロボカップジュニアレスキューAセカンダリ ベストプレゼンテーション賞受賞

    •RCJ rescue A secondary 2014 Keijina 1st place
    •ロボカップジュニアレスキューAセカンダリ 2014 京滋奈大会 優勝

    •WRO 2013 Finals in Indonesia 2nd Place
    •WRO 2013 世界大会 in インドネシア 準優勝

    •WRO 2013 Japan Second Place for Presentation
    •WRO 2013 全国大会 プレゼンテーション賞第二位

    •WRO 2013 Japan Fourth Place
    •WRO 2013 全国大会 四位

    •WRO 2013 Kansai 1st place
    •WRO 2013 関西大会 優勝

    •RCJ rescue A primary 2013 Finals in The Netherlands Superteam 3rd place
    •ロボカップジュニアレスキューAプライマリ 2013 世界大会 in オランダ スーパーチーム競技 3位

    •RCJ rescue A primary 2013 Finals in The Netherlands Individual 2nd place
    •ロボカップジュニアレスキューAプライマリ 2013 世界大会 in オランダ 個人競技 準優勝

    •RCJ rescue A primary 2013 Japan Open Best Presentation Award
    •ロボカップジュニアレスキューAプライマリ 2013 ジャパンオープン 優秀プレゼンテーション賞受賞

    •RCJ rescue A primary 2013 Japan Open 2nd place
    •ロボカップジュニアレスキューAプライマリ 2013 ジャパンオープン 準優勝

    •RCJ rescue A primary 2013 Keijina Best Presentation Award
    •ロボカップジュニアレスキューAプライマリ ベストプレゼンテーション賞受賞

    •RCJ rescue A primary 2013 Keijina 1st place
    •ロボカップジュニアレスキューAプライマリ 2013 京滋奈大会 優勝

    •WRO 2012 Finals in Kuala Lumpur, Malaysia 10th Place
    •WRO 2012 世界大会 in マレーシア 10位

    •WRO 2012 Japan (national) competition MVP for presentation
    •WRO 2012 全国大会 最優秀プレゼン賞

    •WRO 2012 Japan (national) competition 3rd place
    •WRO 2012 全国大会 第三位

    •WRO 2012 Kansai 2nd place
    •WRO 2012 関西大会 第二位

    •RCJ rescue A primary 2012 Keijina 2nd place
    •ロボカップジュニアレスキューAプライマリ 2012 京滋奈大会 第二位

    •WRO 2011 Kansai 7th place referee's special award
    •WRO 2011 関西大会 7位 & 特別審査員賞

    •RCJ rescue A primary 2011 Japan Open 10th place
    •ロボカップジュニアレスキューAプライマリ 全国大会 10位

    •RCJ rescue A primary 2011 Keijina 2nd place
    •ロボカップジュニアレスキューAプライマリ2011 京滋奈大会 第二位

    •WRO 2010 World In The Philippines 28th place
    •WRO 2010 フィリピン世界大会 28位

    •WRO 2010 Japan 3rd place
    •WRO 2010 全国大会第三位

    •WRO 2010 Kansai 3rd place
    •WRO 2010 関西大会 第三位
    QRコード
    QRコード
    • ライブドアブログ