Искусственный интеллект становится всё умнее, роботы помогают человеку в работе и науке, а благодаря роботизированным протезам у многих людей появился шанс на здоровую и полноценную жизнь!
На этом этапе мы хотели собрать простую роборуку, затратив на механику как можно меньше усилий.
Игорь стал искать недорогие решения и нашёл оптимальный вариант… на AliExpress! Именно там мы купили первую подвижную механическую кисть фирмы XuQi Hobby.
Мы закрепили её на параллелограммный механизм от настольной лампы, который позволял перемещаться руке вверх и вниз в плоскости механизма, за счёт пневматического цилиндра с давлением в 350 бар.
Первый вариант роборуки iHand
Фото: архив ЦИФ МГУНам требовалась отладочная плата с определёнными параметрами:
* не менее 8-ми аналоговых каналов для датчиков с разрядностью АЦП 12-бит
* не менее 8-ми ШИМ-каналов для суставов
* возможность подключения к компьютеру по USB-интерфейсу или UART
Отладочная плата STM32F429I-DISC1 с платой-переходником.
Фото: архив ЦИФ МГУТакой платы-переходника не существует на рынке электроники, поэтому Алексей Милюшин изготовил её самостоятельно.
На макетной плате он расположил:
* оптроны для гальванической развязки управляющих ШИМ-сигналов сервоприводов
* резисторы верхнего плеча для реализации резисторного делителя для тензодатчиков, чтобы можно было их подключить к АЦП-входу отладочной платы
* разъёмы для подключения сервоприводов, тензодатчиков и силового питания
Создание цифрового двойника
Фото: архив ЦИФ МГУВесь софт для GAZEBO самостоятельно разрабатывали студенты ВМК МГУ
Дмитрий Злобин и Руслан Бегишев под руководством Олега Гончарова
Чтобы кисть могла захватывать объект, Дмитрий и Руслан разработали для неё специальный контроллер, логика которого была реализована на конечных автоматах. Он считывал показания с тензодатчиков на каждом пальце и ладони, и если хоть на одном из них менялось значение, то есть появлялось давление, то контроллер понимал, к какой части руки оно относится и запускал алгоритм захвата объекта. Таким образом происходило сжатие пальцев руки.
Также у нас стояло условие, что если мы начинаем дёргать предмет — то показания датчиков начинают скакать и это заставляет руку разжать пальцы. Иначе говоря, дисперсия показаний датчиков должна была быть меньше заданного порога, а пороговые значения для каждого из датчиков можно было указывать в зависимости от задачи. Поэтому если дисперсия показаний хотя бы одного из датчиков оказывается больше заданного порога, то пальцы разжимаются и рука отпускает объект при попытке его отобрать.
Чтобы активировать сжатие пальцев, нужно чтобы выполнялось одно из следующих условий:
* хотя бы на одном датчике должно было быть зарегистрировано давление и в течение заданного времени показания всех датчиков должны были быть растущими
Если ни одно из условий не выполняется, то пальцы разжимаются и объект не считается захваченным.
Если показания датчиков постоянные, то это означает, что рука уже сжала объект и дальше никуда двигаться не может.
Захват, поднятие и удержание объекта роборорукой.
Видео и фото: архив ЦИФ МГУПри обучении с учителем нейронная сеть обучается на размеченном наборе данных и предсказывает ответы, которые используются для оценки точности алгоритма на обучающих данных
Архитектура нейронной сети
Но оказалось, что обучение с учителем мало что умеет и не подходит для нашей роборуки. По задумке Сергея Запуниди iHand должна была научиться манипулировать объектами на ощупь, поэтому алгоритму необходимо постоянно самообучаться и принимать решения.
После обсуждения Сергей предложил Марку сменить подход к обучению нейронной сети на «Обучение с подкреплением», а полученные в ходе работы результаты использовать для курсовой работы в МГУ. Марк согласился, и они стали думать, как продолжать работу.
Чтобы наша роборука стала более подвижной и точной, нам требовались значительные доработки:
* нужно было качественно спроектировать роборуку
* изготовить недостающие компоненты
* заново её собрать
Игорь Дегтярёв стал искать в интернете общедоступные модели и чертежи по изготовлению протезов и механических рук, которые можно было бы взять за основу и доработать. На YouTube он нашёл ролики с работами Will’а Cogley и показал их команде. Всех заинтересовала модель механической руки, созданная по образу и подобию человеческой. Мы захотели подробнее её изучить.
Проект механической руки Will’а Cogley
Скриншот из видеозаписи автора
3D-проект роборуки. Рендер. Разработка ЦИФ МГУ
Мы спроектировали суставы так, что они представляли собой шарниры, содержащие возвратную пружину и потенциометр. Все суставы мы проектировали на основе механической руки Will’а Cogley из видео, и уже их дорабатывали под установку потенциометров и нужных нам возвратных пружин.
3D-модели деталей. Разработка ЦИФ МГУ
Собранная роборука iHand без кожухов. Второй вариант
Фото: архив ЦИФ МГУ
Оказывается, на тефлоновой трубке диаметром 2 мм, стальной гайкой М2 можно сформировать резьбу!
Таким образом, обжимая гайками пластиковые элементы предплечья, у нас получилось закрепить тефлоновую трубку возле сервоприводов, а за счёт вплавляемых гаек мы закрепили её в подвижных частях кисти. Таким лайфхаком при необходимости вполне можно пользоваться!
Кисть второго варианта роборуки в кожухах
Фото: ЦИФ МГУ
Визуализация данных с тензодатчиков на макете роборуки и визуализация компьютерной модели роборуки в среде Gazebo
Фото: архив ЦИФ МГУ
Архитектура нейронной сети для второго варианта роборуки
По результатам, полученным при обучении нейронной сети для роборуки iHand, Марк Прихно написал и защитил свою курсовую работу.
Позже на её основе Марк написал и на отлично защитил дипломную работу «Сбор и оптимизация обучающей выборки для парадигмы офлайн обучения с подкреплением цифрового двойника роборуки».
Захват и удержание объекта с помощью управления цифровым двойником / нейронной сетью
Видео: архив ЦИФ МГУ
Главная задача этого этапа — улучшить внешний вид, заменить электронику и незначительно доработать механику, сделав iHand эргономичной и эстетичной
Третий вариант роборуки iHand
Фото: ЦИФ МГУ