Кинетическая скульптура учится балансировать шариком при помощи Arduino и машинного обучения


Astrid Kraniger создала интересную инсталляцию: In Medio Stat Virtus — это кинетическая скульптура, балансирующая шариком на уголке, который удерживается двумя тросиками.
Длина тросиков изменяется шаговыми двигателями, а положение шарика определяется разницей в весе, который измеряется на тросах при помощи тензодатчиков, снятых с электрических безменов.
Таким образом, удержание баланса достигается, когда шаговые двигатели поднимают и опускают нужную сторону, чтобы выровнять вес на каждом тросе.
Главная особенность заключается в том, что вместо классического PID, автор решил применить машинное обучение с использованием библиотеки Q-Behave. Система определяет, когда разница между двумя весами уменьшается и «вознаграждает» алгоритм так, чтобы он узнавал, что от него требуется. Результатом является система, которая удерживает равновесие.

Для создания данной конструкции, автор использовала:
контроллер Arduino (для прототипирования)
два электрических безмена,
два модуля HX711 (24-битный аналого-цифровой преобразователь (АЦП) для тензодатчиков),
два шаговых двигателя.

Ссылки
In Medio Stat Virtus — описание
In Medio Stat Virtus — изготовление
Q-Behave
HX711 — Arduino library to interface the Avia Semiconductor HX711
AccelStepper library for Arduino

По теме
Платформа балансирующая шариком
Жонглирование шариком для пинг-понга при помощи Arduino и 4 микрофонов
Обучение робота ходьбе при помощи нейронной сети

Arduino
Ардуино что это и зачем?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение