MoriKen's Journal

MoriKen's Journal

アラサー社会人博士による徒然日記。技術についてつらつら。だけだとコンテンツが貧弱なので、会社公認で大学院博士課程に進学した経緯や、独学でTOEICを475→910にしたノウハウを共有します。

【ROS 2】インターフェースの新機能(公式文書和訳)

Sponsored Link

ROS 2 公式文書(英語) 日本語訳シリーズです。

本ブログの日本語翻訳版のトップページは以下のリンクを参照下さい。

www.moriken254.com

※2019/05/07 現在のものです。

ROS 2 インターフェース定義言語(IDL)ROS 1 IDL と密接に関連しています。ほとんどの既存のROS 1 .msg および .srv ファイルは、ROS 2 とそのまま使用できます。その既存機能に加えて、ROS 2 IDL には新しい機能が導入されています。

  • 有界配列

    • ROS 1 IDLは無制限配列(例えば int32[] foo)と固定サイズ配列(例えば int32[5] bar)が使えますが、ROS 2 IDL はさらに有界配列(例えば `int32[<=5] bat)が使えます。
    • 常時膨大なメモリ空間を使用することなく、かつ配列のサイズに上限も設けることが重要となるユースケースがあります(例えば、実行中に使用されるすべてのメモリを事前に割り当てる必要があるリアルタイムシステムが好例です)。
  • 有界文字列

    • ROS 1 IDL は無制限文字列(例えば、string foo)を使えますが、ROS 2 IDL はさらに有界文字列(例えば、string≦5 bar)を使えます。
  • デフォルト値

    • ROS 1 IDL は定数フィールド(例えば int32 X=123)を使えますが、ROS 2 IDL はさらにデフォルト値(例えば int32 X 123)の指定ができます。
    • デフォルト値は、メッセージ/サービスオブジェクトを作成するときに使用され、後でフィールドに代入することで上書きできます。
    • 注意:ROS Ardent では、デフォルト値は複合型、文字列配列、またはエンコーディング付き文字列ではサポートされていません。
    • 注:ROS Bouncy では、デフォルト値は複合型またはエンコーディング付きの文字列ではサポートされていません。

翻訳元文書

index.ros.org

関連文書

www.moriken254.com

www.moriken254.com