SimpleFOC
Очередной бриллиант в нашей open source коллекции для робототехники - SimpleFOC - библиотека векторного и шагового управления двигателями. Изначально была создана для Arduino, но сейчас поддерживает широкий ассортимент оборудования: двигатели(BLDC, шаговые), датчики поворота(магнитные, тока, энкодеры), микроконтроллеры(AVR, STM32, ESP32, Teensy), драйверы ключей(L6234, DRV8305, DRV8313). Библиотека реализует следующую схему композиции элементов системы управления - двигатель + датчик угла + датчик тока + драйвер + микроконтроллер, различные комбинации которой стремится поддерживать. Помимо непосредственно библиотеки, в рамках проекта были разработаны аппаратные модули драйверов для контроля токов от 3 до 30А, а также приложение с графическим интерфейсом SimpleFOCStudio для отладки алгоритмов управления.
У проекта весьма активное и развитое сообщество: github, форум, discord, магазин для дистрибьюции разработанных аппаратных модулей, а также весьма объёмная и качественная документация с изложением теории векторного управления и примерами реализованных проектов. Поддерживаются среды разработки ArduinoIDE и PlatformIO.
github | docs | youtube
#bldc #library #motor #vector #control
Очередной бриллиант в нашей open source коллекции для робототехники - SimpleFOC - библиотека векторного и шагового управления двигателями. Изначально была создана для Arduino, но сейчас поддерживает широкий ассортимент оборудования: двигатели(BLDC, шаговые), датчики поворота(магнитные, тока, энкодеры), микроконтроллеры(AVR, STM32, ESP32, Teensy), драйверы ключей(L6234, DRV8305, DRV8313). Библиотека реализует следующую схему композиции элементов системы управления - двигатель + датчик угла + датчик тока + драйвер + микроконтроллер, различные комбинации которой стремится поддерживать. Помимо непосредственно библиотеки, в рамках проекта были разработаны аппаратные модули драйверов для контроля токов от 3 до 30А, а также приложение с графическим интерфейсом SimpleFOCStudio для отладки алгоритмов управления.
У проекта весьма активное и развитое сообщество: github, форум, discord, магазин для дистрибьюции разработанных аппаратных модулей, а также весьма объёмная и качественная документация с изложением теории векторного управления и примерами реализованных проектов. Поддерживаются среды разработки ArduinoIDE и PlatformIO.
github | docs | youtube
#bldc #library #motor #vector #control
Yet Another State MachINe
Помимо новомодных Деревьев поведения, о которых я уже много раз тут писал, есть и более классические методы программирования отказоустойчивых автоматизированных систем - например, FSM или конечные автоматы. В отличие от деревьев поведения, над теоретической базой которых работает штучное количество учёных в мире, конечные автоматы имеют гораздо более серьёзную теоретическую базу и изучаются с середины 20 века. В том числе и в России - см. научную школу автоматного программирования Анатолия Абрамовича Шалыто в ИТМО, где ведутся исследования по части формальной верификации автоматных программ или по их генерации с помощью генетических алгоритмов.
В мире ROS долгое время была популярна библиотека SMACC, но появляются и относительно новые проекты. Среди них YASMIN - проект, ориентированный на реализацию поведения роботов с использованием конечных автоматов.
Особенности
- Интеграция с ROS 2 для упрощения развертывания и взаимодействия
- Поддержка Python и C++
- Предназначена для разработки прототипов, позволяющих быстро изменять поведение конечного автомата.
- Включает предопределенные состояния для взаимодействия с ROS 2 - action-клиентами, сервис-клиентами и топиками
- Использует blackboards для обмена данными между состояниями и конечными автоматами
- Управление состоянием: поддерживает отмену и остановку автоматов состояний, включая остановку текущего состояния выполнения
- Встроенный веб-просмотрщик (YASMIN Viewer) для мониторинга выполнения автоматов состояний в режиме реального времени.
В научной работе авторов приводится пример применения иерархических конечных автоматов (т.е. с вложенными друг в друга состояниями) в рамках архитектуры программного фреймворка MERLIN2 совместно с планировщиками PDDL и ROS 2 нодами.
Проект разрабатывается Исследовательской группой мобильной робототехники Леонского универститета, Испания.
#fsm #ros #library
Помимо новомодных Деревьев поведения, о которых я уже много раз тут писал, есть и более классические методы программирования отказоустойчивых автоматизированных систем - например, FSM или конечные автоматы. В отличие от деревьев поведения, над теоретической базой которых работает штучное количество учёных в мире, конечные автоматы имеют гораздо более серьёзную теоретическую базу и изучаются с середины 20 века. В том числе и в России - см. научную школу автоматного программирования Анатолия Абрамовича Шалыто в ИТМО, где ведутся исследования по части формальной верификации автоматных программ или по их генерации с помощью генетических алгоритмов.
В мире ROS долгое время была популярна библиотека SMACC, но появляются и относительно новые проекты. Среди них YASMIN - проект, ориентированный на реализацию поведения роботов с использованием конечных автоматов.
Особенности
- Интеграция с ROS 2 для упрощения развертывания и взаимодействия
- Поддержка Python и C++
- Предназначена для разработки прототипов, позволяющих быстро изменять поведение конечного автомата.
- Включает предопределенные состояния для взаимодействия с ROS 2 - action-клиентами, сервис-клиентами и топиками
- Использует blackboards для обмена данными между состояниями и конечными автоматами
- Управление состоянием: поддерживает отмену и остановку автоматов состояний, включая остановку текущего состояния выполнения
- Встроенный веб-просмотрщик (YASMIN Viewer) для мониторинга выполнения автоматов состояний в режиме реального времени.
В научной работе авторов приводится пример применения иерархических конечных автоматов (т.е. с вложенными друг в друга состояниями) в рамках архитектуры программного фреймворка MERLIN2 совместно с планировщиками PDDL и ROS 2 нодами.
Проект разрабатывается Исследовательской группой мобильной робототехники Леонского универститета, Испания.
#fsm #ros #library
👍10