VxWorksはウインドリバー社が開発している組込みシステム向けリアルタイムOSです。 規模の大きな商用リアルタイムOSで最も普及しているOSであり、比較的大型の機器で使用されています。 x86、PowerPC、SH-4、ARM、MIPS、SPARC等の様々なCPU上で動作可能です。 DO-178B規格とIEC61508規格に準拠しており、航空・宇宙等の幅広い分野で使われています。
Wind River WorkbenchはVxWorksのコンパイル、デバッグ等をGUIで実行する統合開発環境です。
このページではVxWorksにOpenRTM-aist(C++版)を導入する手順を説明します。
ホストPCはUbuntu 14.04(もしくは16.04)を想定しています。 Windowsには今後対応する予定です。
ホストPCに以下のソフトウェアをインストールしてください。
ウインドリバー社から購入してインストールしてください。
Workbenchは32bit環境で動作するため、64bitのUbuntuの場合はi386版libc6パッケージをインストールしてください。
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
以下のコマンドでインストールしてください。
sudo apt-get install tclsh cmake subversion
ORBexpressを使用する場合のみ必要です。
ビルドはコマンドラインの操作により実行します。
Workbenchから、Project Exploreを右クリックしてOpen Development Shellからコマンドラインシェルを起動してください。
通常のUbuntuのターミナル上でビルドする場合は、以下の手順で環境変数を設定してください。 Workbenchで起動したコマンドラインシェルを用いる場合は環境変数は設定済みのため、次の手順に進んでください。
以下の環境変数を設定してください。
WIND_HOMEはWorkbenchをインストールしたディレクトリにより適宜変更してください。
export WIND_HOME=/home/openrtm/WindRiver export WIND_USR=${WIND_HOME}/vxworks-6.9/target/usr export WRVX_COMPBASE=${WIND_HOME}/components export WIND_BASE=${WIND_HOME}/vxworks-6.9 export WIND_HOST_TYPE=x86-linux2 export WIND_GNU_BASE=${WIND_HOME}/gnu/4.3.3-vxworks-6.9/${WIND_HOST_TYPE} export WIND_FOUNDATION_PATH=${WIND_HOME}/workbench-3.3/foundation
コンパイラの実行のために共有ライブラリパスの設定を行ってください。
export LD_LIBRARY_PATH=${WIND_HOME}/lmapi-5.0/x86-linux2/lib:${WIND_FOUNDATION_PATH}/${WIND_HOST_TYPE}/lib:${LD_LIBRARY_PATH}
omniORBを使用する場合は、omniORBのソースコードのビルドが必要になります。 omniORBを使用しない場合は、次の手順に進んでください。
以下のコマンドでomniORBのソースコードを入手してください。
wget https://jaist.dl.sourceforge.net/project/omniorb/omniORB/omniORB-4.2.2/omniORB-4.2.2.tar.bz2 tar xf omniORB-4.2.2.tar.bz2
VxWorks 6.6、6.9対応の修正パッチを適用します。
wget http://svn.openrtm.org/omniORB/trunk/vxworks/omniORB-4.2.2-vxworks.patch patch -p1 -d omniORB-4.2.2 < omniORB-4.2.2-vxworks.patch
IDLコンパイラなどはUbuntu上で動作する必要があります。 以下の手順でUbuntu用にomniORBをビルドしてください。
cd omniORB-4.2.2 mkdir build cd build ../configure make cd ..
VxWorks用にomniORBをビルドします。
sed -i '1s/^/platform = ${VXWORKS_PLATFORM}\n/' config/config.mk cd src make export
ただし、VXWORKS_PLATFORMには動作環境に合ったものを入力するようにしてください。
※カーネルモジュールのビルドの場合にはネームサーバー等は生成しません。VxWorksでネームサーバーを起動する場合はRTPのビルドも行ってください。
以下のコマンドでソースコードを入手してください。
svn co http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/
以下のコマンドでコンパイルを開始します。
cd OpenRTM-aist/ python convert_character_code.py ./ vxworks euc_jp mkdir src/lib/coil/common/coil cp src/lib/coil/common/*.* src/lib/coil/common/coil/ cp build/yat.py utils/rtm-skelwrapper/ mkdir build_vxworks cd build_vxworks/ cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DVX_VERSION=${VX_VERSION} -DORB_ROOT=${ORB_ROOT} -DOMNI_VERSION=${OMNI_VERSION} -DCORBA=${CORBA} -DVX_CPU_FAMILY=${ARCH} .. make
CMakeのオプションには以下を指定してください。
※RTPの場合はcmakeコマンドに-DRTP=ONを追加する必要があります。
ビルドが完了したら以下の手順で動作確認を行ってください。
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
VxWorks
VxWorksはウインドリバー社が開発している組込みシステム向けリアルタイムOSです。 規模の大きな商用リアルタイムOSで最も普及しているOSであり、比較的大型の機器で使用されています。 x86、PowerPC、SH-4、ARM、MIPS、SPARC等の様々なCPU上で動作可能です。 DO-178B規格とIEC61508規格に準拠しており、航空・宇宙等の幅広い分野で使われています。
Wind River Workbench
Wind River WorkbenchはVxWorksのコンパイル、デバッグ等をGUIで実行する統合開発環境です。
このページではVxWorksにOpenRTM-aist(C++版)を導入する手順を説明します。
環境構築
ホストPCはUbuntu 14.04(もしくは16.04)を想定しています。 Windowsには今後対応する予定です。
ホストPCに以下のソフトウェアをインストールしてください。
ウインドリバー社から購入してインストールしてください。
Workbenchは32bit環境で動作するため、64bitのUbuntuの場合はi386版libc6パッケージをインストールしてください。
以下のコマンドでインストールしてください。
ORBexpressを使用する場合のみ必要です。
ビルド
ビルドはコマンドラインの操作により実行します。
Workbenchから、Project Exploreを右クリックしてOpen Development Shellからコマンドラインシェルを起動してください。
通常のUbuntuのターミナル上でビルドする場合は、以下の手順で環境変数を設定してください。 Workbenchで起動したコマンドラインシェルを用いる場合は環境変数は設定済みのため、次の手順に進んでください。
環境変数の設定
以下の環境変数を設定してください。
WIND_HOMEはWorkbenchをインストールしたディレクトリにより適宜変更してください。
コンパイラの実行のために共有ライブラリパスの設定を行ってください。
omniORBのビルド
omniORBを使用する場合は、omniORBのソースコードのビルドが必要になります。 omniORBを使用しない場合は、次の手順に進んでください。
ソースコード入手
以下のコマンドでomniORBのソースコードを入手してください。
修正パッチ適用
VxWorks 6.6、6.9対応の修正パッチを適用します。
IDLコンパイラなどのビルド
IDLコンパイラなどはUbuntu上で動作する必要があります。 以下の手順でUbuntu用にomniORBをビルドしてください。
クロスコンパイル
VxWorks用にomniORBをビルドします。
ただし、VXWORKS_PLATFORMには動作環境に合ったものを入力するようにしてください。
※カーネルモジュールのビルドの場合にはネームサーバー等は生成しません。VxWorksでネームサーバーを起動する場合はRTPのビルドも行ってください。
OpenRTM-aistのビルド
ソースコードの入手
以下のコマンドでソースコードを入手してください。
コンパイル
以下のコマンドでコンパイルを開始します。
CMakeのオプションには以下を指定してください。
※RTPの場合はcmakeコマンドに-DRTP=ONを追加する必要があります。
動作確認
ビルドが完了したら以下の手順で動作確認を行ってください。