В предыдущей публикации я представил обзор истории инженерных конструкторов fischertechnik с 1965 по 2017 г. и сейчас, в соответствии с пожеланием читателей, выкладываю обзор конструкторского набора 524328 ROBOTICS TXT Discovery set.
Конструктор 524328 предназначен для мальчиков и девочек, интересующихся механикой, автоматикой, программированием, компьютерным зрением или, как принято сейчас говорить, – робототехникой.
В картонной коробке находятся механические детали, моторы, программируемый контроллер TXT, видеокамера, программное обеспечение ROBO Pro, инструкция по сборке и небольшая книжка в формате PDF с учебным материалом.
Дополнительно для работы с конструктором нам понадобится аккумуляторный набор 34969, в который входит NiMH аккумулятор и зарядное устройство.
Однако, прежде чем я перейду к подробному описанию набора предлагаю ознакомиться с историей появления первого конструктора fischertechnik, посвященного робототехнике.
Предыстория
Первый конструктор на базе деталей fischertechnik, посвященный мобильной робототехнике появился в 1983 г. в рамках экспериментального образовательно проекта, проводившегося в то время в Великобритании.
Компания Economatics, работавшая над проектом, обратила внимание на работу молодого ученого из MIT Сеймура Пейперта (1928-2016), который, прогнозируя масштабы надвигающейся революции в области вычислительной техники, предлагал начинать знакомить детей с компьютерами с самого раннего возраста с использованием разработанного его командой учебного языка программирования Logo.
Важной особенностью Logo был дружественный интерфейс среды исполнения и наличие в этой среде виртуального объекта управления — графической «черепашки», которая в соответствии с командами составленной программы могла перемещаться по экрану компьютера, оставляя за собой след. Кстати, эта работа г-на Пейперта, много раз трансформировалась и дошла до наших дней в виде учебной среды программирования под названием Скретч (об этом поговорим отдельно позже).
Так вот, в решении, которое было предложено в результате, предлагалось заменить виртуальную черепашку на вполне реальный объект – мобильную тележку. Таким образом, у учащихся появилась возможность не только познакомиться с технологиями программирования, но и изучить основы робототехники. Так появился первый набор BBC Buggy:
В состав набора входили детали fischertechnik для сборки тележки, плата управления, носитель с примерами управляющих программ и инструкция с учебными заданиями. Плата управления подключалась к компьютеру с помощью плоского кабеля. Можно сказать, что это был совместный проект fischertechnik + Economatics.
Первый полностью собственный набор для экспериментов с роботами компания fischertechnik выпустила в 1987 г. — это был конструктор 39502 Computing-Experimental. Из набора можно было построить несколько вариантов автоматических машин и попробовать свои силы в программировании алгоритмов управления
Затем последовали следующие поколения конструкторов и дополнительных наборов для функционального расширения, но это уже история, которая требует отдельной статьи. Сегодня же я предлагаю поближе рассмотреть актуальный набор — 524328 ROBOTICS TXT Discovery set
524328 ROBOTICS TXT Discovery set
Конструктор 524328 состоит из 310 деталей, из которых можно построить 14 моделей для экспериментов. Кроме инструкции по сборке и CD с ПО ROBO Pro в коробке также имеются заготовки для сборки полигона для испытаний мобильных роботов. Традиционно набор сопровождается мини-книжкой в формате PDF, из которой можно получить базовые сведения из области робототехники.
Внешний вид упаковки:
Внутри картонной коробки детали хранятся в двух пластиковых ложементах в отдельных отсеках. При желании можно дополнительно приобрести фирменную систему хранения и использовать подложки для сортировки деталей, которые легко вырезаются ножницами из инструкции по сборке.
Для использования в кружках и школах этот конструктор упаковывается в более удобные и долговечные пластиковые контейнеры Gratnells и имеет другой заказной номер – 533018.
В перечень деталей помимо простых конструкционных элементов входят два сервомотора с встроенными энкодерами, один обычный двигатель постоянного тока с внешним редуктором, фототранзистор, термистор, шины, светодиоды и оранжевый мячик для экспериментов с системой компьютерного зрения:
(по клику на картинку — хайрез)
Программируемый контроллер TXT
Блок управления в конструкторе 524328 выполнен в виде компактного компьютера, построенного на базе процессора ARM Cortex A8 и встроенной платы ввода-вывода на ARM Cortex M3. Для взаимодействия с пользователем у блока имеется цветной сенсорный дисплей 2,4 дюйма, 320х240, с подсветкой. Кроме того, в компьютере есть встроенный динамик и RTC с резервным питанием от литиевой батарейки.
Контроллер TXT:
Контроллер 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 можно увидеть на картинке ниже:
На левой печатной плате:
- ST STM32F105R8T6 — Микроконтроллер ARM Cortex-M3.
- MC33879 — драйвер выходов.
- MC33879 — драйвер выходов.
- TJA1040 – шинный формирователь последовательного интерфейса CAN.
На правой печатной плате:
- TI AM3352B — Микроконтроллер ARM Cortex-A8.
- Spansion ML01G100 — SLC NAND FLASH 64Мбайт.
- Samsung K4B2G — DDR3L 1600 DRAM 128Мбайт.
- TPS65910 — модуль управления питанием.
- WL18MODGB (5) комбинированный WiFi + Bluetooth модуль.
Важная особенность этого набора заключается в наличии аппаратных и программных средств для экспериментов с компьютерным зрением. Для этого в наборе есть видеокамера с интерфейсом USB, а в инструментальном ПО ROBO Pro имеется библиотека функций компьютерного зрения и конфигуратор для настройки и наладки.
Библиотека компьютерного зрения содержит следующие базовые функций обработки видеокадров:
- Вычисление усредненной яркости заданного региона видеокадра.
- Поиск последовательности элементов растра одного цвета для заданного региона видеокадра.
- Поиск геометрической фигуры, вычисление координат и размеров.
- Детектор движения в регионе видеокадра.
Конфигуратор подсистемы компьютерного зрения в составе ПО ROBO Pro:
Инструментальное ПО ROBO Pro
Для разработки управляющих программ для контроллера TXT предлагается использовать учебное инструментальное ПО ROBO Pro, в составе которого имеется редактор блок-схем алгоритмов, библиотека базовых программных элементов, библиотека прикладных функций, инструменты для наладки и удаленного управления. ПО ROBO Pro входит в состав конструкторского набора. Отдельно покупать его не требуется.
Обычно окно редактора выглядит как на картинке ниже:
Алгоритмы управления составляются в виде обычных классических блок-схем – так как это принято в профильной ИТ-литературе и технической документации. Вы, конечно, можете резонно спросить меня: — а как же Скретч? Почему это в документации на МК ATMEL или ПЛК SIMATIC алгоритмы изображены в виде блок-схем, а не в виде скретч-схем? Здесь я вряд ли смогу вам аргументированно ответить. Однако мой внутренний инженер в восторге от возможности использовать общепринятый визуальный инструмент естественным путем для первого знакомства детей с технологиями автоматического управления.
На всякий случай схемы алгоритмов из технической документации:
Блок-схемы, составленные в редакторе, можно запустить на исполнение в двух режимах – локально на инструментальной машине или удаленно, загрузив в целевую машину. Первый способ удобен для отладки т.к. во время исполнения алгоритма можно использовать пошаговое выполнение и подсветку текущего шага алгоритма.
Для продвинутых пользователей в ROBO Pro имеется поддержка многопоточного выполнения алгоритмов. Также поддерживается декомпозиция алгоритмов на процедуры и еще имеются элементы пользовательского интерфейса, которые можно размещать прямо на листах блок-схем.
В библиотеке элементов пользовательского интерфейса имеются регистратор/осциллограф, стрелочные приборы и поля для ввода и вывода цифровых значений. Это очень важная функция как для начинающих, так и для продвинутых пользователей. Возможность регистрации данных в реальном времени и последующий анализ сильно упрощают изучение новых алгоритмов управления и значительно сокращают время наладки.
Вот так выглядит окно редактора с более сложным проектом:
Дополнительные наборы
Функциональные возможности набора 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 включительно в магазине Пакпак. Слава роботам!
Ссылки
Комментарии (16)
Darkvetalx
27.12.2017 06:52Расскажите про все практикумы — серию статей напишите, в каждой отдельное применение.
proton17
27.12.2017 09:28Прикольно конечно, но 32+к это перебор, ну серьезно. RP3+камера+шилд+платформа с Али будет намного дешевле. Конечно не будет такого гламурного SDK, но может это и не плохо. Не совсем понятна целевая аудитория данного набора.
kubikus Автор
27.12.2017 11:06Спасибо за комментарий. С вашими аргументами сложно не согласиться, конечно с алиэкспресс можно заказать тележку, однако затем пользователю предстоит вооружиться отвёрткой, паяльником, может быть даже напильником, наставником с опытом и «допилить» свой собственный проект для решения определённой задачи, и хорошо если все необходимые детали окажутся под рукой и это проблема для тех, кто делает первые шаги. Легко споткнуться, потерять интерес и более не возвращаться к теме.
В этой статье я пишу о решении, которое включает все компоненты, которые нужны для старта. Причем работа с конструктором предполагает подход «от простого к сложному», с «наставником» в виде рабочей тетради, с возможностью расширения дополнительными наборами, к которым также есть готовый дидактический материал.
Более того — это не готовая тележка, а набор отдельных универсальных деталей, который можно всегда дополнить и расширить — они продаются по отдельности.
Для совсем юных, тех кто еще не решил куда двигаться, есть более дешевый набор с программированием и роботами, в том числе и мобильными — BT Стартовый набор 2.0 за 13600 р. или 11500 р. для тех, кто дочитал до конца статьи :]
Ойmadf
27.12.2017 11:4832К! Я конечно понимаю: камера, софт для "всех", но из этого хозяйства (набора, весьма скудного) много интересных вещей не собрать. Т.ч. скорее "нет".
PDivision
27.12.2017 14:33+1А программировать можно только в визуальном редакторе? Просто код писать нельзя?
kubikus Автор
27.12.2017 14:39Внутри контроллера TXT обычный Linux — разрабатывать прикладное ПО для него можно с помощью любых инструментов, которые, генерируют исполняемый код под ARM ABI: C, C++, ASM. Также есть модуль для Python, который обеспечивает доступ к встроенной плате ввода-вывода. В конце статьи есть ссылки.
Совсем не обязательно ограничиваться только инструментальным ПО ROBO Pro. Более того, я на своих курсах использую ROBO Pro только как начальный/ознакомительный этап.
ru_vlad
28.12.2017 00:28Как пользователь Лего EV3 могу сказать что данный конструктор для учебных заведений гораздо лучше.
Одна среда разработки большой плюс. На счет цены леговские наборы не дешевле, а вот по качеству и обучению программированию кошмар.
Жаль что Лего пролобировало свою продукцию в "верхах, а не вы.
RafaelRS
Есть такой, не понравился тем, что собранные конструкции не сохраняют свою форму, некоторые соединения гуляют в пазах и например шлагбаум приходится постоянно подправлять.