MYO: как мы делали бумажный самолётик на радиоуправлении
Кирилл Белышев, программист команды разработки десктопных и мобильных приложений (kirill09): У нас в компании работает очень много гиков. Очень много и очень гиков. Естественно, мои коллеги следят за новостями hitech-индустрии и частенько становятся одними из первых обладателей всевозможных интересных гаджетов. Ну или делают их сами. В качестве примеров навскидку можно привести робота Romo, сигнализатор неполадок в проекте и домашний метеоцентр.
Некоторое время назад я тоже наткнулся на один замечательный проект: ребята хотели сделать браслет, с помощью которого можно дистанционно управлять компьютером и радиомоделями. Устройство называлось Myo.
Идея меня захватила, заказ я разместил одним из первых, а затем потянулось длительное ожидание. И вот недавно я получил на почте заветную посылку. Поигравшись с устройством, я рассказал о нём коллегам. Эта тема их очень заинтересовала — мы даже решили снять небольшое видео. О результатах наших опытов с устройством беспроводного управления я и хочу рассказать в этой статье.
Эксперимент. Используем MYO для управления гаджетамиФилипп Панфилов, программист Почты Mail.Ru (Ponf): Браслет среднего размера. Резиновые перемычки, соединяющие элементы Myo, оказались довольно тугими, с руки браслет не слетит, даже если ею сильно размахивать. С компьютером гаджет соединяется через беспроводной (это же очевидно) USB-приёмник. Причём на браслете нет никаких органов управления, он сам распознаёт, что его надели на руку, и инициирует сеанс связи.После установки фирменное приложение показало мне туториал, с помощью которого я получил представление о том, как пользоваться Myo. Поначалу было очень непривычно. Всё время хотелось найти какую-нибудь кнопку, приходилось постоянно напоминать себе, что устройство понимает только жесты руки, причём жесты совершенно определённые. Плотно сидя на руке, браслет регистрирует слабые электрические импульсы во время сокращения тех или иных мышц, и подаёт на компьютер соответствующие команды. Встроенный аккумулятор заряжается с помощью кабеля USB.
Поэкспериментировав с управлением iTunes«ом и PowerPoint«ом, я быстро понял, что Myo заслуживает более достойного и интересного применения, чем переключение песен. Поразмыслив, я вспомнил, что у меня давно лежит без дела беспроводной модуль управления бумажным самолётиком PowerUp 3.0, заказанный когда-то на Kickstarter«е. Он представляет собой небольшой Bluetooth-модуль с подключенным к нему пропеллером и рулём. Но самое интересное то, что для него есть описание протокола управление по Bluetooth, так что можно написать своё приложение. Прекрасный кандидат для интеграции с Myo!
Чтобы всё это хозяйство заработало вместе, мне нужно было написать небольшое приложение, задача которого переводить движения моей руки в команды изменения угла руля самолёта и скорости пропеллера. В качестве языка я выбрал Objective C и приступил к делу.
С Myo всё оказалось довольно просто: для него есть официальный SDK, включающий в себя framework, который можно подключить к OS X-приложению и далее использовать C++ библиотеку для управления браслетом. Помимо этого для Myo существуют биндинги во все известные и не очень языки программирования, так что подключить браслет к приложению не составило особого труда.
C PowerUp все оказалось немного сложнее, так как на просторах интернетов не нашлось ничего кроме описания протокола и приложения под Android на GitHub. Но ничего, вооружившись доками по протоколу и работе с CoreBluetooth, я написал простенькую библиотечку, позволяющую подключаться к самолётику и управлять им через несложный интерфейс. Код библиотечки доступен на GitHub.
В итоге, по моей задумке, подъем руки отвечал за изменение скорости пропеллера, наклон — за угол поворота руля рысканья, ну, а чтобы задействовать возможности Myo по распознаванию жестов, я повесил «запуск двигателя» на Fingers Spread, то есть на растопыривание пальцев.
Удача улыбнулась мне не сразу, пришлось несколько раз калибровать Myo, а так же тюнить параметры управления самолётом, прежде чем удалось добиться его чёткой реакции на движения руки.
Конечно, бумажный самолётик нельзя назвать идеалом радиоуправляемой модели. Но всё же отчасти корректировать его полёт с помощью Myo мне удалось. Мы с коллегами сняли ролик, которым я хочу с вами поделиться. Теперь на очереди радиоуправляемая машина моего знакомого, оснащённая полноценным крохотным ДВС.
[embedded content]