Choreonoid OpenRTMプラグインの利用方法

Choreonoidはオープンソースのロボット用シミュレーションソフトウェアです。 拡張性が高く、物理エンジン、通信機能、スクリプティング機能、制御アルゴリズム等をC++プラグインとして追加できます。

Choreonoid用OpenRTMプラグインはChoreonoid上でRTCを起動し、シミュレータ上のオブジェクトのトルクや速度、ビジョンセンサやレーザーレンジセンサ等の入出力をポートの入出力と関連付けたRTCを作成できます。 これにより外部のRTCとChoreonoidの入出力が連携し、RTCの再利用によるシミュレータ実行の効率化、シミュレータ環境から実機環境へシームレスに移行できます。

choreonoid1_1.png

このページではOpenRTMプラグインのインストール手順について説明します。

ビルド手順

OpenRTMプラグインは現在OpenRTM-aist 1.2.2以前のバージョンのサポートを終了しています。 OpenRTM-aist 2.0.0以上のバージョンのインストールが必要です。

Windows

OpenRTM-aistのビルドとインストール

OpenRTM-aist+omniORBを以下の手順でビルド、インストールしてください。 ※インストーラーでOpenRTM-aistをインストールしている場合は不要。

ただし、CMake実行時にOpenRTM-aistのインストールフォルダは指定してそこにインストールするようにしてください。

 set OPENRTM_INSTALL_DIR=C:/work/openrtm_install
 set OMNIORB_SOURCE_DIR=C:/workspace/omniORB-4.2.5-x64-vc14-py310
 cmake .. -DORB_ROOT=%OMNIORB_SOURCE_DIR% -DCMAKE_INSTALL_PREFIX=%OPENRTM_INSTALL_DIR%
 cmake --build . --config Release
 cmake --build . --config Release --target install

またOpenSSLのヘッダーファイル、ライブラリを適当な場所に展開してください。

Choreonoidのビルドとインストール

Choreonoidを以下の手順でビルド、インストールしてください。

CMake、Boost、Qtのバージョンには注意してください。

  • CMakeのバージョンが古い場合、Boostをライブラリを検出できない場合があります。できるだけ最新版をインストールしてください。
  • Boostはデフォルトの設定でC:\local\boost_1_77_0のようなフォルダにインストールされますが、CMakeはC:\local\boost_{バージョン番号}からBoostを探すため、古いバージョンがすでにC:\local\以下にインストールされている場合にそちらを検出する事があるので注意してください。

OpenRTMプラグインの使用のためにはCORBAプラグインのビルドに、ヘッダーファイルなどの各種ファイルをインストールが必要です。 また、OpenRTM Pythonプラグインの使用のためにはPythonプラグインのビルドが必要です。

設定項目 内容 設定例
ENABLE_CORBA CORBA通信機能の有効化、無効化 ON
BUILD_CORBA_PLUGIN CORBAプラグインのビルドの有無 ON
CHOREONOID_OMNIORB_DIR omniORBのインストールフォルダのパス C:/work/openrtm_install/2.0.0/omniORB/4.2.5_vc16
INSTALL_SDK ヘッダーファイルなどの各種ファイルをインストールするか ON
ENABLE_PYTHON Pythonスクリプティング機能、およびPythonプラグインのビルドの有無 ON
CMAKE_INSTALL_PREFIX Choreonoidのインストールフォルダ C:/work/choreonoid_install

CHOREONOID_OMNIORB_DIRについては環境変数OMNI_ROOTを設定していると自動でomniORBを検出しますが、Choreonoidが生成するCMakeコンフィグファイルの問題でOpenRTMプラグインのビルドでエラーが発生することがあるので必ず手動でパスを設定してください。 またPythonプラグインのビルドのため、Pythonをインストールしてください。

コマンドでは以下のように入力できます。

 set CHOREONOID_INSTALL_DIR=C:/work/choreonoid_install
 Invoke-WebRequest -Uri https://github.com/choreonoid/choreonoid/archive/refs/tags/v1.7.0.zip -OutFile choreonoid-1.7.0.zip
 Expand-Archive -Path choreonoid-1.7.0.zip -DestinationPath .
 Rename-Item choreonoid-1.7.0 choreonoid
 cd choreonoid
 mkdir build
 cd build
 cmake .. -DENABLE_CORBA=ON -DBUILD_CORBA_PLUGIN=ON -DINSTALL_SDK=ON -DCHOREONOID_OMNIORB_DIR=%OPENRTM_INSTALL_DIR%/2.0.0/omniORB/4.2.5_vc16 -DENABLE_PYTHON=ON -DCMAKE_INSTALL_PREFIX=%CHOREONOID_INSTALL_DIR%
 cmake --build . --config Release
 cmake --build . --config Release --target install

choreonoidのリポジトリのmasterブランチのソースコードに不具合があり、WindowsでのCorbaPluginのビルドでエラーが発生します。masterブランチのソースコードを使う場合、src/CorbaPlugin/CorbaPlugin.cppの以下の部分を修正してください。

 nameServerProcess.start(QString("\"") + command.c_str() + "\""); //修正前
 
 nameServerProcess.start(QString("\"") + command.c_str() + "\"", QStringList()); //修正後

※OpenRTM-aistをインストーラーでインストールした場合はCHOREONOID_OMNIORB_DIRオプションの設定は不要です。

OpenRTMプラグインのビルドとインストール

OpenRTMプラグインのソースコードは以下から入手できます。

Choreonoidと同様、CMake実行後にVisual Studioでビルドします。

CMakeでは以下の項目を設定します。

設定項目 内容 設定例
Choreonoid_DIR ChoreonoidのCMakeコンフィグファイルがインストールされたフォルダ C:/work/choreonoid_install/share/choreonoid/cmake
OpenRTM_DIR OpenRTM-aistのCMakeコンフィグファイルがインストールされたフォルダ C:/work/openrtm_install/2.0.0/cmake

以下のコマンドを実行することでビルド、インストールができます。 生成したOpenRTMプラグインはChoreonoidのインストールフォルダにコピーされます。

 git clone https://github.com/OpenRTM/choreonoid-openrtm
 cd choreonoid-openrtm
 mkdir build
 cd build
 cmake .. -DChoreonoid_DIR=%CHOREONOID_INSTALL_DIR%/share/choreonoid/cmake -DOpenRTM_DIR=%OPENRTM_INSTALL_DIR%/2.0.0/cmake
 cmake --build . --config Release
 cmake --build . --config Release --target install

※OpenRTM-aistをインストーラーでインストールした場合はOpenRTM_DIRオプションの設定は不要です。

OpenRTM Pythonプラグインのビルドとインストール

OpenRTMプラグインのソースコードは以下から入手できます。

CMakeの設定項目はOpenRTMプラグインと同じです。

以下のコマンドを実行することでビルド、インストールができます。

 git clone https://github.com/Nobu19800/OpenRTMPythonPlugin
 cd OpenRTMPythonPlugin
 mkdir build
 cd build
 cmake .. -DChoreonoid_DIR=%CHOREONOID_INSTALL_DIR%/share/choreonoid/cmake -DOpenRTM_DIR=%OPENRTM_INSTALL_DIR%/2.0.0/cmake
 cmake --build . --config Release
 cmake --build . --config Release --target install

※OpenRTM-aistをインストーラーでインストールした場合はOpenRTM_DIRオプションの設定は不要です。

必要なファイル一式をまとめる

Choreonoidをビルド、インストールすると、基本的には必要なファイルはインストール先にコピーされます。 ただし、Pythonプラグインをビルドする場合は、対応するバージョンのPythonがインストールされている必要があります。

このため、対応するバージョンのPythonがインストールされていない場合は、以下のページのように組み込み用Pythonを同梱する必要があります。

まずは、対応するバージョンのpython-3.x.y-embed-amd64をダウンロードしてください。

次に必要なライブラリをインストールします。 Choreonoidはnumpyが必要なためインストールします。

 python -m pip install numpy

また、Choreonoid Pythonプラグインのサンプルプログラムを実行するためにPySDL2が必要なためインストールします。

 python -m pip install pysdl2 pysdl2-dll

omniORB、OpenRTM-aistをインストールする必要があるため、以下のファイル、フォルダをpython-3.x.y-embed-amd64/Lib/site-packages以下のコピーしてください。

  • CosNaming
  • omniidl
  • omniidl_be
  • omniORB
  • OpenRTM_aist
  • OpenRTM-aist.pth
  • CORBA.py
  • CosNaming_idl.py
  • CosNamingPOA
  • PortableServer.py
  • PortableServerPOA.py
  • _omnicodesets.pyd
  • _omniConnMgmt.pyd
  • _omnihttpCrypto.pyd
  • _omnihttpTP.pyd
  • _omnipy.pyd
  • _omnisslTP.pyd

Ubuntu

OpenRTM-aistのビルドとインストール

OpenRTM-aist+omniORBを以下の手順でビルド、インストールしてください。

 export OPENRTM_INSTALL_PATH=~/work/openrtm_install
 git clone https://github.com/OpenRTM/OpenRTM-aist
 cd OpenRTM-aist/
 mkdir build
 cd build/
 git clone 
 cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$OPENRTM_INSTALL_PATH
 cmake --build . --config Release
 sudo cmake --build . --config Release --target install

Choreonoidのビルドとインストール

Choreonoidを以下の手順でビルド、インストールしてください。

CMake、Boost、Qtのバージョンには注意してください。

  • CMakeのバージョンが古い場合、Boostをライブラリを検出できない場合があります。できるだけ最新版をインストールしてください。
  • Boostはデフォルトの設定でC:\local\boost_1_77_0のようなフォルダにインストールされますが、CMakeはC:\local\boost_{バージョン番号}からBoostを探すため、古いバージョンがすでにC:\local\以下にインストールされている場合にそちらを検出する事があるので注意してください。

OpenRTMプラグインの使用のためにはCORBAプラグインのビルドに、ヘッダーファイルなどの各種ファイルをインストールが必要です。 また、OpenRTM Pythonプラグインの使用のためにはPythonプラグインのビルドが必要です。

設定項目 内容 設定例
ENABLE_CORBA CORBA通信機能の有効化、無効化 ON
BUILD_CORBA_PLUGIN CORBAプラグインのビルドの有無 ON
INSTALL_SDK ヘッダーファイルなどの各種ファイルをインストールするか ON
ENABLE_PYTHON Pythonスクリプティング機能、およびPythonプラグインのビルドの有無 ON
CMAKE_INSTALL_PREFIX Choreonoidのインストールフォルダ ~/work/choreonoid_install

 export CHOREONOID_INSTALL_DIR=~/work/choreonoid_install
 git clone https://github.com/choreonoid/choreonoid
 cd choreonoid
 mkdir build
 cd build
 cmake .. -DENABLE_CORBA=ON -DBUILD_CORBA_PLUGIN=ON -DINSTALL_SDK=ON  -DENABLE_PYTHON=ON -DCMAKE_INSTALL_PREFIX=$CHOREONOID_INSTALL_DIR
 cmake --build . --config Release
 cmake --build . --config Release --target install

OpenRTMプラグインのビルドとインストール

OpenRTMプラグインのソースコードは以下から入手できます。

CMakeでは以下の項目を設定します。

設定項目 内容 設定例
Choreonoid_DIR ChoreonoidのCMakeコンフィグファイルがインストールされたフォルダ ~/work/choreonoid_install/share/choreonoid/cmake
OpenRTM_DIR OpenRTM-aistのCMakeコンフィグファイルがインストールされたフォルダ ~/work/openrtm_install/lib/openrtm-2.0/cmake

以下のコマンドを実行することでビルド、インストールができます。 生成したOpenRTMプラグインはChoreonoidのインストールフォルダにコピーされます。

 git clone https://github.com/OpenRTM/choreonoid-openrtm
 cd choreonoid-openrtm
 mkdir build
 cd build
 cmake .. -DChoreonoid_DIR=$CHOREONOID_INSTALL_DIR/share/choreonoid/cmake -DOpenRTM_DIR=$OPENRTM_INSTALL_PATH/lib/openrtm-2.0/cmake
 cmake --build . --config Release
 cmake --build . --config Release --target install

OpenRTM Pythonプラグインのビルドとインストール

OpenRTMプラグインのソースコードは以下から入手できます。

CMakeの設定項目はOpenRTMプラグインと同じです。

以下のコマンドを実行することでビルド、インストールができます。

 git clone https://github.com/Nobu19800/OpenRTMPythonPlugin
 cd OpenRTMPythonPlugin
 mkdir build
 cd build
 cmake .. -DChoreonoid_DIR=$CHOREONOID_INSTALL_DIR/share/choreonoid/cmake -DOpenRTM_DIR=$OPENRTM_INSTALL_PATH/lib/openrtm-2.0/cmake
 cmake --build . --config Release
 cmake --build . --config Release --target install

使用方法

使用方法については以下のページを参考にしてください。

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク