技術公開 予定

ライントレースとハードの構造についての質問がメジャーだったので、近日それらについての記事を投稿します。

2010〜2014年のライントレースシステム、2015年のライントレースシステム、ハードの構造(ギア構造、重心、ライトセンサーの位置、etc..)

 

技術公開 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でした。 

New Year, a new beginning

あけましておめでとうございます。

このブログも初めて丸四年経ちました!(自分でもビックリ笑)

いつも見てくださっている方々には感謝しています m(_ _ )m

昨年の大晦日ギリギリに長い振り返りの投稿を載せましたが、僕としては2016年になったこともあって、これからの未来を目指して進みだしています。

 さて、もう前回の投稿で公開しましたが、2016年はRCJ/WROに選手として出場することはありません。さらには今まではロボット一筋でしたが、やはりこれからは勉強や大学のことにももっと力を入れて日々を過ごしていきたいです

 もちろんロボット関係の活動も続けていきます。大会行ってスタッフしたり、WRO/RCJに出場している生徒を指導したり、時にはなにか一度きりのアクティビティー的な感じで自分で何か作ったりするかもしれません。

基本的に選手のときは自分の調整や走行のことで頭がいっぱいだったので、そのときやれなかったことに手を出していくをしたいです。

あと、もう一つ今年できればやっていきたいことがあります

技術公開!!(まあ、僕の場合レゴでやっているのもあってなにかシビアな技術を持ち合わせているわけではないですが..)

ってめっちゃやる気満々なのですが、実際は学校忙しいし(部活もやってるし)自分から率先して定的的に技術公開なるものの記事は書かないかと思います。あと、正直なにから始めたらいいかわからないっていうこともあります... 範囲が広い。

今まで何人か個人的に色々と質問してきたのですが、結局個人に教えてもあまり意味がないのでそういうことがあれば、その人に教えると同時にこのブログにもアップしていきたいです。

そこで、知りたいことや書いて欲しいことがあったら、このブログにコメント/僕にメール(メアドはプロフィールにあるよ)してください!なにかのセンサーの使い方でも、大会での経験でも、具体的なミッションのクリア方法でもなんでもいいです!お題を決めていただいた方がやりやすいので笑

(どれほどこのブログを見てくださっているの方がいるのかよくわかりませんが。この頃はFBの方が活動的だったり...)

わからないことがあれば可能なかぎりは全部答えるので、気軽に質問してください!

投稿があまりなかったりすることもこれからよくあるかと思いますが、今年もよろしくお願いします!







 
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コード
    • ライブドアブログ