Конструктор fischertechnik TXT Discovery Set — краткий обзор

В предыдущей публикации я представил обзор истории инженерных конструкторов fischertechnik с 1965 по 2017 г. и сейчас, в соответствии с пожеланием читателей, выкладываю обзор конструкторского набора 524328 ROBOTICS TXT Discovery set.

zpx9u_-hq3xbsg_cpggsjkv7dz4.jpeg

Конструктор 524328 предназначен для мальчиков и девочек, интересующихся механикой, автоматикой, программированием, компьютерным зрением или, как принято сейчас говорить, — робототехникой.

В картонной коробке находятся механические детали, моторы, программируемый контроллер TXT, видеокамера, программное обеспечение ROBO Pro, инструкция по сборке и небольшая книжка в формате PDF с учебным материалом.

Дополнительно для работы с конструктором нам понадобится аккумуляторный набор 34969, в который входит NiMH аккумулятор и зарядное устройство.

Однако, прежде чем я перейду к подробному описанию набора предлагаю ознакомиться с историей появления первого конструктора fischertechnik, посвященного робототехнике.


Предыстория

Первый конструктор на базе деталей fischertechnik, посвященный мобильной робототехнике появился в 1983 г. в рамках экспериментального образовательно проекта, проводившегося в то время в Великобритании.

Компания Economatics, работавшая над проектом, обратила внимание на работу молодого ученного из MIT Сеймура Пейперта (1928–2016), который, прогнозируя масштабы надвигающейся революции в области вычислительной техники, предлагал начинать знакомить детей с компьютерами с самого раннего возраста с использованием разработанного его командой учебного языка программирования Logo.

Важной особенностью Logo был дружественный интерфейс среды исполнения и наличие в этой среде виртуального объекта управления — графической «черепашки», которая в соответствии с командами составленной программы могла перемещаться по экрану компьютера, оставляя за собой след. Кстати, эта работа г-на Пейперта, много раз трансформировалась и дошла до наших дней в виде учебной среды программирования под названием Скретч (об этом поговорим отдельно позже).

Так вот, в решении, которое было предложено в результате, предлагалось заменить виртуальную черепашку на вполне реальный объект — мобильную тележку. Таким образом, у учащихся появилась возможность не только познакомиться с технологиями программирования, но и изучить основы робототехники. Так появился первый набор BBC Buggy:

urydk1x4ip8dkd42uifvbfriwfi.jpeg

В состав набора входили детали fischertechnik для сборки тележки, плата управления, носитель с примерами управляющих программ и инструкция с учебными заданиями. Плата управления подключалась к компьютеру с помощью плоского кабеля. Можно сказать, что это был совместный проект fischertechnik + Economatics.

Первый полностью собственный набор для экспериментов с роботами компания fischertechnik выпустила в 1987 г. — это был конструктор 39502 Computing-Experimental. Из набора можно было построить несколько вариантов автоматических машин и попробовать свои силы в программировании алгоритмов управления

od-8mkiinnxwlusbyyeyd6c4q4m.jpeg

Затем последовали следующие поколения конструкторов и дополнительных наборов для функционального расширения, но это уже история, которая требует отдельной статьи. Сегодня же я предлагаю поближе рассмотреть актуальный набор — 524328 ROBOTICS TXT Discovery set


524328 ROBOTICS TXT Discovery set

Конструктор 524328 состоит из 310 деталей, из которых можно построить 14 моделей для экспериментов. Кроме инструкции по сборке и CD с ПО ROBO Pro в коробке также имеются заготовки для сборки полигона для испытаний мобильных роботов. Традиционно набор сопровождается мини-книжкой в формате PDF, из которой можно получить базовые сведения из области робототехники.

Внешний вид упаковки:

1wh7nnwgiaf8utvzbtmilzjlhcu.jpeg

Внутри картонной коробки детали хранятся в двух пластиковых ложементах в отдельных отсеках. При желании можно дополнительно приобрести фирменную систему хранения и использовать подложки для сортировки деталей, которые легко вырезаются ножницами из инструкции по сборке.

Для использования в кружках и школах этот конструктор упаковывается в более удобные и долговечные пластиковые контейнеры Gratnells и имеет другой заказной номер — 533018.

uwlammsbq-bbgu_p4aftfykzd2o.jpeg

В перечень деталей помимо простых конструкционных элементов входят два сервомотора с встроенными энкодерами, один обычный двигатель постоянного тока с внешним редуктором, фототранзистор, термистор, шины, светодиоды и оранжевый мячик для экспериментов с системой компьютерного зрения:

zrmo7wxomtdmt1fqdvmxblyvwfq.jpeg
(по клику на картинку — хайрез)


Программируемый контроллер TXT

Блок управления в конструкторе 524328 выполнен в виде компактного компьютера, построенного на базе процессора ARM Cortex A8 и встроенной платы ввода-вывода на ARM Cortex M3. Для взаимодействия с пользователем у блока имеется цветной сенсорный дисплей 2,4 дюйма, 320×240, с подсветкой. Кроме того, в компьютере есть встроенный динамик и RTC с резервным питанием от литиевой батарейки.

Контроллер TXT:
wk21iuu2vaqtj_hialtwer9usqc.jpeg

Контроллер TXT работает под управлением ОС c ядром Linux. При желании можно загрузить свою ОС с подключаемой карты памяти формата micro-SD.


Память


  • 128 МБ DDR3 RAM
  • 64 МБ FLASH
  • Micro-SD
  • USB mass storage device


Коммуникации

На бору контроллера имеются следующие интерфейсы:


  • Bluetooth 2.1 EDR+ 4.0
  • WLAN 802.11 b/g/n
  • Разъем USB-mini для подключения к компьютеру
  • Разъем USB-A с функцией хост-контроллера для подключения USB-камеры, USB-флеш накопителя и других устройств.
  • ИК фотоприемник для пульта управления из комплекта «Набор для дистанционного управления»
  • Интерфейс I2C
  • Интерфейс UART
  • Интерфейс CAN


Ввод-вывод


  • Универсальные входы: 8 штук цифровые/аналоговые 0–9В или 0–5 кОм
  • Счетные входы: 4 штуки (0–9В Fвх < 1 кГц)
  • Универсальные выходы (ШИМ 9В / 0,25А): 8 штук

На всякий случай внутренности контроллера TXT можно увидеть на картинке ниже:
ipr0zn3auxkghih66xnlkku_cwi.jpeg

Важная особенность этого набора заключается в наличии аппаратных и программных средств для экспериментов с компьютерным зрением. Для этого в наборе есть видеокамера с интерфейсом USB, а в инструментальном ПО ROBO Pro имеется библиотека функций компьютерного зрения и конфигуратор для настройки и наладки.

tgi_7d-9ek2ipimw1_dagj4djmu.jpeg

Библиотека компьютерного зрения содержит следующие базовые функций обработки видеокадров:


  • Вычисление усредненной яркости заданного региона видеокадра.
  • Поиск последовательности элементов растра одного цвета для заданного региона видеокадра.
  • Поиск геометрической фигуры, вычисление координат и размеров.
  • Детектор движения в регионе видеокадра.

Конфигуратор подсистемы компьютерного зрения в составе ПО ROBO Pro:
s_r9iwlid8ug6pe95_kgcmqng2s.png


Инструментальное ПО ROBO Pro

Для разработки управляющих программ для контроллера TXT предлагается использовать учебное инструментальное ПО ROBO Pro, в составе которого имеется редактор блок-схем алгоритмов, библиотека базовых программных элементов, библиотека прикладных функций, инструменты для наладки и удаленного управления. ПО ROBO Pro входит в состав конструкторского набора. Отдельно покупать его не требуется.

Обычно окно редактора выглядит как на картинке ниже:

xd8vsyc3wbjsl730u88bgi0d3te.png

Алгоритмы управления составляются в виде обычных классических блок-схем — так как это принято в профильной ИТ-литературе и технической документации. Вы, конечно, можете резонно спросить меня: —, а как же Скретч? Почему это в документации на МК ATMEL или ПЛК SIMATIC алгоритмы изображены в виде блок-схем, а не в виде скретч-схем? Здесь я вряд ли смогу вам аргументированно ответить. Однако мой внутренний инженер в восторге от возможности использовать общепринятый визуальный инструмент естественным путем для первого знакомства детей с технологиями автоматического управления.

На всякий случай схемы алгоритмов из технической документации:
qymghsshbzyxwiy3ywowocb7ccw.png

Блок-схемы, составленные в редакторе, можно запустить на исполнение в двух режимах — локально на инструментальной машине или удаленно, загрузив в целевую машину. Первый способ удобен для отладки т.к. во время исполнения алгоритма можно использовать пошаговое выполнение и подсветку текущего шага алгоритма.

Для продвинутых пользователей в ROBO Pro имеется поддержка многопоточного выполнения алгоритмов. Также поддерживается декомпозиция алгоритмов на процедуры и еще имеются элементы пользовательского интерфейса, которые можно размещать прямо на листах блок-схем.

В библиотеке элементов пользовательского интерфейса имеются регистратор/осциллограф, стрелочные приборы и поля для ввода и вывода цифровых значений. Это очень важная функция как для начинающих, так и для продвинутых пользователей. Возможность регистрации данных в реальном времени и последующий анализ сильно упрощают изучение новых алгоритмов управления и значительно сокращают время наладки.

Вот так выглядит окно редактора с более сложным проектом:
htt8wrkmii-rzgv9tvhvbeni8yc.png


Дополнительные наборы

Функциональные возможности набора 524328 можно расширить с помощью дополнительных наборов из серии ROBOTICS:

Они отличаются от конструктора 524328 отсутствием контроллера TXT. Предполагается, что переход к этим наборам происходит после решения всех задач из набора 524328.


Примеры проектов

Я подготовил несколько роликов, которые раскрывают некоторые (но далеко не все) возможности стандартного конструктора TXT Discovery set без дополнительных деталей. Все проекты из примеров лежат на гитхабе. Буду рад ответить на ваши вопросы в комментариях.

Два простых алгоритма для светофора:


Дистанционное управление с использованием элементов пользовательского интерфейса и трансляцией видео в ROBO Pro:


Автоматическое управление тележкой с обратной связью на базе компьютерного зрения. Используется пропорциональный закон регулирования. Коэффициент усиления пропорционального звена KP=3.5. Видно, что тележка движется по маршруту неустойчиво — раскачивается и в конце концов съезжает с трассы. Обратите внимание на регистратор параметров. Он позволяет количественно оценить значение перерегулирования уже после того как движение остановлено:


Причина неустойчивого поведения в том, что при вращении тележки возникают силы инерции, которые будут продолжать разворачивать тележку, даже если управляющее воздействие от пропорционального звена будет равно нулю. В результате мы видим, как тележка проскакивает линию и затем начинает разворачиваться в обратную сторону — в динамической системе возникают колебания. Такое поведение сильно снижает качество управления и в некоторых случаях может привести к выходу из строя.

Для противодействия силам инерции в структуру регулятора добавлено дифференцирующее звено, которое формирует сигнал, пропорциональный изменению рассогласования на входе регулятора. Установим коэффициент KD=6.0 и посмотрим, как будет вести себя тележка:


Теперь робот устойчиво проходит трассу. Обратите внимание на зеленый сигнал на регистраторе — это и есть выходной сигнал дифференциального звена регулятора, которое помогает «притормозить» разворот робота при возвращении на траекторию.


Заключение

Выше я привел несколько примеров использования набора 524328 ROBOTICS TXT Discovery set для организации практических занятий по теории автоматического управления. Приведенные примеры были очень сухими и лишены теоретических выкладок. Думаю, что в одной из следующих публикаций я смогу поделиться своими наработками в части организации практических занятий по автоматике с использованием конструкторов fischertechnik. Будет ли вам это интересно?

Как обычно, для любителей инженерного творчества, осиливших весь пост, скидка 15% по коду gktms1712 до 31.12.2017 включительно в магазине Пакпак. Слава роботам!


Ссылки


  1. История учебной черепашки BBC Buggy 1983 г.
  2. Сеймур Пейперт — изобретатель языка Лого
  3. Кастомная сборка ОС для контроллера TXT
  4. Scratch для контроллера TXT
  5. Python для контроллера TXT

© Geektimes