В этом примере вы проходите процедуру для создания ROS пользовательские сообщения в MATLAB®. У вас должен быть пакет ROS, который содержит необходимый msg
, srv
, и action
файлы. Правильное содержимое файла и структура папок описаны в Пользовательском Содержимом сообщения. Эта структура папок следует стандартным соглашениям пакета ROS. Поэтому, если у вас есть какие-либо существующие пакеты, они должны совпадать с этой структурой.
Чтобы убедиться вы имеете соответствующее стороннее программное обеспечение, видите Системные требования ROS.
После обеспечения, что ваш пользовательский пакет сообщения правилен, отметьте местоположение пути к папке. Затем вызовите rosgenmsg
с заданным путем и выполняют шаги выход в командном окне. Следующий пример имеет три сообщения, A
B
, и C
, это имеет зависимости друг от друга. Этот пример также иллюстрирует, что можно использовать папку, содержащую несколько сообщений, и сгенерировать их всех одновременно.
Настраивать пользовательские сообщения в MATLAB:
Откройте MATLAB на новом сеансе
Поместите свои пользовательские сообщения в местоположение и отметьте путь к папке. Мы рекомендуем, чтобы вы поместили все свои пользовательские определения сообщения в одну папку пакетов.
folderpath = 'c:\MATLAB\custom_msgs\packages';
(Необязательно), Если у вас есть существующая рабочая область сережки (catkin_ws
), можно задать путь к его src
папка вместо этого. Однако эта рабочая область может содержать большое количество пакетов и обмениваться сообщениями, генерация будет запущена для всех них.
folderpath = fullfile('catkin_ws','src');
Задайте путь к папке, который содержит пользовательские пакеты сообщения, и вызовите rosgenmsg
функция, чтобы создать пользовательские сообщения для MATLAB.
rosgenmsg('c:\MATLAB\custom_msgs')
Затем выполните шаги от выхода 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.