2011年12月9日金曜日

テレプレゼンスロボットの作り方

Makeに持っていったロボットの中身を軽く紹介しようと思います。

まず全体構成は↓のようになっています。
基本的にいままでつくってきたノードをrosbridgeでブラウザから動かしています。

roombaは前に自作したotl_roombaパッケージのもの、lv2_armはアーム用に作ったノード、usb_camはboshのもの、battery_checkerはこの前紹介したノードでPCのバッテリーチェックをします。jtalk_nodeは日本語をしゃべるノードです。
いずれも公開済みです。

ブラウザでアクセスすると以下のように表示されます。
ぐるぐるのところでルンバの速度を出力、スライダやボタンでロボットのカメラ操作、
バッテリ残量を右上のアイコンで表示(@tera_kojiさんに作ってもらいました)、
テキストボックスに文字を書くとロボットがしゃべってくれます。
画面の上には大きくカメラ動画が流れます。
javascript/HTML5で動的なページにしています。
HTMLやjavascriptにはまったく詳しくないので苦労しました。


rosbridgeはsocketやwebsocketでROSプロトコルをしゃべってくれるサーバーで、javascriptからROSを簡単に使えます。
rosbridgeはsubversionの最新版がおすすめです。安定版だとfirefoxだとうまく動きません。

画像を動画で表示する方法は、

HTMLに以下のように書いて、


  <img src="img/camera_dummy.jpg" name="camera" width="320" height="240"/>


javascriptに以下のような感じで書きます。


    connection.addHandler('/usb_cam/image_raw',
                          function(msg) {
                            document.camera.src=msg.uri;
                          });

これだけで/usb_cam/image_rawがガンガン送られてくれば動画になります。

まあ、そんな感じです。


例によって以下のリポジトリにおいておきました。整理もしていないので見せられる状態にないですが、ジョイスティックの部分とか、出せるように整理したいです。

2 件のコメント:

  1. rosbridgeについては以下をひと通り見ると理解進みますよ。

    http://ros.org/wiki/rosbridge/Tutorials/Using%20Javascript%20to%20control%20ROS%20via%20rosjs

    返信削除
  2. Hi,
    My name is Aldo Baker and I’m getting in touch with you regarding your website. I’m currently working with RobotsAppStore.com to announce their new Robot-Apps Infographic and thought this might interest your readers, as it provides a visual way to understand “Robot Applications”.

    You can review the graphic at http://www.robotsappstore.com/Pages/robots-Apps-infographics.aspx

    If you like the graphic, I’d appreciate if you could add it to your blog or share it through your social media accounts.

    If you would like to display the graphic on your blog or website you can easily copy and paste the code from our site.

    I’m available Monday to Friday 8am-7pm CST, and can be contacted by my direct email me@aldobaker.com

    PS. I am more than happy to help you share any future blog post you are trying to get more visibility to.

    Thanks,
    Aldo Baker
    Marketing Director

    返信削除