ROS通信機能の利用

C++版

Windows

ROSのインストール

以下のサイトの手順に従ってRos4WinをUSBメモリにインストールしてください。

以下のコマンドでClinkを起動してください。インストールしたドライブが違う場合は適宜変更してください。

 D:\opt\start_ros.bat

移行の作業はClink上で実行します。

OpenRTM-aistのビルド

CMake実行時にROS_ENABLEのオプションをONにします。

 cmake -DOMNI_VERSION=42  -DOMNI_MINOR=3 -DOMNITHREAD_VERSION=41 -DORB_ROOT=C:/workspace/omniORB-4.2.3-win64-vc141 -DCORBA=omniORB -G "Visual Studio 15 2017" -A x64 -DROS_ENABLE=ON ..

その他の手順は通常と同じです。

動作確認

以下のrtc.confを作成します。 manager.modules.load_pathはビルドしたフォルダによって適宜変更してください。

 manager.modules.load_path: C:\\workspace\\openrtm\\build_omni\\devel\\bin\\Release
 manager.modules.preload: ROSTransport.dll
 manager.components.preconnect: ConsoleOut0.in?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter, ConsoleIn0.out?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter
 manager.components.preactivation: ConsoleOut0, ConsoleIn0

まずROSTransport.dllのロードが必要になります。 ロードするモジュールはmanager.modules.preloadオプションで設定します。 コネクタの生成はmanager.components.preconnectのオプションで設定します。 インターフェース型にros、マーシャリング型にROSのシリアライザ、トピック名に適当な名前を設定します。

デフォルトで使用可能なシリアライザ一覧は以下の通り。

RTCを起動して動作確認します。

Ubuntu

ROSのインストール

以下のコマンドでインストールしてください。

 export ROS_DISTRO=melodic
 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
 sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
 sudo apt-get -y update
 sudo apt-get -y install ros-${ROS_DISTRO}-ros-base
 sudo rosdep init
 rosdep update

ROSの環境設定のbashを実行するようにします。

 echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
 source ~/.bashrc

OpenRTM-aistのビルド

CMake実行時にROS_ENABLEのオプションをONにします。

 cmake -DCORBA=omniORB -DCMAKE_BUILD_TYPE=Release -DROS_ENABLE=ON ..

その他の手順は通常と同じです。

ビルド後にインストールしてください。

 cmake --build . --target install

動作確認

以下のrtc.confを作成します。

 manager.modules.load_path: /usr/local/lib/openrtm-2.0/transport/
 manager.modules.preload: ROSTransport.so
 manager.components.preconnect: ConsoleOut0.in?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter, ConsoleIn0.out?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter
 manager.components.preactivation: ConsoleOut0, ConsoleIn0

まずROSTransport.soのロードが必要になります。 ロードするモジュールはmanager.modules.preloadオプションで設定します。 コネクタの生成はmanager.components.preconnectのオプションで設定します。 インターフェース型にros、マーシャリング型にROSのシリアライザ、トピック名に適当な名前を設定します。

デフォルトで使用可能なシリアライザ一覧は以下の通り。

ConsoleInComp.exe、ConsoleOutComp.exeを起動して動作確認します。

それぞれ別のターミナルから起動してください。

 /usr/local/share/openrtm-2.0/components/c++/examples/ConsoleInComp

 /usr/local/share/openrtm-2.0/components/c++/examples/ConsoleOutComp

Python版

Windows

ROSのインストール

以下のページに従ってROSをUSBメモリにインストールしてください。

OpenRTM-aistのインストール

OpenRTM-aist 1.2等をインストーラーでインストールしておいてください。 OpenRTM-aist Python版のソースコードを入手してください。

以下のコマンドでOpenRTM-aist Python版をインストールしてください。

 python setup.py build
 python setup.py install

動作確認

start_ros.batを2回実行して、ROSの環境設定をしたウインドウを2つ開いてください。

 D:\opt\start_ros.bat

片方のウインドウでroscoreを起動します。

 roscore

もう片方のウインドウでOpenRTM-aistをインストールしたディレクトリのPYTHONPATHに設定します。

 set PYTHONPATH=%PYTHONPATH%;C:\Python37\Lib\site-packages;C:\Python37\Lib\site-packages\OpenRTM_aist;C:\Python37\Lib\site-packages\OpenRTM_aist\utils;C:\Python37\Lib\site-packages\OpenRTM_aist\RTM_IDL

以下のrtc.confを作成します。

 manager.modules.load_path: C:\\Python37\\Lib\\site-packages\\OpenRTM_aist\\ext\\transport\\ROSTransport
 manager.modules.preload: ROSTransport.py
 manager.components.preconnect: ConsoleOut0.in?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter, ConsoleIn0.out?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter
 manager.components.preactivation: ConsoleOut0, ConsoleIn0

上記のrtc.confでRTCを起動して動作確認してください。

Ubuntu

ROSのインストール

C++版と同じ手順でROSをインストールしてください。

OpenRTM-aistのインストール

以下のパッケージをインストールしてください。

 sudo apt-get install python-omniorb-omg omniidl-python doxygen

以下のコマンドでOpenRTM-aist Python版をインストールします。

 git clone https://github.com/OpenRTM/OpenRTM-aist-Python
 cd OpenRTM-aist-Python
 python setup.py build
 sudo python setup.py install

動作確認

以下のrtc.confを作成します。

 manager.modules.load_path: /usr/local/lib/python2.7/dist-packages/OpenRTM_aist/ext/transport/ROSTransport/
 manager.modules.preload: ROSTransport.py
 manager.components.preconnect: ConsoleOut0.in?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter, ConsoleIn0.out?interface_type=ros&marshaling_type=ROSFloat32&topic=chatter
 manager.components.preactivation: ConsoleOut0, ConsoleIn0

以下のコマンドでRTCを起動して動作確認してください。

 /usr/local/share/openrtm-2.0/components/python/SimpleIO/ConsoleIn.py

 /usr/local/share/openrtm-2.0/components/python/SimpleIO/ConsoleOut.py

ダウンロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.2.0-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1762
プロジェクト統計
RTコンポーネント292
RTミドルウエア23
ツール20
文書・仕様書1

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

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

OpenHRI

対話制御コンポーネント群

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム