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

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

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

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

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

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

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

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

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

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

CLUSTERPRO MC RootDiskMonitor 2.3 for Windows インストールガイド 2018(Jun) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 本製品のアップデートインストール


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

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

新OS使用時の留意事項

miChecker導入手順書

PowerPoint プレゼンテーション

CLUSTERPRO MC ProcessSaver 2.3 for Windows インストールガイド 2018(Jun) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品のアンインストール 本製品のアップデートインストール

zabbix エージェント インストールマニュアル [Windows Server] 第 1.2 版 2018 年 05 月 18 日 青い森クラウドベース株式会社

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

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

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

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

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

ブラウザ Internet Explorer 7 の設定について 第3版

[ 証明書の申請から取得まで ] で受領したサーバ証明書を server.cer という名前で任意の場所に保存してください ( 本マニュアルではローカルディスクの work ディレクトリ [C:\work] に保存しています ) 中間 CA 証明書を準備します 次の URL にアク

はじめに 面的評価支援システム操作マニュアル ( 別冊 ) 国土地理院数値地図 25000( 空間データ基盤 ) 変換編 は 国土地理院の HP よりダウンロードした数値地図 25000( 空間データ基盤 ) の地図データを 面的評価支援システム 用に変換するツールの使用方法についてまとめたものです

スライド 1

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

EV3 の初期設定

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

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

Microsoft Word - tutorial3-dbreverse.docx

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

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

目次 1. はじめに 証明書ダウンロード方法 ブラウザの設定 アドオンの設定 証明書のダウンロード サインアップ サービスへのログイン

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

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

改版履歴 本書の改版履歴は以下のとおりです 日付 改版理由 変更箇所 版数 2014/09/04 初版発行 版 2015/03/30 第 1.1 版に改訂 対象 OS 追加 1.1 版 2015/07/10 第 1.2 版に改訂 対象 OS 追加 1.2 版 2015/09/04 第 1

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

ポリシーマネージャ       Linux版                                 集中管理環境の新規構築

IOWebDOC

PowerPoint プレゼンテーション

Ver.00 改版履歴 版数日付内容担当 V /09/25 新規作成 STS ii

PowerPoint Presentation

1

Ver.50 改版履歴 版数 日付 内容 担当 V //9 新規作成 STS V..0 06/6/ 画像修正 STS V..0 06/6/8 画像修正 STS V /9/5 画像追加 (Windows0 Anniversary の記載 ) STS V // 文言修

はじめに 商業登記電子認証ソフトは, 商業登記に基づく電子認証制度に係る会社 法人の代表者等の電子証明書を取得するために使用する専用ソフトウェアで, 法務省が提供するものです 商業登記電子認証ソフトを用いることにより, 電子証明書の発行申請に必要となるファイルの作成及び電子証明書の取得 ( ダウンロ

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

ChoreonoidとOpenHRIを用いたシステム構築事例

PowerPoint Presentation

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

WinXp-Rmenu

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

Maser - User Operation Manual

改版履歴 版数改版内容 新規作成 i

目次 第 1 章はじめに 電子入札システムを使用するまでの流れ 1 第 2 章 Java ポリシーを設定する前に 前提条件の確認 2 第 3 章 Java のバージョンについて Java バージョン確認方法 Java のアンインストール ( ケース2の

Vista IE7 ブラウザの設定手順

GHS混合物分類判定システムインストールマニュアル

電子申請サービス

CLUSTERPRO MC RootDiskMonitor 1.1 for Windows パトロールシーク機能 インストールガイド 2013(Sep) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

基本設計書

改版履歴 版数 改版 内容 新規作成 Microsoft.NET Framework のダウンロード先 URL を追記 バージョンアップに伴い改版 i

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

CLUSTERPRO MC RootDiskMonitor 2.3 for Windows リリースメモ 2018(Jun) NEC Corporation はじめに ライセンス 動作要件 セットアップ マニュアル

ごあいさつ このたびは ESMPRO/AC Advance マルチサーバオプション Ver3.6(1 ライセンス ) をお買い上げ頂き 誠にありがとうございます 本書は お買い上げ頂きましたセットの内容確認 セットアップの内容 注意事項を中心に構成されています ESMPRO/AC Advance マ

Windows ログオンサービス インストールマニュアル 2018/12/21 1

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

電子申請サービス

セットアップの流れ Graphtec Pro Studio を使用する SAi Cloud へのユーザー登録 1-1 SAi Cloud へのユーザー登録 Graphtec Pro Studio のインストール 1-2 Graphtec Pro Studio のインストール Cutting Mast

Fortinet 社 FortiExplorer 操作マニュアル 株式会社ネットワークバリューコンポネンツ 第一版 Page1 Network Value Components Ltd. Copyright (c)2012 Network Value Components Ltd. All Righ

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

RDP 接続不具合パッチ適用手順 第 1.11 版更新日 :2016/8/30 NTT コミュニケーションズ株式会社

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

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

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

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

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

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

URoad-TEC101 Syslog Guide

Cuoreテンプレート

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

証明書インポート用Webページ

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

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

アップデート手順概要

Shareresearchオンラインマニュアル

ポップアップブロックの設定

eYACHO 管理者ガイド

クラウドファイルサーバーデスクトップ版 インストールマニュアル ファイルサーバー管理機能 第 1.1 版 2017/01/24 富士通株式会社

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

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

スライド 1

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

ホンダにおける RT ミドルウェア開発と標準化活動 株式会社本田技術研究所基礎技術研究センター関谷眞

RaQuest スターターセット インストールマニュアル

MENU 키를 누르면 아래의 화면이 나타납니다

OKI Universal Hiper-C プリンタドライバ ユーザーズマニュアル ( セットアップと使い方編 ) 最終更新日 2012 年 9 月第 2 版

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

Transcription:

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル ( 別冊 ) 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 1.5. ライセンス...2 2 システム構成... 3 2.1. システム概要...3 2.2. 使用条件...3 2.3. ハードウェア仕様...3 3 コンポーネント仕様 (SOARRTC)... 4 3.1. インタフェース仕様...4 3.1.1. データポート...4 3.1.2. サービスポート...4 3.1.3. コンフィギュレーション...4 3.1.4. 設定ファイル...4 3.1.5. その他ファイル...4 3.2. プロダクションルール...5 3.2.1. 基本文法...5 3.2.2. メモリイメージ...5 3.3. 実行 ( 基本操作 )...6 3.3.1. コンポーネントの起動...6 3.3.2. SoarDebuggerへの接続...6 3.3.3. スクリプトの実行...7 4 使用例... 8 -ii-

4.1. 使用例一覧...8 4.2. HELLOWORLD...8 4.2.1. スクリプト...8 4.2.2. 実行...9 4.3. 最大値取得...10 4.3.1. スクリプト...10 4.3.2. 実行... 11 4.4. 最大値取得と割り込み対応...12 4.4.1. スクリプト...12 4.4.2. 実行...13 表目次表 1-1 適用文書一覧...1 表 1-2 関連文書一覧...1 表 1-3 参考文書一覧...1 表 1-4 音声対話システム用語一覧...2 表 2-1 動作環境...3 表 3-1 SoarRTC: インポート一覧...4 表 3-2 SoarRTC: アウトポート一覧...4 表 4-1 Soarシステム使用例一覧...8 表 4-2 SamplePatternGeneratorRTCのダウンロードURL... 11 図目次図 2-1 イメージ...3 図 3-1 init-sore 直後のメモリイメージ...5 図 4-1 Hello Wordのメモリイメージ...9 図 4-2 Hello Word 実行後のSoar Debugger 画面...9 -iii-

1 総則 1.1. 目的本書は 音声対話システムの別冊として OpenHRI に含まれる SoarRTC の使用方法につい て 記述した文書である 1.2. 適用範囲本書は OpenHRI に含まれる SoarRTC を用いたシステムに対して適用する 1.3. 関連文書等 1.3.1. 適用文書本書の適用文書を表 1-1 に示す 表 1-1 適用文書一覧 No 文書名版数発行元 1 コミュニケーション知能コンポーネント共通規格 第 1 版 NEDO 次世代ロボット知能化技 術開発プロジェクト コミュニケー ション知能 SWG 1.3.2. 関連文書 表 1-2 関連文書一覧 No 文書名版数発行元 1 音声処理モジュール群マニュアル 1.0 独立行政法人産業技術総合研究所 株式会社セック 2 音声対話システムマニュアル 1.0 独立行政法人産業技術総合研究所 株式会社セック 3 The Soar User s Manual 9.1 John E. Laird and Clare Bates Congdon User interface sections by Karen J. Coulter Electrical Engineering and Computer Science Department University of Michigan 4 The Soar 9 Tutorial August 27, 2008 John E. Laird University of Michigan 1.3.3. 参考文書 表 1-3 参考文書一覧 No 文書名 版数 発行元 1 Web OpenHRI Webサイト (http://openhri.net/) - 独立行政法人産業技術総合研究所 -1-

1.4. 定義 1.4.1. 用語 表 1-4 音声対話システム用語一覧 No 用語説明 1 AIST 独立行政法人産業技術総合研究所 ( 産総研 ) 2 RTM RT ミドルウェア 3 RTC RT コンポーネント 4 OpenHRI 産総研にて開発された音声認識 音声合成 対話制御など ロボット のコミュニケーション機能の実現に必要な各要素を実現するコンポ ーネント群 5 Soar プロダクションシステムエンジン 1.4.2. 座標系音声対話システムでは 座標は取り扱わない 1.5. ライセンス OpenHRI のライセンスは Eclipse Public License (EPL) である http://www.eclipse.org/legal/epl-v10.html EPL は コードの改変や再配布 営利利用を許可するオープンソースライセンスであるが 場合によっては改変内容をライセンス元に開示する必要がある OpenHRI が内部で用いている Julius や Open JTalk などのそれぞれのソフトウェアについては 各々のライセンスに従う なお 本書は クリエイティブ コモンズ表示 2.1 ライセンス (http://creativecommons.org/licenses/by-sa/2.1/jp/) の下に提供される -2-

2 システム構成 2.1. システム概要 Soar はプロダクションシステムエンジンである プロダクションシステムは 人工知能を実 現するための処理系のひとつで 振る舞いの規則である条件部 (IF) とアクション部 (Then) から構成される プロダクションルールの記述に従ってメモリ上に格納されたデータを更新し 推論 ( これまで の検索を考慮し 次の行動を決定 ) することにより 徐々にゴールに近い状態を取るよう検索を繰り返していく 推論の深さ浅さを自由にコントロールできるため ルールの記述次第では人間と同様の経験による推論や投機的な推論も実現可能となる 問題空間 : システムがりうる状態の集合 CBA CAB ACB ゴール BCA BAC ABC 図 2-1 イメージ 2.2. 使用条件システムの動作環境を表 2-1 に示す 表 2-1 動作環境 No. 要求環境備考 1 OS Linux Ubuntu 10.04 以上を推奨 2 Windows WindowsXP 3 ミドルウェア OpenRTM-aist 1.0.0-RELEASE (Python) 4 ツール RT-SystemEditor RTC の操作に必要となる 5 Soar Java Debugger Soar の操作に必要となる 2.3. ハードウェア仕様 SoarRTC は特定のハードウェアに依存するものではない -3-

3 コンポーネント仕様 (SoarRTC) 3.1. インタフェース仕様 3.1.1. データポート (1) インポート SoarRTC で定義するインポートについて表 3-2 に記述する SoarRTC では インポート接続時に新たなインポートが増設される ポート名は inport0 inport1 inport2 inportn(n: 数値 ) となる 表 3-1 SoarRTC: インポート一覧 ポート名型インタフェース型説明 1 inport0 Any,TimedString RTC Soar への入力データ 接続時に増設 される (2) アウトポート SoarRTCで定義するアウトポートについて表 3-2に記述する SoarRTC では アウトポート (outport で始まるポート ) が接続時に新たなアウトポートが増設される ポート名は outport0 outport1 outport2 outportn(n: 数値 ) となる 表 3-2 SoarRTC: アウトポート一覧 ポート名型インタフェース型説明 1 command TimedStroutg RTC コマンドデータ 2 outport0 Any,TimedStroutg RTC 出力データ 接続時に増設される 3.1.2. サービスポート SoarRTC はサービスポートを定義しない 3.1.3. コンフィギュレーション SoarRTC はコンフィギュレーションを定義しない 3.1.4. 設定ファイル SoarRTC 独自の設定ファイルはない rtc.conf のみ使用する 3.1.5. その他ファイル SoarRTC は プロダクションルール ( スクリプト ) に従って動作する プロダクションルールを記載したスクリプトファイル名の拡張子は.soar となる -4-

3.2. プロダクションルール 3.2.1. 基本文法 Soar のプロダクションルールの基本文法をエラー! 参照元が見つかりません に示す リスト 3-1 Soar スクリプト ( 基本文法 ) sp { ルール * 名前 ( 条件 ) ( 条件 ) # 条件部とアクション部の境界 ( アクション ) ( アクション ) 3.2.2. メモリイメージ S1 1 ^superst t ^type ^io nil state I1 ^output-link ^input-link I3 I2 凡例識別子 ^ 属性値 図 3-1 init-sore 直後のメモリイメージ -5-

3.3. 実行 ( 基本操作 ) SoarRTC を動作させる場合の基本操作について記述する 3.3.1. コンポーネントの起動 (1) Ubuntu 1. ネームサーバを起動する 2. RTSystemEditor を起動する 3. SoarRTC を起動する 4. SoarDebugger を起動する リスト 3-2 soarrtc と soardebugger の起動 $ soarrtc $ soardebugger (2) Windows 1. ネームサーバを起動する 2. RTSystemEditor を起動する 3. SoarRTC を起動する [ スタートメニュー ] -[OpenHRI]-[dialogmanager] -[SoarRTC] を起動する 4. SoarDebugger を起動する SoarSuite を解凍したフォルダ内の SoarJavaDebugger.bat を起動する 3.3.2. SoarDebugger への接続 1. SoarDebugger のメニューの [Kernel]-[Connect to remote Soar] を選択する 2. 警告画面が表示されるが OK を押下する -6-

3. Remote Soar Kernel Connection ダイアログで以下を設定し OK を押下する IP アドレス :127.0.0.1 ポート番号 :12121( デフォルトのまま ) 3.3.3. スクリプトの実行 1. Inist-Soar を押下する 2. Source を押下する ファイル選択ダイアログが表示されるので スクリプトファイルを選択する 3. Run を押下する -7-

4 使用例 4.1. 使用例一覧対話制御コンポーネントを利用した音声対話システムのサービスを表 4-1 に記述する 表 4-1 Soar システム使用例一覧 No 名称説明 1 Hellow World HelloWorld を SoarDebugger の画面へ出力する 2 最大値取得入力ポートより入力された値の中から最大値を出力する 3 最大値取得と割り込み対応 入力ポートより入力された値の中から最大値を出力し 割り込み があった場合に Emergency と音声で伝える 4.2. HelloWorld HelloWorld を SoarDebugger の画面へ出力する 4.2.1. スクリプトリスト 4-1 は HellowWorld のスクリプト例である 本例では "propose*hello-world" と "apply*hello-world" の 2 つのプロダクションルールで構成される リスト 4-1 Soar スクリプト (hello.soar) sp {propose*hello-world # hello-world proposeフェーズ (state <s> ^type state) # メモリ <s> のtypeの値がstateである場合 ( 初期状態 ) (<s> ^operator <o> +) # メモリ <s> 直下に (<o> ^name hello-world) # hello-worldという名前のオペレータを登録する sp {apply*hello-world (state <s> ^operator <o>) (<o> ^name hello-world) (write Hello World ) (halt) # hello-world applyフェーズ # メモリ <s> 直下に # hello-worldという名前のオペレータがある場合 # Hello World を出力する 文字列は" " で囲む # 停止する ^type state s ^operator o ^name hello-world -8-

図 4-1 Hello Word のメモリイメージ 4.2.2. 実行 3.3 実行 ( 基本操作 ) に従い 実行する スクリプトによる出力 図 4-2 Hello Word 実行後の Soar Debugger 画面 -9-

4.3. 最大値取得 RT コンポーネントと接続し 各入力ポートより入力された値の中から最大値を取得し 出力 する 4.3.1. スクリプト最大値取得のスクリプト例をエラー! 参照元が見つかりません に示す 本例では 以下の 4 つのプロダクションルールで構成される propose*print-value: 入力データを取得するためのルール propose*remove*old-print-value: 同一 RTC の同一ポートからの最新値を取得するためのルール elaborate*bigger-value: ソート機能を実現するためのルール apply*print-value: コンソールへの出力するためのルール リスト 4-2 Soar スクリプト (maxvalue.soar) sp {propose*print-value # print-value proposeフェーズ (state <s> ^io.input-link.data <d>) # 入力データの (<d> ^datatype RTC.TimedLong # データ型がRTC.TimedLongである場合 ^data <v> ^time <t> ^port <p>) (<s> ^operator <o> +) # メモリ <s> 直下の <o> に次のオペレータを登録する (<o> ^name print-value # 名前 :print-value ^data <v> # データ : 入力データの値 ( 数値 ) ^time <t> # 時間 : 入力データの時刻情報 # コンポーネント : 入力元 RTC 名 ^port <p>) # ポート : 入力元 RTCの出力ポート名 sp {propose*remove*old-print-value # remove*old-print-value proposeフェーズ (state <s> ^operator <o1> # メモリ <s> 直下の ^operator <o2>) # オペレータについて (<o1> ^name print-value # 名前がprint-value ^port <p> ^time <t1>) (<o2> ^name print-value # コンポーネント名が <o1><o2> で同じ ^port <p> # ポート名が <o1><o2> で同じ ^time < <t1>) # 時刻情報が <o1> より古い場合 (<s> ^operator <o2> -) # 時刻情報が古い方 (<o2>) を削除する sp {elaborate*bigger-value # bigger-value elaborateフェーズ (state <s> ^operator <o1> + # メモリ <s> 直下の ^operator <o2> +) # print-valueという名前のオペレータについて (<o1> ^name print-value ^data <v1>) (<o2> ^name print-value ^data < <v1>) # データの値が <o1> より小さい場合 -10-

(<s> ^operator <o1> > <o2>) # <o2> よりも <o1> を優先する sp {apply*print-value # print-value applyフェーズ (state <s> ^operator <o>) # メモリ <s> 直下の (<o> ^name print-value # print-valueという名前のオペレータがある場合 ^data <v> ^port <p>) (write Max value <v>, Component <c>, Port <p>) # Max value 最大値( 最優先のprint-valueオペレータの値 ) # Component 最大値の入力元 RTC 名 # Port 最大値の入力元 RTCのポート名を出力する 4.3.2. 実行 (1) SamplePatternGeneratorRTC (a) 取得表 4-2のURLよりダウンロードし ファイルを展開する 表 4-2 SamplePatternGeneratorRTCのダウンロードURL ダウンロードファイル https://github.com/yosuke/ XableRTC/zipball/master (b) 起動 Ubuntu リスト 4-3に示すコマンドを実行する リスト 4-3 SamplePatternGeneratorRTCの起動 $ cd [SamplePatternGeneratorRTCの展開フォルダ] $ python SamplePatternGeneratorRTC Window SamplePatternGeneratorRTC.py をダブルクリックする (2) コンポーネントの起動 3.3 実行 ( 基本操作 ) に従い 実行する スクリプト実行前に RTSystemEditor にて SamplePatternGeneratorRTC の適当な数の出力ポートと SoarRTC の入力ポートを接続し アクティベートしておくこと -11-

4.4. 最大値取得と割り込み対応 RT コンポーネントと接続し 各入力ポートより入力された値の中から最大値を取得し 出力 する データ内容が emergency であった場合 最優先で処理を行う 4.4.1. スクリプト割り込み対応のスクリプト例をに示す 本例では 以下の 3 つのプロダクションルールで構成される propose*emergency: 入力データを取得し emergency データのを最優先処理するためのルール propose*remove*old-emergency: 同一 RTC の同一ポートからのデータが最優先であることを確認するためのルール apply*print-emergency: コンソールおよびコマンドポートへ出力するためのルール リスト 4-4 Soar スクリプト (emergency.soar) sp {propose*emergency # emergency proposeフェーズ (state <s> ^io.input-link.data <d>) # 入力データの (<d> ^datatype RTC.TimedString # データ型がRTC.TimedString ^data emergency # データ内容がemergencyである場合 ^time <t> ^port <p>) (<s> ^operator <o> + >) # メモリ <s> の <o> に最優先でオペレータを登録する (<o> ^name emergency # 名前 :emergency ^data Emergency # データ :"Emergency" ^time <t> # 時間 : 入力データの時刻情報 # コンポーネント : 入力元 RTC 名 ^port <p>) # ポート : 入力元 RTCの出力ポート名 sp {propose*remove*old-emergency # remove*old-emergenc proposeフェーズ (state <s> ^io.input-link.data <d> # 入力データと ^operator <o>) # オペレータについて (<d> ^datatype RTC.TimedString # データ型がRTC.TimedString ^data <> emergency # データ内容がemergencyでない場合で ^time <t> ^port <p>) (<o> ^name emergency # emergencyという名前のオペレータの ^time < <t> # 時間が入力データよりも古い場合 ^port <p>) (<s> ^operator <o> -) # オペレータから当該データを削除する sp {apply*print-emergency # print-emergency applyフェーズ (state <s> ^operator <o> ^io.output-link <ol>) # emergencyという名前のオペレータがある場合 (<o> ^name emergency) (write Emergency!!! ) # Emergency!!! と出力する (<ol> ^rtcout <o> ) # 出力ポートにオペレータ内容を出力する -12-

4.4.2. 実行 (1) コンポーネントの起動 3.3 実行 ( 基本操作 ) に従い 実行する スクリプト実行前に以下のコンポーネントを起動し RTSystemEditor にて 各 RTC を接続 し アクティベートしておくこと SoreRTC SamplePatternGeneratorRTC FestivalRTC PortAudioOutput/PulseAudioOutput -13-