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

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

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

スライド 1

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

スライド 1

スライド 1

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

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

ADempiere (3.5)

V-Client for Mac ユーザーズガイド

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

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

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

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

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

intra-mart Accel Platform

改版履歴 版数 日付 内容 担当 V /3/9 初版発行 STS V /5/4 エラー画面の削除 STS V //3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V /2/25 サポート環境変更 STS V

WebOTXマニュアル

IOWebDOC

第 4 版 2019 年 05 月

PCL6115-EV 取扱説明書

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

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

SonicDICOM Cloud Connector インストール手順書 SonicDICOM Cloud Connector とは 検査装置が撮影した画像を自動的にクラウドへアップロー ドするためのソフトウェアです 1 前準備 クラウド上に PACS を作成する SonicDICOM Cloud

Java Bridgeを利用した他言語によるデータロード&プロットデモ

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

BricRobo V1.5 インストールマニュアル

改版履歴 版数 日付 内容 担当 V /5/26 初版発行 STS V /7/28 動作条件の変更 STS メール通知文の修正 V /2/7 Windows8 の追加 STS V /2/2 Windows8. の追加 STS V

PowerPoint Presentation

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

WebOTXマニュアル

改版履歴 版数 日付 内容 担当 V /0/27 初版発行 STS V..0 20/03/04 トラブルシューティング改訂 STS P-2

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

Application Note Application Note No. ESC-APN 文書番号 : ESC-APN Tcl link library インストールガイド はじめに Tcl link library インストールガイド ( 以下 本書 ) では Act

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版

スライド 1

スライド 1

ADempiere 3.6

楽2ライブラリ クライアントサーバ V5.0 体験版 クライアントOS利用時におけるIIS設定手順書

intra-mart ワークフローデザイナ

miChecker導入手順書

スライド 1

EV3 の初期設定

Another HTML-lint 導入マニュアル(JSP)版

Microsoft Word - HGWEB_Defender_クリーンアップツール_説明書_Rev.1.00.doc

CLAIM接続利用手順

Eclipse マニュアル <作成目的> Eclipse のインストール方法などを紹介したページはいろいろありますが 専門用語がわからない初心者でもわか りやすく Eclipse のインストール方法 基本操作などをまとめたマニュアル作成を目的としています <目次> 1 Eclipse のインストール

Ver.30 改版履歴 版数 日付 内容 担当 V //3 初版発行 STS V..0 05//6 パスワード再発行後のパスワード変更機能追加 STS V..0 05//5 サポート環境変更 STS V //9 サポート環境の追加 STS ii

BOM for Windows Ver

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

改版履歴 版数 日付 内容 担当 V /03/27 初版発行 STS V /01/27 動作条件のオペレーティングシステムに Windows 7 STS を追加 また 動作条件のブラウザに Internet Explorer 8 を追加 V /0

SimLabプラグインは各機能を15回分評価版として試用できます

Microsoft Word - tutorial3-dbreverse.docx

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

intra-mart e-Builder ver 5

自宅でJava言語の開発環境を作る方法

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1

スライド 1

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

SimLab Plugins for SketchUp 評価版インストールおよびアクティベート方法 注意事項 評価版をお使い頂くには 評価用ライセンスでのアクティベートが必要です 評価用ライセンスファイルの取得を行い 手動でアクティベートする必要があります 各 SimLab プラグインは 評価用とし

Java言語 第1回

セットアップガイド

CLUSTERPRO MC StorageSaver for BootDisk 2.1 (for Windows) インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

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

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

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

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

スマートにプログラミング Android 入門編第 2 版 SDK4/2.3 対応 よくあるご質問 (FAQ) ここでは 読者の皆様から寄せられた質問の中で 比較的多く見受けられたトラブル事例とその解決策を集め掲載致しました お困りの際の解決のヒントとしてご利用下さい なお スマートにプログラミング

サーバセキュリティサービスアップグレード手順書 Deep Security 9.6SP1 (Windows) NEC 第 1 版 2017/08/23

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

C) 信頼済みサイトダイアログにて以下の操作を実施する 次の Web サイトをゾーンに追加する (D); 欄に電子入札 URL を入力する 追加 ボタンをクリックし Web サイト (W) に URL が追加されたことを確認する 3 上記 ~ を必要なサイト分行う 登録するWebサイト受注者 : h

Express5800/51Le電源交換

変更履歴 日付 版数 変更内容 2012/07/13 Rev 初版発行 2013/07/03 Rev 対応機器一覧 機器一覧を更新 [Settings] 画面の表示 時刻を挿入する機能を追加アンテナ切替器のアンテナ番号を指定する機能を追加アンテナ番号を挿

1. はじめに (1) 本書の位置づけ 本書ではベジフルネット Ver4 の導入に関連した次の事項について記載する ベジフルネット Ver4 で改善された機能について 新機能の操作に関する概要説明 ベジフルネット Ver4 プログラムのインストールについて Ver4 のインストール手順についての説明

IBM SPSS Amos インストール手順 (サイト ライセンス)

Microsoft Word - XOOPS インストールマニュアルv12.doc

AutoCAD Mechanical 2009 Service Pack 2 Readme 高品質な製品を提供するため オートデスクは AutoCAD Mechanical 2009 Service Pack 2 をリリースしました この Service Pack は AutoCAD Mechani

一般社団法人ビジネス機械・情報システム産業協会

CLAIM接続利用手順

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

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

VBコンバータ利用方法

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

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

PowerPoint Presentation

1 はじめに 前準備 MICROSOFT 製品のプログラムを最新の状態にする NET FRAMEWORK 4.0 ( と日本語 LANGUAGE PACK) のインストール NET FRAMEWORK 4.0 のインストール... 4

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

Ver1.70 証明書発行マニュアル パスワード設定版 Windows 7 InternetExplorer 2018 年 3 月 14 日 セコムトラストシステムズ株式会社 Copyright SECOM Trust Systems CO.,LTD. All Rights Reserved i

Ver.60 改版履歴 版数 日付 内容 担当 V /7/8 初版発行 STS V..0 04// Windows 8. の追加 STS V..0 05//5 Windows XP の削除 STS V.30 05/8/3 体裁の調整 STS V.40 05//9 Windows0 の追加

仮想 COM ポートドライバーインストールマニュアル 仮想 COM ポートドライバーをパソコンにインストールすることにより 対応するトランシーバーまたは USB インターフェースユニット SCU-17 を USB ケーブルでパソコンに接続し CAT 通信 TX 制御 ( PTT KEY FSK) U

V-CUBE One

第 7.0 版 利用履歴管理 ETCPRO5 セットアップマニュアル (Ver5.002) カードリーダモデル変更 ( 表示付き 表示なし ) に伴い 改訂 Windows10 対応に伴い 改訂 参考ホームページサイト :

1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS

32 ビット版 64 ビット版 Microsoft Windows XP Professional Microsoft Windows XP Professional x64 * * SP2 および SP3 Edition SP2 Microsoft Windows XP Home SP2 お *

対応 OS について WindowsOS への対応状況 2010 年 10 月時点で用意させていただいている CiscoVPN ソフトウェアですが 対応している OS は WindowsXp WindowsVista Windows7 となります また WindowsVista Windows7 の

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

XMLとXSLT

情報更新日 :2012/5/20 サンプルソースの文字化けについて [ トラブル事例 ] Eclipse に ダウンロードしたソースコードをインポートすると文字化けが起きる ( 関連箇所 : 0-1 はじめに ) [ 回答 ] 本書でその利用を前提としております Tech Fun Eclipse は

Transcription:

ロボット用スクリプトエンジン モジュールマニュアル 1.0 版 九州工業大学 株式会社セック

改版履歴 版数改版日改版内容備考 1.0 2012/02/29 初版作成 -i-

目次 1 総則... 1 1.1. 目的...1 1.2. 適用範囲...1 1.3. 関連文書等...1 1.3.1. 適用文書...1 1.3.2. 関連文書...1 1.3.3. 参考文書...1 1.4. 定義...2 1.4.1. 用語...2 1.4.2. 座標系...2 2 コンポーネント構成... 3 2.1. コンポーネント概要...3 2.2. 動作環境...3 2.3. ハードウェア仕様...4 2.4. 利用ソフトウェア仕様...4 3 コンポーネント仕様... 5 3.1. コンポーネント一覧...5 3.2. データ型一覧...5 3.3. コンポーネント仕様 (SDLENGINE)...5 3.3.1. 基本情報...5 3.3.2. アクティビティ...6 3.3.3. インタフェース仕様...7 4 取扱手順...11 4.1. 環境構築... 11 4.1.1. インストール準備... 11 4.1.2. インストール...13 4.2. 設定 カスタマイズ手順...14 4.3. 起動 終了手順...16 5 制限事項...21 6 付録...22 6.1. メッセージ一覧...22 -ii-

6.1.1. メッセージ一覧 (SDLEngine)...22 6.1.2. メッセージ一覧 (ConsoleIn)...23 6.1.3. メッセージ一覧 (ConsoleIn2)...24 6.1.4. メッセージ一覧 (ConsoleOut)...25 6.2. トラブルシューティング...26 -iii-

表目次表 1-1 関連文書一覧...1 表 1-2 参考文書一覧...1 表 1-3 ロボット用スクリプトエンジン用語一覧...2 表 2-1 動作環境...3 表 2-2 動作に必要なソフトウェア...4 表 2-3 インストールされていることが望ましいソフトウェア...4 表 3-1 コンポーネント一覧...5 表 3-2 SDLEngineコンポーネントプロファイル...5 表 3-3 アクティビティ一覧...6 表 3-4 rtc.conf 設定項目...10 表 4-1 JDKのダウンロードURL... 11 表 4-2 環境変数の設定項目 (JDK 関連 )... 11 表 4-3 OpenRTM-aist-Java 1.0.0-RELEASEのダウンロードURL...12 表 4-4 OpenRTM Eclipse tools 1.0-RELEASEのダウンロードURL...12 表 4-5 ANTのURL...13 表 4-6 環境変数の設定項目 (ANT 関連 )...13 表 4-7 SDLEngineのダウンロードURL...13 表 4-8 rtc.envオブジェクトの主要メソッド...17 表 4-9 rtc.local_componentオブジェクトの主要メソッド...18 図目次図 4-1 SDLEngineコンソール...16 -iv-

1 総則 1.1. 目的 本書は 作業計画モジュールの利用方法について 記述した文書である 1.2. 適用範囲本書は SDLEngine に対して適用する 1.3. 関連文書等本書の適用文書 関連文書 参考文書について記述する 1.3.1. 適用文書なし 1.3.2. 関連文書本書の関連文書を表 1-2に示す 表 1-1 関連文書一覧 No 文書名版数発行元 1 次世代ロボット知能化技術開発プロジェクト施設内生活支援ロボット知能の研究開発作業計画モジュール ( S D L E n g i n e ) マニュアル 2 BeanShell サイト (http://www.beanshell.org) Ver.3.0 - 九州工業大学 Pat Niemeyer 1.3.3. 参考文書 本書の参考文書を表 1-2 に示す 表 1-2 参考文書一覧 No 文書名版数発行元 1 Web OpenRTM aist Web サイト (http://www.openrtm.org/openrtm/ja/content/ openrtm-aist-official-website) - 独立行政法人産業技術総合研究所 -1-

1.4. 定義 1.4.1. 用語 表 1-3 ロボット用スクリプトエンジン用語一覧 No 用語 説明 1 RTM RT ミドルウェア 2 RTC RT コンポーネント 3 アクティビティ RTC のロジック 4 コンフィギュレーション 設定 1.4.2. 座標系 ロボット用スクリプトエンジンモジュールで使用する座標系はない 1.5. ライセンス 本書は クリエイティブ コモンズ表示 2.1 ライセンス (http://creativecommons.org/licenses/by-sa/2.1/jp/) の下に提供される -2-

2 コンポーネント構成 2.1. コンポーネント概要ロボット用スクリプトエンジンモジュールは 様々な RTC と接続して作業計画のアプリケーションを実行するためのモジュールである Java のインタプリタである BeanShell を組み込んでおり Java 及びそのインタプリタであるスクリプトを用いてアプリケーションを記述することができる 2.2. 動作環境 作業対象認識モジュールの動作環境を表 2-1 に記述する 表 2-1 動作環境 Windows Linux Windows XP professional 32bit Windows Vista Business 32bit/64bit Windows 7 Professional/Enterprise 32bit/64bit Ubuntu -3-

2.3. ハードウェア仕様 ロボット用スクリプトエンジンモジュールは 特定のハードウェアに対応するものではない 2.4. 利用ソフトウェア仕様ロボット用スクリプトエンジンモジュールの動作に必要なソフトウェアを表 2-2に記す また 本モジュールでは使用していないが インストールされていることが望ましいソフトウェアを表 2-3に記す 表 2-2 動作に必要なソフトウェア 名称 / バージョン説明参考 URL Java Deveroper Kit (JDK) /1.6.0_23 (32bit 版 ) OpenRTM-aist-Java/ 1.0.0-RELEASE OpenRTM Eclipse tools / 1.0-RELEASE Apache Ant 1.8.2 プログラミング言語 Eclipse の動作に必要 http://java.sun.com/javase/ja/6/download. html RT ミドルウェア本体 (Java) http://www.openrtm.org/openrtm/ja RT コンポーネントを扱う RTCBuilder および RTSystemEditor が組み込まれた Eclipse 統合開発環境 SDLEngine のビルドを行う 環境変数 ANT_HOME を設定し 環境年数 PATH に %ANT_HOME% bin; を追加すること http://www.openrtm.org/openrtm/ja/conte nt/openrtm-eclipse-tools-10-release#toc0 http://ant.apache.org/ 表 2-3 インストールされていることが望ましいソフトウェア 名称 / バージョン説明参考 URL OpenRTM-aist_C++/ 1.0.0-RELEASE Microsoft Visual Studio 2008 Professional Edition RT ミドルウェア本体 (C++/ VC++) C++/VC++ のビルドを行う OpenCV 1.0 画像処理ソフトウェア http://opencv.jp/ http://www.openrtm.org/openrtm/ja http://www.microsoft.com/japan/msdn/vst udio/2008/product/overview.aspx Python-2.6.4 プログラミング言語 http://www.python.jp/ PyYAML-3.0.9 Python の YAML ライブラリです http://pyyaml.org/wiki/pyyaml -4-

3 コンポーネント仕様 3.1. コンポーネント一覧ロボット用スクリプトエンジンモジュールの一覧を表 3-1に記述する 本モジュールは 作業計画を実行させる他のRTCとの接続を前提としている 表 3-1 コンポーネント一覧 No. RTC 名説明 1 SDLEngine ロボット用スクリプトエンジン 3.2. データ型一覧 ロボット用スクリプトエンジンモジュール固有のデータ型は存在しない 3.3. コンポーネント仕様 (SDLEngine) 3.3.1. 基本情報 表 3-2 SDLEngine コンポーネントプロファイル 種別提供元動作 OS RT ミドルウェア開発言語依存ライブラリ実行周期 RTC 九州工業大学 Windows(XP, Vista,7) Ubuntu OpenRTM-aist-1.0.0 (Windows) OpenRTM-aist-1.0.0 (Linux) Java (OpenRTM-aist-1.0.0) なし 4.0(Hz) -5-

3.3.2. アクティビティ 表 3-3 アクティビティ一覧 No. アクション関数名 処理概要 1 oninitialize 以下の処理を行う インポートの設定アウトポートの設定プロバイダーポートの設定コンシューマポートの設定サービスポートの設定 2 onactivated - 3 onexecute 以下の処理を行う インポートよりデータを取得するアウトポートへデータを出力する コンシューマポートを実行する 4 ondeactivated - 5 onaborting - 6 onreset 以下の処理を行う アウトポートをクリアする コンシューマポートをクリアする 7 onerror - 8 onfinalize - 9 onstateupdate - 10 onratechanged - 11 onstartup - 12 onshutdown - -6-

3.3.3. インタフェース仕様 SDLEngine は 様々な RTC との接続を前提としており インタフェースは buld.xml での定義に依る なお 定義に使用する <arg> タグの value 属性は rtc-template のコマンドライン引数となる (1) データポート bulid.xml の gen-rtc-sdl-engine ターゲット (<target name="gen-rtc-sdl-engine">) に <arg> タグの value 属性の値として 以下を定義する インポート :-- inport =[ ポート名 ]:[ データ型 ] アウトポート :-- outport =[ ポート名 ]:[ データ型 ] 独自データ型のデータポートを定義する場合 IDL ファイル ( ファイル名 :[ 当該データ型 ].idl) を SDLEngine/main/idl に配置する リスト 3-1にデータポートの定義例を示す リスト 3-1 データポート定義例 <target name="gen-rtc-sdl-engine" description="generate SDL Engine RTC code."> <!-- ポート名 in データ型 RTC::TImedLong のインポート --> <arg value="--inport=in:rtc::timedlong" /> <!-- ポート名 out データ型 RTC::TImedLong のアウトポート --> <arg value="--outport=out:rtc::timedlong" /> <!-- 独自データ型 SDLEngine/main/idl/MyData.idl を定義 --> <!-- ポート名 mydatain データ型 jp::ac::kyutech::srp::demo::mydata のインポート --> <arg value="--inport=mydatain:jp::ac::kyutech::srp::demo::mydata" /> <!-- ポート名 mydataout データ型 jp::ac::kyutech::srp::demo::mydata のアウトポート --> <arg value="--outport=mydataout:jp::ac::kyutech::srp::demo::mydata" /> </target> -7-

(2) サービスポートサービスポートに対応する IDL ファイルを用意し bulid.xml の gen-rtc-sdl-engine ターゲット (<target name="gen-rtc-sdl-engine">) に <arg> タグの value 属性の値として 以下を定義する プロバイダーポート --service=[ ポート名 ]:[ インスタンス名 ]:[ サービス型 ] --service-idl=[idl ファイル名 ] --idl-include=[idl ファイルパス ] コンシューマポート --consumer=[ ポート名 ]:[ インスタンス名 ]:[ サービス型 ] --consumer-idl=[idl ファイル名 ] --idl-include=[idl ファイルパス ] リスト 3-1 にサービスポートの定義例を示す リスト 3-2 サービスポート定義例 <target name="gen-rtc-sdl-engine" description="generate SDL Engine RTC code."> <!-- ポート名 MyServiceConsumer インスタンス名 myservice サービス型 myservice:jp::ac::kyutech::srp::demo::myservice のコンシューマポート --> <arg value="--consumer=myserviceconsumer:myservice:jp::ac::kyutech::srp::demo::myservice" /> <!-- コンシューマポートの IDL は SDLEngine/main/idl/MyService.idl --> <arg value="--consumer-idl=${main.idl.dir}/myservice.idl" /> <!-- ポート名 SRResultListenerProvider インスタンス名 RecognitionResult サービス型 RecognitionResult:SRResultListener のサービスポート --> <arg value="--service=srresultlistenerprovider:recognitionresult:srresultlistener" /> <!-- サービスポートの IDL は SDLEngine/main/idl/SRResultListener.idl --> <arg value="--service-idl=${main.idl.dir}/srresultlistener.idl" /> <!-- IDL のファイルパスは SDLEngine/main/idl --> <arg value="--idl-include=${main.idl.dir}" /> </target> -8-

(3) 設定ファイル SDLEngine 独自の設定ファイルはない コンポーネントマネージャの設定ファイルである rtc.confのみを使用しており SDLEngineフォルダにリスト 3-3のrtc.confが用意されている 本設定項目について 表 3-4に記載する その他の設定項目 詳細については OpenRTM-aistのマニュアルのrtc.conf 設定項目一覧を参照のこと リスト 3-3 rtc.conf corba.nameservers: localhost:5005 corba.endpoint: 127.0.0.1: naming.formats: %n.rtc logger.enable: YES logger.log_level: PARANOID exec_cxt.periodic.rate: 10.0-9-

表 3-4 rtc.conf 設定項目 No. パラメタ名説明 1 corba.nameservers ネーミングサーバを指定する 指定フォーマット :host_name:port_number デフォルトポート :2809(omniORB のデフォルト ) 2 corba.endpoint NIC が複数あるとき ORB をどちらで listen させるかを指定する 指定フォーマット :IP_Addr:Port(Port を指定しない場合でも : が必要 ) 3 naming.formats ネームサーバに登録する際のフォーマットを指定する 指定子 : %n RTC のインスタンス名 %t RTC のタイプ名 %m RTC のモジュール名 %v RTC のバージョン %V RTC のベンダ名 %c RTC のカテゴリ名 %h ホスト名 %M マネージャ名 %p プロセス ID 指定フォーマット :<name>.<kind>/<name>.<kind>/... デフォルト値 : %h.host_cxt/%n.mgr 4 logger.enable ログ出力の有効 (Yes)/ 無効 (No) を指定する 5 logger.log_level ログレベルを指定する SILENT( 何も出力しない ), ERROR, WARN, NORMAL, INFO, DEBUG, TRACE, VERBOSE, PARANOID( 全出力 ) 6 exec_cxt.periodic.rate 実行コンテキストの周波数 [Hz] を 0~1000000. で指定する デフォルト値 :1000.0-10-

4 取扱手順 4.1. 環境構築 4.1.1. インストール準備ロボット用スクリプトエンジンモジュールを動作させるために 以下のソフトウェアパッケージをインストールする Java Deveroper Kit JDK 1.6.0_23 (32bit 版 ) OpenRTM-aist-Java 1.0.0-RELEASE OpenRTM Eclipse tools 1.0-RELEASE Apache Ant 1.8.2 (1) Java Deveroper Kit (JDK )1.6.0_23 (32bit 版 ) (a) インストール JDK ダウンロードページにアクセスし JDK ダウンロード をクリックする Java SE Development Kit 6u23 ブロックにある Oracle Binary Code License Agreement for Java SE と書かれたリンクをクリックするとライセンスが表示される 内容を確認し 同意できる場合 Accept License Agreement を選択し jdk-6u23-windows-i586.exe をクリックして ダウンロード 実行する 表 4-1 JDK のダウンロード URL ダウンロードページ http://www.oracle.com/technetwork/java/javasebusiness/downloads/jav a-archive-downloads-javase6-419409.html#jdk-6u23-oth-jpr (b) 環境変数の設定 インストール後 表 4-2 にある環境変数を設定する 表 4-2 環境変数の設定項目 (JDK 関連 ) JAVA_HOME PATH 環境変数 JDK のインストール先 %PATH%;%JAVA_HOME% bin; 設定内容 -11-

(2) OpenRTM-aist-Java 1.0.0-RELEASE (a) インストール表 4-3のURLよりインストーラをダウンロードし 実行する インストーラを実行するとウィザードが起動するので ウィザードに従って インストールする 表 4-3 OpenRTM-aist-Java 1.0.0-RELEASE のダウンロード URL ダウンロードページ ダウンロードファイル http://www.openrtm.org/openrtm/ja/node/933 http://www.openrtm.org/pub/windows/openrtm-aist/java/openrtmaist-java-1.0.0.msi (3) OpenRTM Eclipse tools 1.0-RELEASE (a) インストール表 4-4のURLよりファイルをダウンロードし 展開する 展開するとeclipsというディレクトリができる 表 4-4 OpenRTM Eclipse tools 1.0-RELEASE のダウンロード URL ダウンロードページ ダウンロードファイル http://www.openrtm.org/openrtm/ja/content/openrtm-eclipse-tools-10-r elease#toc0 http://www.openrtm.org/pub/openrtm-aist/tools/1.0.0/eclipse342_rtm tools100release_win32_ja.zip (4) Apache Ant 1.8.2 (a) インストールの URL にアクセスし 左側メニューの中の Download ブロックの中にある Binary Distributions と書かれたリンクをクリックする -12-

ページ中段付近の Current Release of Ant と書かれたブロックにある apache-ant-1.8.0-bin.zip と書かれたリンクをクリックし ダウンロードを行う ダウンロードしたファイルを展開する 展開すると apache ant-1.8.2 というディレクトリができる 表 4-5 ANT の URL Apache ANT http://ant.apache.org/ (b) 環境変数の設定インストール後 表 4-2にある環境変数を設定する 表 4-6 環境変数の設定項目 (ANT 関連 ) ANT_HOME PATH 環境変数 ANT のインストール先 %PATH%;%ANT_HOME% bin; 設定内容 4.1.2. インストール (1) インストール表 4-7のRTC 再利用センターへアクセスし 登録されているzip ファイルをダウンロードし 以下の手順でeclipse にプロジェクトをインポートする 1. SDLEngine.3.0.zip を展開する 2. eclipse を起動する 3. Java パースペクティブにする 4. ファイルメニューの 新規 から Java プロジェクト を選択し プロジェクト名を SRPCommon として作成する 5. ファイルメニューから インポート を選択し 一般 の ファイル システム を選ぶ 6. 次に進み 参照 で SDLEngine.3.0 の中の SRPCommon を選択する 7. プロジェクトをワークスペースにコピー を選択し その後 終了 を選択する 8. SDLEngine も 4.~7. の手順でインポートする 9. SDLEngine 以下に lib と rtc/java のディレクトリを作成する 表 4-7 SDLEngine のダウンロード URL ダウンロードページ http://www.openrtp.jp/reuse_web/comp_detail.php -13-

(2) ビルド Eclipse あるいは Ant を用いて ビルドを実行する (a) Eclipseによるビルド Eclipse 上でビルドを実行する 自動的にビルド が有効になっていれば 特に行うことはない ビルド後に問題が発生していなければ ビルドは完了である (b) Antによるビルドビルドファイルである SDLEngine/build.xml 中の compile ターゲットを起動する 4.2. 設定 カスタマイズ手順 (1) 設定 3.3.3(3) 設定ファイル を参照のこと (2) カスタマイズ build.xml にて インタフェースのカスタマイズおよび SDLEngine と同じ VM 上で動作するコンポーネントの作成等を実施することができる インタフェースのカスタマイズに関しては 3.3.3 インタフェース仕様 を参照のこと コンポーネントを作成する場合は <target> を追加し build.xmlのrtc.all ターゲットに追加したターゲットを追加する その後 Ant の clean ターゲットと rtc.compile ターゲットを起動する ( リスト 4-3) $ ant clean rtc.compileリスト 4-1にbuild.xmlの定義例を リスト 4-2にbuild.xmlの例を記載する リスト 4-1 追加 RTC 定義例 <target name="gen-rtc-myservice-blank-provider" description="myservice Blank Provider."> <java classname="jp.go.aist.rtm.rtctemplate.cuirtctemplate" fork="true" failonerror="true"> <classpath refid="libs.path" /> <classpath refid="libs.rtctemplate.sdl.path" /> <!-- RTC のソース言語 (JAVA 固定 ) --> <arg value="--backend=java" /> <!-- RTC のソースファイル出力先 --> <arg value="--output=${rtc.java.dir}" /> <!-- RTC 名称 --> <arg value="--module-name=myserviceblankprovider" /> <!-- RTC の説明 --> <arg value="--module-desc='myservice Blank Provider'" /> <!-- RTC の開発元 --> <arg value="--module-vender='kyushu Institute of Technology'" /> <!-- RTC のカテゴリー --> -14-

<arg value="--module-category=example" /> <!-- RTC のコンポーネントタイプ --> <arg value="--module-comp-type=dataflowcomponent" /> <!-- RTC のアクティビティタイプ --> <arg value="--module-act-type=sporadic" /> <!-- RTC の最大インスタンス数 --> <arg value="--module-max-inst=1" /> <!-- ポート名 MyServiceBlankProvider インスタンス名 myservice サービス型 myservice:jp::ac::kyutech::srp::demo::myservice のサービスポート --> <arg value="--service=myserviceblankprovider:myservice:jp::ac::kyutech::srp::demo::mys ervice" /> <!-- IDL は SDLEngine/main/idl/MyService.idl --> <arg value="--service-idl=${main.idl.dir}/myservice.idl" /> </java> </target> リスト 4-2 build.xml 定義例 <target name="rtc.all" description="generate RTComponents code."> <!-- Append rtc generation target --> <antcall target="gen-rtc-sdl-engine" /> <antcall target="gen-rtc-myservice-blank-provider" /> <!-- Append rtc generation target --> </target> リスト 4-3 Ant の clean ターゲットと rtc.compile ターゲットの起動 $ ant clean rtc.compile -15-

4.3. 起動 終了手順ロボット用スクリプトエンジンモジュールの起動 終了方法について記述する (1) 起動あらかじめ CORBA のネーミングサービスを起動しておく SDLEngine/rtc.conf のネームサーバの指定を確認したうえで 以下のいずれかの方法で起動する SDLEngine/build.xml 中の run-console ターゲットを起動する Eclipse より jp.ac.kyutech.srp.console クラスを起動する Ant を利用した bat ファイル (SDLEngine/doc/SDLEngine.bat) を起動する正常に起動すると SDLEngine のコンソールウィンドウが表示される 図 4-1 SDLEngine コンソール (2) 終了 SDLEngineコンソール上でリスト 4-4を入力するか コンソールウィンドウの終了ボタン ( ) を押下する リスト 4-4 SDLEngine の終了 bsh% exit(); -16-

(3) SDLEngineスクリプト SDLEngine スクリプトは BeanShell を基盤とする 主に以下の機能を有する Java1.4 に準拠したインタプリタ 既存の Java クラスのインスタンス化と実行 BeanShell で用意された関数群の利用 (a) RTC 操作オブジェクト RTC を操作するにあたって重要となるオブジェクトについて説明する 1 rtc.envオブジェクト RTCオブジェクト群を操作するために 必要な情報を保持し 便利なメソッドを提供する Bsh Objectである 表 4-8に主なメソッドや変数を リスト 4-5に使用例を記載する 表 4-8 rtc.envオブジェクトの主要メソッド No メソッド / 変数説明 1 コンストラクタ ネーミングサーバのホスト名とポート番号を引数で指定するこ と 2 get_names() ネーミングサーバに接続されている全オブジェクト名を取得す る 3 get_handles() ネーミングサーバに接続されているオブジェクトのハンドルを 取得する connect() メソッドや handles 変数を使用する前に呼 び出すこと 4 connect() 引数で指定された 2 つのポートを接続する 5 handles 変数 RTC の名前をキーに rtc.handle オブジェクトを保持する RtcLink RTSystemEditor などで表示されるコンポーネントの インスタンス名を名前として指定すること リスト 4-5 rtc.env 使用例 // ネーミングサーバ指定 env = rtc.env("localhost", 5005); // SDLEngine をローカルオブジェクトとして起動 sdlengine = rtc.local_component("sdlengine", "SDLEngine"); // ネーミングサーバに登録されているオブジェクトのハンドラを取得 handles = env.get_handles(); // SDLEngine を Activate env.handles{"sdlengine0.rtc"}.activate(); 2 rtc. local_componentオブジェクト SDLEngine と同じJVM 上 ( ローカル ) で動作するRTC オブジェクトを操作するために ラッピングするBsh Object である RTC オブジェクトと一対一となる 表 4-9 rtc.local_componentオブジェクトの主要メソッドに主なメソッドや変数を リスト 4-6に使 -17-

用例を記載する 表 4-9 rtc.local_component オブジェクトの主要メソッド No メソッド / 変数説明 1 コンストラクタ RTC の名前とクラス名を引数で指定すること 2 get_ports() ポートオブジェクトのリストを取得する 3 local_ports 変数 ポートを操作するためのオブジェクトを 名前をキーにして保持 する これにより 各ポートに対応する RTC の Java メソッド を SDLEngine スクリプトから直接起動できる リスト 4-6 rtc.local_component 使用例 // ネーミングサーバ指定 env = rtc.env("localhost", 5005); // SDLEngine をローカルオブジェクトとして起動 sdlengine = rtc.local_component("sdlengine", "SDLEngine"); // ネーミングサーバに登録されているオブジェクトのハンドラを取得 handles = env.get_handles(); // vehicleservice ポートに対応する RTC オブジェクトの setservo メソッドを起動 sdlengine.local_ports{"vehicleservice"}.setservo(true); (b) サンプル 1 サービスポートの操作リスト 4-7に以下の処理を行うスクリプトの例を記載する 1.RT コンポーネントを 2 つ作成する 2.SDLEngine のから MyServiceBlankProvider に対して echo("hello world") のメッセージを送信する 3.MyServiceBlankProvider がコンソールに受信した文字を出力する Method: echo invoked: [hello world] リスト 4-7 サービスポート利用例 // ネーミングサーバ指定 env = rtc.env("localhost", 5005); // MyServiceBlankProvider をローカルオブジェクトとして起動 myserviceprovider = rtc.local_component("myserviceblankprovider", "MyServiceBlankProvider"); // SDLEngine をローカルオブジェクトとして起動 sdlengine = rtc.local_component("sdlengine", "SDLEngine"); // ネーミングサーバに登録されているオブジェクトのハンドラを取得 handles = env.get_handles(); // myserviceblankprovider のポートと SDLEngine のポートを接続 env.connect(env.handles{"myserviceblankprovider0.rtc"}.ports {"MyServiceBlankProvider0.MyServiceBlankProvider"}, -18-

env.handles{"sdlengine0.rtc"}.ports{"sdlengine0.myserviceconsumer"}); // MyServiceBlankProvider を Activate env.handles{"myserviceblankprovider0.rtc"}.activate(); // SDLEngine を Activate env.handles{"sdlengine0.rtc"}.activate(); // myserviceprovider に対し myservice に対応するリスナーを設定 myserviceprovider.local_ports{"myservice"}.addlistener (new jp.ac.kyutech.srp.scripting.providerlistener() { invoke(name, args) { print("method:" + name + "invoked:" + java.util.arrays.aslist(args)); } }); // SDLEngine の myservie にある echo( hello world ) を起動 print(sdlengine.local_ports{"myservice"}.echo("hello world")); 2 データポートの操作リスト 4-8に以下の処理を行うスクリプトの例をリスト 4-9からリスト 4-12に実行例を記載する 1.RT コンポーネントを 2 つ作成する 2.SDLConsoleIn にて コンソールから受け付けた入力内容を SDLEngine に対して 送信する 3.SDLEngine が受信した内容をコンソールに出力する リスト 4-8 データポート利用例 // ネーミングサーバ指定 env = rtc.env("localhost", 5005); // SDLEngine をローカルオブジェクトとして起動 sdlengine = rtc.local_component("sdlengine", "SDLEngine"); // コンソールから入力を受け付けるローカルコンポーネントを起動 sdlconsolein = rtc.local_component("sdlconsolein", "SDLConsoleIn"); // ネーミングサーバに登録されているオブジェクトのハンドラを取得 handles = env.get_handles(); // SDLEngine の in ポートと SDLConsoleIn の out ポートを接続 env.connect(env.handles{"sdlengine0.rtc"}.ports{"sdlengine0.in"}, env.handles{"sdlconsolein0.rtc"}.ports{"sdlconsolein0.out"}); // SDLEngine を Activate env.handles{"sdlengine0.rtc"}.activate(); // SDLConsoleIn を Activate env.handles{"sdlconsolein0.rtc"}.activate(); // sdlengine の in ポートに対応するリスナーを設定 sdlengine.local_ports{"sdlengine0.in"}.addlistener (new jp.ac.kyutech.srp.scripting.inportlistener() { datareceived(event) { value = event.getvalue(); print("received:"+value.data+"("+value.tm.sec+","+value.tm.nsec+")"); } }); -19-

リスト 4-9 実行例 1( 入力例 ) sdlconsolein.local_ports{" SDLConsoleIn0.out"}.put(1); リスト 4-10 実行例 1( 表示例 ) Received: 1 (1295249314, 3400000000) リスト 4-11 実行例 2( 入力例 ) // 時刻指定をして送信 sdlconsolein.local_ports{"sdlconsolein0.out"}.put(1, new RTC.Time(1234,0)); リスト 4-12 実行例 2( 表示例 ) Received: 1 (1234, 0) 3 既存のRTCを利用した操作リスト 4-8では ローカルのコンポーネントを利用したが サンプルとして提供されている ConsoleInと接続し 動作させることも可能である 先にConsoleInを起動しておき リスト 4-13のスクリプトを実行する ConsoleInのコンソール画面より数値を入力するとSDLEngine コンソール上に入力された数値が表示される リスト 4-13 データポート利用例 // ネーミングサーバ指定 env = rtc.env("localhost", 5005); // SDLEngine をローカルオブジェクトとして起動 sdlengine = rtc.local_component("sdlengine", "SDLEngine"); // コンソールから入力を受け付けるローカルコンポーネントを起動 sdlconsolein = rtc.local_component("sdlconsolein", "SDLConsoleIn"); // ネーミングサーバに登録されているオブジェクトのハンドラを取得 handles = env.get_handles(); // SDLEngine の in ポートと ConsoleIn の out ポートを接続 env.connect(env.handles{"sdlengine0.rtc"}.ports{"sdlengine0.in"}, env.handles{"consolein0.rtc"}.ports{"consolein0.out"}); // SDLEngine を Activate env.handles{"sdlengine0.rtc"}.activate(); // ConsoleIn を Activate env.handles{"consolein0.rtc"}.activate(); // sdlengine の in ポートに対応するリスナーを設定 sdlengine.local_ports{"sdlengine0.in"}.addlistener (new jp.ac.kyutech.srp.scripting.inportlistener() { datareceived(event) { value = event.getvalue(); print("received:"+value.data); } }); -20-

5 制限事項特になし -21-

6 付録 6.1. メッセージ一覧 6.1.1. メッセージ一覧 (SDLEngine) No. レベル メッセージ 説明 1 info Initialized: 初期化処理を行った際に出力する 2 trace Execute inportsupport: returncode=[ 戻り値 ] 3 error Failure inport onexecute: トレース指示がある場合のみ インポートよりデータを取得した際に出力する インポートからのデータ取得でエラーが発生した場合 出力する 4 trace Execute outportsupport: returncode=[ 戻り値 ] 5 error Failure outport onexecute: トレース指示がある場合のみ アウトポートへデータを出力した際に出力する アウトポートへのデータ出力でエラーが発生した場合 出力する 6 trace Execute consumersupport: returncode=[ 戻り値 ] 7 error Failure consumer onexecute: トレース指示がある場合のみ コンシューマポートを実行した際に出力する コンシューマポートの実行でエラーが発生した場合 出力する 8 warn ReturnCode is null: コンシューマポートの実行結果が NULL の場合 出力する 9 info Reset the outportsupport: アウトポートをリセットした際に出力する 10 info Reset the consumersupport: コンシューマポートをリセットした際に出力する -22-

6.1.2. メッセージ一覧 (ConsoleIn) No. レベルメッセージ説明 1 info Initialized: 初期化処理を行った際に出力する 2 trace Execute inportsupport: returncode=[ 戻り値 ] 3 error Failure inport onexecute: トレース指示がある場合のみ インポートよりデータを取得した際に出力する インポートからのデータ取得でエラーが発生した場合 出力する 4 trace Execute outportsupport: returncode=[ 戻り値 ] 5 error Failure outport onexecute: トレース指示がある場合のみ アウトポートへデータを出力した際に出力する アウトポートへのデータ出力でエラーが発生した場合 出力する 6 trace Execute consumersupport: returncode=[ 戻り値 ] 7 error Failure consumer onexecute: トレース指示がある場合のみ コンシューマポートを実行した際に出力する コンシューマポートの実行でエラーが発生した場合 出力する 8 warn ReturnCode is null: コンシューマポートの実行結果が NULL の場合 出力する 9 info Reset the outportsupport: アウトポートをリセットした際に出力する 10 info Reset the consumersupport: コンシューマポートをリセットした際に出力する -23-

6.1.3. メッセージ一覧 (ConsoleIn2) No. レベルメッセージ説明 1 info Initialized: 初期化処理を行った際に出力する 2 trace Execute inportsupport: returncode=[ 戻り値 ] 3 error Failure inport onexecute: トレース指示がある場合のみ インポートよりデータを取得した際に出力する インポートからのデータ取得でエラーが発生した場合 出力する 4 trace Execute outportsupport: returncode=[ 戻り値 ] 5 error Failure outport onexecute: トレース指示がある場合のみ アウトポートへデータを出力した際に出力する アウトポートへのデータ出力でエラーが発生した場合 出力する 6 trace Execute consumersupport: returncode=[ 戻り値 ] 7 error Failure consumer onexecute: トレース指示がある場合のみ コンシューマポートを実行した際に出力する コンシューマポートの実行でエラーが発生した場合 出力する 8 warn ReturnCode is null: コンシューマポートの実行結果が NULL の場合 出力する 9 info Reset the outportsupport: アウトポートをリセットした際に出力する 10 info Reset the consumersupport: コンシューマポートをリセットした際に出力する -24-

6.1.4. メッセージ一覧 (ConsoleOut) No. レベルメッセージ説明 1 info Initialized: 初期化処理を行った際に出力する 2 trace Execute inportsupport: returncode=[ 戻り値 ] 3 error Failure inport onexecute: トレース指示がある場合のみ インポートよりデータを取得した際に出力する インポートからのデータ取得でエラーが発生した場合 出力する -25-

6.2. トラブルシューティング (1) ビルドエラー以下を確認し 誤りがあった場合 正しく設定する コンパイラー準拠レベルが 1.5 に設定されているか JAVA_HOME にインストールされている JDK が正しく設定されているか JAVA_HOME/bin にパスが設定されているか SDLEngine/build.xml 中の clean ターゲットを実行してから再度ビルドしてみる (2) 起動エラー以下を確認し 誤りがあった場合 正しく設定する JAVA_HOME にインストールされている JDK が正しく設定されているか JAVA_HOME/bin にパスが設定されているか Eclipse のデフォルト JavaVM が JDK になっているか -26-