Программное обеспечение
Сделал сам - поделись с другими - Open Source
Использование одинакового микроконтроллерного модуля во всех узлах робота и в разных проектах роботов - невероятно ускорят процесс разработки ПО роботов.
Проект "Братья Вольт" и Лаборатория робототехники Института механики МГУ поддерживают концепцию открытого программного обеспечения. По этому различные примеры ПО разработанные нами для экосистемы VBCores мы публикуем в нашем репозитории Github.com/VBCores.
Для нашего ПО мы как правило используем MIT License. ПО которое является форками сохраняет лицензию автора.
Мы постарались сделать примеры для наиболее часто используемых технологий при создании роботов:
Разработка ПО для микроконтроллерного модуля
Для раскрытия всех возможностей микроконтроллерного модуля, мы рекомендуем использовать нативные среды программирования. Если вы уже знакомы с электроникой и программированием микроконтроллеров STM32 - нам остается только оставить ссылку на страницу со схематикой модуля и пожелать удачи в работе с ним из любимой IDE.
Модуль VBCore полностью совместим с отладочной платой STM NUCLEO-G447RE - любой разработанный для нее код можно просто перенести на модуль.
Можно использовать все программные библиотеки и примеры, доступные в пакете MCU STM32Cube.
Поддержка широкого выбора интегрированных сред разработки (IDE), включая IAR Embedded Workbench.
Если вы знакомы с миром микроконтроллеров только благодаря Arduino - не беда, для многих задач этого может быть достаточно. Модуль поддерживает работу через библиотеку STM32duino.
Мы подготовили большой раздел с описанием как настроить Arduino IDE, проработали несколько примеров и библиотек.
Работа с шинами CAN и CAN FD
В рамках концепции VBCores предполагается, что все внутренние блоки робота связываются между собой по коммуникационной шине CAN. Модули поддерживают работу в режиме CAN и CAN FD - обязательно почитайте различия этих стандартов https://en.wikipedia.org/wiki/CAN_FD. Обратите внимание сто устройства поддерживающие CAN FD могут работать в режиме CAN, а вот обратное не верно. Мы подготовили описание настройки и примеры работы для CAN и CAN FD для микроконтроллеров и для микрокомпьютера Raspberry PI с использованием нашего CAN-FD шилда.
Так же мы сделали примеры и библиотеки для работы со стандартом Cyphal (https://opencyphal.org/) — это открытый лёгкий протокол для бортовой сети подвижных объектов.
Некоторую историю создания и использования этого протокола можно почитать тут (до 2022 года проект назывался UAVCAN): https://habr.com/ru/articles/512570/ https://habr.com/ru/companies/innopolis/articles/513192/ https://en.wikipedia.org/wiki/Cyphal
Работа с ROS
Важным фреймворком для создания современных роботов является Robot Operating System. Как перейти от уровня микроконтроллеров на уровень ROS описано в разделе Модули и роботы
Работа с научным ПО
Часто для разработчиков, особенно ученных и студентов возникает необходимость в обмене данными с такими программными пакетами как Matlab или Labview. Пример такой интеграции реализованной через TCP сервер вы найдете в разделе Работа с научным ПО.
Last updated