Прошивка контроллера кинематических узлов создана специально под разрабатываемого внутри института ИИТ университета РТУ МИРЭА робота-квадрупеда. Контроллер выполняет связь между основным компьютером или устройством удалённого управления и двигателями робота.
Прошлый репозиторий доступен по ссылке. Разработка была начата ещё в августе 2022, но так как код множество раз претерпевал изменения и сейчас вышел в относительную стабильность на уровне его ядра (а именно контроллера двигателей), было решено перенести данный репозиторий.
Предлагается переход на архитектуру с 4 контроллерами STM32F4, которые будут поддерживать каждый свою конечность робота. Из-за смены контроллера с ESP32 на STM32 отпадёт возможность удалённого управления и просмотра данных, однако получится углубиться в лучшую инкапсуляцию задач контроллера, а именно промежуточную обработку мат. модели каждой ноги. До перехода на STM32F4 есть желание испытать двухядерную версию прошивки, где будет поток ввода/вывода высокоуровневых команд и поток ввода/вывода низкоуровневых команд на двигатели.
Проект разработан для работы с PlatformIO, поэтому данный плагин обязателен для работы в VS Code. Представлен ряд макросов, которые могут изменить функционал прошивки:
ENABLE_RESTRICTIONS
- включает ограничение на отправку команд управления по CAN-шине, согласно проставленным значениям максимального и минимального угла поворота двигателей;SERIAL_OUTPUT
- включает консольный вывод данных;SERIAL_INPUT
- включает консольный ввод команд;SERIAL_DEBUG
- включает консольный вывод ряда дополнительных, отладочных данных;DISABLE_CAN
- выключает инициализацию CAN-шиныBT_CONTROL_TYPE
- при состоянии =0 включает управление джойстиком по Bluetooth, при состоянии =1 включает управление через BLE-характеристики;
Для указания пин-кода сопряжения с удалённым устройством можно использовать файл конфигурации secret_values.ini и макрос BLE_PINCODE
.