Размеры управления массивов в Simulink ROS

Сообщение ROS представлено как сигнал шины. Для получения дополнительной информации о сигналах шины смотрите Шины (Simulink).

Если вы работаете с сигналами переменной длины в Simulink®, невиртуальная шина, используемая для сообщений, не может содержать массивы переменной длины как свойства. Все массивы переменной длины преобразованы в массивы фиксированной длины для невиртуальных шин. Поэтому необходимо управлять максимальным размером для этих массивов фиксированного размера. Чтобы управлять размерами массивов, выберите Tools>> Robot Operating System в меню и выберите “Manage Array Sizes”. Если ваша модель использует сообщения 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®.

Смотрите также

|

Похожие темы