2010年7月26日月曜日

EusLispがオープンソースに

EusLispが、シンプルかつ広く利用されているBSDライセンスにより、オープンソースになりました。EusLispを用いて、20年以上ロボット開発を行ってきた研究成果が、他の研究者とより簡単に共有できるようになります。ROSユーザーもEusLispを利用できるようになります。東京大学の情報システム工学(JSK)研究室はEusLisp環境でROSを使えるようにするroseusパッケージを開発、公開しています。川田工業のHRP-2、AIBO、Nao、そしてウィローガレージのPR2などたくさんのロボットがEusLispによってコンパチブルになりました。

EusLispはLispベースのロボット開発用プログラミング言語です。3次元モデラー、ビジュアライゼーション(可視化)、幾何学モデラー、シミュレーション他の多くの開発環境が統合されたものです。EusLispは元々1986年に松井俊浩さん(産業技術総合研究所)によって開発され、東大JSK研究室でヒューマノイドロボット研究のために長く使用されてきています。

EusLispは知能ロボット研究のための、Common Lispをオブジェクト指向をベースに実現した統合プログラミングシステムです。ロボット研究における主なテーマは、センサーデータ処理、視覚環境認識、衝突回避する動作計画、タスク計画があります。どの問題においても、ロボットと環境の三次元形状モデリングが重要な役割を担っています。EusLispの開発には、高位シンボル処理システムから簡単に利用可能な拡張性のある三次元モデラーの需要に応えることがモチベーションになりました。従来の三次元モデラーを調べてみると、実装言語に必須なのはモデルコンポーネント間のトポロジーを表示、管理するためのリスト処理能力であることがわかりました。数値計算能力も重要でしたが、幾何計算のローカリティによって、ビルトインとしてのベクター/マトリックス機能を持つことでプログラミングが容易になるという推論が立ちました。
EusLispマニュアル Introduction to EusLispのPurpose and Goalからの引用を翻訳しました。)

オープンソースEuslispについて詳しくは、EusLisp.sourceforge.netをご覧ください。
コードは、https://euslisp.svn.sourceforge.net/svnroot/euslisp/trunk/EusLisp/ からダウンロード可能です。

原文

2010年7月22日木曜日

オープンソースUrbiがROSと統合












米国西海岸時間: July 22, 2010

Gostaiのおかげで、UrbiとROSがコンパチブルになりました。Urbi 2.1がちょうどリリースされたところなのですが、ROSとUrbiscriptの統合機能が含まれています。

ROSユーザーにとっては、Urbiscriptによりロボットの行動用のスクリプトを書くための並列化やEventTriggerといった機能を提供する強力なスクリプト環境が提供されます。ROSユーザーは、グラフィックなIDEを提供するGostai Studio Suiteを使用することもできます。GostaiはUrbi kernelをオープンソース(AGPL)でリリースしていて、ロボットのプラットフォームを研究開発するオープンソースコミュニティの成長に貢献してきています。

Urbiユーザーにとっては、ROSによって、ナビゲーション、知覚、マニピュレーションなどの幅広い能力を備えた、再利用可能でオープンソースのソフトウェアコンポーネントのライブラリが急速に充実することになります。

オープンソースUrbiに関して詳しくはUrbi Forgeをご覧ください。Urbi+ROSを使い始めたい方は、UrbiマニュアルUrbi+ROSのチュートリアルをご覧ください。

原文

2010年7月8日木曜日

PR2プロジェクトの紹介: 東京大学情報システム工学研究室(JSK)

米国西海岸時間 July 8, 2010

過去10年間、東京大学JSK研究室は、ヒューマノイドロボットHRP2に、掃除、片付け、オーブンや食器洗い機の操作、野菜を切る、床の掃き掃除などの家事をさせることに取り組んできました。さらにJSKは、日本が直面している急速な少子高齢化社会の様々な課題を、ITとロボット技術を融合したIRT基板技術によって解決することを目指す、IRTプロジェクトの中核的存在です。IRTの目標の1つは社会や生活を支援する3つのロボットシステム、1)キッチンアシストロボットシステム、2)ホームアシスタントロボットシステム、3)そばにいる人の状況を常に観察し、認識・判断を行ない、役に立つアドバイスをするか、他にサポートしてくれる人にコンタクトをとる介護・支援ロボットシステムを実現することです。

JSKのチームは、2009年春からウィローガレージと共同研究を始め、PR2ですでにいくつかのデモ(2009年3月2010年3月)を成功させています。この実績を元に、JSKはPR2ベータプログラムのプロジェクト案を「複数のロボットの協働による人間環境における日常作業のための自律的動作計画」としました。
このプロジェクトの目標でユニークなのは、HRP2とPR2の両方を使い複数のロボットによる協働を実現することです。人間が主体の環境でインタラクションするには、人間や他のロボットを含め、周囲の状況が絶え間なく変化していることを理解する必要があります。JSKチームは、異なる運動学、センサー、制御フレームワークを有するロボットの相互運用を研究していきます。

このプロジェクトでは、マニピュレーションプランニング、タスクプランニング、ダイナミック動作、エラー検出、復旧といった高次の認識モジュールが研究の焦点となるでしょう。推進にあたっての指針としては、パラメーター補正なしか微補正のみで、しかも事前の動作教示や位置の限定を最小限に抑えた形で、人間(ユーザー)がロボットに新しいタスクの仕方を教えやすいシステムをデザインすることです。

またJSKは、ROSを3つのメジャーなフレームワークである、EusLisp、OpenRAVE、OpenRTMと統合させます。JSKは20年近くに渡り、ロボットプログラミング用Lisp言語であるEusLispでソフトウェアのフレームワークを開発してきました。ROSとこのフレームワークが組み合わさることで、EusLispで書かれたプログラムが、より分散型かつマルチプロセスの環境で、ハイレベルのスクリプトとタスクの遂行のために使われるようになります。

JSKのもう一つのプロジェクト、動作計画アルゴリズム開発のためのOpenRAVEはあっという間に人気のプラットフォームになりました。
OpenRAVEは、自律的マニピュレーションにおいて「何が実行可能か」、「現実的か」、「再利用可能か」、「他のロボットへの適用性があるか」について、長らく信じられてきた事を、改めて定義しています。OpenRAVEは、CMUのRosen Diankovによって創られたものであり、彼は今後JSKでこのプラットフォームの研究を続けていきます。

最後に、JSKのOpenRTMプロジェクトは日本政府の資金によって研究が行われており、日本で最も多く支持されていプラットフォームです。日本では、最新のヒューマノイドロボットを含め、多くのプロトタイプがOpenRTMを通して直接ドライバーを提供しています。JSKは、既に提供されているROSの環境を再利用しながら、EusLisp、OpenRAVE、OpenRTM間に特化した信頼性の高いモジュールが、徐々にできていくのを期待しています。

JSKの長期的な目標は、ロボットが職場や家庭で人々の日常を助けることができるロボットを創りだすことです。このロボットは、職場ではオフィスや建物を移動しながら、物を片付けたり、取りに行ったり、運んだり、渡したりする能力を持ちます。また、家庭においては、家電や他の道具を操作して高齢者や障害のある人の支援を行うことができるロボットです。

JSKチームについてTeam photo

このプロジェクトは、約30名の学生と10名の教員からなるJSK全体の協力を得て行われます。

プロジェクトリーダー
稲葉雅幸教授
岡田慧准教授
出杏光魯仙博士

プレゼンテーション

下は、PR2ベータプログラムに参加する11研究機関を対象にしたワークショップにおける岡田慧准教授のプレゼンテーションです。
PDFバージョンのダウンロードはこちらから。



原文

2010年7月6日火曜日

ねえ、ロボット、ビール持ってきて!


米国西海岸時間 July 6, 2010

ウィローガレージでは、金曜日の夕方5時頃になると、多くの人が「あ〜、よく冷えたビール、すごくおいしいだろうな」と考え始めます。しかし、往々にして週末の前に片付けておかなければならない仕事で忙殺されているものです。こういうことがあまりに多いので、もしロボットがビールを持ってきてくれたら完璧なのに、と考えていました。ウィローガレージの夏のハッカソン第3弾の目的は、この夢を叶えることでした。夏のハッカソンでは、既にあるROSのツールとパッケージを使い、月曜日にプログラミングをスタートして金曜日の午後にデモを行ないます。その間睡眠をとるかどうかは、あくまで本人の自由です。

このハッカソンの目標は、しっかり安定した状態で、しかもユーザーフレンドリーにビールをとってきて渡すことでした。さらにロボットに、安全に、どこの部屋にでも届けさせたいと思いました。それには、アームを折り曲げた状態でのナビゲーションが要求されます。

ビールを安全に運ぶために、私たちはPR2のベース部分に”バーキーパー"を設置しました。ロボットのベース部分にあるナビゲーション用レーザーの後ろに、四角い発泡体に4つの穴をあけてビールホルダーを作り、取り付けたのです。3つの丸い穴は、移動する間ビール瓶を入れておくもので、4つめの穴には栓抜きが入っています。オフィスにあるごく標準的な冷蔵庫に傾斜をつけたセルフストッキング(1本取り出すと次のビールがスライドしてくる)のラックを備え付けることで、ロボットが人間の助けを借りなくても、多くの人のリクエストに応じてサービスできるようにしました。

スクリーンショット
ユーザーエクスペリエンス(使いやすさ)については、まず”Beer Me(ビール、頂戴)"という名のウェブアプリケーションに取り掛かりました。このウェブアプリケーションでは、ユーザーに、冷たいビールやサイダーのメニューと、届ける場所を選ぶためのプルダウンメニューが与えられます。誘われるような”Beer Me"ボタンをユーザーが押したら、マジックが実現するかどうかは、ロボットの仕事になります。ロボットは、自律的にナビゲートして冷蔵庫に移動し、ドアを認識。ドアを開くためにはどこの位置をつかむべきかを正確に決定するため、ハンドル部分の検出を行ないます。そしてハンドルをつかんで引っ張り、開いた冷蔵庫の扉が閉じてしまわないように、扉と冷蔵庫の間に移動します。

ロボットは物体認識を使用してどのビールがラックにあるかを判断し、もしユーザーが選んだものがなかったら、それをウェブアプリに報告します。もしあれば、注文されたビールをビールホルダーに入れ、ドアを閉じ、指定された部屋まで運びます。このパズルの最後の1ピースは、どのように手渡しするかでした。パーティで床にビールをこぼして顰蹙をかうようなことを絶対ロボットにさせたくなかったので、手渡しの動作に関しては顔検出機能を加えました。ロボットはビールを差し出し、近距離にある顔を検出するまで待ちます。そして一番近くにいる人を見て、ビール瓶が強く引っ張られたら、グリッパを緩めます。ロボットは、栓抜きを渡し、返してもらうまで待つこともします。また、ロボットに普通の栓抜きを使ってビール瓶を開けさせることにも成功しました。

ロボット研究者はこれまでこんな言葉を耳にしたものでした。「ロボットってクールだと思うけど、ビールは持ってこれるの?」と。PR2はできるようになりました。それどころか、瓶をあけてくれるかもしれませんよ。

RVIZ Beer classification

原文

第一回 オープンソースコード・アワードを発表

KaramanFrazzoli

米国西海岸時間 July 6, 2010

しばらく前に、研究論文に使われるオープンソースのコードを対象に研究者を表彰する「オープンソースコード・アワード」を創設することを決定しました。開発したコードを論文とともに発表・公開することで、ロボット研究における演習がより科学的に向上し、研究の進歩が加速することは間違いありません。このアワードの目的はロボットのオープンソース・コミュニティへ貢献してくれた方々に感謝し、他の研究者のみなさんも同様に貢献されるのを奨励することにあります。

スペインのサラゴサで開催されたRSS2010で、私たちはオープンソースコード・アワードの第一回受賞者を発表しました。今年のRSSで発表された論文の著者を対象に審査が行われ、Sertac KaramanとEmilio Frazzoliが、論文"Incremental Sampling-based Algorithms for Optimal Motion Planning"(最適な行動計画のためのサンプリングによる増分アルゴリズム)に記載されたコードにより、見事受賞しました。これは彼らのRRT(*)ライブラリの公開が評価されたものです。審査委員会は、特にこのコードが論文の理解を促進させること、その再利用性と拡張性について言及していました。さらにこのコードの利用には、オープンソースではないソフトウェアを全く必要としない点も評価を高めました。

今後さらに多くの表彰を行っていくのを楽しみにしています。また、オープンソースを使った論文が増加することを期待しています。

受賞論文(PDF)はこちらでお読みいただけます。

2010年7月2日金曜日

PR2のビリヤードビデオ、20万ビュー突破

PR2が見事なビリヤードを披露したビデオの再生回数(英語版)が20万回を突破しました。
なお、日本語字幕付きのビデオ(再生回数 1339回)はこちらです。