Main Page/ja
From OpenRAVE
Contents |
OpenRAVE(オープンレイブ)概要
OpenRAVEは知的マニピュレーションを培う環境を備えて,今まで教示で行われてきた様々な作業指定の完全自動化を目指した開発環境である.
ハードウェア抽象化,通信,認識などを他のライブラリに任せ,運動学的・動力学的な計画法に必要なインターフェースだけを定義した 簡潔に整理された構造を持つ.
新しいロボットを簡便に導入出来る機能があるため, 世界中の研究所において多種のロボットに適用された実績がある.
OpenRAVEの本体は以下の四つで構成されている.
- インターフェース・ロボット・環境を提供するコア
- 動作・制御・計画法の要素技術を提供するプラグイン
- 新機能・問題の対応を簡易にするスクプト開発環境
- ロボット・物体の分析や依存関係を表すデータベース
自律型ロボットに必要なプランニング機能や評価関数を統合し,15種類以上のロボットに適用するプランニング開発環境.
OpenRAVEは現実世界の自律型ロボットのアプリケーションをターゲットとし、シームレスな3Dシミュレーション統合、可視化、計画法、およびスクリプトと制御機能を含みます.プラグインアーキテクチャを使い、簡単にカスタムコントローラまたは機能の拡張をすることができます.OpenRAVEのユーザーは、プランニングとスクリプトの開発に集中することができ、ロボットの運動学とダイナミクス、干渉検査、環境変化、ロボット制御などの詳細が分からなくてもいいようになります.
また、OpenRAVEアーキテクチャが他の人気のあるロボットのパッケージ(ROS)と組み合わせて使用することができる理由は、ローレベル制御やメッセージプロトコールというより自律運動計画やハイレベルスクリプトに焦点を置いているからです.OpenRAVEは強力なスクリプト環境をサポートし、Python、Octave、Matlabなどのスクリプト言語を使用して、ロボットを制御、監視し、実行の流れを変更することができます.オープンコンポーネントアーキテクチャを使う利点として、ロボット研究者コミュニティーが簡単にアルゴリズムを共有、比較できることがあげられます.
OpenRAVEのソースはsourceforgeのSubversionリポジトリからチェックアウトできます. 現在はバージョン番号のついた公式ダウンロードはありませんが、Subversionツリーの中身は比較的安定しています.
svn co https://openrave.svn.sourceforge.net/svnroot/openrave/trunk openrave
OpenRAVEのコア部分やC++プラグインはLesser GPLのライセンスで、サンプルデモやPythonコードはもっとも緩やかな制限になっているApache License, Version 2.0でライセンスされているため,企業内で使用することも可能です.第三者のプラグインはライセンスがそれぞれのでソースコードをご参照ください.
openrave-users メールリストではよく聞かれる質問の答えが載っています.ここからサインアップすることができます
OpenRAVEを使用する場合,出版物や掲載物で下記のように参照していただければ幸いです.
@techreport{openrave,
author = {出杏光魯仙},
title = {海外の動向:ROS・OpenRAVEの新オープンソース開発環境が活かす知的マニピュレーション},
journal = {日本ロボット学会誌},
volume = {28},
number = {5},
year = {2010},
url={http://openrave.programmingvision.com},
}
インストールとセットアップ
はじめに
- GUIの使い方
- 基本アーキテクチャー
- Pythonスクリプティング - OpenRAVEでの開発に推薦されるPythonスクリプティングについて述べる
- Octave/MATLABスクリプティング
- MATLAB/Octaveサンプルを試すには、最初にOpenRAVEをスタートし、そして別のターミナルで*.mファイルを実行してください.
基本解説
ドキュメント
コンポーネント
- Interface Descriptions
- このページで新しいプラグインの掲載を希望されている場合,openrave-usersにプラグインの内容をお送りください.
- ikfast - あらゆるロボット構造に適用出来る逆運動学の解析的解の生成プログラム
Pythonでの実行例
実行例はここで参照出来ます.XXXを実行するため以下を入力します.
openrave.py --example XXX [options]
実行出来る例は以下で調べられます.
openrave.py --listexamples
- マニピュレーション把持計画 - 離散化把持セットとランダムプランナーを使ったロボットが物体把持のプランニングをするサンプル
- 制約条件付きプランニング - 物体の向きの制約を維持した状態でのロボットプランニングのサンプル
- カメラを使ったグラスププランニング - マニピュレーショングラスププランニングフレームワークを二つに分ける例:一つはセンサーの可視性を実現、もう一つはゴールに少しずつ接近していく途中にプランニング
- RRTを使ったナビゲーション - 平面ナビゲーション用にどうRRTを使ったらいいかの簡単なサンプル
- センサーの使い方 - レーザレンジファインダやカメラなど、シミュレーションと実際のセンサーの実装と使い方
- [ハノイパズル]
- ドアの開け閉め - ドアの取っ手に引っかける(ケージング)為にどんな手にでも把持セットを作ったり、これらの把持セットを使ってどんなロボットでも効果的にドアの開け閉めをどうやってプランニングできるかの例.ケージングでマニピュレーションをするとロボットのコンフィギュレーション空間を広げ、普段はできないようなタスクもできるようになります.
- シミュレーションと物理学において - OpenRAVEシミュレーションがどう動作するか、また現実世界で実行する時との違い
- コールバックの登録 - ビューア上で選択したポイントのとらえ方、また物理エンジンの衝突処理など、Pythonでのコールバックを登録方法の解説.
- コリジョン問い合わせ機能 - OpenRAVEが提供するコリジョンの問い合わせ機能.
チュトリアル
- KATANAチュトリアル - KATANAアームでプランニング環境の設定過程。
- PythonスクリプトによるOpenRAVEの基本的な使い方
知識ベースの生成
プランニングを行うためには,評価関数,サンプリング関数(与えられた空間の中で重要な箇所にはサンプル点を多くするように最適化を行うための関数),などの様々な処理を使用しなければなりません.しかしOpenRAVEは,このモデルを自身で管理する機能を持っていますから,ユーザーはあまり心配しなくても全体的なシステムを使うことができます.全てののロボット情報は$OPENRAVE_HOME(デフォルト:~/.openrave)に保存されており,ファイルが必要な時に.openraveから自動的に読み込まれます.
下の画像をクリックすると使用法や解説のページに行けます.
| 逆運動学解析解生成 | 把持生成 | 剛体を複数の凸形状での近似 |
| 掃引体積等のリンク統計 | 6D運動学的到達範囲の生成と使用 | 逆運動学的到達範囲の分布と使用 |
| 認識可能な空間を利用したセンサ視認性計画 |
開発者用
開発者・歴史
OpenRAVEはカーネギーメロン大学ロボット研究所で出杏光魯仙によって作られました. ジェームス・カフナーが1995年に開発を始めたRAVEシミュレーターにより多大な影響を受け、それ以来実験用にずっと使っています.OpenRAVEプロジェクトは2006年に開始し、RAVEに似たライブラリを一から作り直しました.OpenRAVEの主な目的はロボット研究者達に細かいことを気にせず、シミュレーションと現実世界のロボットをコントロールするための簡素なオープンソースインターフェイスを与えることです.
メンバー
- 出杏光魯仙 - 設立者、コアの担当、多数のプラグインの作者、Wikiドキュメントやサンプルコードのメンテなど
OpenRAVEを使用するロボットシステム
- ヒューマノイド グラスプ プランニング - Dmitry Berenson, Rosen Diankov, Koichi Nishiwaki, Satoshi Kagami and James Kuffner, Grasp Planning in Complex Scenes, IEEE-RAS Intl. Conf. on Humanoid Robots, December 2007.
- バーキーパー(Bar Keeper)用のマニピュレーションプランニング - Siddhartha Srinivasa, Dave Ferguson, Mike Vande Weghe, Rosen Diankov, Dmitry Berenson, Casey Helfrich, Hauke Strasdat. The Robotic Busboy: Steps Towards Developing a Mobile Robotic Home Assistant. 10th International Conference on Intelligent Autonomous Systems, July 2008.
- パーソナルロボティクス インテルリサーチ(ピッツバーグ)
- OpenGRASP - OpenGRASP is an open source simulation toolkit for grasping and dexterous manipulation. It supports the creation and addition of new functionality and the integration of existing and widely used technologies and standards.
- Modular Robots - OpenMR is an OpenRave Modular Robots plug-in for simulating the locomotion of modular robots.
- ロボットマニピュレーションシステム - OpenRAVE と Robot Operating System (ROS)アーキテクチャをつかった完全なロボットシステムで、視覚フィードバック、センサーループ、ハイレベル推論を使って自律的なマニピュレーションを可能にします.
ユーザーの皆さんのOpenRAVEのプロジェクトをここで紹介できますので、よろしければ出杏光魯仙までメールをお送りください.

