rtcmd:launch
Simple Wiki Based Contents Management System
ソフトウェア関連 >> rtcmd >> rtcmd:launch

launch:ファイルの内容を実行

書式

launch [オプション] filename

オプション

'-v'
現在実行中のコマンドを表示します。

概要

このコマンドは、ファイルに記載さえた内容を一行づつ読込、rtcmdのコマンドとして逐次実行を行います
コマンドの実行中にエラーが発生した場合には、そこで処理を中断して終了します。
rtcmdでは、制御構造を記述できませんので、単純なコマンドのバッチ処理のみが可能です。

使用法

launchコマンドを使用するとRTCの起動、ポートの接続、アクティベーションなどが利用できますので、RTシステムの簡単なテストを行うことができます。
OpenHRIのOpenJTalkとJuliusのテストとして、下のようなスクリプトを記述することができます。
#
#  Start Components
start OpenJTalkRTC
start JuliusRTC dictation

#
#  Wait for booting up the components
wait_for 30 -c JuliusRTC0
wait_for 30 -c OpenJTalkRTC0

#
# Connect port
connect OpenJTalkRTC0:result JuliusRTC0:data

#
# Activate all components
activate all

wait_for 30 -c JuliusRTC0 -f self.check_active
wait_for 30 -c OpenJTalkRTC0 -f self.check_active

print -m myfmt -l JuliusRTC0:result#myfmt.julius_result   # background printer
inject --seat OpenJTalkRTC0:text -c こんにちは、今日はいい天気ですね。
# inject OpenJTalkRTC0:text -c TimedString({time}, encodeStr("こんにちは、今日はいい天気ですね。"))

wait_for 4

print_exit
deactivate all
terminate all
このスクリプトをlaunchコマンドで実行すると下のような出力が得られます。
 > rtcmd launch tts-julius.rtcmd
OK
OK
OK
OK
== Create Inport
=======print: myfmt.julius_result
Connector_id: 51d8f3a2-dcfb-11e9-888a-0015afcb7037
== Create Outport
=== inject ====
---------
#1: こんにちは 。 (0.810000)
#2: 今日 は 。 (0.612333)
#3: 今日 わ 。 (0.603667)
#4: こんにちは 、 。 (0.508333)
#5: あ 、 こんにちは 。 (0.525000)

---------
#1: 今日 は いい 天気 です ね 。 (0.469286)
#2: きょう は いい 天気 です ね 。 (0.421429)
#3: 今日 ゎ いい 天気 です ね 。 (0.475143)
#4: 競売 いい 天気 です ね 。 (0.456333)
#5: 、 きょう は いい 天気 です ね 。 (0.413000)

omniORB: (0) 2019-09-22 14:39:27.985000: Error: the object table still contains 2 entries at ORB shutdown time.
omniORB: (0) 2019-09-22 14:39:27.985000: Assertion failed.  This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
 file: omniInternal.cc
 line: 1558
 info: numObjectsInTable == 0