Robossembler - Открытая робототехника
570 subscribers
44 photos
8 videos
2 files
209 links
Ваш персональный фронтир в борьбе роботов за лучшее будущее для кожаных мешков. Open Source Robotics и всё такое. По вопросам сотрудничества пишите @brylev, наш сайт robossembler.org
Download Telegram
​​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
​​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
👍10