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

    Преамбула


    В пятницу 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 — прямо на месте). В планах:

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

    Если возникло желание поучаствовать, регистрируйтесь здесь.
    Проектная школа программирования GoTo
    83.49
    Образовательный проект для юных программистов
    Share post

    Comments 3

      –1
      Преамбула.
      Амбула.
      А постамбула будет?
        +1
        Краш-тесты будут?
          +2
          Идея на миллион — IoT штанга, которая сама вслух считает твои повторы, повышая громкость и жесткость лексикона, если ты замедляешься. На последних повторах, если ты совсем застрял, может начать выдавать мотивационные реплики — давай жми дрищ, жим *** и т.д. Мне иногда кажется, что я плачу тренеру только ради этой незаменимой помощи.

          Only users with full accounts can post comments. Log in, please.