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からダウンロードが可能です。

ROSを使ったロボット その7: 東大JSKのHRP2-V

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

HRP-2Vは、川田工業製HRP-2プロメテを改造したロボットです。HRP-2の上半身、アーム、頭部センサーを使っていますが、それらはヒューマノイドの脚ではなく全方位移動のベースの上に搭載されています。東京大学JSK研究室はこのプラットフォームをハードウェアとソフトウェアの研究に使っています。

JSKとウィローガレージのコラボレーションとして、2009年5月に行われたICRA2009でROSナビゲーションスタックがHRP-2V上に短時間で統合されました。その少し前、JSKチームはウィローガレージに1週間滞在して、彼らのソフトウェアをROSとPR2へ統合しました。
ICRA2009は神戸で行われ、ウィローガレージもブースを出しました。ブースの横にラップトップとHRP-2Vを準備し、JSKとウィローガレージはHRP-2VへのROSナビゲーションスタック搭載に取り組みました。カンファレンスが終わるまでに、HRP-2Vは地図を作成し会場をナビゲーションできるようになりました。


2010年3月11日木曜日

テキサイが小学校にやってきた!


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

先週の金曜日は、カリフォルニア州クパティーノ市のWilliam Regnart小学校でディカバリーデーがありました。子どもたちにいろんな職業を知ってもらおうというイベントですが、医師、消防士、看護師、犬の調教師に混ざって、テキサイ(テキサスロボットの新しい呼び名)の姿がありました。インディアナ州シーモアで働いているウィローガレージの電気技師であるDallas Goeckerと、小学校の近くにあるウィローガレージオフィスで働いているソフトウェアエンジニアのRob Wheelerが彼らの仕事とテレプレゼンスロボットのテキサイについて紹介しました。もちろんDallasはテキサイを介しての参加です。

Dallasは4年生の教室で子どもたちや机のまわりを動き回り、テキサイでどんなことができるのか実際に見てもらうことができました。校庭でワイヤレスが届かなかった時は少しからかわれてしまいましたが、DallasとRobは感謝状をいただき、今でも誇らしげにテキサイに張られています。

ROSを使ったロボット その6: プレーリードッグ(Correllラボ)

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

アルデバランのNaoと同じく、コロラド大学Correll研究室のプラットフォーム、「プレーリードッグ」もお互いの研究成果を活用しながら形成されていくROSコミュニティの一例になっています。何よりいいのは、あなたも自分で作れるという点です。

プレーリードッグはiRobot Createの上に作られた教育、研究用の統合プラットフォームです。移動、運動学、センシング、位置同定など主要なトピックの他、協調などマルチロボット独自の課題を教育研究するコロラド大学のマルチロボットシステムコースで使用されています。地図作成と位置同定を含むプレーリードッグのソースコードはROSリポジトリprairiedog-ros-pkgの一部として利用が可能です。

プレーリードッグは、市販されている様々なハードウェア、例えばiRobot Create ベース、CrustCrawlerの4自由度アーム AX-12北陽電気レーザレンジファイダ URG-04LXHAGIZONICの室内用位置認識システム スターゲイザーLogitechのウェブカメラ QuickCam 3000を使っています。Correll研究室は、brown-ros-pkgのirobot_create、robotis等のROSパッケージを活用して自分たちのprairiedog-ros-pkgを作り公開することができました。またプレーリードッグは、モーションプランニング環境のライブラリであるOpenRAVEと統合されています。

2010年秋からRoadNarrows Roboticsが、すべての市販部品の他、予備ナットやボトルが入ったプレーリードッグのキットを販売します。価格はまだ発表されていhttp://willowgarageja.blogspot.com/2010/06/pr2-beta-sites-spotlight-bosch.htmlませんが、ネットブックを含む基本的な部分はたぶん3500ドルぐらいになるのではと思います。

さらに詳しくは
をごらんください。

(写真は、家族連れに囲まれ忙しく地図作成するプレーリードッグ)

2010年3月10日水曜日

ROSを使ったロボット その5: Care-O-bot 3 (フラウンホーファーIPA)


米国西海岸時間 March 10, 2010

Care-O-bot 3は独フラウンホーファーIPA(生産技術・オートメーション研究所)によって設計された移動マニピュレーションロボットで、 商用のバトラー(使用人)ロボットとしても、研究用プラットフォームとしても利用することができます。Care-O-botのソフトは最近、短期間のうちにROSに統合され、すでに低位のデバイスドライバーからGazeboでのシミュレーションまでサポートされています。

このロボットでは、片側でマニピュレーション、もう片側ではインタラクションが可能になっています。マニピュレーションを行う側には、物体を把持するためのSDHグリッパがついたSCHUNK製のLightweight Arm 3(軽量アーム3)が備わっています。またインタラクションを行う側には、インプットだけでなく「アウトプット」もできるタッチスクリーン付きのトレイがついています。人々は、タッチスクリーンを使って飲み物を注文するなどのタスクを選ぶこと(インプット)ができ、トレイは注文された飲み物などの物体をのせてその人のところまで運ぶこと(アウトプット)ができます。

Care-O-botの研究のゴールは、

  • このハードウェアのためのオープンソースのリポジトリを提供する
  • コンポーネントのシミュレーションモデルを提供する
  • Care-O-bot 3へのリモートアクセスを可能にする

の3点です。

最初の2つのゴールは、オープンソースのROSレポジトリであるcare-o-botとしてすでに行われていて、ドライバーやシミュレーション、基本的なアプリケーションなどが公開され利用可能となってています。ソースコードをダウンロードしベースを操縦したり腕を動かしたり、といった様々なタスクをシミュレーションすることが簡単にできます。そしてこれらのことが、彼らのウェブポータルを使ってCare-O-Botの実機にリモートアクセスするという3つ目の目標を可能にします。

cob3_tech_specs.640w.jpg

センシングに関しては、Care-O-botはSICK製のS300レーザースキャナーを2つと北陽製のURG-04LXレーザースキャナーを1つ、Pike製のfirewireカメラF-145をステレオビジョン用に2つと、Swissranger製のSR3000とSR4000を備えています。 cob3_driverスタックにはROSとこれらのセンサーを統合するsick_s300cob3_camera_sensorscob3_hokuyoといったパッケージが提供されています。

Care-O-botはSCHUNK製のLWA3アーム、SDHグリッパと、人や環境と相互作用するためにPRL 100につけられたトレイを備え、CANインターフェースによって動きます。さらにSCHUNK製のパン・チルト可能なユニットPW 90とPW 70 panを備えているので、発砲体でできた胴体がおじぎすることができます。このCANインターフェースはCare-O-bot向けROSパッケージであるcob_generic_cancob_canopen_motorlibpcanlibntcan用のラッパーなどによってサポートされていて、SCHUNK製のコンポーネントはsdhpowercube_chainlibm5apiパッケージによってサポートされています。

下のビデオではCare-O-botが動いている様子をごらんになれます。(注: Care-O-botのソースコードはまだROSに統合中で、このビデオに出てくる機能はまだROSリポジトリには入っていません。)

原文