Pull to refresh
75.86
Rating
Проектная школа программирования GoTo
Образовательный проект для юных программистов

Гантель как орудие ума

Проектная школа программирования GoTo corporate blog Programming *Development of mobile applications *Robotics development *Development for IOT *

Преамбула


В пятницу 31 марта мы c товарищами проводим интенсив для преподавателей робототехники, руководителей ЦМИТов и вообще всех, кому интересны прикладные аспекты педагогики и не менее прикладные вопросы робототехники. Речь на семинаре пойдет о преподавании и наставничестве в области IoT и робототехники вообще, и о таком его специфическом виде как «проектная форма», в частности.

Понятие «проект» вошло в лексикон учителей уже давно и используется, зачастую, достаточно бездумно. Что скрывается за этим понятием, какие проблемы есть в преподавании проектной формы? На эти вопросы мы попытаемся ответить в ходе интенсива.

image

Для иллюстрации тезисов выбран IoT-проект «Умная гантель», о котором под катом.

Амбула


Разнообразные спортивные и околоспортивные гаджеты проникают в нашу жизнь все чаще и укореняются в ней все серьезнее. Можно тривиально вести график спортивных тренировок с помощью мобильного приложения GymBoom (или любого другого, миллион их), можно считать шаги-калории-километры с помощью специального трекера, можно даже осанку себе выпрямлять, прицепив на пояс хитрый контроллер.

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

image

Держа в уме это соображение, некоторое время назад мы на очередной нашей школе в составе группы юных (и не очень юных) исследователей разработали проект «Умная гантель».

Задачи были такие:

  • Создание IoT-проекта в полной мере реализующего функциональные возможности Intel Genuino,
  • Создание учебно-методического курса, представляющего интерес в качестве иллюстрации прикладных аспектов проектной формы образования: дерево проекта, различные направления исследования для разных микрогрупп участников и многое другое.

Гантели умнели


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

Обо всем по порядку. У нас было два мешка разнообразной ардуиновой рассыпухи, семьдесят пять таблеток питания по три вольта, пять штук моднейших Intel Genuino, mp3-плеер, напоминающий половину паука, и гора энтузиазма, креативных идей и всего такого. А еще литр кофе, литр кофе, литр кофе… извините, заклинило. Единственное, что меня беспокоило — это акселерометр и гироскоп. В мире нет никого более беспомощного, безответственного и безнравственного, чем программист, пытающийся освоить работу с такими штуками по документации. И я знал, что довольно скоро мы в это окунемся.

image

О проекте


Ладно, ладно, шучу. Все было чуть менее феерично, чем в первоисточнике, цитату из которого я обработал ломом и напильником. Однако, «цитата» получилась на диво точная.

Новая плата Genuino от Intel обладает рядом интересных особенностей, позволяющих использовать ее в качестве «мозга» для «умного» спортивного снаряда. Прежде всего, это акселерометр и гироскоп — с их помощью можно определить положение устройства в пространстве. Во вторую очередь это модуль Bluetooth Low Energy, реализующий IoT-часть функциональности: соединение с мобильным «сервером» и обмен данными в режиме низкого энергопотребления.

Каждая исследовательская задача — а «Умная гантель» именно такая — с некоторого момента живет собственной жизнью. Очередная решенная в рамках общей задачи проблема раскрывает новую ветку исследований — чисто «Civilization» Сида Мейера. Попробуем проиллюстрировать на живом примере.

Исторически первой на гантельном горизонте возникла проблема подсчета числа повторов (например, в упражнении «сгибание руки с гантелей»). Цикл «подъем-опускание» гантели дает один повтор, следовательно нужно фиксировать циклически изменяющиеся параметры: это могут быть начальные-конечные углы, характеризующие положение гантели в пространстве или связка скорость-ускорение, демонстрирующая его изменение.

Решив оттолкнуться от углов, мы приходим к естественному выводу, что потребуются данные от акселерометра. Или от гироскопа? Или от обоих сразу? Хмм…

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

image

Стало сразу понятнее, да? С другой стороны, ну вон же ускорение, можно даже в mg преобразовать!..

Не будем утомлять вас чересчур длинным рассказом о том, как трансформировались воззрения исследователей в процессе войны с акселерометром (и собственной дуростью), просто упомянем в скобках, что акселерометр возвращает координату. А вот координату чего — это обойдем фигурой умолчания: надо же оставить какую-никакую загадку вдумчивому читателю.

На всякий случай: «отгадка страшных тайн акселерометра» было отнюдь не единственным нашим приключением. Самый былинный эпизод был, когда при уже практически готовом проекте, успешно считающем число повторов, наиболее толковые исследователи ухитрились сжечь Genuino с концами — это, как выяснилось, сделать сильно проще, чем может показаться на первый взгляд. Все бы ничего, но это была чуть ли единственная Genuino в России на тот момент…

И все же, «долго ли, коротко ли», как поется в этих самых былинах, мы получили прототип, успешно считающий число повторов. Задача решена? Да здравствует новая задача: а сможем ли мы задавать и контролировать траекторию движения так, чтобы сигнализировать об ошибке при отклонении от эталона? Из одной базовой задачи мы получаем две:

  • Контроль текущей угловой координаты и проверка ее соответствия предельным значениям (решена);
  • Полное восстановление траектории движения снаряда (в процессе решения).

Подробный рассказ о развитии дерева проекта хотелось бы отложить до методического семинара; текущий рассказ, тем не менее, будет неполон без упоминания еще одной отличительной фичи Genuino — работе с Bluetooth Low Energy (BLE).

Пара слов про BLE


Задача взаимодействия с мобильным приложением по протоколу BLE возникла по ходу процесса естественного развития гантели как IoT-проекта. Гантель должна соединяться с мобильным «сервером», принимать выбранное пользователем упражнение, число повторов в подходе. По ходу подхода гантель отсылает общее число фактически сделанных повторов и число ошибок — когда при выполнении упражнения гантель вышла из оптимальной траектории.

Технические подробности реализации малоинтересны. Единственный нетривиальный момент здесь, это, пожалуй, изменения в концепции разрешений, связанные с выходом Android 6.0.
Гораздо интереснее подробности методические. BLE как идея очень сильно отличается от «привычного» обмена по Bluetooth, который (внешне) ни что иное, как работа с последовательным портом. Каждый, кто работал с HC-05, знает, насколько интуитивна функциональность обмена по Bluetooth.

С BLE все совсем иначе: концепция сервисов и характеристик (несложная сама по себе) потребует, например, от преподавателя (руководящего гантельным проектом) заметных усилий по преодолению инерции мышления учащихся. Здесь на первый план выходит умение коротко и доступно изложить основные положения теории и представить примеры, реализующие нужную функциональность, но не перегруженные подробностями.

Кстати, об этом, в частности, мы будем рассказывать на методическом интенсиве.

От прототипа дизайна к дизайну прототипа


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

  • Какие ограничения накладываются на физические параметры корпуса (прочностные и температурные характеристики, предельные размеры и т.д.)?
  • Как разместить компоненты в пространстве внутри корпуса?
  • Как обеспечить доступ к компонентам в режиме отладочного тестирования?
  • Какие требования предъявляются к внешнему виду устройства и как эти требования соотносятся с перечисленными выше вопросами?

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

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

Для ликвидации данного конструктивного недостатка выключатель пришлось «врезать» в уже готовый корпус.

Как обойтись без подобных неприятных накладок мы тоже расскажем на интенсиве.

Запланированное мероприятие может быть интересно как преподавателям робототехники, кураторам проектной деятельности в области IoT, так и вообще всем, кто интересуется нетривиальными задачами в целом. Семинар включает в себя несколько тем обсуждения. В каждой теме будет теория (рассказ о том, как именно корабли бороздят просторы Большого Театра) и практика (умная гантель in da action — прямо на месте). В планах:

  • Обсуждение того, что же такое есть проектная форма и чем она отличается от обычной классно-урочной системы.
  • Как понять, чему обучать в рамках имеющейся проектной задачи.
  • Проблема развития проекта: что делать, когда уже все сделал?
  • Практические навыки работы с проектом «Умная гантель» — своими руками: придумываем новые ветки проекта и реализуем их по мере сил прямо на месте.

Если возникло желание поучаствовать, регистрируйтесь здесь.
Tags:
Hubs:
Total votes 6: ↑5 and ↓1 +4
Views 2.6K
Comments Comments 3

Information

Founded
Location
Россия
Website
goto.msk.ru
Employees
2–10 employees
Registered