ラベル Box Turtle の投稿を表示しています。 すべての投稿を表示
ラベル Box Turtle の投稿を表示しています。 すべての投稿を表示

2010年3月23日火曜日

Box Turtleの次に来るもの: Webインターフェース


米国西海岸時間: March 23, 2010

現在開発中のROSライブラリの一つに、普通のウェブブラウザからロボットや様々なアプリケーションを制御するためのWebインターフェースがあります。ウェブブラウザはどこからでも使えますし、特にスマートフォンの充実した機能を有効に使うと、ロボットのための強力なインターフェイスになります。

ROSのWebインターフェーススタックはWeb利用可能なROSのロボットに接続し、そのカメラを通して見たり、アプリケーションを立ち上げたりすることができます。その中身はROSメッセージの送受信やサービスの呼び出しができるJavaスクリプトで書かれたライブラリです。

どんなブラウザからでも少しクリックをするだけで、ロボットを起動したりキャリブレーションすることができます。ジョイスティックによる制御やPR2のアームをたたむなどの基本的な機能のためのアプリケーションを作りました。またより高度なアプリケーションも書いていて、あなたが地図上で電源アウトレットの位置を特定し、そこにPR2にプラグを差し込ませるよう指示することができます。今後このWebインターフェースを通じてもっとたくさんのアプリケーションを使えるようにして、ユーザーがWebに接続したどんなデバイスを使って、簡単に自分たちのロボットを制御できるようにしたいと願っています。

さらに現在、次のバージョンのFirefoxとChromeで利用可能なO3Dをベースにした三次元ビジュアライザーション(可視化)機能も開発中です。この三次元ビジュアライザーション環境は物体把持のためのユーザーインターフェースとしてテストされています。

これらの機能はすべてまだ開発中であり、今使うことはお薦めしませんが、今後のリリースにおいて有用なプラットフォームになることを願っています。

原文

2010年3月16日火曜日

Box Turtleの次に来るもの: アームナビゲーション

arm_navigation.png

米国西海岸時間: March 16, 2010

前にご紹介した移動ベースのためのナビゲーションスタックに類似したアームのためのナビゲーションスタックの開発に取り組んでいます。 これには、ロボットマニピュレーターための衝突検出、軌道フィルタリング、動作計画とPR2ロボットのための特別な運動学の実装に使われる幅広いライブラリが含まれています。

私たちは、この取り組みの一環として初めてアームの動作計画のための研究用スタック一式のリリースを発表できることを嬉しく思います。これらのスタックには、高位のアームナビゲーションスタックとともに、動作計画動作計画(共通)動作計画(環境)動作計画(可視化)運動学衝突(環境)軌道フィルターと呼ばれる汎用スタックが含まれています。またPR2専用のスタックもあります。これらのスタックはすべてBox Turtle上にインストールができます。

インストールについて

これらのスタック一式を開発するにあたり、以下の共同研究者やインターンの方々が過去2年間に渡り重要な貢献をしてくれました。
  • Ioan Şucan(ライス大学 Lydia Kavraki研究室)は、ウィローガレージでの2008年と2009年の夏期インターン中にこのフレームワークの最初のバージョンを開発し、それ以降も重要な貢献をし続けています。Lydia Kavraki研究室で何年もかけて開発された様々な確率的計画法を含むOMPL計画ライブラリも彼の貢献の一つにあげられます。
  • ペンシルバニア大学 Maxim Likhachevのグループ (ウィローガレージ2009年夏期インターンBen Cohenもその一人)は研究段階のものとしては最新手法の動作計画を組み込んだ計画ライブラリSBPLに貢献しました。
  • USC(南カリフォルニア大学)のMrinal Kalakrishnanは、ウィローガレージでの2009年のインターン中に動作計画ライブラリCHOMPを開発しました。このライブラリはNathan Ratliff、Matthew Zucker、J. Andrew Bagnell、Siddhartha Srinivasaらの研究成果を土台にしています。
彼らの他にも、ウィローガレージのRadu RusuMatei CiocarleiKaijen HsiaoとCMU(カーネギーメロン大学)のRosen Diankovからも貢献がありました。

これらのスタックは現在は安定したAPIを持たず変更が予想されるため、研究用スタックに分類されています。私たちは、主要なライブラリをできるだけ早く成熟させ、安定したソフトとしてリリースしたいと思っています。一方他のスタックも世界中のロボット開発コミュニティからの最新の動作計画研究を取り込み続けていきます。コミュニティのみなさん、ぜひこれらを試してフィードバックと貢献をしてください。最初は、arm_navigationのウィキページから始めるとよいと思います。また、チュートリアルのリストも増え続けています。

これらのスタックを利用したデモを紹介したブログ記事
  1. 東京大学JSKによるデモpr2_kinematics
  2. プラグ差し込みの向上pr2_kinematics
  3. 階層的計画OMPLmove_arm
  4. ハノイの塔move_arm
  5. テーブル上の物体の検出move_arm
下のビデオで、Ben Cohen、Mrinal Kalakrishnan、Ioan Şucanの研究成果をごらんください。

個々のスタックやパッケージのWikiページで現在の開発状況が説明されています。ほとんどのパッケージでROS APIのレビューが終わりましたが、C++のAPIはまだレビューされていません。
ROS APIをぜひ使っていただきたいと思います。このAPIが安定し続けるように最善の努力をしていきます。C++のAPIはまだ活発に開発が行われていますが(より詳しくは各Wikiページの"Roadmap(開発計画)"をごらんください)、次のリリースではそのうちいくつかを安定化させたいと願っています。

バグの指摘、機能のリクエスト、どうすればもっとよくなるかなど、意見やアドバイスを気軽にお寄せください。特に動作計画の開発者のみなさんには、ぜひ自分の動作計画手法とこれらの統合を考察していただきたいと思います。私たちは、コミュニティで開発されたコンポーネントが簡単にプラグインできるようにこのシステムのアーキテクチャのモジュラー化を試みています。またこれらのスタックを他のロボットに使っている研究者のみなさんには、ぜひ経験をフィードバックしてくださるようお願いします。

それでは。

アームナビゲーションの開発チームより

Sachin Chitta、 Gil Jones (ウィローガレージ)
Ioan Sucan (ライス大学)
Ben Cohen (ペンシルバニア大学)
Mrinal Kalakrishnan (南カリフォルニア大学)


ビデオ


Ioan ŞucanによるOMPLブログ記事


Ben CohenによるSBPLブログ記事

Mrinal KalakrishnanによるCHOMPブログ記事

2010年3月15日月曜日

Box Turtleの次に来るもの: PR2キャリブレーション


米国西海岸時間: March 15, 2010

最近の投稿で、ROS Box Turtleに含まれるたくさんの有用なライブラリやツールの中から三次元ビジュアライザー(可視化ツール)rvizナビゲーションスタックを紹介しました。これからは私たちが今後のリリースのために開発中のものにもスポットを当てたいと思います。

初回は、PR2キャリブレーションスタックです。PR2は2台のステレオカメラ、2台の前腕部カメラ、1台の高解像度カメラ、そして頭部にはチルトするものとベースには固定のレーザーレンジファインダーを搭載しています。ロボットの動きと組み合わせるためのセンサーのデータは膨大な量になります。

PR2キャリブレーションスタックは、最近プラグ差し込みのコードを改良する時に、私たちをとても楽にしてくれました。8ヶ月前はPR2の運動学とセンサーの間に正確なキャリブレーションがなく、最初のプラグ差し込みのコードは、電源アウトレットの位置を決めるために螺旋状に動いてアプローチするという強引な方法をとっていました。この新しいキャリブレーション機能は、一気にプラグをアウトレットに差し込めるという新たな能力をPR2に与えてくれました。

上のビデオは、研究者が簡単に自動化されたプロセスでキャリブレーションを行えるようになるために、私たちがどう取り組んでいるかをご紹介しています。PR2は、センサーの前のいろんな位置で小さな市松模様のボードを動かすことで、多くのセンサーを自動的にキャリブレーションすることができます。ランチに行く前にプロセスを始めれば、戻ってくるまでにロボットのキャリブレーションはすっかり出来上がってるんです。さらに私たちは、各々のセンサーがいかによくキャリブレーションされたかが研究者にわかりやすくなるようなツールも開発しています。

PR2キャリブレーションスタックは現在まだ開発中ですが、Box TurtleでPR2を使っている人には使用が可能です。今後は幅広いハードウェアをサポートできるROSライブラリとして成熟していくことを願っています。

Box Turtleの中身 その3: rosbagによるロギングとプレイバック


米国西海岸時間: March 11, 2010

ロギングとプレイバック(ログデータ記録と再生)は、ロボットのソフトウェア開発にとって最も重要な機能の一つです。エンジニアがハードウェア診断用のデータを記録したり、研究者がデータセットを収集したり、開発者がアルゴリズムをテストしたりしますが、そのどれにおいても、ロボットから得たデータを記録し、それを再生できるというのは、極めて重要なことなのです。ROSはこれらのニーズを"バッグファイル"とrosbagrxbagといったツールで支援します。

rosbagは、単純なテキストデータであろうが画像などの大量のセンサデータであろうが、どんなROSデータソースからのデータもバッグファイルの中に記録できます。またこのツールは、複数のコンピュータのプログラムからのデータも記録できます。そしてrosbagは記録されたとおりにデータを再生することができるので、まるでそっくり同じように見えます。これはソフトウェアをテストするために、実際のロボットから記録したデータを使ってバーチャルなロボットを作ることができるということを意味しています。適切なバッグファイルがあれば、自分のロボットを持つことすら必要なくなります。

あなたが蓄積したデータの管理を助けるツールもいろいろあります。たとえば、データのフィルタリングやデータフォーマットの更新のためのツールです。研究用データセットのラベリングのためにバッグファイルをAmazon Mechanical Turkに送る作業を管理するツールもあります。データのビジュアライゼーション(可視化)用には、多用途のツールrxbagがあります。rxbagは動画編集ソフトのようにカメラのデータをスキャンしたり、数値データを表示したり、生のメッセージデータを見ることができます。あなたのデータのタイプに合わせてビューアを指定するためのプラグインを書くこともできます。

rosbagとrxbagを実際に使っている様子をビデオでごらんください。このツールは両方共ROS Box Turtleに含まれていて、ROS.orgからダウンロードが可能です。

2010年3月7日日曜日

Box Turtleの中身 その2: 3D可視化ツール rviz 


米国西海岸時間: March 7, 2010

ROS Box Turtleには、ナビゲーションなどの主要なライブラリに加えて、ロボットのアルゴリズムやアプリケーション開発のために有用な様々なツールも含まれています。中でも最も使われているのがROSビジュアライゼーション・スタックの一部である、三次元環境の可視化(ビジュアライゼーション)ツール、rvizです。

rvizは、三次元のポイントクラウド、カメラデータ、マップ、姿勢、任意の可視化マーカー等の情報をカスタマイズして見ることができます。rvizは実際の物理的世界とロボットがどう見ているかの違いを示すことができ、ロボットが何をしようと計画しているかをユーザーに表示することができます。

ROSのrvizツールで何かできるか、詳しくは上のビデオをごらんください。ドキュメンテーションまたはソースコードのダウンロードはros.org/wiki/rvizからどうぞ。

2010年3月3日水曜日

Box Turtleの中身 その1: ROSナビゲーション


米国西海岸時間: March 3, 2010

ROSディストリビューション「Box Turtle」がリリースされたので、その主要な機能の紹介と次のリリースに向けて現在取り組んでいる機能をいくつかご紹介したいと思います。

第1回めは、おそらくROSライブラリの中でも最も広く使われているであろうナビゲーションスタックです。このナビゲーションスタックは、ROSコミュニティのいたるところで使用されていて、大きなものから小さなものまでロボットを動かしています。スタンフォード大学、Bosch、ジョージア工科大学、東京大学を含む多くの研究機関が、自分たちのロボットにこのライブラリを実装してきています。


ROSナビゲーションスタックは堅牢で、オフィス室内という環境で数日間をかけてマラソン距離(42キロ)の自律走行を達成しました。ロボットがオフィスにころがっているスクーターを避けたり、角に隠れて見えないところを走行するときなど、このナビゲーションスタックはロボットに雑然とした現実的な環境で動くための機能を提供します。

ROSナビゲーションスタックでどんなことができるのかについて、より詳しくは上のビデオや ros.org/wiki/navigation からソースコードをダウンロードしたり、ドキュメントをご覧ください。

2010年3月1日月曜日

ROSディストリビューション「Box Turtle」リリース!


米国西海岸時間: March 1, 2010

はじめてのROSディストリビューション「Box Turtle」がダウンロード可能になりました!ディストリビューションの定期的なリリースによって、安定性が向上することとROSの導入が促進されることを願っています。

ROSディストリビューションはLinuxディストリビューションと同様、テスト済み、リリース済みの幅広いライブラリを一緒に提供します。Box Turtleには最近リリースされたたくさんの1.0(安定版)ライブラリが含まれています。これらBox Turtleの1.0ライブラリは安定したAPIを搭載しているので、バグの修正時のみアップデートされます。また次の「C Turtle」のリリース時に、古いバージョンとの互換性を保つよう努力を続けていきます。

ディストリビューションのリリースには、たくさんの利点があります。あなたが一貫性のあるROSライブラリのセットを使って試しに開発してみようと考えている開発者であれ、ロボット研究の教材を開発するために安定性のあるプラットフォームを必要としているインストラクターであれ、共有インストールをしようとしている管理者であれ、誰にとってもディストリビューションによって、ROSをインストールしたりリリースしたりするプロセスが単純化されます。またBox Turtleにより、新しい機能は古いバージョンとの互換性を保てるだろうかと心配することなく、簡単にバグの修正ができるようになります。

Box Turtleのリリースによって、Ubuntu debianへのROSのインストールは非常に簡単になり利便性が向上しました。"apt-get install"を使ってROSとたくさんのライブラリをインストールできるんです。私たちはこの機能をウィローガレージのすべてのロボットへのROSのインストールに使ってきています。PR2のブラグ差し込みチームは、Box Turtleのライブラリを利用して改良コードを書けたので、時間の節約と高い安定性を得ることができました。

Box Turtleには、ROSのみのインストールの他に「base」と「pr2」の2種類があります。「base」はナビゲーションやビジュアライゼーション(可視化)など主要な機能やツールを含むもので、「pr2」にはPR2の共有インストールで使うライブラリやシミュレーション上でPR2を動かすのに必要なライブラリなどが含まれています。ロボットはパーソナルコンピューターよりも種類が様々なので、次のバージョンでは他のロボットのハードウェアもカバーしたものをリリースできれば、と思っています。

Box Turtleのための新しいインストール手順を作成しました。ぜひ試してみてご意見を聞かせてください。