Балансирующий робот
Наш балансирующий робот представляет собой двухколесное транспортное средство, которое состоит из одной колесной пары и корпуса, на котором располагается система управления и аккумулятор. В конструкции этого робота центр масс корпуса находится выше оси вращения колес, поэтому такая конструкция является неустойчивой, и для ее стабилизации во время движения необходима надежная система управления.
С математической точки зрения модель движения такого робота аналогична модели перевернутого маятника. Задача стабилизации перевернутого маятника в неустойчивом положении является классическим примером в теории автоматического управления и часто используется для сравнения различных алгоритмов управления (ПИД-регуляторы, нечеткая логика, нейронные сети и генетические алгоритмы).
Робот собран из конструктора fischertechnik ROBO TX учебная лаборатория (арт. 505286). Конструкция состоит из прямоугольной рамы, на которой закреплены следующие узлы: в нижней части — двигатели и датчик наклона, в средней части — бортовой управляющий контроллер, и в верхней части — аккумуляторная батарея.
Первые конструкторы fischetechnik появились в Германии в середине 1960-х годов. Первоначально это были механические конструкторы, которые состояли из пластиковых строительных блоков и соединялись друг с другом с помощью зацепления «ласточкин хвост». Постепенно перечень деталей увеличивался, в составе конструктора появились простые электронные блоки, а затем и микропроцессорные блоки управления. Первые наборы fischertechnik с программируемыми контроллерами появились во второй половине 1980-х годов.
Вес робота — 600 г. Диаметр колес — 90 мм. Для измерения угла наклона используется плата с трех-осевым акселерометром ADXL335 и двухосевым гироскопом IDG500, которая подключается напрямую к бортовой системе управления на базе микропроцессорного блока Arduino. На плате Arduino установлен микроконтроллер ATmega328P, работающий на частоте 16 МГц. Объем flash-памяти микроконтроллера — 32 кБ. Программное обеспечение написано на языке Wiring с расширениями для Arduino. Для стабилизации робота в вертикальном положении используется стандартный ПИД-регулятор. Частота работы регулятора 100 Гц.
Для вращения колес используются двигатели (135484 Encoder Motor) из конструктора fischertechnik. Максимальная скорость вращения двигателей 300 об/мин. Двигатели получают питание от платы расширения Arduino, на которой установлен драйвер L293. Управление скоростью двигателей с помощью ШИМ.
==
ПАКПАК — обучение через игру!