OpenRTM-aist動作確認(VxWorks、カーネルモジュール、シミュレータ利用の場合)

このページでは、Workbenchのシミュレータを用いてVxWorks用にビルドしたRTCのカーネルモジュールの動作確認を行う手順を説明します。

シミュレータの設定

以下の手順でシミュレータの設定を行ってください。

シミュレータの接続

WorkbenchのRemote Systemでシミュレータを選択後にconnect 'xxxxx'ボタンを押すとシミュレータと接続します。


sim5.png


カーネルモジュールのロード

WorkbenchのRemote Systemでシミュレータを右クリックして、DownloadVxWorks Kernel Taskを選択してください。


load_module.png


Download ConfigurationsウインドウのLaunch Contextタブから、ダウンロードするシステムにシミュレータを選択してください。


Launch_context.png


Downloadsタブからダウンロードするモジュールを設定します。 Addボタンをクリックしてください。


downloads.png


Addウインドウでrtcd.outのパスを設定後、OKボタンをクリックしてください。 rtcd.outはOpenRTM-aistのビルドディレクトリのutils/rtcd以下に生成されています。

  • 例:/home/openrtm/OpenRTM-aist/build_vxworks/utils/rtcd/rtcd.out


downloads2.png


Downloadボタンをクリックするとダウンロードを開始します。


download.png


起動するRTCのカーネルモジュールについても同様の手順でダウンロードしてください。

  • 例(ConsoleIn):/home/openrtm/OpenRTM-aist/build_vxworks/examples/SimpleIO/ConsoleIn.out
  • 例(ConsoleOut):/home/openrtm/OpenRTM-aist/build_vxworks/examples/SimpleIO/ConsoleOut.out

RTC実行

ネームサーバー起動

VxWorksシミュレータ上にネームサーバーを起動します。 ネームサーバーはリアルタイムプロセス(RTP)として起動するため、Remote Systemsからシミュレータを右クリックしてRunVxWorks Real Time Processをクリックしてください。


rtp.png


Run ConfigurationsウインドウのLaunch Contextタブから各種設定を行ってください。

  • 実行するシステムをシミュレータに設定
  • omniNames.outのパス設定
  • コマンドライン引数の設定

omniNames.outはomniORBのRTPのビルドディレクトリに生成されています。 カーネルモジュールのビルドディレクトリには生成されないため、omniORBはRTPについてもビルドを行ってください。 共有ライブラリのパスにlibc.so.1が無い場合はエラーとなるため、WorkbenchからomniNames.outのディレクトリにコピーしてください。

 cp $WIND_BASE/target/lib/usr/root/SIMPENTIUMgnu/bin/libc.so.1 /home/openrtm/omniORB-4.2.2/bin/simpentium_vxWorks_RTP_6.9/

RTPについてビルドできない場合は、VxWorksでネームサーバーは起動せずにUbuntu上のネームサーバーにRTCを登録するようにしてください。

  • 例:/home/openrtm/omniORB-4.2.2/bin/simpentium_vxWorks_RTP_6.9/omniNames.out

Argumentsにはネームサーバーのポート番号を指定します。

  • 例:-start 2809

設定が完了後にRunボタンをクリックするとネームサーバーが起動します。


nameserver.png


マネージャ起動

WorkbenchのRemote Systemでシミュレータを右クリックして、RunVxWorks Kernel Taskを選択してください。


run_task.png


Run Configurationsウインドウで各種設定を行います。 Entry Pointにはrtcd_mainと入力してください。 Argumentsには"-o manager.shutdown_on_nortcs:NO -o manager.shutdown_auto:NO"を設定してください。 Runボタンを押すとマネージャが起動します。

※Ubuntu側のネームサーバーを起動する場合は、Argumentsに-o corba.nameservers:192.168.200.254を追加してください。 Ubuntuのtap0インターフェースのIPアドレスは適宜確認してください。


run_task2.png


RTCの起動

マネージャの起動と同様の手順で起動します。 Entry PointにはRTCを起動する関数を指定します。

  • 例(ConsoleIn):consolein_main
  • 例(ConsoleOut):consoleout_main

Argumentsには何も入力しなくても大丈夫です。

Ubuntuで起動したRTシステムエディタでRTCが起動したかを確認してください。 VxWorksのネームサーバーにはネームサービス接続ボタンをクリック後、表示されたウインドウでIPアドレスを指定してOKをクリックすると接続します。


ns1.png



ns2.png


起動したRTCが登録されているかを確認してください。


ns3.png


RTCの接続、アクティブ化等の手順はUbuntuで動作確認する場合と同じです。

コマンドラインによる操作について

シミュレータ接続後にTarget Consoleウインドウからコマンド入力ができます。


sim6.png


以下のコマンドでRTCの動作確認ができます。 Workbench、omniORB、openRTM-aistのパスは適宜変更してください。

 cd "/home/openrtm/openrtm-build/omniORB/omniORB_69_rtp_sim/omniORB-4.2.2/bin/simpentium_vxWorks_RTP_6.9"
 cp "/home/openrtm/WindRiver/vxworks-6.9/target/lib/usr/root/SIMPENTIUMgnu/bin/libc.so.1","./"
 rtpSp "./omniNames.out -start 2809"
 
 cd "/home/openrtm/openrtm-build/OpenRTM/OpenRTM_69_kernel_sim/OpenRTM-aist/build_vxworks/utils/rtcd"
 ld<rtcd.out
 cd "/home/openrtm/openrtm-build/OpenRTM/OpenRTM_69_kernel_sim/OpenRTM-aist/build_vxworks/examples/SimpleIO"
 ld<ConsoleIn.out
 
 taskSpawn "rtcd_main",100,67108864,1000000,rtcd_main,"-o","manager.shutdown_on_nortcs:NO","-o","manager.shutdown_auto:NO"
 taskSpawn "consolein_main",100,0,1000000,consolein_main

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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