Программное обеспечение

Сделал сам - поделись с другими - 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