Прошивка контроллера кинематических узлов создана специально под разрабатываемого внутри института ИИТ университета РТУ МИРЭА робота-квадрупеда. Контроллер выполняет связь между основным компьютером или устройством удалённого управления и двигателями робота.
Прошлый репозиторий доступен по ссылке. Разработка была начата ещё в августе 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.
