カスタム メッセージを使用して、ROS で現在サポートされているメッセージ タイプのセットを拡張します。カスタム メッセージはユーザー定義のメッセージです。サポートされているメッセージ タイプを送受信する場合は、カスタム メッセージを使用する必要はありません。サポートされているメッセージ タイプのリストを表示するには、MATLAB® コマンド ウィンドウで「rosmsg list
」と入力します。サポートされている ROS メッセージの詳細については、基本的な ROS メッセージの操作を参照してください。
ROS カスタム メッセージをはじめて取り扱う場合は、ROS Toolbox システム要件を参照してください。
ROS カスタム メッセージは、msg
という名前のフォルダーを含む ROS パッケージ フォルダー内に指定されます。msg
フォルダーには、すべてのカスタム メッセージ タイプ定義が含まれています。たとえば、rosCustomMessages
フォルダーにある simple_msgs
パッケージのフォルダーとファイルの構造は次のとおりです。
このパッケージにはカスタム メッセージ タイプ Num.msg
が含まれています。MATLAB はこれらのファイルを使用して、パッケージに含まれるカスタム メッセージを使用するために必要なファイルを生成します。
この例では、MATLAB で ROS カスタム メッセージを作成し、共有可能な ZIP アーカイブに圧縮します。必要な msg
ファイルが含まれる ROS パッケージがなければなりません。
カスタム メッセージ パッケージ フォルダーを準備したら、親フォルダーへのパスを指定し、指定したパスで rosgenmsg
を呼び出します。
新しい MATLAB セッションを開き、カスタム メッセージ パッケージ フォルダーをローカル フォルダーに作成します。Windows マシン上でカスタム メッセージを生成する場合は、フォルダー パスの文字数の制限を回避するために、短いフォルダー パスを選択します。次に例を示します。
genDir = fullfile('C:/test/rosCustomMessages')
カスタム メッセージ パッケージ フォルダー内に msg
という名前のフォルダーを作成します。
msg
フォルダー内に .msg
という名前のファイルを作成します。
カスタム メッセージ パッケージ フォルダー内に srv
という名前のフォルダーを作成します。
srv
フォルダー内に .srv
という名前のファイルを作成します。
カスタム メッセージ パッケージ フォルダー内に action
という名前のフォルダーを作成します。
action
フォルダー内に .action
という名前のファイルを作成します。
.msg
ファイル、.srv
ファイル、および .action
ファイル内の ROS 定義からカスタム メッセージを生成します。名前と値の引数 CreateShareableFile
を使用して、生成したカスタム メッセージの共有可能な ZIP アーカイブを作成します。
この ZIP アーカイブを使用してカスタム メッセージを別のマシンに登録する方法の詳細については、rosRegisterMessages
を参照してください。
Identifying message files in folder 'C:/test/rosCustomMessages'.Done.
Creating a Python virtual environment.Done.
Adding required Python packages to virtual environment.Done.
Copying include folders.Done.
Copying libraries.Done.
Validating message files in folder 'C:/test/rosCustomMessages'.Done.
[1/1] Generating MATLAB interfaces for custom message packages... Done.
Running catkin build in folder 'C:/test/rosCustomMessages/matlab_msg_gen_ros1/win64'.
Build in progress. This may take several minutes...
Build succeeded.build log
Generating zip file in the folder 'C:/test/rosCustomMessages'.Done.
To use the custom messages, follow these steps:
1. Add the custom message folder to the MATLAB path by executing:
addpath('C:\test\rosCustomMessages\matlab_msg_gen_ros1\win64\install\m')
savepath
2. Refresh all message class definitions, which requires clearing the workspace, by executing:
clear classes
rehash toolboxcache
3. Verify that you can use the custom messages.
Enter "rosmsg list" and ensure that the output contains the generated
custom message types.
「rosmsg list
」と入力して、新しいカスタム メッセージの作成を確認します。