Main Page/ja

From OpenRAVE

Jump to: navigation, search

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},
}


インストールとセットアップ

はじめに

基本解説

ドキュメント

コンポーネント

  • Interface Descriptions
    • このページで新しいプラグインの掲載を希望されている場合,openrave-usersにプラグインの内容をお送りください.
  • ikfast - あらゆるロボット構造に適用出来る逆運動学の解析的解の生成プログラム

Pythonでの実行例

実行例はここで参照出来ます.XXXを実行するため以下を入力します.

openrave.py --example XXX [options]

実行出来る例は以下で調べられます.

openrave.py --listexamples

  • カメラを使ったグラスププランニング - マニピュレーショングラスププランニングフレームワークを二つに分ける例:一つはセンサーの可視性を実現、もう一つはゴールに少しずつ接近していく途中にプランニング

  • センサーの使い方 - レーザレンジファインダやカメラなど、シミュレーションと実際のセンサーの実装と使い方

  • ドアの開け閉め - ドアの取っ手に引っかける(ケージング)為にどんな手にでも把持セットを作ったり、これらの把持セットを使ってどんなロボットでも効果的にドアの開け閉めをどうやってプランニングできるかの例.ケージングでマニピュレーションをするとロボットのコンフィギュレーション空間を広げ、普段はできないようなタスクもできるようになります.

  • コールバックの登録 - ビューア上で選択したポイントのとらえ方、また物理エンジンの衝突処理など、Pythonでのコールバックを登録方法の解説.

チュトリアル

知識ベースの生成

プランニングを行うためには,評価関数,サンプリング関数(与えられた空間の中で重要な箇所にはサンプル点を多くするように最適化を行うための関数),などの様々な処理を使用しなければなりません.しかしOpenRAVEは,このモデルを自身で管理する機能を持っていますから,ユーザーはあまり心配しなくても全体的なシステムを使うことができます.全てののロボット情報は$OPENRAVE_HOME(デフォルト:~/.openrave)に保存されており,ファイルが必要な時に.openraveから自動的に読み込まれます.

下の画像をクリックすると使用法や解説のページに行けます.

逆運動学解析解生成

把持生成

剛体を複数の凸形状での近似

掃引体積等のリンク統計

6D運動学的到達範囲の生成と使用

逆運動学的到達範囲の分布と使用

認識可能な空間を利用したセンサ視認性計画

開発者用

開発者・歴史

OpenRAVEはカーネギーメロン大学ロボット研究所出杏光魯仙によって作られました. ジェームス・カフナーが1995年に開発を始めたRAVEシミュレーターにより多大な影響を受け、それ以来実験用にずっと使っています.OpenRAVEプロジェクトは2006年に開始し、RAVEに似たライブラリを一から作り直しました.OpenRAVEの主な目的はロボット研究者達に細かいことを気にせず、シミュレーションと現実世界のロボットをコントロールするための簡素なオープンソースインターフェイスを与えることです.

メンバー

  • 出杏光魯仙 - 設立者、コアの担当、多数のプラグインの作者、Wikiドキュメントやサンプルコードのメンテなど

OpenRAVEを使用するロボットシステム

  • 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のプロジェクトをここで紹介できますので、よろしければ出杏光魯仙までメールをお送りください.

Personal tools