Сообщение ROS представлено как сигнал шины. Для получения дополнительной информации о сигналах шины смотрите Виртуальную Шину (Simulink).
Если вы работаете с сигналами переменной длины в Simulink®, невиртуальная шина, используемая в сообщениях, не может содержать массивы переменной длины как свойства. Все массивы переменной длины преобразованы в массивы фиксированной длины для невиртуальных шин. Поэтому необходимо управлять максимальным размером для этих массивов фиксированного размера. Во вкладке Simulation выберите ROS Toolbox> Variable Size Message, чтобы управлять размерами массивов. Если ваша модель использует сообщения ROS с массивами переменной длины, следующее диалоговое окно открывается. В противном случае Simulink отображает сообщение.
Поскольку свойства сообщения имеют переменную длину, возможно, что они могут быть усеченными, если они превышают максимальный набор размера для того массива. У вас есть опция Truncate with warning
или Truncate silently
. Так или иначе симуляция запустится, но Truncate with warning
выводит предупреждение в Диагностическом Средстве просмотра, что свойство сообщения было усеченным. При использовании сгенерированного кода предупреждение будет испускаться с помощью Логарифмических Операторов в ROS. Предупреждением будет ROS_WARN_NAMED
регистрируйте оператор, и name является именем модели.
Раздел Message types in model показывает все типы сообщений ROS, которые в настоящее время используются, Публикуют, Подписываются и Пустые блоки сообщения в вашей модели Simulink. У вас есть опция, чтобы использовать пределы по умолчанию в этом типе сообщения путем нажатия на флажок. В противном случае выберите каждый тип сообщения индивидуально, чтобы установить Maximum length (items) каждого Array Property, как желаемый. Эта максимальная длина применяется ко всем экземплярам того типа сообщения для той модели. Максимальная длина также хранится моделью. Поэтому возможно иметь две модели, получающие доступ к тому же типу сообщения с различными максимальными пределами длины.
Управление размер ваших массивов переменной длины может помочь улучшать производительность. Если вы ограничиваете размер массива, чтобы только включать соответствующие данные, можно обработать данные эффективнее. Однако при выполнении этих моделей, считайте возможные проблемы сопоставленными с усечением и что могло произойти с системой, если некоторые данные проигнорированы.
Примечание: Если требуется знать соответствующие максимальные длины для различных типов сообщений. Можно симулировать модель и наблюдать размеры выход в предупреждении. Чтобы видеть пример использования сообщений ROS и работы с массивами переменной длины, смотрите Начало работы с ROS в Simulink®.