スライド 1

Similar documents
スライド 1

スライド 1

スライド 1

スライド 1

Microsoft PowerPoint _3.RTMによるプログラミング_final.pptx

PowerPoint プレゼンテーション

Raspberry Pi で WEB カメラを使用 会津大学 RT ミドルウェア講習会 2017 The University of Aizu

RTMツール講習会

RTMツール講習会

Microsoft PowerPoint _2.プログラミングの基礎_final

Microsoft PowerPoint RT講習会(説明用) [互換モード]

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx

Microsoft PowerPoint

Microsoft PowerPoint ppt [互換モード]

Microsoft PowerPoint RTM講習会(第2部) [互換モード]

二次元連続動的計画法による知的画像処理システム ImageFileSelector RTC 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11

インテル(R) Visual Fortran コンパイラ 10.0

機能仕様書 ロボット Raspberry Pi カメラ RTC Ver 発行日 2017 年 12 月 27 日公立大学法人会津大学株式会社東日本計算センター

カルテダウンロード 操作マニュアル

Android アプリを作るための環境設定 Android アプリを作るのに必要なものは Android SDK と Java 開発環境の Eclipse です 環境設定作業の概要はまず Android SDK と Eclipse をそれぞれインストールします その後 Eclipse を起動し An

RTM セミナー RT ミドルウェアによる実時間ロボット 制御系の構築とソフトウェア教育 静岡大学大学院工学研究科機械工学専攻 清水昌幸

ユーザーズマニュアル 有線ネットワークシステム 発行日 2016 年 3 月 30 日

EV3 の初期設定

Taro-ラズパイのインストールと設定

CS-DRC1操作説明書

Studuinoソフトウェアのインストール

Microsoft Word - RTSystemBuilderOnTheEA操作マニュアル_

『テクノス』V2プログラムインストール説明書

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

無線LAN JRL-710/720シリーズ ファームウェアバージョンアップマニュアル 第2.1版

アップデート手順概要

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

SAC (Jap).indd

カルテダウンロード 操作マニュアル

ゲームプログラミング講習 第0章 導入

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

NEDO次世代ロボット知能化技術開発プロジェクト

Team Foundation Server 2018 を使用したバージョン管理 補足資料

スクールCOBOL2002

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

WebSAM System Navigator JNS isadmin SNMP Trap 連携設定手順書 NEC 2012 年 12 月

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

CentreCOM VT-Kit2 plus リリースノート

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

2. インストールの方法 インストールの手順は まずインストーラーをサイトからダウンロードし イールドブック カリキュレーターと Java Web Start をインストールします 次にイールドブック カリキュレーターを起動してサーバー接続し Java のファイルをダウンロードします 以下の手順に従

Windows AIKを使用したPE2

CLAIM接続利用手順

C1Live

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

XIMERA(Ver1

Microsoft PowerPoint RT講習会(送付用)_ [互換モード]

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

Microsoft PowerPoint RTM講習会_初級(第4部) [互換モード]

G800SE HTMLdocument update

改版履歴 Ver 改版日内容 /02/07 新規作成 2 / 18

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

Oracle Business Intelligence Standard Edition One のインストール

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

Microsoft Word - Android_実習環境

SetupVerup_dl_M

Windows 7ファイル送信方法 SMB編

Windows用タブレットドライバー簡易ガイド

WebOTXマニュアル

項番 現象 原因 対応手順書など 4 代理店コードでのダウンロード時に以下のメッセージの画面が表示される サービス時間外のため 現在 このサービスはご利用になれません 当機能のサービス時間外です 以下の時間帯にダウンロードしてください 月曜日 ~ 金曜日 7:00~21:00 土曜日 7:00~17

ユーザーズマニュアル 2DCDP システム 発行日 2016 年 3 月 30 日

Android アプリを作るための環境設定 Android アプリを作るのに必要なものは Android SDK と Java 開発環境の Eclipse です 環境設定作業の概要はまず Android SDK と Eclipse をそれぞれインストールします その後 Eclipse を起動し An

2013年『STSSスキルコミュニティ』 テーマ別Kickoff資料

monologue Sound Librarian 取扱説明書

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

(Microsoft Word - HMS SYCON Windows7 XP Mode \203C\203\223\203X\203g\201[\203\213\216\350\217\207\225\342\221\253\220\340\226\276\216\221\227\277_A00.doc)

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

(Microsoft PowerPoint _RT\215u\217K\211\357)

オフィスソフトを操作するためのRTC群

ch2_android_2pri.indd

QLabセットアップガイド for CL/QL/TFシリーズ

Microsoft Word - DWR-S01D_Updater_取扱説明書_120514A.doc

基礎からの MySQL 改訂版 は Windows10 や Windows8.1 にも対応しています Windows10 および Windows8.1 をお使いの読者が 基礎からの MySQL 改訂版 を読み進めると きの補足説明 1. 基礎からの MySQL 改訂版 の Windows10 および

Microsoft PowerPoint - Tutorial_2_upd.ppt

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

京都大学認証基盤ドライバソフト 導入手順書 (WindowsVista ~ Windows10 版 ) 京都大学情報環境機構 第 1 版第 2 版第 3 版 2015 年 3 月 27 日 2015 年 6 月 17 日 2015 年 12 月 9 日

ユーザーズマニュアル 有線無線通信ネットワークシステム Wi-Fi 経路情報ビューア 発行日 2017 年 3 月 30 日 公立大学法人会津大学 株式会社東日本計算センター

CLAIM接続利用手順

クラウド内の Java - 動画スクリプト 皆さん こんにちは Steve Perry です 私たちが作成した人事アプリケーションを覚えていますか? 今回は そのアプリケーションをクラウド内で実行しましょう コードは GitHub の

(3) ソフトウェアのアップデート (3-0) アップデートの開始 今すぐアップデート ボタンをクリックする (3-1) 最新版のダウンロード準備完了 ポップアップウィンドウポップアップウィンドウをクリックする ( マークは避けてクリックすること ) (3-2) ダウンロード準備完了 Java(TM

_01 日医標準レセプトソフトクラウド版 CLAIM 接続利用手順 ベンダー向け 2017 年 8 月 23 日 日本医師会 ORCA 管理機構株式会社

設定 1 USB キー証明書ソフトの更新手順 1 産科医療補償制度のホームページ ( へアクセスし 分娩機関の皆さまへ 加入手続き をクリックしてください 2 専用 Web システムの導入要件 をクリックしてくださ

HMD を用いた PT カメラのインターネット遠隔操作芝浦工業大学知能機械システム研究室 HMD(Head Mounted Display) を用いた PT(Pan-Tilt) カメラのインターネット遠隔操作 ユーザマニュアル (ver1.0) 2014 年 10 月 23 日 芝浦工業大学知能機械

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

インストールマニュアル

SMB送信機能

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

Microsoft Word - Mac版 Eclipseの導入と設定.docx

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

論文誌用MS-Wordテンプレートファイル

Transcription:

第 2 部 RT コンポーネント作成入門 宮本信彦 国立研究開発法人産業技術総合研究所ロボットイノベーション研究センターロボットソフトウェアプラットフォーム研究チーム

資料 (USB メモリで配布 ) ppt 第 2 部 WEB ページ ( 手順を記載したページ ) 第 2 部 (Windows) 第 2 部 (Ubuntu) installer OpenRTM-aist のインストールに問題があった場合に使用してください script この講習で使うシミュレータのインストールスクリプト (Ubuntu 用 ) EXE RaspberryPiMouseSimulatorComp.exe( シミュレータ ) sample RobotController( 本実習で作成するコンポーネントの見本 ) 2

インストールの確認 (Windows) OpenRTM-aist OpenRTM-aist-1.2.0-RELEASE_x86_64.msi Visual Studio 2019 をインストールした場合は OpenRTM-aist-1.2.1-RC190514 をインストールする インストール後に再起動する (2 回再起動を必要とする環境もある ) Python python-2.7.16.amd64.msi OpenRTM-aist の 64bit 版をインストールする場合は Python も 64bit 版をインストールする CMake cmake-3.14.1-win64-x64.msi Doxygen doxygen-1.8.14-setup.exe Visual Studio Visual Studio 2017 Community Edition もしくは Visual Studio 2019 vs_installer_2019 vs_community 2112361810.1542592799_2019.exe 3

4 インストールの確認 (Ubuntu) OpenRTM-aist $ wget https://raw.githubusercontent.com/openrtm/openrtmaist/master/scripts/pkg_install_ubuntu.sh $ sudo sh pkg_install_ubuntu.sh CMake $ sudo apt-get install cmake cmake-gui Doxygen $ sudo apt-get install doxygen Java $ sudo apt-get install openjdk-8-jdk Code::Blocks( 任意 ) $ sudo apt-get install codeblocks RaspberryPiMouseSimulatorComp $ wget https://raw.githubusercontent.com/openrtm/rtm_tutorial_raspberrypimouse/master/script/install_ra spimouse_simulator.sh sudo sh install_raspimouse_simulator.sh

実習内容 シミュレータ上の車輪型移動ロボット (Raspberry Piマウス ) の操作を行うコンポーネントの作成 GUIにより目標速度入力 センサ値が一定以上の場合に停止 5

Raspberry Pi マウス概要 Raspberry Pi マウスはアールティが販売している独立二輪駆動型の移動ロボット 6

7 全体の手順 RTC Builder によるソースコード等のひな型の作成 ソースコードの編集 ビルド ビルドに必要な各種ファイルを生成 CMake により各種ファイル生成 ソースコードの編集 RobotController.h RobotController.cpp の編集 ビルド Visual Studio Code::Blocks RT システムエディタによる RT システム作成 動作確認 RT システム作成 データポート接続 コンフィギュレーションパラメータ設定

8 コンポーネント開発ツール RTC Builder について

9 RTC Builder コンポーネントのプロファイル情報を入力し, ソースコード等のひな型を生成するツール C++ Python Java Lua のソースコードを出力

10 RTC Builder の起動 起動する手順 Windows(OpenRTM-aist 1.2) デスクトップのショートカットをダブルクリック デスクトップのショートカットがない場合 Windows 7 スタート すべてのプログラム OpenRTM-aist 1.2.0 Tools OpenRTP Windows 8.1 スタート アプリビュー ( 右下矢印 ) OpenRTM-aist 1.2.0 OpenRTP 同じフォルダに RTSystemEditorRCP がありますが これは RTC Builder が使えないので今回は OpenRTP を起動してください Windows 10 左下の ここに入力して検索 に OpenRTP と入力して 表示された OpenRTP を起動 Ubuntu 以下のコマンドを入力 $ openrtp

RTC Builder の起動 Windows 8.1(OpenRTM-aist 1.1.2 以前 ) デスクトップスタート画面アプリビュー 11

RTC Builder の起動 Windows 10(OpenRTM-aist 1.1.2 以前 ) 左下の ここに入力して検索 に OpenRTP と入力 12

RTC Builder の起動 13

RTC Builder の起動 14

15 プロジェクト作成 RobotController コンポーネントのスケルトンコードを作成する 車輪型移動ロボット操作コンポーネント GUI でロボットを操作 センサ値が一定以上の場合に停止

16 資料 USB メモリで配布 WEB ページ フォルダの HTML ファイルを開く チュートリアル (Raspberry Pi Mouse C++ Windows 強化月間用 ) _ OpenRTM-aist.html チュートリアル (Raspberry Pi Mouse C++ Windows 強化月間用 ) _ OpenRTM-aist.html もしくは RT ミドルウェア講習会のページからリンクをクリック チュートリアル ( 第 2 部 Windows) チュートリアル ( 第 2 部 Ubuntu)

プロジェクト作成 Eclipse 起動時にワークスペースに指定したディレクトリに RobotController というフォルダが作成される この時点では RTC.xml と.project のみが生成されている 以下の項目が設定する 基本プロファイル アクティビティ プロファイル データポート プロファイル サービスポート プロファイル コンフィギュレーション ドキュメント 言語環境 RTC.xml 17

18 基本プロファイルの入力 RT コンポーネントのプロファイル情報など, コンポーネントの基本情報を設定. コード生成, インポート / エクスポート, パッケージング処理を実行

19 基本プロファイルの入力 モジュール名 RobotController モジュール概要 任意 (Robot Controller Component) バージョン 任意 (1.0.0) ベンダ名 任意 モジュールカテゴリ 任意 (Controller) コンポーネント型 STATIC アクティビティ型 PERIODIC コンポーネントの種類 DataFlow 最大インスタンス数 1 実行型 PeriodicExecutionContext 実行周期 1000.0 概要 任意

アクティビティの設定 使用するアクティビティを設定する 指定アクティビティを有効にする手順

コールバック関数 oninitialize onactivated onexecute ondeactivated onaborting onreset onerror onfinalize onstateupdate onratechanged onstartup onshutdown アクティビティの設定 処理 初期化処理 アクティブ化されるとき 1 度だけ呼ばれる アクティブ状態時に周期的に呼ばれる 非アクティブ化されるとき 1 度だけ呼ばれる ERROR 状態に入る前に 1 度だけ呼ばれる reset される時に 1 度だけ呼ばれる ERROR 状態のときに周期的に呼ばれる 終了時に 1 度だけ呼ばれる onexecute の後毎回呼ばれる ExecutionContext の rate が変更されたとき 1 度だけ呼ばれる ExecutionContext が実行を開始するとき 1 度だけ呼ばれる ExecutionContext が実行を停止するとき 1 度だけ呼ばれる 21

22 アクティビティの設定 以下のアクティビティを有効にする oninitialize onactivated ondeactivated onexecute 今回は練習のため Documentation は空白でも大丈夫です

データポートの設定 InPort OutPort の追加 設定を行う データポートを追加する手順

データポートの設定 以下の OutPort を設定する out データ型 : RTC::TimedVelocity2D 他の項目は任意 TimedVelocity3D 型 TimedVector2D と間違えないようにしてください 以下の InPort を設定する in データ型 : RTC::TimedShortSeq 他の項目は任意 TimedShort 型と間違えないようにしてください データ型はドロップダウンリストから選択する

データポートについて 連続したデータを通信するためのポート 以下の例はデータフロー型が push サブスクリプション型が flush インターフェース型が corba_cdr の場合

RTC::TimedVelocity2D 型について ExtendedDataTypes.idl で定義されている移動ロボットの速度を表現するためのデータ型 vx: X 軸方向の速度 vy: Y 軸方向の速度 ( 車輪が横滑りしないと仮定すると 0) va: Z 軸周りの角速度 vx で直進速度 va で回転速度を設定

コンフィギュレーションの設定 コンフィギュレーションパラメータの追加 設定を行う コンフィギュレーションパラメータを追加する手順

コンフィギュレーションの設定 以下のコンフィギュレーションパラメータを設定する speed_x データ型 :double デフォルト値 : 0.0 制約条件 :-1.5<x<1.5 Widget:slider Step: 0.01 他の項目は任意 speed_r データ型 :double デフォルト値 : 0.0 制約条件 :-2.0<x<2.0 Widget:slider Step: 0.01 他の項目は任意 GUI( スライダー ) による移動ロボットの操作ができるようにする

コンフィギュレーションパラメータの制約 Widget の設定 RT System Editor でコンフィギュレーションパラメータを編集する際に GUI を表示する Widget:text 制約条件 :0<=x<=100 Widget:spin Step:10 制約条件 :0<=x<=100 Widget:slider Step:10

コンフィギュレーションパラメータの制約 Widget の設定 制約条件 :(0,1,2,3) Widget:radio 制約条件 :(0,1,2,3) Widget:checkbox 制約条件 :(0,1,2,3) Widget:ordered_list

コンフィギュレーションの設定 以下のコンフィギュレーションパラメータを追加 stop_d データ型 :int デフォルト値 : 30 他の項目は任意 センサ値がこの値以上の場合に停止

Raspberry Pi マウスの距離センサ Raspberry Pi マウス実機には距離センサが搭載されている 計測した値は物体までの距離が近いほど大きな値となる シミュレータでもこのデータに近い値を計算して出力している

各種ドキュメント情報を設定 ドキュメントの設定 今回は適当に設定しておいてください 空白でも大丈夫です

言語の設定 実装する言語, 動作環境に関する情報を設定

スケルトンコードの生成 基本タブからコード生成ボタンを押すことでスケルトンコードが生成される Workspace RobotController 以下に生成 ソースコード C++ ソースファイル (.cpp) ヘッダーファイル (.h)» このソースコードにロボットを操作する処理を記述する CMake の設定ファイル (CMakeLists.txt) rtc.conf RobotController.conf 以下略 生成したファイルの確認 作成したプロジェクトを右クリックして 表示方法 システムエクスプローラー を選択する エクスプローラーでワークスペースのフォルダが開くため 上記のファイルが存在するかを確認する

36 手順 ビルドに必要な各種ファイルを生成 CMake により各種ファイル生成 ソースコードの編集 RobotController.h の編集 RobotController.cpp の編集 ビルド Windows: Visual Studio Ubuntu: Code::Blocks

ソースコードの編集 RTC のビルド 37

CMake ビルドに必要な各種ファイルを生成 CMakeLists.txtに設定を記述 RTC Builderでスケルトンコードを作成した時にCMakeLists.txtも生成されている 38

ビルドに必要なファイルの生成 CMakeを使用する Windows 7 スタート すべてのプログラム CMake CMake (cmake-gui) Windows 8.1 スタート アプリビュー( 右下矢印 ) CMake CMake (cmake-gui) Windows 10 左下の ここに入力して検索 にCMakeと入力して表示されたCMake(cmake-gui) を起動 Ubuntu コマンドで cmake-gui を入力 39

40 cmake-gui の起動 Windows 8.1 デスクトップスタート画面アプリビュー

41 cmake-gui の起動 Windows 10 左下の ここに入力して検索 に cmake と入力

ビルドに必要なファイルの生成 CMakeLists.txt を cmake-gui にドラックアンドドロップ CMakeLists.txt は RTC Builder で生成したプロジェクトのフォルダ ( 例 : C: workspace RobotController) 42

ビルドに必要なファイルの生成 43

ビルドに必要なファイルの生成 44

CMake 3.14 以降の場合 ビルド環境の設定 Visual Studio 2019 Visual Studio 16 2019 Visual Studio 2013 Visual Studio 12 2013 貸し出した PC では Visual Studio 14 2015 を指定 X64 を選択する 設定後 Finish ボタンを押す 45

CMake 3.13 以前の場合 46

ビルドに必要なファイルの生成 47

ビルドに必要なファイルの生成 48

ソースコードの編集 49

ソースコードの編集 CMake-gui のバージョンが古い場合は Open Project ボタンがないため ファイルをダブルクリックして開く Windows build フォルダの RobotController.sln をダブルクリックして開く Ubuntu build フォルダの RobotController.cbp をダブルクリックして開く 50

51 ソースコードの編集 Windows Visual Studio が起動 Ubuntu Code::Blocks が起動

RobotController.h の編集 ソースコードの編集 Visual Studio Code::Blocks 52

RobotController.h の編集 ソースコードの編集 53

ソースコードの編集 RobotController.cpp の編集 詳細は USB メモリの資料を参考にしてください Visual Studio Code::Blocks 54

RobotController.cpp の編集 ソースコードの編集 55

RobotController.cpp の編集 ソースコードの編集 56

57 ソースコードの編集 データを読み込む手順

58 ソースコードの編集 データを書き込む手順

59 ソースコードのコンパイル Visual Studio Code::Blocks 成功した場合 実行ファイルが生成される Windows build src フォルダの Release( もしくは Debug) フォルダ内に RobotControllerComp.exe が生成される Ubuntu build/src フォルダに RobotControllerComp が生成される

60 システム構築支援ツール RT System Editor について

RT System Editor RTC を GUI で操作するためのツール データポート サービスポートの接続 アクティブ化 非アクティブ化 リセット 終了 コンフィギュレーションパラメータの操作 実行コンテキストの操作 実行周期変更 実行コンテキストの関連付け 複合化 マネージャから RTC を起動 作成した RT システムの保存 復元 61

RT System Editor の起動 62

RT System Editor の画面構成 63

64 RobotController コンポーネントの動作確認 シミュレータコンポーネントと接続してシミュレータ上のロボットを操作する RT システムを作成する ネームサーバーを起動する RaspberryPiMouseSimulator コンポーネントを起動する Windows 配布 USB メモリの EXE フォルダ内 RaspberryPiMouseSimulatorComp.exe をダブルクリック Ubuntu 配布 USB メモリ内のスクリプトでインストール ( インストールしていない場合 )» $ sh install_raspimouse_simulator_usb.sh RasPiMouseSimulatorRTC に移動して以下のコマンドを実行» $ build/src/raspberrypimousesimulatorcomp RobotController コンポーネント起動 RaspberryPiMouseSimulator コンポーネントと RobotController コンポーネントを接続して All Activate を行う

65 ネームサーバーの起動 オブジェクトを名前で管理するサービス RTCを一意の名前で登録する RT System Editor 等のツールはネームサーバーから名前でRTCの参照を取得する 起動する手順

66 ネームサーバーの起動 OpenRTM-aist 1.1.2 以前の手順 Windows 7 スタート すべてのプログラム OpenRTM-aist 1.2.0 Tools Start Naming Service Windows 8.1 スタート アプリビュー( 右下矢印 ) OpenRTM-aist 1.2.0 Start Naming Service Windows 10 左下の ここに入力して検索 にStart Naming Serviceと入力して起動 Ubuntu $ rtm-naming

67 RobotController コンポーネントの動作確認 シミュレータコンポーネントと接続してシミュレータ上のロボットを操作する RT システムを作成する ネームサーバーを起動する RaspberryPiMouseSimulator コンポーネントを起動する Windows 配布 USB メモリの EXE フォルダ内 RaspberryPiMouseSimulatorComp.exe をダブルクリック Ubuntu 配布 USB メモリ内のスクリプトでインストール ( インストールしていない場合 )» $sudo sh install_raspimouse_simulator_usb.sh RasPiMouseSimulatorRTC に移動して以下のコマンドを実行» build/src/raspberrypimousesimulatorcomp RobotController コンポーネント起動 Windows build src フォルダの Release( もしくは Debug) フォルダ内に RobotControllerComp.exe が生成されているためこれを起動する Ubuntu build/src フォルダに RobotControllerComp が生成されているためこれを起動する RobotController コンポーネント RasPiMouseSimulator コンポーネントを接続して All Activate を行う

データポートの接続

データポートの接続

データポートの接続

アクティブ化

72 コンフィギュレーションパラメータの操作 コンフィギュレーションパラメータを RT System Editor から操作する 以下の動作ができるか確認 シミュレータ上のロボットがスライダーで操作できるか? ロボットが障害物に近づくと停止するか?

73 動作確認 タッチセンサがオンになった時に停止した場合 壁まで前進する タッチセンサがオンになっても停止しない場合 壁の手前に停止する 壁に接触後も前進を続ける

RT コンポーネントの状態遷移 RTC には以下の状態が存在する Created 生成状態 実行コンテキストを生成し start() が呼ばれて実行コンテキストのスレッドが実行中 (Runnning) 状態になる 自動的に Inactive 状態に遷移する Inactive 非活性状態 activate_component メソッドを呼び出すと活性状態に遷移する RT System Editor 上での表示は青 Active 活性状態 onexecute コールバックが実行コンテキストにより実行される リターンコードが RTC_OK 以外の場合はエラー状態に遷移する RT System Editor 上での表示は緑 Error エラー状態 onerror コールバックが実行コンテキストにより実行される reset_component メソッドを呼び出すと非活性状態に遷移する RT System Editor 上での表示は赤 終了状態

RT コンポーネントの状態遷移 ( 生成直後 )

RT コンポーネントの状態遷移 ( アクティブ化 )

システムの保存

システムの復元 以下の内容を復元 ポート間の接続 コンフィギュレーション Open and Create Restore を選択した場合はマネージャからコンポーネント起動

非アクティブ化 非アクティブ化 終了 終了

RT コンポーネントの状態遷移 ( 非アクティブ化 )

Raspberry Pi マウス実機との接続 Raspberry Pi とノート PC を無線 LAN で接続 Raspberry Pi が無線 LAN アクセスポイントになる 注意事項 ノート PC に複数のネットワークインターフェースが存在する場合に RTC の通信ができなくなる可能性があります 問題が発生した場合は個別に対応します Raspberry Pi アクセスポイント接続後はインターネットに接続できなくなります Raspberry Pi アクセスポイント接続後に 起動済みのネームサーバーと RTC は再起動してください Raspberry Pi はシャットダウンしてから電源スイッチをオフにするようにしてください モーター電源スイッチはこまめに切るようにしてください

Raspberry Pi の電源投入 内側のスイッチをオンにする Raspberry Pi との接続 電源を切る場合 3 つ並んだスイッチの中央のボタンを 1 秒以上押す 10 秒ほどでシャットダウンするため その後に電源スイッチをオフにする

Raspberry Pi との接続 無線 LAN アクセスポイントとの接続 SSID パスワードは Raspberry Pi マウス上のシールに記載 接続手順 (Windows) 画面右下のネットワークアイコンをクリック raspberrypi_xx に接続後 パスワードを入力

ネームサーバーとの接続

起動済みの RTC ネームサーバー再起動 ネームサーバーを再起動する OpenRTM-aist 1.2 の場合はネームサーバー起動ボタンで再起動 OpenRTM-aist 1.1.2 の場合はネームサーバーのプロセス終了後 Start Naming Service を再度実行 RTC 再起動 RTC を exit するか RTC 起動時に表示したウインドウの ボタンを押して終了する 実行ファイル (RobotControllerComp.exe) を再度実行

ポートの接続 RobotController0 と RapberryPiMouseRTC0 を接続する

動作確認 モーターの電源投入 外側のスイッチを ON にする RTC をアクティブ化して動作確認

リセット RTC がエラー状態に遷移した場合にエディタ上には赤く表示される 以下の操作で非アクティブ状態に戻す

RT コンポーネントの状態遷移 ( エラー )

RT コンポーネントの状態遷移 ( リセット )

91 RTC Builder 補足

サービスポートの設定 サービスポートの追加 インターフェースの追加 設定を行う

サービスポートの設定 インターフェースを追加する

サービスポートの設定 インターフェースの設定を行う コード生成後 Python の場合は idlcompile.bat(idlcompile.sh) を起動する

サービスポートの設定 IDL ファイルについて プログラミング言語に非依存のインターフェース定義言語 コンシュマー側でプロバイダ側の echo get_value などのオペレーションを呼び出す

RTC Builder に関する設定

RTC Builder に関する設定

独自のデータ型の利用 独自のデータ型でデータポートの通信を行う手順 IDL ファイルを作成する MyDataType.idl を任意のフォルダ ( ここでは C: UserDefType) 作成 別の IDL ファイルをインクルードしている場合は同じフォルダにコピーする

独自のデータ型の利用 独自のデータ型でデータポートの通信を行う手順 RTC Builder の設定で IDL ファイルの存在するディレクトリを追加

独自のデータ型の利用 独自のデータ型でデータポートの通信を行う手順

101 RT System Editor 補足

項目 Name コネクタプロファイルの設定 設定内容 接続の名称 DataType ポート間で送受信するデータの型. ex)timedoctet,timedshort など InterfaceType DataFlowType SubscriptionType Push Rate Push Policy Skip Count データを送信方法.ex)corba_cdr など データの送信手順.ex)push, pull など データ送信タイミング. 送信方法が Push の場合有効.New, Periodic, Flush から選択 データ送信周期 ( 単位 :Hz). SubscriptionType が Periodic の場合のみ有効 データ送信ポリシー.SubscriptionType が New,Periodic の場合のみ有効. all,fifo, skip,new から選択 送信データスキップ数.Push Policy が Skip の場合のみ有効

コネクタプロファイルの設定 InterfaceTye データの送信方法 1.1.2 では corba_cdr(corba による通信 ) のみ選択可能 1.2.0 では以下の通信方法も選択可能になる予定 direct( 同一プロセスで起動した RTC 間でデータを直接変数に渡す ) shared_memory( 共有メモリによる通信 ) DataFlowType データの送信手順 Push OutPort が InPort にデータを送る Pull InPort が OutPort に問い合わせてデータを受け取る SubscriptionType データ送信タイミング (DataFlowType が Push 型のみ有効 ) flush( 同期 ) バッファを介さず即座に同期的に送信 new( 非同期 ) バッファ内に新規データが格納されたタイミングで送信 periodic( 非同期 ) 一定周期で定期的にデータを送信 Push Policy(SubscriptionType が new periodic のみ有効 ) データ送信ポリシー all バッファ内のデータを一括送信 fifo バッファ内のデータを FIFO で 1 個ずつ送信 skip バッファ内のデータを間引いて送信 new バッファ内のデータの最新値を送信 ( 古い値は捨てられる )

コネクタプロファイルの設定 DataFlowType Push Pull

コネクタプロファイルの設定 SubscriptionType flush( 同期 ) new periodic( 非同期 )

コネクタプロファイルの設定 項目 Buffer length Buffer full policy Buffer write timeout Buffer empty policy Buffer read timeout 設定内容 バッファの大きさ データ書き込み時に, バッファフルだった場合の処理. overwrite,do_nothing, block から選択 データ書き込み時に, タイムアウトイベントを発生させるまでの時間 ( 単位 : 秒 ) データ読み出し時に, バッファが空だった場合の処理.readback, do_nothing,block から選択 データ読み出し時に, タイムアウトイベントを発生させるまでの時間 ( 単位 : 秒 )

サービスポートについて コマンドレベルのやり取りを行うための仕組み 任意のタイミングで操作を行いたい時などに使用 例えばロボットアームのサーボを停止させる ハンドを閉じる等 コンシューマ側がプロバイダ側が提供する関数群 ( オペレーション メソッド ) を呼び出す インターフェースは IDL ファイルで定義する

サービスポートの接続

コンフィギュレーションパラメータについて パラメータを外部から操作する仕組み コンポーネント作成後に変更が必要なパラメータを設定する 例えばデバイスが接続されている COM ポート番号の設定等

コンフィギュレーションパラメータの設定

コンフィギュレーションパラメータの設定 方法 1 方法 2

マネージャの操作 CameraViewerComp.exe OpenCVCameraComp.exe のプロセスではマネージャが起動している マネージャがコンポーネントを起動する

マネージャの操作

マネージャの操作 マスターマネージャの起動 RT System Editor からの操作による RTC の生成までの手順を説明する rtc.conf の設定 manager.is_master を YES に設定して起動するマネージャをマスターに設定する manager.is_master: YES モジュール探索パスの設定 manager.modules.load_path:., C: Program Files (x86) OpenRTMaist 1.1.2 Components C++ Examples vc12 作成した rtc.conf を設定ファイルの指定して rtcd.exe を起動する rtcd はコマンドプロンプトから rtcd.exe を入力するか OpenRTM-aist をインストールしたフォルダからコピーして使用する rtcd はマネージャの起動のみを行う ~Comp.exe は起動時に特定のコンポーネントの起動も行う RT Syetem Editor のネームサービスビューにマネージャが表示される

モジュールのロード マネージャの操作

モジュールのロード マネージャの操作

RTC の生成 マネージャの操作

実行コンテキストの操作

実行周期の設定 実行コンテキストの操作

実行コンテキストの操作 実行コンテキストの関連付け RTC 起動時に生成した実行コンテキスト以外の実行コンテキストと関連付け 関連付けた実行コンテキストで RTC を駆動させる 他の RTC との実行を同期させる

実行コンテキストの操作 実行コンテキストの関連付け

複合コンポーネントの操作 複合コンポーネントの生成

複合コンポーネントの操作 複合コンポーネントの生成 Type 以下の 3 種類から選択可能 PeriodicECShared 実行コンテキストの共有 PeriodicStateShared 実行コンテキスト 状態の共有 Grouping グループ化のみ

複合コンポーネントの操作

複合コンポーネントの操作

ゾンビの削除 RTC のプロセスが異常終了する等してネームサーバーにゾンビが残った場合 以下の手順で削除する

RT System Editor に関する設定