Лихая диадема, будущее ROS


Новый дистрибутив ROS2 под кодовым названием «Dashing Diademata» является первым выпуском Long Time Support после прошлогоднего «Crystal».

Наряду с этим, есть много новых функций, которые призваны сделать ROS отраслевым стандартом для безопасного использования в коммерческих приложениях. Но Diademata также разрывает связи со своим предшественником ROS1, и это означает, что пришло время для обновления.
Помимо этого, совместимость API даже между будущими дистрибутивами ROS2 не гарантируется; единственная гарантия, которую можно безопасно дать, — это то, что и API, и ABI останутся стабильными между обновлениями Dashing. Несовместимость API может показаться рискованной, но это также означает возрождение проекта.
Беглый взгляд на примечания к выпуску Dashing показывает некоторые из этих изменений API. Например:
ament_cmake — функция CMake ament_index_has_resource, используемая для возврата TRUE или FALSE. Начиная с этого выпуска, он возвращает либо префиксный путь, если ресурс был найден, либо FALSE.
Если вы используете возвращаемое значение в таком условии CMake:
ament_index_has_resource (var …) if ($ {var})
вам необходимо обновить условие, чтобы оно считало строковое значение ИСТИННЫМ:
если (var)
rclcppBehavior Изменение для Node :: get_node_names () Функция NodeGraph :: get_node_names () и, следовательно, также Node :: get_node_names (), теперь возвращает std :: vector , содержащий полные имена узлов с включенными пространствами имен , а не только имена узлов.
Однако основные изменения касаются улучшений компонентов, внутрипроцессного взаимодействия и качества обслуживания:

Компоненты теперь являются рекомендуемым способом написания вашего узла. Их можно использовать как автономные, так и в составе процесса, и оба способа полностью поддерживаются из файлов запуска.
Улучшена внутрипроцессная связь (только C ++) — как с точки зрения задержки, так и с точки зрения минимизации копий.
Клиентская библиотека Python была обновлена, чтобы соответствовать большей части эквивалента C ++, и были внесены некоторые важные исправления ошибок и улучшения, связанные с использованием памяти и производительностью.
Параметры теперь являются полной альтернативой dynamic_reconfigure из ROS 1, включая такие ограничения, как диапазоны или доступ только для чтения.
Опираясь на (подмножество) IDL 4.2 21 для конвейера генерации сообщений, теперь можно использовать файлы .idl (помимо файлов .msg / .srv / .action). Это изменение связано с поддержкой дополнительной кодировки UTF-8 для обычных строк, а также многобайтовой строки в кодировке UTF-16.
Инструменты командной строки, относящиеся к действиям и компонентам.
Поддержка предельного срока, срока службы и качества обслуживания QoS
Альфа-версия MoveIt 2.0 32
OpenEmbedded Thud (2.6) / WebOS OSE 33 в качестве поддерживаемой платформы уровня 3

Помимо операционной системы, ROS также образует основу, на которой построены другие инструменты, например Gazebo, как мы узнали еще в 2016 году из статьи Gazebo Robot Simulator Makes Version 7.
Если подумать, с помощью Gazebo, которая напоминает инструмент САПР, вместо проектирования зданий вы можете проектировать роботов до того, как они будут произведены. Для этого Gazebo опирается на ROS и имитирует работу с моделями, начиная с простого двуногого робота с суставами ног и заканчивая роботом NASA Robonaut 2; Таким образом, вы могли протестировать все комбинации полезной нагрузки сенсора и режимов полета виртуально, прежде чем переходить к реальному оборудованию.
После этой статьи ROS превратилась в полноценную операционную систему, удовлетворяющую все потребности исследователя или интегратора, и поэтому представляет собой надежное решение для автоматизации роботов.
Diademata скрепляет это утверждение.


Добавить комментарий