Choreonoidはオープンソースのロボット用シミュレーションソフトウェアです。 拡張性が高く、物理エンジン、通信機能、スクリプティング機能、制御アルゴリズム等をC++プラグインとして追加できます。
Choreonoid用OpenRTMプラグインはChoreonoid上でRTCを起動し、シミュレータ上のオブジェクトのトルクや速度、ビジョンセンサやレーザーレンジセンサ等の入出力をポートの入出力と関連付けたRTCを作成できます。 これにより外部のRTCとChoreonoidの入出力が連携し、RTCの再利用によるシミュレータ実行の効率化、シミュレータ環境から実機環境へシームレスに移行できます。
このページではOpenRTMプラグインのインストール手順について説明します。
OpenRTMプラグインは現在OpenRTM-aist 1.2.2以前のバージョンのサポートを終了しています。 OpenRTM-aist 2.0.0以上のバージョンのインストールが必要です。
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を以下の手順でビルド、インストールしてください。
CMake、Boost、Qtのバージョンには注意してください。
OpenRTMプラグインの使用のためにはCORBAプラグインのビルドに、ヘッダーファイルなどの各種ファイルをインストールが必要です。 また、OpenRTM Pythonプラグインの使用のためにはPythonプラグインのビルドが必要です。
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プラグインのソースコードは以下から入手できます。
Choreonoidと同様、CMake実行後にVisual Studioでビルドします。
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オプションの設定は不要です。
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
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以下のコピーしてください。
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
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
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
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
使用方法については以下のページを参考にしてください。
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
Choreonoidはオープンソースのロボット用シミュレーションソフトウェアです。 拡張性が高く、物理エンジン、通信機能、スクリプティング機能、制御アルゴリズム等をC++プラグインとして追加できます。
Choreonoid用OpenRTMプラグインはChoreonoid上でRTCを起動し、シミュレータ上のオブジェクトのトルクや速度、ビジョンセンサやレーザーレンジセンサ等の入出力をポートの入出力と関連付けたRTCを作成できます。 これにより外部のRTCとChoreonoidの入出力が連携し、RTCの再利用によるシミュレータ実行の効率化、シミュレータ環境から実機環境へシームレスに移行できます。
このページではOpenRTMプラグインのインストール手順について説明します。
ビルド手順
OpenRTMプラグインは現在OpenRTM-aist 1.2.2以前のバージョンのサポートを終了しています。 OpenRTM-aist 2.0.0以上のバージョンのインストールが必要です。
Windows
OpenRTM-aistのビルドとインストール
OpenRTM-aist+omniORBを以下の手順でビルド、インストールしてください。 ※インストーラーでOpenRTM-aistをインストールしている場合は不要。
ただし、CMake実行時にOpenRTM-aistのインストールフォルダは指定してそこにインストールするようにしてください。
またOpenSSLのヘッダーファイル、ライブラリを適当な場所に展開してください。
Choreonoidのビルドとインストール
Choreonoidを以下の手順でビルド、インストールしてください。
CMake、Boost、Qtのバージョンには注意してください。
OpenRTMプラグインの使用のためにはCORBAプラグインのビルドに、ヘッダーファイルなどの各種ファイルをインストールが必要です。 また、OpenRTM Pythonプラグインの使用のためにはPythonプラグインのビルドが必要です。
CHOREONOID_OMNIORB_DIRについては環境変数OMNI_ROOTを設定していると自動でomniORBを検出しますが、Choreonoidが生成するCMakeコンフィグファイルの問題でOpenRTMプラグインのビルドでエラーが発生することがあるので必ず手動でパスを設定してください。 またPythonプラグインのビルドのため、Pythonをインストールしてください。
コマンドでは以下のように入力できます。
※choreonoidのリポジトリのmasterブランチのソースコードに不具合があり、WindowsでのCorbaPluginのビルドでエラーが発生します。masterブランチのソースコードを使う場合、src/CorbaPlugin/CorbaPlugin.cppの以下の部分を修正してください。
※OpenRTM-aistをインストーラーでインストールした場合はCHOREONOID_OMNIORB_DIRオプションの設定は不要です。
OpenRTMプラグインのビルドとインストール
OpenRTMプラグインのソースコードは以下から入手できます。
Choreonoidと同様、CMake実行後にVisual Studioでビルドします。
CMakeでは以下の項目を設定します。
以下のコマンドを実行することでビルド、インストールができます。 生成したOpenRTMプラグインはChoreonoidのインストールフォルダにコピーされます。
※OpenRTM-aistをインストーラーでインストールした場合はOpenRTM_DIRオプションの設定は不要です。
OpenRTM Pythonプラグインのビルドとインストール
OpenRTMプラグインのソースコードは以下から入手できます。
CMakeの設定項目はOpenRTMプラグインと同じです。
以下のコマンドを実行することでビルド、インストールができます。
※OpenRTM-aistをインストーラーでインストールした場合はOpenRTM_DIRオプションの設定は不要です。
必要なファイル一式をまとめる
Choreonoidをビルド、インストールすると、基本的には必要なファイルはインストール先にコピーされます。 ただし、Pythonプラグインをビルドする場合は、対応するバージョンのPythonがインストールされている必要があります。
このため、対応するバージョンのPythonがインストールされていない場合は、以下のページのように組み込み用Pythonを同梱する必要があります。
まずは、対応するバージョンのpython-3.x.y-embed-amd64をダウンロードしてください。
次に必要なライブラリをインストールします。 Choreonoidはnumpyが必要なためインストールします。
また、Choreonoid Pythonプラグインのサンプルプログラムを実行するためにPySDL2が必要なためインストールします。
omniORB、OpenRTM-aistをインストールする必要があるため、以下のファイル、フォルダをpython-3.x.y-embed-amd64/Lib/site-packages以下のコピーしてください。
Ubuntu
OpenRTM-aistのビルドとインストール
OpenRTM-aist+omniORBを以下の手順でビルド、インストールしてください。
Choreonoidのビルドとインストール
Choreonoidを以下の手順でビルド、インストールしてください。
CMake、Boost、Qtのバージョンには注意してください。
OpenRTMプラグインの使用のためにはCORBAプラグインのビルドに、ヘッダーファイルなどの各種ファイルをインストールが必要です。 また、OpenRTM Pythonプラグインの使用のためにはPythonプラグインのビルドが必要です。
OpenRTMプラグインのビルドとインストール
OpenRTMプラグインのソースコードは以下から入手できます。
CMakeでは以下の項目を設定します。
以下のコマンドを実行することでビルド、インストールができます。 生成したOpenRTMプラグインはChoreonoidのインストールフォルダにコピーされます。
OpenRTM Pythonプラグインのビルドとインストール
OpenRTMプラグインのソースコードは以下から入手できます。
CMakeの設定項目はOpenRTMプラグインと同じです。
以下のコマンドを実行することでビルド、インストールができます。
使用方法
使用方法については以下のページを参考にしてください。