4. intdash ROS2Bridgeの設定¶
intdash ROS2Bridgeの設定は、yaml形式の設定ファイルで行います。 ここでは設定可能な項目について説明します。
4.1. コールバックのスレッド数¶
コールバックのスレッド数は、トピックのサブスクリプションや、サービスリクエスト、アクションゴールリクエストなどを並列に実行することができる最大数です。
設定例:
num_callback_threads: 15
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
unsigned int |
オプション(デフォルトは10) |
並列にコールバックを実行するために、スレッド数を指定します。実装では |
4.2. FIFOの設定¶
intdash ROS2Bridgeとintdash Edge Agentの間でデータのやり取りをするFIFOの設定を行います。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
map |
オプション |
アップストリーム(ROS2→intdash)の設定を記述します。 upstreamの設定(ROS2→intdash) を参照してください。 |
|
- |
map |
オプション |
ダウンストリーム(intdash→ROS2)の設定を記述します。 downstreamの設定(intdash→ROS2) を参照してください。 |
4.2.1. upstreamの設定(ROS2→intdash)¶
設定例:
upstream:
enabled: true
formats:
- format: "cdr"
writer:
path: "/var/run/intdash/logger_001.tx"
buffering: false
- format: "json"
writer:
path: "/var/run/intdash/logger_002.tx
buffering: false
max_array_size: 100
4.2.1.1. upstream¶
upstreamでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
アップストリームを有効にします。 |
|
- |
map |
必須 |
アップストリームで使用するフォーマットを指定します。 upstream.formats を参照してください。 |
4.2.1.2. upstream.formats¶
formatsでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
フォーマットを指定します。 |
|
- |
map |
必須 |
アップストリームで使用するフォーマットの情報を指定します。 upstream.formats[].writer を参照してください。 |
4.2.1.3. upstream.formats[].writer¶
formatが "cdr"
の場合は以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
FIFOのパスを設定します。指定がない場合は"cdr"によるFIFOは有効になりません。 |
|
|
bool |
オプション(デフォルトはtrue) |
FIFOにデータを書き込む際のバッファを有効にするかどうかを設定します。なお、内部では、バッファを有効にするかをsetvbuf関数により設定しています。 |
formatが"json"の場合は以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
FIFOのパスを設定します。指定がない場合は"json"によるFIFOは有効になりません。 |
|
- |
int |
オプション(デフォルトは無制限) |
JSONの配列に書き込まれる要素数を制限します。この設定はROSメッセージにのみ適用されます。サービスやアクションを識別するUUIDこの制限を受けません。 |
|
|
bool |
オプション(デフォルトは |
FIFOにデータを書き込む際のバッファを有効にするかどうかを設定します。なお、内部では、バッファを有効にするかをsetvbuf関数により設定しています。 |
4.2.2. downstreamの設定(intdash→ROS2)¶
設定例:
downstream:
enabled: true
format: "cdr"
reader:
path: "/var/run/intdash/logger_001.rx"
4.2.2.1. downstream¶
downstreamは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
ダウンストリームを有効にします。 |
|
- |
string |
必須 |
ダウンストリームで使用するフォーマットの情報を指定します。"cdr"を設定可能です。 |
|
- |
map |
必須 |
formatの設定を記述します。 downstream.reader を参照してください。 |
4.2.2.2. downstream.reader¶
formatが"cdr"の時は以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
FIFOのパスを設定します。指定がない場合は"cdr"によるFIFOは有効になりません。 |
4.3. QoS(Quality of Service)の設定¶
QoSは、 subscribers 、 publishers 、 service_clients 、 parameter_clients 、 parameter_service_servers のそれぞれの qos
フィールドで設定することが可能です。
注意
QoSを明示的に設定しない場合、rclcppで設定されるデフォルトと同じものが使用されます。そのため、明示的に設定したい項目以外は記載する必要はありません。詳細は qos.policy を参照してください。
ROS2のQoSの詳細は以下のドキュメントを参照してください。
foxy: About Quality of Service settings
設定例:
qos:
profile: "default"
policy:
history: "keep_last"
depth: 10
reliability: "best_effort"
durability: "transient_local"
deadline: "100msec"
lifespan: "100msec"
liveliness: "automatic"
liveliness_lease_duration: "100msec"
4.3.1. qos¶
qosでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
string |
オプション |
QoSプロファイルを指定します。enumに該当しないものを設定した場合は、"system_default"が使用されます。詳細は、公式ドキュメントを参照してください。 Foxy: About Quality of Service settings - ROS 2 Documentation: Foxy documentation |
|
- |
map |
オプション |
QoSポリシーを個別に設定します。設定しなかった項目はデフォルトのものが使われます。 qos.policy を参照してください。 |
4.3.2. qos.policy¶
policyでは以下の項目を設定可能です。
それぞれのpolicyの詳細については ROS2 DocumentationのQoS policies を参照してください。
設定をしなかったpolicyの項目は、rclcppで設定されるデフォルトと同じものが使用されます。そのため、明示的に設定したい項目以外は記載する必要はありません。
注意
トピックをpublishするノードの durability
が transient_local
、subscribeするノードの durability
が volatile
の組み合わせで、両者の reliability
を reliable
としたい場合は、明示的にQoSを設定する必要があります。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
string |
オプション |
historyポリシーを設定します。誤ったものを記述した場合に設定されるものは不定です。 |
|
- |
int |
オプション(デフォルトは10) |
|
|
|
string |
オプション |
|
|
|
string |
オプション |
|
|
- |
string |
オプション |
deadlineを設定します。 |
|
- |
string |
オプション |
ifespanを設定します。 |
|
|
- |
オプション |
livelinessを設定します。誤った値を記述した場合の設定は不定です。 |
|
- |
string |
オプション |
livelinessで使用するlease_durationを設定します。 |
4.4. ROS2トピックの伝送に関する設定¶
ROS2空間のトピックをサブスクライブする subscribers
と、トピックをROS2空間にパブリッシュする publishers
を設定可能です。
注意
トピックを適切にブリッジするには、互換性のあるQoSを設定する必要があります。
intdash ROS2Bridge(subscriber)のQoS設定は、エッジデバイス2でトピックをサブスクライブするノードのQoSと互換性のある設定にしてください(同じQoS設定にすることを推奨します)。
また、intdash ROS2Bridge(publisher)は、エッジデバイス1でトピックをパブリッシュしているノードのQoSと互換性のある設定にしてください(同じQoS設定にすることを推奨します)。
4.4.1. Subscribersの設定(エッジデバイス1)¶
設定例:
subscribers:
enabled: true
advertise_interval: "5sec"
topics:
- topic_name: "aaa"
format:
- "cdr"
- "json"
- topic_name: "string_msg"
format:
- "cdr"
- "json"
qos:
(中略)
- topic_name: "/tf"
tf: true # tf
format:
- "cdr"
- topic_name: "/tf_static"
tf_static: true # tf static
format:
- "cdr"
- topic_name: "/oneshot_topic"
format:
- "cdr"
resend_interval: "1sec"
4.4.1.1. subscribers¶
subscribersでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
string |
オプション(デフォルトは0。毎回書き込まれる) |
アップストリームにトピックを書き込むときにトピックの型がメッセージに含まれる間隔を設定します。 |
|
- |
array |
オプション |
サブスクライブするトピックの個別の設定を記述します。 subscribers.topics を参照してください。 |
4.4.1.2. subscribers.topics¶
topicsには複数のトピックを設定可能です。それぞれのトピックには以下の設定項目があります。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
トピック名を指定します。トピック名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりトピック名の最初に |
|
|
bool |
オプション(デフォルトは |
|
|
|
bool |
オプション |
|
|
- |
map |
オプション |
詳細は qos の設定を参照してください。設定しなかった場合、rclcpp::QoS(10)が使用されます。 |
|
- |
array of string |
必須 |
upstreamで設定したもののなかから1つ以上のフォーマットを指定できます。upstreamで定義されていないものは無視されます。 |
|
- |
string |
オプション (デフォルトは0。0の場合、再送は行われません) |
トピックを再送する間隔を設定します。"Xmin" 、"Xsec" のフォーマットで指定が可能です(Xには数字が入ります)。複数の単位を組み合せることはできません。誤った単位を指定した場合は、0 が設定されます。 |
注意
サブスクライブしたいトピックに対するQoSの設定は、パブリッシュされるトピックのQoSと互換性を持つ必要があります。
例えば、点群データなどは一般的には reliability
が best_effort
で設定されることが多いです。
そのようなトピックをサブスクライブする場合、 reliability
を best_effort
に設定しなければいけません。
もし互換性のあるQoSを設定しなかった場合、intdash_ros2bridge はトピックをサブスクライブすることができません。 その結果、intdash serverにデータは流れません。
トピックのQoSは ros2 topic info トピック名 -v
コマンドによって確認できます。
なお、このコマンドを実行したときに、Lifespan
、Deadline
、Liveliness
、Liveliness
の設定も表示されますが、これらの値がシステムのデフォルト値と同じ場合は明示的に設定する必要はありません。
4.4.2. publishersの設定(エッジデバイス2)¶
設定例:
publishers:
enabled: true
suffix: "_suffix"
topics:
- topic_name: "string_msg"
qos:
(中略)
- topic_name: "/tf"
tf: true
- topic_name: "/tf_static"
tf_static: true
- topic_name: "/oneshot_topic"
resend: true
4.4.2.1. publishers¶
publishersでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
string |
オプション(デフォルトは |
パブリッシュするトピックにsuffixを設定します。デバッグ用の設定のため、通常は使用しません。 |
|
- |
map |
オプション |
パブリッシュするトピックの個別の設定を記述します。 publishers.topics を参照してください。 |
4.4.2.2. publishers.topics¶
ダウンストリームで受信したトピックはすべてパブリッシュされますが、QoSの設定が必要な場合や、tf/tf_staticを扱う場合のみ、topicsの設定が必要です。
topicsには複数のトピックを設定可能です。それぞれのトピックには以下の設定項目があります。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
トピック名を指定します。トピック名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりトピック名の最初に |
|
|
bool |
オプション(デフォルトは |
topic_nameが"tf"の時は、 |
|
|
bool |
オプション(デフォルトは |
topic_nameが |
|
|
string |
オプション (デフォルトは、 |
|
|
- |
map |
オプション |
qos の設定を参照してください。何も設定しない場合はrclcpp::QoS(10)が適用されます。 |
|
|
bool |
オプション (デフォルトは false) |
|
なお、FIFOから読み込まれたトピックをパブリッシュしないように設定することはできません。トピックをパブリッシュしたくない場合は、intdash Edge Agentでそのトピックをダウンストリームの対象外にしてください。
4.5. ROS2サービスの伝送に関する設定¶
intdash ROS2Bridgeがサービスリクエストをブリッジする service_servers
と、ブリッジしたサービスリクエストを実際のサービスに送信する service_clients
を設定が可能です。
2つのintdash ROS2Bridgeが互いにアップストリームを行うため、service_servers側とservice_clients側の双方にupstream/downstreamの設定が必要になります。
また、 format
には "cdr"
を含む必要があります。
4.5.1. service_serversの設定(エッジデバイス1)¶
設定例:
service_servers:
enabled: true
services:
- service_name: "service_name"
service_type: "package_name/srv/ServiceName"
format:
- "cdr"
- "json"
qos:
(省略)
4.5.1.1. service_servers¶
service_serversでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
array |
オプション |
サービスサーバーの設定を記述します。 service_servers.services を参照してください。 |
4.5.1.2. service_servers.services¶
servicesでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
エッジデバイス2のROS2空間にある、アクセスしたいサービスサーバー名を指定します。サービスサーバー名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりサービスサーバー名の最初に |
|
- |
string |
必須 |
|
|
- |
map |
オプション |
qos の設定を参照してください。設定しなかった場合はrclcpp::ServicesQoS()が使用されます。 |
|
- |
list of string |
必須 |
フォーマットを指定します。 |
4.5.2. service_clientsの設定(エッジデバイス2)¶
設定例:
service_clients:
enabled: true
response:
resend_duration: "10min"
resend_interval: "15sec"
request:
timeout: "10sec"
services:
- service_name: "service_name"
service_type: "package_name/srv/ServiceName"
format:
- "cdr"
- "json"
qos:
(中略)
4.5.2.1. service_clients¶
service_clientsでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
map |
オプション |
サービスリクエストに関する設定を記述します。 service_clients.request を参照してください。 |
|
- |
map |
オプション |
サービスレスポンスの再送に関する設定を記述します。 service_clients.response を参照してください。 |
|
- |
map |
オプション |
サービスクライアントの設定を記述します。 service_clients.services を参照してください。 |
4.5.2.2. service_clients.response¶
responseでは、サービスレスポンスが到達しなかった場合のために、再送間隔と再送を試み続ける時間を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション デフォルトは0(0の場合再送は行われない) |
アップストリームにサービスレスポンスの書き込みを繰り返す時間を指定します。 |
|
- |
string |
オプション デフォルトは0(0の場合再送は行われない) |
アップストリームにサービスレスポンスの書き込みを繰り返す間隔を指定します。 |
4.5.2.3. service_clients.request¶
request には以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション(デフォルトは10秒) |
サービスリクエストをタイムアウトにする時間を設定します。 |
サービスリクエストがタイムアウトになった場合、service_servers側にレスポンスは返ってきません。そのため、ユーザーが実装するservice_serversにアクセスするサービスクライアントには適切なタイムアウトが設定されている必要があります。
4.5.2.4. service_clients.services¶
servicesでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
サービスクライアントがアクセスするサービス名を指定します。サービス名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりサービス名の最初に |
|
- |
string |
必須 |
|
|
- |
map |
オプション |
qos の設定を参照してください。何も設定しなかった場合rclcpp::ServicesQoS()が使用されます。 |
|
- |
array of string |
必須 |
フォーマットを指定します。 |
4.6. ROS2パラメータの伝送に関する設定¶
intdash ROS2Bridgeがパラメータリクエストをブリッジする parameter_service_servers
と、ブリッジしたサービスリクエストを実際のサービスに送信する parameter_clients
の設定が可能です。
2地点のintdash ROS2Bridgeが相互にデータを送り合うため、parameter_service_servers側とparameter_clients側の双方にupstream/downstreamの設定が必要になります。
また、 format
は "cdr"
を含める必要があります。
4.6.1. parameter_service_server の設定(エッジデバイス1)¶
設定例:
parameter_service_servers:
enabled: true
nodes:
- node_name: "bbb"
format:
- "cdr"
- "json"
qos:
(省略)
4.6.1.1. parameter_service_servers¶
parameter_service_serversでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
array |
オプション |
パラメータサービスサーバーの設定を記述します。 parameter_service_servers.nodes を参照してください。 |
4.6.1.2. parameter_service_servers.nodes¶
nodesでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
パラメータサーバーを提供するノード名を指定します。ノード名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりノード名の最初に |
|
- |
map |
オプション |
qos の設定を参照してください |
|
- |
array of string |
必須 |
フォーマットを指定します。 |
4.6.2. parameter_clientsの設定(エッジデバイス2)¶
設定例:
parameter_clients:
enabled: true
response:
resend_duration: "10min"
resend_interval: "15sec"
request:
timeout: "10sec"
nodes:
- node_name: "bbb"
format:
- "cdr"
- "json"
qos:
(省略)
4.6.2.1. parameter_clients¶
parameter_clientsでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
map |
オプション |
パラメータのサービスレスポンスの再送に関する設定を記述します。 parameter_clients.response を参照してください。 |
|
- |
map |
オプション |
パラメータのサービスリクエストに関する設定を記述します。 parameter_clients.request を参照してください。 |
|
- |
array |
オプション |
パラメータに関する設定を記述します。 parameter_clients.nodes を参照してください。 |
4.6.2.2. parameter_clients.response¶
responseでは、パラメータレスポンスが到達しなかった場合のために、再送間隔と再送を試み続ける時間を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション(デフォルトは0。0の場合再送は行われない) |
アップストリームにパラメータレスポンスの書き込みを繰り返す時間を指定します。 |
|
- |
string |
オプション(デフォルトは0。0の場合再送は行われない) |
アップストリームにパラメータレスポンスの書き込みを繰り返す間隔を指定します。 |
4.6.2.3. parameter_clients.request¶
requestでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション(デフォルトは10秒) |
パラメータリクエストをタイムアウトにする時間を設定します。 |
パラメータリクエストがタイムアウトになった場合、parameter_servers側にレスポンスは返ってきません。そのため、ユーザーが実装するparameter_serversにアクセスするパラメータクライアントには適切なタイムアウトが設定されている必要があります。
4.6.2.4. parameter_clients.nodes¶
nodesでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
パラメータライアントがアクセスするノード名を指定します。ノード名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりノード名の最初に |
|
- |
map |
オプション |
qos の設定を参照してください。設定しなかった場合はrclcpp::ParametersQoS()が使用されます。 |
|
- |
array of string |
必須 |
フォーマットを指定します。 |
4.7. ROS2アクションの伝送に関する設定¶
intdash ROS2Bridgeがアクションリクエストをブリッジする action_servers
と、ブリッジしたアクションリクエストを実際のアクションサーバーに送信する action_clients
の設定が可能です。
2地点のintdash ROS2Bridgeが相互にデータを送り合うため、action_servers側とaction_clients側の双方にupstream/downstreamの設定が必要になります。
また、formatは "cdr"
を含む必要があります。
4.7.1. action_serversの設定(エッジデバイス1)¶
設定例:
action_servers:
enabled: true
request:
timeout: "10min"
result:
timeout: "10min"
actions:
- action_name: "aaa"
action_type: "action_tutorials_interfaces/action/Fibonacci"
format:
- "cdr"
- "json"
4.7.1.1. action_servers¶
action_serversでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
map |
オプション |
ゴールリクエストとキャンセルリクエストのタイムアウトを設定します。 action_servers.request を参照してください。 |
|
- |
map |
オプション(デフォルトは20分) |
リザルトのタイムアウトを設定します。アクションが完了するのに必要な十分な時間を設定することが推奨されます。 action_servers.result を参照してください。 |
|
- |
map |
オプション |
アクションサーバーの設定を記述します。 action_servers.actions を参照してください。 |
4.7.1.2. action_servers.request¶
requestでは、action_clientsにリクエストが届かなかった場合のタイムアウトを設定することが可能です。なお、設定したタイムアウトまでにリクエストへのレスポンスが返ってこなかった場合は、 rclcpp_action::GoalResponse::REJECT
がリクエストの結果として返ってきます。
なお、タイムアウトになり rclcpp_action::GoalResponse::REJECT
の後に正しいレスポンスが返ってきた場合であってもユーザーが実装したアクションクライアントは処理を継続しないため、設定する場合は十分大きい時間を設定することを推奨します。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション(デフォルトは |
ゴールリクエストとキャンセルリクエストのタイムアウトを設定します。 |
4.7.1.3. action_servers.result¶
resultでは、action_serversにゴールリザルトが返ってこなかった場合のタイムアウトを設定することが可能です。
なお、設定したタイムアウトまでにaction_serversがリザルトを受け取れなかった場合、アクションの結果をrclcpp_action::ResultCode::UNKNOWNとしてクライアントに送信します。
この場合、rclcpp_action::ResultCode::UNKNOWNの送信後に正しいリザルトが返ってきたとしても、ユーザーが実装したアクションクライアントの処理が持つアクションのリザルトはUNKNOWNから変わりません。したがって、使用する場合はアクションを終了するのに十分な時間を設定することを推奨します。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション(デフォルトは |
ゴールリザルトのタイムアウトを設定します。 |
4.7.1.4. action_servers.actions¶
actionsでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
アクションサーバー名を指定します。アクションサーバー名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりアクションサーバー名の最初に |
|
- |
string |
必須 |
package_name/srv/ServiceNameの形式で、サービスタイプを指定します。 |
|
- |
list of string |
必須 |
フォーマットを指定します。 |
4.7.2. action_clientsの設定(エッジデバイス2)¶
設定例:
action_clients:
enabled: true
response:
resend_duration: "10min"
resend_interval: "15sec"
actions:
- action_name: "aaa"
action_type: "action_tutorials_interfaces/action/Fibonacci"
format:
- "cdr"
- "json"
4.7.2.1. action_clients¶
action_clientsでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
|
bool |
オプション(デフォルトは |
|
|
- |
map |
オプション |
アクションゴールレスポンス、アクションキャンセルレスポンス、アクションリザルトの再送に関する設定を記述します。 action_clients.response を参照してください。 |
|
- |
map |
オプション |
アクションクライアントの設定を記述します。 action_clients.actions を参照してください。 |
4.7.2.2. action_clients.response¶
responseでは、アクションレスポンス、キャンセルレスポンス、アクションリザルトがaction_serversに到達しなかった場合のために、再送間隔と再送を試み続ける時間を設定可能です。
なお、フィードバックの再送機能はありません。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
オプション(デフォルトは0。0の場合再送は行われない) |
レスポンスやリザルトの書き込みを繰り返す時間を指定します。 |
|
- |
string |
オプション(デフォルトは0。0の場合再送は行われない) |
レスポンスやリザルトの書き込みを繰り返す間隔を指定します。 |
4.7.2.3. action_clients.actions¶
actionsでは以下の項目を設定可能です。
フィールド名 |
enum |
型 |
必須/オプショナル |
説明 |
---|---|---|---|---|
|
- |
string |
必須 |
アクションクライアントがアクセスするアクション名を指定します。アクション名は明示的にネームスペースを付与することが可能です。ネームスペースを付与しなかった場合、つまりアクション名の最初に |
|
- |
string |
必須 |
|
|
- |
array of string |
必須 |
フォーマットを指定します。 |