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 и представляет собой одно из наиболее популярных решений для разработки роботов в мире.