Project

General

Profile

OpenRTM-aist_c++_インストーラテスト項目・確認内容 2015/04/14 更新

※更新履歴--------
2014/07/30 ・インストーラタイプ(x86/x86_64)別で、確認する項目を追記した
2014/08/07 ・カメラを使用したコンポーネントの動作確認を追記した
2014/09/12 ・テスト環境のpythonのバージョンを明記した
・インストールするpythonは、インストーラのバージョン32/64bitに合わせる
       ・32/64bitのpythonを共存させない
・omniidlの動作確認のため、サービスポートを持つサンプルコンポーネントの作成・実行を
 テスト項目に追加した
・インストールオプションの変更確認を追加した
2014/12/05 ・cmakeは3.0.2版を利用する
2015/04/10 ・ツールのバージョンはリリース案内と同じものにする
       ⇒ cmake, python, doxygen
2015/04/14 ・説明が足りない部分を補足した
----------------

テスト環境について

講習会用のノートPCを使用する。
http://redmine.openrtm.org/projects/openrtm-tutorial/wiki/%E8%AC%9B%E7%BF%92%E4%BC%9A%E7%94%A8%E3%83%8E%E3%83%BC%E3%83%88PC

必要なツール

下記の C++ 1.1.1-RELEASE のページでリンクしているものをインストールする。
  • Python
      →パスをシステム環境変数pathに追加しておく
       32bitの場合:C:\Python27
       64bitの場合:C:\Python27_x64
  • PyYAML
  • CMake
      →インストーラでパスは通すように指定
  • Doxygen
注意)
  • 32bit版インストーラ(x86)のテスト時は、Pythonの64bitは削除した方がよい
  • 64bit版インストーラ(x86_64)のテスト時は、Pythonの32bitは削除した方がよい
◎各テスト開始時、OpenRTM-aist c++ はインストールされていない環境にしておく
  • C:\Program Files (x86)\OpenRTM-aist、または C:\Program Files\OpenRTM-aist の
     ディレクトリが無いことを確認しておく
  • テスト作業中、手動で作成したディレクトリがあった場合など自動で削除されず残るので、
     以降のテスト作業に影響しないように確認しておく
  • 特に、マージモジュール作成スクリプトの修正をした時など、1.1.0版のpythonがインストール
     されていると、1.1下のディレクトリにインストールされるという気付きにくいバグもあり得る。
      これがアンインストール時に自動で削除されずに残ってしまうので、気をつける。

テスト1 「x86用インストーラ利用」

下記から該当のインストーラをダウンロード・インストールする

http://redmine.openrtm.org/projects/openrtm-aist/files
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_vc9.msi
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_vc10.msi
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_vc11.msi
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_vc12.msi

 ⇒インストールオプションはデフォルトのままで構わない。
  オプション変更のテストは下記12のテスト項目にある。

環境変数確認(setコマンド結果)

  • インストール後の環境変数を確認する際、後から参照したい場合に備えてログを残しておく
      内容は確認せずともよい。
      例)> set > set_32inst_before.log

インストーラ実行

  • インストーラのオプションは、デフォルト設定のままでよい
       デフォルト:OpenRTP, JREあり

インストール先のディレクトリ確認

  • ・C:\Program Files (x86)\OpenRTM-aist\1.1
  • ・C:\Program Files (x86)\OpenRTM-aist\1.1\utils\OpenRTP
  • ・OpenCVのパス確認(vc9の例:x86であること)
  • ・C:\Program Files (x86)\OpenRTM-aist\1.1\OpenCV2.4.9\x86\vc9
  • ・C:\Program Files (x86)\OpenRTM-aist\1.1\OpenCV2.4.9\java\x86
  • ・C:\Program Files (x86)\OpenRTM-aist\1.1\OpenCV2.4.9\python\2.7\x86
  • ・omniORBのバージョン確認(vc9の例)
  • ・C:\Program Files (x86)\OpenRTM-aist\1.1\omniORB\4.1.7_vc9

環境変数確認(setコマンド結果)

  • ・ログを残しておく
      例)> set > set_32inst_after.log
  • ・確認する変数は以下のもの(vc9の例)
  • ・OMNI_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.1\omniORB\4.1.7_vc9\
  • ・OpenCV_DIR=C:\Program Files (x86)\OpenRTM-aist\1.1\OpenCV2.4.9\
  • ・RTM_ROOT=C:\Program Files (x86)\OpenRTM-aist\1.1\
  • ・Pathに下記が追加されていることを確認(vc9の例)
    C:\Program Files (x86)\OpenRTM-aist\1.1\bin\;
    C:\Program Files (x86)\OpenRTM-aist\1.1\omniORB\4.1.7_vc9\bin\x86_win32\;
    C:\Program Files (x86)\OpenRTM-aist\1.1\OpenCV2.4.9\x86\vc9\bin\

サンプルコンポーネントの動作確認(ConsoleIn / ConsoleOut)

  • ・rtm-naming(スタートメニューの OpenRTM-aist 1.1 → Tools → Start C++ Naming Service)
  • ・OpenRTP起動
  • ・ConsoleInComp, ConsoleOutComp起動
  • ・接続して動くことを確認する

新規コンポーネント作成動作確認

  • ・myConsoleIn.zipは C:\distribution に展開しておく
  • ・RTC Builderで適当な名前のプロジェクト(例:test1)を作成する
  • ・基本プロファイル入力タブの「インポート」ボタンでmyConsoleIn/RTC.xmlを指定し、
  • 完了したら「コード生成」ボタンを押す
  • ・myConsoleIn/src/myConsoleIn.cpp, myConsoleIn/include/myConsoleIn/myConsoleIn.h を上書きコピーする
  • ・cmake実行
  • ・Debug/Releaseビルド実行
  • ・build\src\Release\myConsoleInComp.exe を実行し、サンプルコンポーネントの
  • ConsoleOutComppとの接続動作確認

OpenCVを使ったコンポーネントのソースビルド確認

  • ・ImageProcessing_rv168_140725.zipは C:\distribution に展開しておく
  • ・トップからの一括ビルドを行おうとすると、DirectShowやTKCalibGUI用のpythonモジュールが
  • 必要になるので、DirectShowCam, TkCalibGUI以外の適当なコンポーネントを選択してビルドして確認する
  • ・vc11,vc12環境ではMFCameraのビルドは必ず確認する
  • ・確認方法(Affineの例)
    • ・各サンプルコンポーネントのソースは、ImageProcessing\opencv\components下にある
    • ・Affine/buildディレクトリでGUI cmakeを実行
    • ・ソースはDebug/Releaseビルドを確認する
    • ・Releaseビルドのexeを実行し、コンポーネントが起動することを確認する
    • ・このコンポーネントを使って、次のカメラを使った動作確認を行うとよい

カメラを使ったコンポーネントの動作確認

  • ・カメラ画像がビューワに表示されることを確認する
  • ・vc9, vc10
  • ・DirectShowCam + Affine(他のopencvコンポーネントでもよい) + CameraViewer
    • ・TkCalibGUI(キャリブレーションパラメータ算出動作まで確認)
      * ・vc11, vc12
    • ・MFCamera + Affine + CameraViewer
    • ・TkCalibGUI(キャリブレーションパラメータ算出動作まで確認)

※TkCalibGUIの使い方については、下記ページを参照: http://openrtm.org/openrtm/ja/content/tkcalibgui

ドキュメントの確認

  • 「スタート」→「OpenRTM-aist 1.1」→「C++」→「Documents」と進み4つのドキュメントが全てブラウザで表示できることを確認する。
  • ファイルのパスが「C:\Program Files (x86)\OpenRTM-aist」となっていることを確認する実際のパスは以下のように空白が「%20」で表記される
    file:///C:/Program%20Files%20(x86)/OpenRTM-aist
    ※64bitインストーラ作成時のエラーに関連する確認。64bitの説明を参照。

omniidlの動作確認、及び、OpenCVを使っているコンポーネントの新規作成動作確認

  • RTC Builderを使ってサービスポートを持つコンポーネントを作り、起動できることを確認する
  • OpenCVサンプルコンポーネントのImageCalibrationと同じ機能のmyImageCalibrationを作成する
  • コンポーネントのソースは、C:\distribution\ImageProcessing\opencv\components\ImageCalibrationを利用する
  • RTC Builderでプロジェクト(myImageCalibration)を作成する
  • ImageCalibration\CalibrationService.idlを自ディレクトリ下にコピーする
  • 基本プロファイル入力タブの「インポート」ボタンでImageCalibration/RTC.xmlを指定する
  • コード生成する前に、サービスポートタブをクリックし、IDLのパスを修正する
    • 修正例)
      • IDLファイル:C:\Users\openrtm\workspace-LUNA\myImageCalibration\CalibrationService.idl
      • インターフェース型:ImageCalibService::CalibrationService
      • IDLパス:C:\Program Files (x86)\OpenRTM-aist\1.1\rtm\idl
  • 完了したら「コード生成」ボタンを押す
  • 下記のソースを上書きコピーする
    • ImageCalibration/src/ImageCalibration.cpp
    • ImageCalibration/src/CalibrationServiceSVC_impl.cpp
    • ImageCalibration/include/CalibrationServiceSVC_impl.h
    • ImageCalibration/include/ImageCalibration.h
  • OpenCVの設定を追記する必要があるので、src/CMakeLists.txtも修正する。
     ImageProcessingのsrc/CMakeLists.txtはトップからの一括ビルド用設定が含まれているのでこの部分は不要。
    以下の3行を追加・修正すればよい。
    ImageProcessing\opencv\components\ImageCalibration\src\CMakeLists.txtの 4, 46, 50行目
    find_package(OpenCV REQUIRED)
    target_link_libraries(${PROJECT_NAME} ${OPENRTM_LIBRARIES} ${OpenCV_LIBS})
    target_link_libraries(${PROJECT_NAME}Comp ${OPENRTM_LIBRARIES} ${OpenCV_LIBS})
  • cmake実行
  • Debug/Releaseビルド実行
  • myImageCalibration\build\src\Release\ImageCalibrationComp.exe を実行し、起動できることを確認する

インストールオプションの変更確認

  • コントロールパネルのプログラムのアンインストールを開き、 OpenRTM-aist-1.1.1*** を右クリックして「変更」を選択
  • 「Change, repair, or remove installation」画面で、「Change」ボタンを押す
  • 「Select OpenRTP」画面で、「OpenRTP+RTSystemEditor」を選択。jreの設定は変更せずに処理を完了させる
  • 「スタート」→「OpenRTM-aist 1.1」→「Tools」を開き、「OpenRTP 1.1.0」と「RTSytemEditorRCP」
      があり、それぞれ起動できることを確認する

テスト2 「x86_64用インストーラ利用」

x86版がインストール済みであれば、アンインストールする

  • PyYAML、Pythonも32bit版はアンインストールする
  • OProgram Files (x86)下のpenRTM-aistディレクトリが削除されていることを確認する

下記から該当のインストーラをダウンロード・インストールする

http://redmine.openrtm.org/projects/openrtm-aist/files
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_64_vc10.msi
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_64_vc11.msi
│ OpenRTM-aist-C++_1.1.1-RELEASE_x86_64_vc12.msi

合わせて、64bit版Python, PyYAMLもインストールする。
Pythonのインストール先は、C:\Python27_x64を指定し、32bit版とは区別しておく。
C:\Python27_x64をシステム環境変数pathに追加する。

環境変数確認(setコマンド結果)

  • インストール後の環境変数を確認する際、後から参照したい場合に備えてログを残しておく内容は確認せずともよい。
      例)> set > set_64inst_before.log

インストーラ実行

インストール先のディレクトリ確認

  • C:\Program Files\OpenRTM-aist\1.1
  • C:\Program Files\OpenRTM-aist\1.1\utils\OpenRTP
  • C:\Program Files\OpenRTM-aist\1.1\utils\OpenRTP\jre
  • OpenCVのパス確認(vc10の例:x64であること)
  • C:\Program Files\OpenRTM-aist\1.1\OpenCV2.4.9\x64\vc10
  • C:\Program Files\OpenRTM-aist\1.1\OpenCV2.4.9\java\x64
  • C:\Program Files\OpenRTM-aist\1.1\OpenCV2.4.9\python\2.7\x64
  • omniORBのバージョン確認(vc10の例)
  • C:\Program Files\OpenRTM-aist\1.1\omniORB\4.1.7_vc10

環境変数確認(setコマンド結果)

  • ログを残しておく
      例)> set > set_64inst_after.log
  • 確認する変数は以下のもの(vc10の例)
  • OMNI_ROOT=C:\Program Files\OpenRTM-aist\1.1\omniORB\4.1.7_vc10\
  • OpenCV_DIR=C:\Program Files\OpenRTM-aist\1.1\OpenCV2.4.9\
  • RTM_ROOT=C:\Program Files\OpenRTM-aist\1.1\
  • Pathに下記が追加されていることを確認(vc10の例)
    C:\Program Files\OpenRTM-aist\1.1\bin\;
    C:\Program Files\OpenRTM-aist\1.1\omniORB\4.1.7_vc10\bin\x86_win32\;
        ※omniORBの場合、64bitでも「x86_win32」のディレクトリ名になっている
    C:\Program Files\OpenRTM-aist\1.1\OpenCV2.4.9\x64\vc10\bin\

サンプルコンポーネントの動作確認(ConsoleIn / ConsoleOut)

  • テスト1と同じ内容

新規コンポーネント作成動作確認

  • テスト1と同じ内容
  • ただし、以下の点に注意する
  • cmake実行時、Visual Studioは64bit環境を選択する
    例)「Visual Studio 10 Win64」
  • Visual Studioを起動してビルドする際、ソリューションプラットフォームが
     「x64」となっていることを確認する

OpenCVを使ったコンポーネントのソースビルド確認
  • テスト1と同じ内容

カメラを使ったコンポーネントの動作確認
  • テスト1と同じ内容

ドキュメントの確認

  • 「スタート」→「OpenRTM-aist 1.1」→「C++」→「Documents」と進み
      4つのドキュメントが全てブラウザで表示できることを確認する。
  • ファイルのパスが「C:\Program Files\OpenRTM-aist」となっていることを確認する
      実際のパスは以下のように空白が「%20」で表記される
    file:///C:/Program%20Files/OpenRTM-aist
      ※ドキュメントは64bit用のmsm生成時にエラーとなっているので、32bit用msmを利用している。
       このため、64bitインストーラmsiファイル生成時もエラーメッセージが出ている。
       この影響を確認するため、ドキュメントを参照できることを確認する。

omniidlの動作確認、及び、OpenCVを使っているコンポーネントの新規作成動作確認

  • テスト1と同じ内容

インストールオプションの変更確認
  • テスト1と同じ内容