В статье представлена методология создания модели человеческой руки с интеграцией машинного зрения для управления подвижными частями ладони при помощи жестов.
Ключевые слова: манипулятор, машинное зрение, роборука, сервопривод, arduino, python.
Машинное зрение — это технология применения компьютерного зрения для промышленности и производства. Однако компьютерное зрение — это общий набор методов, позволяющих компьютерам видеть. Областью интереса машинного зрения, как инженерного направления, являются цифровые устройства ввода-вывода и компьютерные сети, предназначенные для контроля производственного оборудования, таких как роботы-манипуляторы или аппараты для извлечения бракованной продукции.
Искусственный интеллект совершенствуется параллельно с прогрессом в сфере обработки данных: чем мощнее процессоры и чем больше данных они могут обработать, тем точнее и быстрее можно получать результат. Поэтому активное развитие машинного зрения началось только в 1990-х годах — тогда были созданы прототипы беспилотного транспорта, зародились системы распознавания лиц, а во всех индустриях наметился интерес к распознаванию изображений.
Сейчас технологии компьютерного зрения применяются повсюду — этому способствовало увеличение количества и качества нейросетей, рост вычислительных мощностей компьютеров, а также скорости и пропускной способности цифровых сетей.
Данную технологию можно применять комплексно, в составе готовых устройств и приборов. Примером может служить робот манипуляторного типа. Подобным устройством можно управлять вручную или программно. Но сейчас можно применить функцию машинного зрения и научить данную систему распознавать объекты и запускать необходимый скрипт в работу именно с выбранным объектом. И все это без оператора, в автономном режиме.
В качестве манипулятора была выбрана модель руки робота «inMoov». Все материалы по ее созданию находятся на одноименном сайте в открытом доступе. Устройство внешним видом напоминает руку человека от локтевого сустава до пальцев.
Технологически макет разделен на несколько частей: запястье, ладонь, предплечье. Макет приводится в движение с помощью 5 сервоприводов, которые допускают поворот на 180 градусов. Передача движения осуществляется с помощью лески — каждый палец соединен петлей с сервомотором, по специальным каналам внутри макета, поворот двигателя приводит палец в движение (на сгибание или разгибание). Отклонение большого пальца происходит вручную, поскольку поворотный мотор для большого пальца входит в продолжение конструкции робота.
Таким образом, полученный макет удовлетворяет требованиям биомеханической модели руки. Благодаря сопряжению краев изделия достигается контроль допустимых углов в суставах.
Модель предплечья . Для сборки требуется соединить основания попарно с помощью ацетона (поскольку для данной разработки выбран ABS пластик). После установить держатель сервоприводов на основание, укомплектовать держатель сервоприводами, установить натяжитель и локтевую насадку.
Модель запястья. Статор крепится к основанию предплечья с помощью клея. В статоре устанавливается сервомотор с лескодержателем и малой шестерней. Большая шестерня собирается вместе с ротором. Шестерни печатаются отдельно. Шарнир крепится к большой шестерне .
Модель ладони. Каждый из пальцев собранный отдельно, представляет собой многосуставное тело с 3 степенями свободы. Сборка представляет собой аналог ладони человека с противостоящим большим пальцем. В процессе сборки в специальные отверстия продевается леска, обеспечивающая контроль за движением пальцев. Ладонь разделена на части для обеспечения более крепкого хвата сферических объектов (по аналогии с человеческой рукой).
Таким образом, в собранном виде рука представляет подходящий макет для тестирования благодаря наличию необходимых степеней свободы, соблюдения пропорций, и механической ременной передачи (по сути сухожилия у человека), что позволяет сконцентрировать вес руки в области предплечья.
После сборки макета руки необходимо произвести настройку программы по отслеживанию ее движения и проверить работоспособность всей конструкции. Для этого необходимо написать код на языке программирования Python с использованием библиотек для работы с видеопотоком в реальном времени и искусственным интеллектом по захвату движения рук. Добавляется библиотека для обмена данными с платой Ардуино, чтобы данные полученные в исполнительной программе на Python отправлялись на плату Ардуино и приводили в движение сервоприводы. Также необходимо написать скетч на языке C++ и сохранить в памяти Ардуно.
Рис. 1. Код, отвечающий за передачу информации с машинного зрения на Ардуино (Python)
Рис. 2.Часть кода по управлению серводвигателями (С++)
Принцип работы программы заключается в передаче информации полученной во время отслеживания руки в виде нулей и единиц на плату ардуино, которая в свою очередь будет поворачивать сервопривод в зависимости от переменной которую она получила, где 0 — сжатый палец, а 1 — выпрямленный
При запуске программы открывается окно веб-камеры внутри которого рамка отслеживает положение пальцев руки по 21-ой контрольной точке. При сгибании какого-либо из пальцев рука-манипулятор повторяет это движение.
Рис. 3. Окно управления рукой
Когда на смену сложному физическому труду пришли машины, уже тогда казалось, что задача «упрощения условий человеческого труда» более не является приоритетной для науки. Но чем прогрессивнее становится общество и окружение вокруг него, тем затруднительнее находить новые решения возникающих проблем. И с каждым днем люди становятся свидетелями, как технология, развиваемая для решения узконаправленных задач конкретной, не связанной с производством, области в купе с технологией из совершенно другой области, например IT, не просто могут вместе сосуществовать, но и совместно отвечать новым вызовам нашего времени.
В статье рассмотрен пример симбиоза создания манипуляционных механизмов и применения, в их основе, технологии машинного зрения, что может позволить расширить спектр решаемых задач не только на производстве, но и в других, важных для человека сферах.
Литература
- Безработный робот. Научно-фантастические рассказы. — Москва: Высшая школа, 2015. — 368 c.
- Краснова, С. А. Блочный синтез систем управления роботами-манипуляторами в условиях неопределенности / С. А. Краснова, В. А. Уткин, А. В. Уткин. — Москва: Машиностроение, 2014. — 208 c.
- Москвичев, А. А. Захватные устройства промышленных роботов и манипуляторов. Учебное пособие / А. А. Москвичев, А. Р. Кварталов, Б. В. Устинов. — М.: Форум, Инфра-М, 2015. — 176 c.
- Хиросэ, Шигео Бионические роботы. Змееподобные мобильные роботы и манипуляторы / Шигео Хиросэ. — Москва: Высшая школа, 2014. — 256 c.