Пользовательские сообщения - это пользовательские сообщения, которые можно использовать для расширения набора типов сообщений, поддерживаемых в настоящее время в ROS 2. При отправке и получении поддерживаемых типов сообщений использовать пользовательские сообщения не требуется. Для просмотра списка поддерживаемых типов сообщений вызовите ros2 msg list в окне команд MATLAB ®. Дополнительные сведения о поддерживаемых сообщениях ROS 2 см. в разделе Работа с базовыми сообщениями ROS 2 .
Если вы впервые работаете с пользовательскими сообщениями ROS 2, проверьте системные требования ROS.
Пользовательские сообщения Содержимое
Пользовательские сообщения ROS 2 указываются в папках пакетов ROS 2, содержащих msg каталог. msg содержит все пользовательские определения типов сообщений. Например, пакет example_b_msgs, в пределах custom имеет следующую папку и структуру файлов.
Пакет содержит один пользовательский тип сообщения, Standalone.msg. MATLAB использует эти файлы для создания файлов, необходимых для использования пользовательских сообщений, содержащихся в пакете. Дополнительные сведения об условных обозначениях сообщений см. в разделе Определение интерфейса ROS 2.
В этом примере рассматривается процедура создания пользовательских сообщений ROS 2 в MATLAB ®. Необходимо иметь пакет ROS 2, содержащий требуемыеmsg файл.
После проверки правильности пользовательского пакета сообщений запишите путь к папке, а затем вызовите ros2genmsg с указанным путем. В следующем примере представлены три сообщения example_package_a, example_package_b, и example_package_c которые имеют зависимости. В этом примере также показано, что можно использовать папку, содержащую несколько сообщений, и создавать их одновременно.
Чтобы настроить пользовательские сообщения в MATLAB, откройте MATLAB в новом сеансе. Поместите пользовательскую папку сообщений в папку и запишите путь к ней. В этом примере папка пользовательского интерфейса сообщений присутствует в текущем каталоге. При создании пользовательских пакетов сообщений в отдельном расположении укажите соответствующий путь к папке, содержащей пользовательские пакеты сообщений.
Укажите путь к папке для пользовательских файлов сообщений и вызова ros2genmsg для создания пользовательских сообщений для MATLAB.
Identifying message files in folder 'U:/Documents/MATLAB/Examples/ros-ex44405863/custom'.Done.
Validating message files in folder 'U:/Documents/MATLAB/Examples/ros-ex44405863/custom'.Done.
[3/3] Generating MATLAB interfaces for custom message packages... Done.
Running colcon build in folder 'U:/Documents/MATLAB/Examples/ros-ex44405863/custom/matlab_msg_gen/win64'.
Build in progress. This may take several minutes...
Build succeeded.build log
Звонить ros2 msg list для проверки создания новых пользовательских сообщений.
Теперь в качестве стандартных сообщений можно использовать созданное выше пользовательское сообщение. Дополнительные сведения об отправке и получении сообщений см. в разделе Обмен данными с издателями и подписчиками ROS 2.
Создание издателя для использования example_package_b/Standalone сообщение.
Создайте подписчика по той же теме.
Создайте сообщение и отправьте его.
Использовать LatestMessage для получения информации о недавнем сообщении, принятом абонентом.
ans = struct with fields:
int_property: 12
string_property: 'This is ROS 2 custom message example'
Удалите созданные объекты ROS.