RobotCAD является верстаком во FreeCAD - свободной САПР. RobotCAD свободное ПО.
RobotCAD так же известен как FreeCAD OVERCROSS.
Теперь разработка базового кода для робота или мультикоптера для запуска в симуляции стала мгновенной!
Для этого необходимо нажать всего несколько кнопок. Вместо десятков часов чтения руководств, написания ROS2 кода, Docker кода, различных кофигов, попыток подружить библиотеки между собой и отладки.
Внешний генератор кода создаёт:
Базовый генератор кода создаёт:
Во FreeCAD, вы создаёте или импортируете детали робота, далее при помощи инструментов верстака RobotCAD задаёте струкруту робота (звенья и суставы) и привязываете ваши детали (в качестве визуала, коллизий и реальных частей) к звеньям, выбираете материалы звеньев или всего робота, задаёте типы суставов и их позиции. Нажимаете кнопку автоматического расчёта массы и инерции звеньев (на основе выбранных материалов). Эти данные в дальнейшем будут использованы симуляцией, для реалистичного взаимодействия робота с миром. Выбираете путь куда сгенерировать проект.
Всё! Осталось нажать кнопку генерации кода. Подробнее.
После генерации кода вы сможете запустить скрипт старта, произойдёт подтягивание зависимостей, сборка Docker образа, запуск контейнера. Для простоты, всё это обёрнуто в одну команду.
Далее в контейнере, используя команды из файла README.md, запускаем лаунчер ROS2 с нашим мультикоптером. Откроется Gazebo и RViz. Затем запускаем PX4, он автоматически подключится к нашему мультикоптеру в симуляции и будет готов принять комманду - "take off" (взлёт).
Для не специализированных роботов процесс запуска тот же самый, но без запуска PX4.
По итогу имеем готовую инфраструктуру для робота, упакованную в Docker. Всё это генерируется несколькими нажатиями кнопок из верстака для создания роботов - RobotCAD.
Создали робота в RobotCAD и сразу запустили в симуляции.
Поздравляю! У вас есть проект с инфраструктурой, дальше можно писать бизнес-логику.
В проекте так же создаются все необходимые файлы для запуска: airframe, SDF, ROS2 лаунчеры, URDF и т.д.
В airframe у мультикоптеров заданы позиции двигателей относительно центра масс (как это и должно быть по документации), а не центра рамы. Это делает дрон более устойчивым, если центр масс смещён.
Протестировано на Ubuntu 22.04 в качестве host ОС.
Вы можете использовать обычные руководства ROS2 и PX4 для дальнейшего программирования требуемой вашему проекту логики.
В планах расширение возможностей генератора кода, и со временем всё больше будет доступно через генератор.
Если вы не знакомы с представленным стеком технологий обёрнутых в докер, то это всё является opensource и представляет собой одно из наиболее популярных решений для разработки роботов в мире.