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に出場する予定です。

2014年10月16日木曜日

turtlebot2をros hydro上でethernet接続のHOKUYO-30LX-EWを使ってrvizに表示する方法

 
 turtlebot2でHOKUYO-30LX-EWをros hydro上でrvizで利用できるようにしたので方法を紹介しておきます。
1. terminalに
  %roscore
    %roscd turtlebot_bringup/launch
2. %sudo chmod 777 minimal.launch

    %emacs -nw minimal.launch
<node name="laser_driver" pkg="urg_node" type="urg_node">
   <param name="frame_id" value="base_laser_link" />
       <rosparam>
      publish_intensity: false
      angle_min: -2.2689
      angle_max: 2.2689
      cluster: 1
      skip: 0
      ip_address: 192.168.0.10
      ip_port: 10940
      serial_port: /dev/ttyACM0
      frame_id: laser
      calibrate_time: true
      time_offset: 0.0
      publish_multiecho: true
    </rosparam>  
 </node>
を</launch>より上に入力

3. %sudo chmod 777 3dsensor.launch
    %emacs -nw 3dsensor.launch
    <arg name="scan_topic" default="scan" />
     を
    <arg name="scan_topic" default="kinect_scan" />
 に置き換え
4. terminalで
    %roslaunch turtlebot_bringup minimal.launch
     %rosrun rviz rviz
    rviz上で
      Fixed Frame : base_laser_link
    を選択

2014年9月21日日曜日

Pepper Tech Festival



Saintです。
僕はロボットが世界の人々の生活を向上させると信じています。
Pepper Tech Festivalに行って来ました。ロボットショー、展示ブース、SDK体験コーナー、開発秘話など色々面白い話が聞けました。
Pepperは人を助けるロボットでアルデバランロボティクスとソフトバンクが開発しました。来年の2月に一般販売される予定です。
これはスマホアプリと同じようにロボットアプリ開発が可能です。(C++,Python, java, GUI)
GUIのプログラミング環境もあるので初心者でも簡単にアプリが開発できます。また、今までにスマホアプリを開発したことのないロボットエンジニアの方でもpython,java, C++でプログラミングが可能なのでアプリ開発がしやすいです。
Pepperでロボアプリを開発してみたいです。
Pepperに限らず世界でロボット開発が盛んになり、ロボットコミュニティが発展して良い世の中になるといいと思っています。

I believe that Robot can make our Quality Of Life better.
I went to the Pepper Tech Festival held in Tokyo, Japan. Pepper is a companion robot developed by aldebaran robotics . The robot size is bigger than NAO from aldebaran robotics. It will be sold in next February. You can see the specifications of the robot on the aldebaran web.
You can develop pepper's software using its SDK. It has Graphic User Interface for programming, enables to do robot programming for beginners.  For advanced users, it is able to program in java, C++, and python. Now only python is able to programming both in graphical interface and the text code. There will be a pepper app store in near future.
I'm going to develop apps for pepper. Wishing for many robot developers come to this field and the development of the robot communities.