
Часть 5 <- Вы здесь
В прошлый раз я рассказывал о контекстно-зависимом поведении протеза и теоретизировал по поводу дальнейшего развития данной концепции. Однако в тот же момент уже было понятно, что дальнейшие эксперименты невозможны без, так сказать, надежной базы, то есть без полнофункционального, пригодного к использованию по своим механическим и эксплуатационным характеристикам прототипа. Такой и была моя задача на эту итерацию - сделать руку, которая механически сможет выдержать манипуляции с габаритными предметами, будет иметь автономное питание, и самое главное, будет управляться "по-настоящему", с помощью миодатчика на бицепсе.
В этой статье не будет много математики или рассуждений насчет различных способов управления рукой как в предыдущих, в ней я собираюсь просто отчитаться о проделанной работе и поделиться результатами.
Начну с компоновки, которую я выбрал. По сравнению с предыдущими прототипами все достаточно просто - один локтевой сустав и одна клешня с фиксированным направлением. По поводу того, как именно должна выглядеть хваталка, были разные идеи, в том числе с 3-мя и 4-мя пальцами, однако в конечном счете, посмотрев следующий ролик канала Бионическая Россия решил ничего не выдумывать, и остановиться на обычной клешне с 2-мя пальцами, поскольку для большинства повседневных задач этого вполне достаточно.
Для управления рукой я использовал данный миодатчик , который в финальной версии я закрепляю на бицепсе с помощью резинки. Эксперименты показали, что миодатчик очень чувствителен к малейшим движениям мышцы, из-за чего первое, что необходимо было сделать, построить такой крепеж на мою руку, который во-первых, обеспечивал бы легкость и повторяемость закрепления протеза, а во-вторых не затрагивал бы сам бицепс, а также разгружал его, зафиксировав предплечье, чтобы бицепс не совершал работу по его удержанию. Сразу было решено разделить конструкцию на две части - платформа, которая закрепляется на руке первой, и сам протез, который монтируется на платформу. Обусловлено это тем, что протез достаточно тяжелый, и точно ориентировать его на руке и одновременно крепить - задача трудная, она вызывала проблемы даже на более ранних и легких прототипах из картона.

Платформа выполнена из фанеры и крепится к руке засчет системы ремней. Сама платформа и ремни оснащены подушечками из синтетической пены, чтобы снизить давление на руку и улучшить комфорт при ношении.

Рука также выполнена из фанеры, все элементы закреплены с помощью винтов. Под локтевым сервоприводом установлена стальной стопор, который в случае неполадки физически ограничивает ход предплечья, а также на нем смонтирована подставка, чтобы руку можно было поставить на стол во время ее программирования и тестирования кода. Клешня собрана из стальных пластин и уголков, пальцы клешни представляют собой стальные пластины, окруженные пластиковыми накладками, распечатанными на 3д-принтере. Один палец является фиксированным, а другой напрямую закреплен на валу сервомотора и поворачивается вместе с ним. На внутреннюю поверхность пальцев наклеены полоски резины для обеспечения трения с предметом. Первоначально была идея сделать механизм клешни посложнее, наподобие того, что показан в видео от Бионической России, однако в дизайне получалось очень много подвижных деталей, да и было опасение, что распечатанный на принтере пластик не выдержит нагрузок при сдавливании клешни, поэтому было решено делать из металла и максимально просто.
Элементом питания служат 4 аккумулятора 18650, соединенных последовательно, и дающих 14.8 вольт напряжения и 20 ампер тока. После понижающего преобразователя напряжение становится 12 вольт, которые питают плату Arduino Leonardo, а также два сервомотора Dsservo DS51150 с крутящим моментом 150 кг/см, рабочим напряжением 12 вольт и максимальной силой тока 8 ампер. Здесь сразу хочу оговориться и заметить, что двигатель в локтевом суставе у меня сгорел вскоре после начала испытаний из-за того, что я передержал его в застрявшем состоянии, и был заменен за неимением такого же на Dsservo DS51080 с крутящим моментом в 80 кг/см. Поскольку он слабее, то не всегда может плавно перемещать тяжелое предплечье, и на демонстрациях можно заметить, что иногда оно перемещается рывками. К Arduino, в свою очередь, подключены два сенсора - гироскоп и контроллер миодатчика, а также пара светодиодов для индикации. Вся электроника упакована в обычные коробы для электропроводки.
Теперь перейдем к миодатчику. В подробности алгоритма вдаваться я не буду - кому интересно, можно посмотреть код на гитхабе, лишь расскажу про общий принцип его работы. Поскольку сенсор всего один, то управлять и сжатием и расжатием клешни становится проблематично. В итоге, сделано все было следующим образом. При напряжении бицепса клешня закрывается, при расслаблении - раскрывается. Для закрытия было реализовано пропорциональное управление, то есть чем сильнее и чем дольше бицепс напряжен, тем быстрее закрывается клешня. Если же резко и сильно напрячь бицепс выше определенного порога, то рука перейдет в режим управления локтевым суставом, и будет оставаться в нем, пока бицепс не расслабится. Управление локтевым суставом происходит так же, как описано в предыдущей статье: в момент перехода к управлению локтевым суставом устанавливается плоскость, проходящая через голову и кисть, по которой в дальнейшем кисть перемещается, то есть мы притягиваем или отталкиваем кисть от головы вдоль данной плоскости.

Перейти в режим управления локтевым суставом можно в любой момент, и если в этот момент клешня удерживает какой-то объект, то она автоматически фиксируется в этом положении, и разжать ее можно только после того, как мы вышли из режима управления локтевым суставом и вновь напрягли бицепс до текущего уровня сжатия клешни, чтобы вернуть над ней контроль. Это сделано затем, чтобы не выронить предмет во время позиционирования предплечья. Для отображения текущего состояния руки используются два светодиода.
Как всегда, я снял короткий ролик с демонстрацией работы протеза:
Я постарался показать больше взаимодействий с повседневными предметами, а также в конце решил продемонстрировать, что протез в теории можно использовать для скалолазания. Специально для этого я заменил клешню на стальной крюк, который можно поставить на зацепку. Конечно, сервомотор локтевого сустава не смог бы выдержать вес всего тела, как не выдержала бы клешня, если бы я попытался совершить ею щипок, да и стальной крюк не может охватить все типы зацепок такие как подхваты, щипки, пассивы и т.д., но смысл данной демонстрации в том, чтобы показать возможности протеза в плане его управляемости.
В заключении как всегда поделюсь планами на будущее. В первую очередь хочется укрепить локтевой сустав, потому что сейчас предплечье закреплено только на валу сервомотора, а также заказать еще один Dsservo DS51150 взамен сгоревшего. Далее, хочется обзавестись системой контроля питания для сервомоторов, чтобы отслеживать их застревания и разрешать подобные моменты программно. Ну и последняя мелочь, которую я хочу добавить - тактильная отдача, чтобы сигнализировать состояния протеза пользователю не светодиодами, а вибрациями. В общем и целом я очень доволен текущей итерацией, работать с протезом стало гораздо приятнее и удобнее, и я буду работать в направлении постепенного наращивания его юзабилити, после чего уже можно начинать экспериментировать с более высокотехнологичными фичами. Как всегда исходный код прошивки можно посмотреть на странице проекта на гитхабе.
Всем хорошего дня, всем пока!
Автор: Wosk1947