- Создание сенсорной перчатки для управления кистью робо-руки
- Библиографическое описание:
- Перчатка SudoGlove: управление машиной движениями пальцев
- Управляемая жестами роботизированная рука на Arduino Nano
- Датчик MPU6050
- Гибкий датчик (датчик изгиба, Flex Sensor)
- Изготовление остова роботизированной руки
- Необходимые компоненты
- Схема проекта
- Сборка проекта роботизированной руки
- Объяснение программы для Arduino
Создание сенсорной перчатки для управления кистью робо-руки
Рубрика: 1. Информатика и кибернетика
Дата публикации: 09.01.2018
Статья просмотрена: 977 раз
Библиографическое описание:
Комков, С. С. Создание сенсорной перчатки для управления кистью робо-руки / С. С. Комков. — Текст : непосредственный // Технические науки: традиции и инновации : материалы III Междунар. науч. конф. (г. Казань, март 2018 г.). — Казань : Молодой ученый, 2018. — С. 12-18. — URL: https://moluch.ru/conf/tech/archive/287/13565/ (дата обращения: 28.09.2021).
На сегодняшний день сложный технологический процесс человек выполнить не может. Операции, выполняемые при помощи человеческой силы будут трудо- и материалозатратные. Также важную роль играет человеческий фактор — присутствие заметных погрешностей в сравнении с точностью машины.
Роботы-манипуляторы созданы для решения сложных технических задач, которые люди не могут выполнить по определенным причинам: поднять большой вес, добраться до труднодоступных мест.
Набрав в «поисковой системе» словосочетание «Что умеет робот», можно поразиться количеством самых нестандартных задач, которые сегодня уже могут решать машины: удерживать равновесие на двух колесах, роботы дерутся, убирают у Вас дома. За каждым «умным» устройством стоит сам человек.
Робот — автоматическое устройство, созданное по принципам распознавания, удержания и перемещения объектов во вредной и опасной средах, предназначенное для осуществления различного вида операций для производства, которое действует по заранее заложенной программе и получает информацию о положении и состоянии окружающего пространства посредством датчиков, робот самостоятельно осуществляет производственные и иные вспомогательные операции, удовлетворяющие производственные потребности частично или полностью заменяющие труд человека [1].
На базе «Брянского строительного колледжа имени профессора Н. Е. Жуковского» функционирует секция научного студенческого общества «Робототехника и Электроника» с апреля 2016 г. под руководством преподавателя Комкова Сергея Сергеевича. Проект разработали студенты 3 курса специальности 09.02.01 «Монтаж наладка и эксплуатация электрооборудования ПГиЗ»
В рамках проекта «Доступная среда» для лиц с ограниченными возможностями осуществляется тренировка мелкой моторики, а также необходимо изолировать человека из опасной зоны при выполнении опасной и сложной работы, оператор не должен подвергаться действию опасных факторов влияющих на здоровье организма.
В связи с этим целью нашей работы стояло создание «робо-руки», которая повторяет все движения оператора
Для достижения цели были поставлены следующе задачи:
- Создание «робо-руки»
- Достижение требуемой точности манипулятора на действие оператора
- Анализ элементов схем датчиков и микроконтроллеров с целью удешевления
- На сегодняшний момент разработана «кисть». Управление изгиба пальцев манипулятора в зависимости от силы сжатия пальцев оператора. То есть «робо-рука» повторяет движение пальцев человека посредством наших «датчиков изгиба».
Разработка началась с изготовления сенсорной перчатки для оцифровки жестов оператора. В проекте решили использовать в качестве датчиков «тензорезистор».
Тензорезистор — резистор, сопротивление которого изменяется в зависимости от его деформации. С помощью данных датчиков можно измерять деформации механически связанных с ними элементов. Тензорезистор является основной составной частью тензодатчиков, применяющихся для косвенного измерения силы, давления, веса, механических напряжений, крутящих моментов [2].
Рис. 2. Покупной тензорезистор.
Датчиков для пяти пальцев, соответственно нужно пять. Так как «тензорезисторы» дорогостоящие, нами решено заменить «датчики изгиба» на самодельные.
Первый «датчик изгиба», сделанный нами, над которым провели опыты и испытания изготавливается из картона, клея, фольги и грифеля. Работа данного устройства основывалось на соприкосновении токопроводящей фольги и графита, нанесенного на одну из сторон картона. Чем больше соприкосновение фольги и стороны с графитом, тем больше изменяется сопротивление. В свою очередь изменение сопротивления оцифровывалось, и сигнал передавался исполнительному органу (сервопривод с углом поворота 180º). Однако данный датчик обладает рядом недостатков: низкая точность, недолговечность в использовании, большие габариты.
Рис. 3. Тензорезистор (1 версия)
«Датчика изгиба», (2 версия) в настоящий момент является основной в проекте. Принцип действия основан на изменении светового потока в замкнутой системе. Для того что бы изготовить данный датчик нам понадобится:
Рис. 4. Трубка от катетера
Трубка отрезается длинной равной длине пальца на перчатке оператора, на которую монтируются сами датчики. С одной стороны трубки помещается фоторезистор.
Рис. 5. Фоторезистор
С другой стороны — светодиод, питающим напряжением 5В.
Рис. 6. Светодиод
Устройство в сборе мы помещаем в термоусадочную трубку, для того чтобы изолировать фоторезистор от внешнего освещения. Сила света внутри трубки должна быть постоянно равной световому потоку светодиода.
Рис. 7. Термоусадка
На входе фоторезистора мы собираем ограничитель по напряжению. Подать нужное напряжение на вход фоторезистора можно программно, прежде откалибровав, или при помощи простого резистора. Выбран нами второй вариант, для упрощения программного кода.
Рис. 8. Датчик изгиба в сборе (2 версия)
Достоинства «датчика изгиба» (2 версия): дешевизна изготовления, небольшие габариты, высокая точность, простота изготовления
Нами были изучены и проанализированы цены на комплектующие элементы «датчика изгиба», представленными на рынке. Ниже приведены таблицы.
Затраты на изготовления датчика
Источник
Перчатка SudoGlove: управление машиной движениями пальцев
Недавно Nokia хвасталась, как её китайские инженеры написали программку под Symbian для управления автомобилем BMW. Они могли с тачскрина нажимать педали газа и тормоза и крутить руль, словно это компьютерная игра.
Так вот, теперь всё стало ещё фантастичнее. Отныне для управления автомобилем не нужен даже смартфон, достаточно одеть на руку перчатку и подвигать пальцами. Например, поднял большой палец — машина завелась, резко показал средний палец — экстренное торможение. Примерно так работает перчатка SudoGlove, сделанная талантливым студентом Джереми Блюмом.
В перчатку вшиты пять сенсоров, включая 2D-гироскоп и сенсор вибрации. Провода идут к самодельному модулю управления, который отправляет команды на автомобиль, оснащённый радиомодулем XBee и контроллером Arduino Pro Mini.
Перчатку можно запрограммировать на разные жесты и поворачивать руль наклоном руки. Правда, пока что перчатка заточена на управление игрушечной машиной, но это легко изменить.
На свой проект студент потратил 250 часов работы. Все 600 строк исходных кодов можно скачать здесь, на его сайте выложены также схемы для сборки и другие данные.
Источник
Управляемая жестами роботизированная рука на Arduino Nano
Роботизированные руки – это одно из самых потрясающих изобретений современности, они могут выполнять движения, аналогичные движениям руки человека. В настоящее время они широко используются в промышленности и выполняют там множество разнообразных механических работ: сварка, покраска, сверление, перемещение чего либо и т.д. Совсем недавно созданы роботизированные руки, которые могут выполнять сложные хирургические операции с высокой точностью.
Ранее на нашем сайте мы уже рассматривали проект простейшей роботизированной руки, сделанной из картона, и проект уже более совершенной роботизированной руки, напечатанной на 3D принтере. В этой же статье мы рассмотрим создание управляемой жестами роботизированной руки на основе платы Arduino Nano, гироскопа MPU6050 и датчика изгиба. Остов руки будет напечатан на 3D принтере.
Позиция рассматриваемой в этом проекте роботизированной руки будет управляться с помощью перчатки, на которой будут закреплены гироскоп MPU6050 и гибкий датчик. С помощью гибкого датчика будет управляться захват (gripper) роботизированной руки, а гироскоп MPU6050 будет управлять местоположением руки по осям X и Y. Если у вас нет 3D принтера, то простейший макет этой руки вы можете изготовить из картона как в проекте простейшей роботизированной руки.
Датчик MPU6050
Датчик MPU6050 построен по технологии микроэлектромеханических систем (MEMS — Micro-Mechanical Systems) и имеет в своем составе 3-осевой акселерометр, 3-осевой гироскоп и датчик температуры. Он может измерять такие параметры как ускорение, скорость, направление (ориентация), смещение и т.д. Ранее на нашем сайте мы уже рассматривали его подключение к плате Arduino, а также рассматривали создание на его основе самобалансирующегося робота и измерителя уровня (уклономера).
Основные особенности датчика MPU6050:
- связь по протоколу I2C с конфигурируемым (настраиваемым) адресом I2C;
- питающее напряжение: 3-5V;
- встроенный 16 битный АЦП (аналого-цифровой преобразователь);
- возможность подключения по протоколу I2C к другим устройствам, например, магнитометру;
- встроенный датчик температуры.
Назначение контактов (распиновка) датчика MPU6050 показано на следующем рисунке.
Распиновка MPU6050:
Vcc – контакт для подачи питающего напряжения постоянного тока;
GND – земля модуля;
SDA – это контакт используется для передачи данных между модулем mpu6050 и микроконтроллером;
SCL – вход синхронизации;
XDA – линия передачи данных (опциональная) по протоколу I2C для конфигурирования и считывания данных с внешних датчиков (не используется в нашем проекте);
XCL – вход синхронизации протокола I2C для конфигурирования и считывания данных с внешних датчиков (не используется в нашем проекте);
ADO – I2C Slave Address LSB (не используется в нашем проекте);
INT – контакт прерывания для индикации готовности данных.
Гибкий датчик (датчик изгиба, Flex Sensor)
Гибкий датчик, по сути, представляет собой резистор с изменяющимся сопротивлением – его сопротивление изменяется когда его сгибают. Обычно гибкие датчики изготавливаются двух типоразмеров: 2.2 и 4.5 дюйма. Зависимость сопротивления датчика от степени его изгиба показана на следующем рисунке.
В нашем проекте роботизированной руки датчик изгиба будет использоваться для управления ее захватом – сгибая и разгибая перчатку, мы будем сжимать и разжимать захват роботизированной руки.
Также на нашем сайте вы можете посмотреть все проекты, в которых был использован датчик изгиба.
Изготовление остова роботизированной руки
Используемый нами остов (макет) роботизированной руки разработан пользователем EEZYbotARM и доступен к скачиванию на Thingiverse. Детализированная инструкция по сборке данной руки и печати ее компонентов на 3D принтере также доступна по приведенной ссылке.
Внешний вид собранной нами по этой инструкции роботизированной руки с установленными 4 сервомоторами показан на следующем рисунке.
Необходимые компоненты
- Плата Arduino Nano (купить на AliExpress).
- Гибкий датчик (Flex Sensor) (купить на AliExpress).
- Гироскоп MPU6050 (купить на AliExpress).
- Сервомотор SG90 (купить на AliExpress) или MG-995 (купить на AliExpress) – 4 шт.
- Резистор 10 кОм (купить на AliExpress).
- Перчатка на руку.
- Макетная плата.
- Соединительные провода.
Схема проекта
Схема управляемой жестами роботизированной руки на основе платы Arduino представлена на следующем рисунке.
В следующей таблице представлены соединения между датчиком MPU6050 и платой Arduino Nano.
Датчик MPU6050 | Плата Arduino Nano |
VCC | +5V |
GND | GND |
SDA | A4 |
SCL | A5 |
В следующей таблице представлены соединения между сервомоторами и платой Arduino Nano.
Плата Arduino Nano | Сервомоторы | Адаптер питания |
D2 | Servo 1 Orange (PWM Pin) | — |
D3 | Servo 2 Orange (PWM Pin) | — |
D4 | Servo 3 Orange (PWM Pin) | — |
D5 | Servo 4 Orange (PWM Pin) | — |
GND | Servo 1,2,3,4 Brown (GND Pin) | GND |
— | Servo 1,2,3,4 Red (+5V Pin) | +5V |
Гибкий датчик имеет 2 контакта – они не имеют полярности. Поэтому один контакт датчика подключен через подтягивающий резистор 10 кОм к контакту A0 платы Arduino, а другой – к контакту земли платы Arduino.
Сборка проекта роботизированной руки
Мы смонтировали гироскоп MPU6050 и гибкий датчик на перчатке для руки и соединили их проводами с роботизированной рукой, хотя, при желании, для этой цели можно использовать радиочастотное или Bluetooth соединение.
Окончательный вид проекта после сборки показан на следующем рисунке.
Объяснение программы для Arduino
Полный код программы и видео, демонстрирующее работу проекта, приведены в конце статьи, здесь же мы кратко рассмотрим основные фрагменты кода программы.
Первым делом в программе нам необходимо подключить используемые библиотеки. Библиотека Wire.h используется для связи по протоколу I2C между платой Arduino Nano и датчиком MPU6050, а библиотека servo.h используется для работы с сервомоторами.
Источник