この例では、MATLAB® で ROS 2 カスタム メッセージを作成して、別のマシン上で共有します。この別のマシンは、同じプラットフォームおよび同じバージョンの MATLAB で実行されている必要があります。次の図に示すように、必要な msg ファイルが含まれる ROS 2 パッケージがなければなりません。
新しい MATLAB セッションを開き、カスタム メッセージ パッケージ フォルダーをローカル フォルダーに作成します。Windows® マシン上でカスタム メッセージを生成する場合は、フォルダー パスの文字数の制限を回避するために、短いフォルダー パスを指定します。以下に例を示します。
genDir = fullfile('C:/Work/ros2CustomMessages').
カスタム メッセージの生成時に、BuildRoot パラメーターを使用して短い代替ビルド パスを指定することもできます。詳細については、共有可能な ROS 2 カスタム メッセージ パッケージの作成を参照してください。
カスタム メッセージ パッケージ フォルダー内に msg という名前のフォルダーを作成します。
msg フォルダー内に .msg という名前のファイルを作成します。
カスタム メッセージ パッケージ フォルダー内に srv という名前のフォルダーを作成します。
srv フォルダー内に .srv という名前のファイルを作成します。
カスタム メッセージ パッケージ フォルダー内に action という名前のフォルダーを作成します。
action フォルダー内に .action という名前のファイルを作成します。
指定したフォルダー内の ROS 2 IDL 定義からカスタム メッセージを直接生成することもできます。詳細については、ros2genmsg関数のドキュメンテーションを参照してください。
.msg、.srv、および .action ファイル内の ROS 2 定義からカスタム メッセージを共有可能な ZIP アーカイブとして生成します。
Identifying message files in folder 'C:/Work/ros2CustomMessages'.Done.
Validating message files in folder 'C:/Work/ros2CustomMessages'.Done.
[1/1] Generating MATLAB interfaces for custom message packages... Done.
Running colcon build in folder 'C:/Work/ros2CustomMessages/matlab_msg_gen/win64'.
Build in progress. This may take several minutes...
Build succeeded.build log
Generating zip file in the folder 'C:/Work/ros2CustomMessages'.Done.
ZIP アーカイブ内に生成したカスタム メッセージをターゲット コンピューターにコピーし、ros2RegisterMessages 関数を使用して登録します。
ターゲット コンピューターで ros2 msg list を実行して、ワークフローで使用するカスタム メッセージを表示します。