2014年12月13日土曜日

つくばチャレンジ2014

車検
11/16に開かれたつくばチャレンジに参加しました!今年が初参加です。
つくばチャレンジとは人間が普段歩行している遊歩道を走行できる実用的なロボットを生み出すことを目的としている実験会です!ルールは屋外をロボットが走行して人を見つけて約1.3kmのコースを完走することです。

開発したロボット Kenseiko-chan mobile 2です。
僕はturtlebotというroombaに似たロボットにtoughbook, LIDAR, xtion, GPSをつけて(パソコンを載せる台車を製作しました)出場しました。

スーツケースにしまうことができるのがKenseiko-chan mobile2 の最大の特徴です。
実は!つくばに出発した日の一日前にKANAZAWAスマホアプリコンテスト2次審査用サンプルアプリの提出期限だったためアプリの開発の方に集中していてロボットはあまり触っていませんでした!ロボットの進捗具合はロボットの製作、環境設定が完了した程度でした。

デバッグ中です。
筑波についてすぐにロボットのメインプログラムの作成に取り掛かりました。
今回はロボットのフレームワークにROS(Robot Operating System)を使ったのですが、このROSの使い方があまりわかっておらずROSのチュートリアルを読むことから始まりました。ですがチュートリアルを読んだだけではどうプログラミングして良いかわからなかったためAPIを読んだところ、ソースコードを読んだ方が早いということに気づきました。これでROSのtopicやframeをどうやってプログラムで指定すれば良いかやっとわかりました。

turtlebotで地図生成しています。PS3リモコンでturtlebotを操縦しています。
アルゴリズムはLIDARでSLAMを書き初期地点と目標地点を設定するとロボットが自動的に目的地に向かうものです。ROSのパッケージに入っているものをそのまま使いました。ロボットの位置情報はLIDARを使った地図マッチングとturtlebotのエンコーダ情報を使って判定しています。  地図マッチングを行うため事前に走行する場所の地図をロボットを操縦することによって生成しました。

地図走行中です。
 今回の走行記録は20mでした。

練習では70m進んだのですが、このような結果になったのは、練習ではスタート地点付近に人が全くいなかったのですが本番ではスタート地点に特に人が集合していたため、地図マッチングに支障が出てしまったためと考えられます。
 また、地図走行のときはLIDARの情報があるのに障害物回避をしてくれず、この原因を解決できませんでした。最近、amcl設定ファイルのLIDARデータのsubscriber idをbase_frameにする必要があったと判明し、今では地図走行時でも障害物回避が可能です!
 今回はGPSの情報を経路生成に利用しませんでしたが、その理由は実際の走行経路とGPSの位置情報に大きなズレがあったためエンコーダ情報の補正等には使用できませんでした。
 amclを使ったウエイポイント走行のプログラムを製作したのですがうまく動いてくれませんでした。これはウエイポイント走行時に指定した座標系がロボットのlocal座標系でmap座標系(frame_idをmapに)に指定しなければならないと判明しました!現在ではウエイポイント走行ができるようになりました!

turtlebot Kobuki http://www.turtlebot.com/
 今回最も収穫になったことは、室内用に作られているturtlebotが屋外でも走ることができたことを発見したことです!走行した道は落ち葉や大きめの木の枝が大量に落ちていたのですがその上でも難なく走行していました!さすがにおおきめの石は乗り越えることができず止まってしまいましたがこれであれば外でも自律走行できます!

筑波大学知能ロボット研究室のロボット
つくばチャレンジに出場していたロボットは多種多様でした!USTREAMを見ていた皆さんもひとつひとつのロボットが異なっていて楽しかったのではないでしょうか。筑波大学の佐々木さん、turtlebotのことを色々教えてくれた大阪工業大学の教授、ROSのことを教えてくれた千葉工業大学の前川さん、トライアル前に色々とサポートしてくれた金沢工業大学の西川さん、つくばチャレンジという有意義な大会を開いてくれた運営の皆さん、そのほか色々な方にアドバイスをいただき本当にありがとうございました。


 このturtlebotを改造してRoboCup@home leagueに出場する予定です。

0 件のコメント: