CAD -> SDF/URDF
Требования к трехмерным моделям со стороны CAD и симуляторов отличаются. CAD нужно полноценное точное воспроизведение геометрии (нативный CAD-форматы или STEP/IGS), тогда как симуляциям нужна высокая производительность, а потому и малое количество полигонов (форматы для веб glTF или классические STL/OBJ/COLLADA).
Так или иначе, для оперативной загрузки и обновления моделей в симуляциях требуется автоматическая выгрузка CAD-моделей.
В поисках реализаций экспорта моделей из CAD в Ignition/Gazebo симулятор нашёл пару проектов:
- Забытый плагин к FreeCAD RobotCreator, не обновлявшийся с 2017 года и его чуть более живой форк - RoboStack/RobotCreator
- Ныне действующий Dave-Elec/freecad_to_gazebo. Автору в issues адресовали вопрос знает ли он о RobotCreator, но что он ответил, что там есть проблемы и проект мёртвый. Автор RobotCreator, упомянутый в этом обсуждении, сообщил там же, что в настоящее время занимается другим своим open source проектом и планирует возобновить над ним работу. Возможно, что мы примем участие в улучшении этого плагина.
- Solidworks URDF Exporter - плагин для экспорта URDF (постепенно замещается расширеннымa форматом описаний сцен симуляции SDF), которым мы уже успели воспользоваться для нашей Роборуки.
Сейчас наши модели представлены в основном в виде комбо SLDASM/STEP и соответствующий плагин, но новых конструкторов я буду искать обязательно со знанием FreeCAD, потому что именно он сможет дать там столь необходимую в данном случае автоматизацию.
#gazebo #freecad #ignition #solidworks #export
Требования к трехмерным моделям со стороны CAD и симуляторов отличаются. CAD нужно полноценное точное воспроизведение геометрии (нативный CAD-форматы или STEP/IGS), тогда как симуляциям нужна высокая производительность, а потому и малое количество полигонов (форматы для веб glTF или классические STL/OBJ/COLLADA).
Так или иначе, для оперативной загрузки и обновления моделей в симуляциях требуется автоматическая выгрузка CAD-моделей.
В поисках реализаций экспорта моделей из CAD в Ignition/Gazebo симулятор нашёл пару проектов:
- Забытый плагин к FreeCAD RobotCreator, не обновлявшийся с 2017 года и его чуть более живой форк - RoboStack/RobotCreator
- Ныне действующий Dave-Elec/freecad_to_gazebo. Автору в issues адресовали вопрос знает ли он о RobotCreator, но что он ответил, что там есть проблемы и проект мёртвый. Автор RobotCreator, упомянутый в этом обсуждении, сообщил там же, что в настоящее время занимается другим своим open source проектом и планирует возобновить над ним работу. Возможно, что мы примем участие в улучшении этого плагина.
- Solidworks URDF Exporter - плагин для экспорта URDF (постепенно замещается расширеннымa форматом описаний сцен симуляции SDF), которым мы уже успели воспользоваться для нашей Роборуки.
Сейчас наши модели представлены в основном в виде комбо SLDASM/STEP и соответствующий плагин, но новых конструкторов я буду искать обязательно со знанием FreeCAD, потому что именно он сможет дать там столь необходимую в данном случае автоматизацию.
#gazebo #freecad #ignition #solidworks #export
GitHub
GitHub - maidenone/RobotCreator: FreeCAD Workbench for URDF & SDF and Gazebo
FreeCAD Workbench for URDF & SDF and Gazebo. Contribute to maidenone/RobotCreator development by creating an account on GitHub.
Gazebo Security
Если Вас вдруг интересует безопасность применяемых в проекте компонентов ROS экосистемы, то имейте ввиду, что в Gazebo есть компонент freeimage, у которого:
Спасибо nixpkgs, где эта тема отслеживается и, чтобы поставить такой пакет в систему, нужно специальное разрешение.
#gazebo #security
Если Вас вдруг интересует безопасность применяемых в проекте компонентов ROS экосистемы, то имейте ввиду, что в Gazebo есть компонент freeimage, у которого:
Known issues:
- CVE-2021-33367
- CVE-2021-40262
- CVE-2021-40263
- CVE-2021-40264
- CVE-2021-40265
- CVE-2021-40266
- CVE-2023-47992
- CVE-2023-47993
- CVE-2023-47994
- CVE-2023-47995
- CVE-2023-47996
Спасибо nixpkgs, где эта тема отслеживается и, чтобы поставить такой пакет в систему, нужно специальное разрешение.
#gazebo #security
Изменения в процессе поставки Gazebo в ROS 2 Jazzy
В версиях ROS 2, предшествовавших Jazzy, использовались пакеты Gazebo, которые были доступны через репозитории Ubuntu. Однако, из-за принятой в Ubuntu политики обновления пакеты Gazebo не получали своевременных обновлений и в Ubuntu почти всегда загружались более старые версии Gazebo, чем те, что были доступны в репозитории пакетов Gazebo на packages.osrfoundation.org. Чтобы обойти это ограничение, новые пакеты Gazebo копировались в репозиторий ROS bootstrap (repos.ros.org), который затем скопировался в основной репозиторий пакетов ROS (packages.ros.org). Процесс копирования осуществлялся вручную, а потому возникали ошибки и синхронизация версий пакетов между репозиториями Gazebo и ROS была затруднена.
Начиная с ROS 2 Jazzy, Gazebo доступен из репозитория пакетов ROS через, так называемые, vendor-пакеты. Вендор-пакет - это пакет ROS, предоставляющий программное обеспечение на платформах, где оно может быть недоступно или где требуется версия, отличная от имеющейся.
Вендор-пакеты Gazebo предоставляют все необходимые библиотеки Gazebo для используемого релиза ROS (начиная с Jazzy). Пакеты собираются на сборочных серверах ROS buildfarm в соответствии с принятым в экосистеме процессом с использованием исходников базовой библиотеки Gazebo.
Теперь каждый выпуск ROS 2 будет связан с определенным выпуском Gazebo. Для ROS 2 Jazzy пакеты поставщика содержат библиотеки Gazebo из версии Harmonic. Для ROS 2 K-turtle (следующего выпуска) пакеты будут содержать Gazebo Ionic. Это соответствие будет указываться в инструкциях по установке ROS.
#gazebo #jazzy #ros2
Источник:
https://gazebosim.org/docs/latest/ros2_gz_vendor_pkgs
В версиях ROS 2, предшествовавших Jazzy, использовались пакеты Gazebo, которые были доступны через репозитории Ubuntu. Однако, из-за принятой в Ubuntu политики обновления пакеты Gazebo не получали своевременных обновлений и в Ubuntu почти всегда загружались более старые версии Gazebo, чем те, что были доступны в репозитории пакетов Gazebo на packages.osrfoundation.org. Чтобы обойти это ограничение, новые пакеты Gazebo копировались в репозиторий ROS bootstrap (repos.ros.org), который затем скопировался в основной репозиторий пакетов ROS (packages.ros.org). Процесс копирования осуществлялся вручную, а потому возникали ошибки и синхронизация версий пакетов между репозиториями Gazebo и ROS была затруднена.
Начиная с ROS 2 Jazzy, Gazebo доступен из репозитория пакетов ROS через, так называемые, vendor-пакеты. Вендор-пакет - это пакет ROS, предоставляющий программное обеспечение на платформах, где оно может быть недоступно или где требуется версия, отличная от имеющейся.
Вендор-пакеты Gazebo предоставляют все необходимые библиотеки Gazebo для используемого релиза ROS (начиная с Jazzy). Пакеты собираются на сборочных серверах ROS buildfarm в соответствии с принятым в экосистеме процессом с использованием исходников базовой библиотеки Gazebo.
Теперь каждый выпуск ROS 2 будет связан с определенным выпуском Gazebo. Для ROS 2 Jazzy пакеты поставщика содержат библиотеки Gazebo из версии Harmonic. Для ROS 2 K-turtle (следующего выпуска) пакеты будут содержать Gazebo Ionic. Это соответствие будет указываться в инструкциях по установке ROS.
#gazebo #jazzy #ros2
Источник:
https://gazebosim.org/docs/latest/ros2_gz_vendor_pkgs
Новый Gazebo Ionic. Что нового?
9-ый релиз Gazebo с коротким сроком поддержки является промежуточным между LTS релизами Harmonic и грядущим Jetty.
Из наиболее значимого:
Улучшены файлы запуска ros-gz. Разработан более компактный синтаксис для запуска Gazebo, создания сущностей и запуска моста ros-gz. Функция поддерживает файлы запуска в форматах YAML и XML.
В Gazebo появилась поддеркжа компонуемых узлов (composable nodes), с помощью которых можно запускать ноды Gazebo, rosgzbridge и ROS в одном процессе. Эта функция сокращает накладные расходы на память и транспорт, необходимые для одновременного запуска ROS и Gazebo.
Поддержка настраиваемой оптимизации мешей для вычисления коллизий. Теперь пользователи могут указать, следует ли выполнять оптимизацию мешей в SDF (требуется версия SDF >= 1.11). В настоящее время поддерживаются два метода оптимизации: convexdecomposition и convexhull.
Переработано логирование. Теперь используется библиотека spdlog, которая обеспечивает больший контроль и гибкость.
Улучшения в физике Bullet Featherstone – плагин bullet-featherstone в gz-physics теперь включает поддержку вложенных моделей, внедиагональной инерции, принудительное ограничение скорости и усилия суставов, настройку итераций решателя и многое другое. Также есть функции для улучшения производительности и стабильности физики.
Улучшения команд CLI gz topic и gz service — большинство функций gz-transport доступны через командную строку. Синхронные запросы на обслуживание теперь имеют тайм-аут по умолчанию, что сокращает количество вводимых символов в команды в CLI. Gazebo Ionic позволяет пользователям обращаться к no-input сервисам непосредственно из командной строки.
Теперь можно отслеживать выбранные объекты автоматически с помощью графического интерфейса. Для этого нужно выбрать трек в графическом интерфейсе и камера последует за выбранным объектом.
Видео с демонстрациями изменений:
https://vimeo.com/1014479065
Источник:
https://community.gazebosim.org/t/gazebo-ionic-release/3088
#gazebo #release
9-ый релиз Gazebo с коротким сроком поддержки является промежуточным между LTS релизами Harmonic и грядущим Jetty.
Из наиболее значимого:
Улучшены файлы запуска ros-gz. Разработан более компактный синтаксис для запуска Gazebo, создания сущностей и запуска моста ros-gz. Функция поддерживает файлы запуска в форматах YAML и XML.
В Gazebo появилась поддеркжа компонуемых узлов (composable nodes), с помощью которых можно запускать ноды Gazebo, rosgzbridge и ROS в одном процессе. Эта функция сокращает накладные расходы на память и транспорт, необходимые для одновременного запуска ROS и Gazebo.
Поддержка настраиваемой оптимизации мешей для вычисления коллизий. Теперь пользователи могут указать, следует ли выполнять оптимизацию мешей в SDF (требуется версия SDF >= 1.11). В настоящее время поддерживаются два метода оптимизации: convexdecomposition и convexhull.
Переработано логирование. Теперь используется библиотека spdlog, которая обеспечивает больший контроль и гибкость.
Улучшения в физике Bullet Featherstone – плагин bullet-featherstone в gz-physics теперь включает поддержку вложенных моделей, внедиагональной инерции, принудительное ограничение скорости и усилия суставов, настройку итераций решателя и многое другое. Также есть функции для улучшения производительности и стабильности физики.
Улучшения команд CLI gz topic и gz service — большинство функций gz-transport доступны через командную строку. Синхронные запросы на обслуживание теперь имеют тайм-аут по умолчанию, что сокращает количество вводимых символов в команды в CLI. Gazebo Ionic позволяет пользователям обращаться к no-input сервисам непосредственно из командной строки.
Теперь можно отслеживать выбранные объекты автоматически с помощью графического интерфейса. Для этого нужно выбрать трек в графическом интерфейсе и камера последует за выбранным объектом.
Видео с демонстрациями изменений:
https://vimeo.com/1014479065
Источник:
https://community.gazebosim.org/t/gazebo-ionic-release/3088
#gazebo #release