В этом примере вы проходите процедуру для создания ROS пользовательские сообщения в MATLAB®. У вас должен быть пакет ROS, который содержит необходимый msg и srv файлы. Правильное содержимое файла и структура папок описаны в Пользовательском Содержимом сообщения. Эта структура папок следует стандартным соглашениям пакета ROS. Поэтому, если у вас есть какие-либо существующие пакеты, они должны совпадать с этой структурой.
Чтобы убедиться вы имеете соответствующее стороннее программное обеспечение, видите Системные требования ROS.
После обеспечения, что ваш пользовательский пакет сообщения правилен, отметьте местоположение пути к папке. Затем вызовите rosgenmsg с заданным путем и выполняют шаги выход в командном окне. Следующий пример имеет три сообщения, AB, и C, это имеет зависимости друг от друга. Этот пример также иллюстрирует, что можно использовать папку, содержащую несколько сообщений, и сгенерировать их всех одновременно.
Настраивать пользовательские сообщения в MATLAB:
Откройте MATLAB на новом сеансе
Поместите свои пользовательские сообщения в местоположение и отметьте путь к папке. Мы рекомендуем, чтобы вы поместили все свои пользовательские определения сообщения в одну папку пакетов.
folderpath = 'c:\MATLAB\custom_msgs\packages';(Необязательно), Если у вас есть существующая рабочая область сережки (catkin_ws), можно задать путь к его src папка вместо этого. Однако эта рабочая область может содержать большое количество пакетов и обмениваться сообщениями, генерация будет запущена для всех них.
folderpath = fullfile('catkin_ws','src');
Задайте путь к папке для пользовательских файлов сообщений и вызовите rosgenmsg функция, чтобы создать пользовательские сообщения для MATLAB.
rosgenmsg(folderpath)
Затем выполните шаги от выхода rosgenmsg.
Добавьте данные файлы в путь MATLAB путем выполнения addpath и savepath в Командном окне.
addpath('C:\MATLAB\custom_msgs\packages\matlab_msg_gen_ros1\msggen')
savepathОбновите все определения класса сообщений, который требует очистки рабочей области:
clear classes
rehash toolboxcache
Можно затем использовать пользовательские сообщения как любые другие сообщения ROS, поддержанные в ROS Toolbox. Проверьте эти изменения любым вызовом rosmsg list и ищите свои типы сообщений или используйте rosmessage создать новое сообщение.
custommsg = rosmessage('B/Standalone') custommsg =
ROS Standalone message with properties:
MessageType: 'B/Standalone'
IntProperty: 0
StringPropert: ''
Use showdetails to show the contents of the message
Эта итоговая верификация показывает, что вы выполнили пользовательский процесс генерации сообщения правильно. Можно теперь отправить и получить эти сообщения по использованию сети ROS MATLAB и Simulink®. Новые пользовательские сообщения могут использоваться как нормальные типы сообщений. Необходимо видеть, что они создают объекты, характерные для их типа сообщения, и отображены в рабочей области.
custommsg = rosmessage('B/Standalone');
custommsg2 = rosmessage('A/DependsOnB');
Пользовательские сообщения могут также использоваться с блоками Simulink ROS.
