Роботы, управляемые через интернет или как мы делаем свою «диванную робо лигу» / Хабр
Что наша жизнь? Игра!
Эта история началась почти год назад. Сидели мы как то с другом и подумали, «а что если сделать систему, для игры через интернет? То бишь, управления реальными роботами?»
Сказано – сделано… «робота» закипела…
В процессе предварительного обсуждения была выбрана конструкция «а-ля танк» – то есть 2 колеса с отдельными двигателями, без рулевой системы вообще. Эта система дает роботу высокую маневренность и возможность развернуться на 180 градусов, стоя на месте. Кроме того, побочным следствие такого разворота – является возможность наносить удар по шайбе(если есть клюшка) – на этом месте, многие должны вспомнить игру «настольный хоккей» – где хоккеисты вращаются вокруг своей оси и таким образом – бьют по шайбе.
Однако, такое устройство ходовой части – вызвало большие проблемы в будущем. Почему: 2 отдельных двигателя никогда не будут вращаться с синхронной скоростью, если не имеют жесткой механической связи. Почему: разность изготовления на заводе, погрешности в посадке и диаметрах колес и т.д. и т.п.
Поэтому, единственный путь синхронизировать колеса (если не связывать их некой жесткой связью – типа общей оси) – то использовать программную синхронизацию.
Сначала взяли для этих целей акселерометр/гироскоп. Но это оказалась насколько простая, настолько и не неудачная идея: робот стал «терминатором» – который четко «прёт» вперед и его не может сбить с курса ничто – даже удары других роботов. А это плохо. Мы здесь не «скайнет» строим – и такие «терминаторы» не нужны. К слову, программная реализация сего действа достаточно сложна (как оказалось).
Пришлось отказаться. Второй путь – установка «энкодеров» (дырчатых дисков) на колеса и датчиков, считывающих импульсы, когда «дырка» проходит мимо датчика. Таким образом, зная скорости прохождения «дырок» на каждом из колес, – можно много раз в секунду корректировать скорости вращения колес и делать их одинаковой. Это не делает робота «терминатором» — его вполне можно сбить с курса, ударом другого робота. Это просто синхронизирует скорости колес. То, что надо.
Сразу скажу, что это был весьма тернистый путь – как с точки зрения использующихся технических решений, так и физической сложности изготовления: одних только деталей для роботов — было отпечатано более 100 штук! Причем печать велась на открытом балконе, «и в снег, и в зной, и в дождик проливной».
Были на этом пути и неудачи: была закуплена большая партия Ni-Mh аккумуляторов и зарядных устройств, для них. Но, как оказалось, они не справляются с такой энергоотдачей.
И, в итоге- они полетели в корзину(условно)…
Пришлось перейти на литий-ионные элементы 18650.
Сейчас система представляет собой веб сайт, на который ведется трансляция с youtube. «Пилоты» роботов заходят на него и берут в управление свободного робота. И «let the battle-begin!!!»
Управление ведется «стрелками» с клавиатуры. Также, оно дублировано на другую конкурирующую схему (лично я- «фу фу, только стрелки» – но пускай будет) – WASD.
Для создания стола – мы закупили школьную доску.
И установили на нее бортик из алюминиевой полосы. Это работа была бы невозможной, без станочного парка. Тут нам тоже повезло-у нас есть токарный станок по металлу и сверлильный тоже…
Далее – напечатали боковины ворот с плотной посадкой подшипников в них (подшипники имелись у меня в количестве аж 50 штук от другого проекта).
На боковинах можно видеть гребенки – натяжители сетки. Которые помогут нам натянуть сетку на ворота.
Далее – из того же нержавеющего прута и куска такой же нержавеющей трубы (ибо прут закончился нежданно-негаданно) – были выточены соединительные распорки для боковин.
В качестве сетки – случайно попался на глаза и был немедленно разодран — сетчатый мешок для стирки мелких вещей в стиральной машине. У него оказался весьма модный шестигранный рисунок сетки. Мы впали в восторг!
Однако, – рано радовались. Как оказалось, начался самый сложный этап для почти любого мужика – швейные работы! Как оказалось, это даже сложнее, чем программинг, 3d печать и токарные работы – вместе взятые!
Вдоволь намучавшись – мы таки обшили сеткой ворота.
Шайбе тоже досталось – ее потрепало в битве как надо (видно расщепление слоев 3d печати, после множества ударов клюшкой):
Итак, много всего было сказано, осталось только показать тестовую работу системы:
Так как многим будет интересна программная и «железная» начинка системы, вкратце скажу и о ней
Веб интерфейс самописный и работает на php и javascript. Ссылку на него пока давать не буду, так как работы еще идут.
Роботы – построены на основе микроконтроллера Espressif esp32, двухканальных драйверах двигателей, оптических инфракрасных датчиках (для энкодеров колёс), повышающих преобразователях (на 12V), батарее питания 18650.
Программирование роботов осуществлено с помощью Arduino IDE.
Управление роботами осуществляется с использованием протокола MQTT.
Почему вообще MQTT: чтобы избежать проблемы «прохода через роутер» из «внешнего» интернета и не думать о сменах IP адреса робота, при переподключениях и необходимости его сообщения клиенту из «внешнего» интернета.
«Пилот» робота – управляет им через веб интерфейс, который «постит» управляющие команды – в соответствующие топики, на которые подписан конкретный робот. Робот, в свою очередь – постоянно мониторит эти топики, и, при получении очередной команды, – исполняет её.
Что планируется сделать далее: так как, иногда наблюдается некоторое подтормаживание команд, проходящих через MQTT брокер (возможно, это связано с использованием публичного бесплатного MQTT брокера и, в целом, не совсем подходящего для этих целей MQTT протокола) — думаем перевести всю систему просто на websockets, без MQTT. Или же, использовать свой, отдельный MQTT брокер. Кстати сказать, насчет вот этого пункта, будет очень интересно услышать совет знающих людей, как нам лучше всего реализовать подключение для стабильного управления.
Пока проект находится на такой стадии.
Картинка в начале поста – используется только для привлечения внимания. Проект своего названия ещё не имеет.
Управляемые мягкие роботы для медицинского применения
Роботы в медицине
Заимствуя методы, используемые для производства оптических волокон, исследователи из EPFL и Имперского колледжа создали мягких роботов на основе волокон с усовершенствованным управлением движением, которые объединяют в себе другие функциональные возможности, такие как электрическое и оптическое зондирование и целевая доставка жидкостей.
Объединив достижения в разработке функциональных волокон с разработками в области интеллектуальной робототехники, исследователи из Лаборатории фотонных материалов и волоконных устройств Инженерной школы EPFL создали многофункциональных мягких роботов в форме катетеров, которые могут дистанционно направляться к месту назначения или, возможно, даже самостоятельно находить дорогу благодаря полуавтономному управлению. «Это первый случай, когда мы можем генерировать мягкие катетероподобные структуры такого масштаба, которые могут интегрировать сложные функциональные возможности и управляться, потенциально, внутри тела», — говорит Фабьен Сорин, главный исследователь. Работа была опубликована в журнале Advanced Science.
Исследователи создали волокна с помощью процесса термической вытяжки, который обычно используется для производства оптоволоконных кабелей. Выбор материала был критически важен, причем эластомеры, которые возвращаются к своей первоначальной форме при растяжении, были предпочтительным кандидатом. Помимо гибкости, они достаточно мягкие, чтобы минимизировать повреждения нежных тканей тела. «Но, — говорит Андреас Лебер, первый автор исследования, — исторически сложилось так, что термическая вытяжка ограничивалась твердыми материалами. К счастью, наша группа выявила класс термопластичных эластомеров, которые могут быть вытянуты и сохраняют свои свойства после вытяжки».
Для создания длинных волокон с множеством каналов по всей длине исследователям пришлось точно настроить параметры процесса вытягивания. «Важной характеристикой процесса является взаимодействие между вязкостью материала, которая позволяет вытягивать непрерывное волокно, и поверхностным натяжением, которое может привести к разрушению каналов внутри них», — говорит Фабьен Сорин.
Добившись нужных свойств материала, скорости вытягивания и температуры, команда смогла надежно создать непрерывные каналы, аккуратно расположенные в волокне на микрометровом уровне, необходимые для придания волокну роботизированных возможностей. Например, используя мотор для натягивания одного или нескольких сухожилий, введенных в каналы врачи смогут контролировать ориентацию конца волокна для проведения его через тело.
Помимо каналов, волокна могут быть оснащены различными элементами с помощью процесса термической вытяжки. «Помимо сухожилий, в волокна можно интегрировать оптические направляющие, электроды и микроканалы, которые обеспечивают доставку лекарств, визуализацию, запись и стимуляцию, а также другие инструменты, обычно используемые в робототехнике и медицинских приложениях», — объясняет Лебер.
Эти функциональные элементы также открывают путь к созданию автономных роботов в форме волокна. «Интегрированные оптические направляющие придают волокнам чувство зрения. Они могут самостоятельно обнаруживать и избегать препятствий на своей траектории и даже находить целевые объекты», — продолжает Лебер. Важнейшее значение для этой работы имеет сложный алгоритм управления и программный пользовательский интерфейс, разработанные с нуля командой лаборатории.
Хотя это может показаться сложным, эти мультиматериальные волокна удивительно просты в производстве. «Мы используем технологию изготовления оптического волокна, которая очень масштабируема. Вы можете создать сотни километров оптического волокна за одну ночь. В результате наш подход к изготовлению дает новый, масштабируемый способ создания мягких катетероподобных структур с беспрецедентным сочетанием передовых функциональных возможностей», — говорит Сорин.
Дистанционно управляемые катетеры — лишь одно из многих интересных потенциальных применений, которые может обеспечить этот новый класс мягких роботов на основе волокон. «Подход к управлению движением на основе сухожилий — это первый шаг в развитии «умных» катетеров на основе термической вытяжки. Следующий шаг будет связан с переходом к электрическим или магнитным способам приведения в действие и тестированием захватывающих возможностей таких волокон, что еще на один шаг приблизит их к клиническому применению», — говорит Бурак Темелкуран, соавтор и руководитель группы в Центре роботизированной хирургии Hamlyn при Имперском колледже.
Фото: Alain Herzog
Теги: EPFL
Роботы, управляемые мозгом
Махназ объясняет принципы, лежащие в основе управления разумом роботов (мозговые схемы, умственная деятельность)
© The University of Sheffield
Захватывающая новая область, в которой биология встречается с робототехникой, — интерфейсы мозг-компьютер (BCI). В будущем у BCI есть потенциал для прямого управления разумом роботов и других машин. На этом шаге исследуется определение BCI и объясняются ключевые компоненты.
Интерфейсы мозг-компьютер
В последние несколько лет BCI привлекли большое внимание робототехнических групп, неврологов, специалистов по информатике и неврологов, вызванное новым научным прогрессом в понимании функций мозга и впечатляющими приложениями.
ИМК Определение : ИМК — это устройство, которое измеряет электрическую активность в головном или спинном мозге и преобразует ее в синтетический сигнал, который может заменить, восстановить или улучшить естественную функцию.
Исходя из этого определения, система BCI может управлять роботом или другими вспомогательными устройствами, используя наши мысли. Такая система может значительно помочь людям с генерализованным параличом обрести некоторый уровень независимости.
Компьютерные интерфейсы мозга для управления роботами
Входные данные BCI — это сигналы мозга, которые несут информативные нейронные особенности, регистрируемые электродами либо в мозгу, либо на голове. Выходы BCI используются для управления устройством, например вспомогательным роботом, инвалидной коляской или протезом руки.
Пример : Человек, страдающий параличом шеи и ниже, обычно не может самостоятельно передвигаться. С системой BCI и роботизированным инвалидным креслом человек может использовать мысленные образы, чтобы представить движение своей правой руки, чтобы повернуть инвалидное кресло вправо, или левой руки, чтобы повернуть кресло влево.
BCI использует алгоритмы для преобразования измеренной активности мозговых волн в командные сигналы для управления устройством вывода, то есть, в данном случае, моторами, приводящими инвалидную коляску влево или вправо.
Одной из ключевых задач, которые предстоит решить BCI в будущем, является преобразование активности мозговых волн в желаемые действия. Эта проблема обычно решается с помощью алгоритмов машинного обучения, известных как «классификация» (также известная как «распознавание образов»). Именно здесь определенный набор паттернов мозговых волн «классифицируется» как конкретное действие, например. двигаться влево или вправо.
Ключевые компоненты BCI
Вся архитектура онлайн-системы BCI представлена на схеме ниже:
Основными компонентами системы BCI являются следующие:
1. Измерение активности мозга
Эта часть отвечает за регистрацию активности мозга с помощью различных типов датчиков. После усиления и оцифровки записанные сигналы мозга служат входными данными BCI.
2. Предварительная обработка
Этот блок уменьшает шумы и артефакты, присутствующие в сигналах мозга, чтобы улучшить релевантную информацию, скрытую во входных сигналах.
3. Извлечение признаков
Средство извлечения признаков преобразует предварительно обработанные сигналы в значения признаков, соответствующие основному неврологическому механизму. Эти функции используются BCI для управления устройством вывода.
4. Классификация
Эта часть отвечает за идентификацию намерений пользователя по извлеченным функциям.
5. Управление устройством
Устройством вывода может быть компьютер, кресло-коляска или роботизированная рука и т. д. Выход классификатора используется как команда для управления устройством вывода.
6. Обратная связь
BCI должен сообщать пользователю о последствиях действия в замкнутом цикле, чтобы пользователь мог внести коррективы. Обратная связь может быть в визуальной, слуховой или тактильной форме.
Все эти единицы очень важны для разработки эффективного BCI и влияют на производительность BCI с точки зрения точности, скорости и скорости передачи информации. ИМК должен быть спроектирован таким образом, чтобы этот процесс был комфортным без вреда для здоровья пользователя.
© Университет Шеффилда
Роботы, управляемые мозгом | Массачусетский технологический институт CSAIL
Этот проект направлен на то, чтобы люди могли исправлять ошибки роботов, используя только сигналы своего мозга, чтобы позволить роботам адаптироваться к людям, а не наоборот
Бесперебойная связь между людьми и роботами является критическим условием успешного взаимодействия человека и робота; не только в целях безопасности, но и для правильной передачи информации, координации действий и минимизации затрат на совместные действия. В этих сценариях человек-робот люди должны действовать как критики и сообщать о решениях через устройство ввода (например, клавиатуру, мышь), что отдаляет их (хотя и ненадолго) от реальной цели задачи. Наше исследование сосредоточено на использовании определенных сигналов мозга, которые реагируют на события успеха или неудачи, чтобы информировать других агентов о таких результатах, чтобы они могли адаптировать свои стратегии и, в долгосрочной перспективе, научиться оптимальному поведению.
Примечание: см. «Наблюдение за роботами с помощью мышечных и мозговых сигналов» для интеграции этого проекта с управлением на основе жестов с помощью мышечных сигналов.
- Новостная статья Массачусетского технологического института
- Публикация в формате PDF: ICRA 2017 (только ЭЭГ) | АВРО 2020 (ЭЭГ+ЭМГ)
- Страница проекта веб-сайта ДХО
- Медиа-видео (https://youtu.be/Zd9WhJPa2Ok)
- Видео конференции (https://youtu.be/-iZbntmYoSE)
- Комбинация этого проекта с обнаружением жестов рук с помощью мышечных сигналов
Публикация в ICRA 2017 (только ЭЭГ)
Авторы: Андрес Ф. Салазар-Гомез, Джозеф ДельПрето, Стефани Гил, Фрэнк Х. Гюнтер и Даниэла Рус
Аннотация: Связь с роботом 904 Мозговая активность соавтора-человека может обеспечить прямую и быструю петлю обратной связи, которая проста и естественна для человека, тем самым обеспечивая широкий спектр задач интуитивного взаимодействия. В этой статье исследуется применение потенциалов, связанных с ошибкой (ErrPs), измеренных ЭЭГ, для управления роботами с обратной связью. Сигналы ErrP особенно полезны для задач робототехники, потому что они естественным образом возникают в мозгу в ответ на непредвиденную ошибку. Мы декодируем сигналы ErrP от человека-оператора в режиме реального времени, чтобы управлять роботом Rethink Robotics Baxter во время задачи выбора бинарного объекта. Мы также показываем, что использование вторичного интерактивного потенциального сигнала, связанного с ошибкой, генерируемого во время этой роботизированной задачи с обратной связью, может значительно повысить эффективность классификации, предлагая новые способы, с помощью которых роботы могут получать обратную связь от человека. Описывается конструкция и реализация всей системы, а также представлены результаты экспериментов с замкнутым и разомкнутым контуром в реальном времени, а также автономного анализа как первичных, так и вторичных сигналов ErrP. Эти эксперименты проводятся с использованием субъектов из общей популяции, которые не были обучены или проверены. Таким образом, эта работа демонстрирует потенциал методов обратной связи на основе ЭЭГ для облегчения беспрепятственного управления роботами и приближается к цели интуитивного взаимодействия в реальном времени.
PDF: доступен здесь
Публикация в AURO 2020 (ЭЭГ+ЭМГ) – дополнительную информацию см. на странице проекта здесь Хасани, Франк Х. Гюнтер и Даниэла Рус
Аннотация: Эффективный человеческий надзор за роботами может иметь ключевое значение для обеспечения правильной работы роботов в различных сценариях, потенциально важных для безопасности. В этой статье сделан шаг к быстрому и надежному вмешательству человека в задачи диспетчерского управления путем объединения двух потоков биосигналов человека: мышечной и мозговой активности, полученных с помощью ЭМГ и ЭЭГ соответственно. Он представляет собой непрерывную классификацию жестов левой и правой руки с использованием мышечных сигналов, классификацию потенциалов, связанных с ошибкой, с временной привязкой с использованием сигналов мозга (бессознательно производимых при наблюдении за ошибкой) и структуру, которая объединяет эти конвейеры для обнаружения и исправления ошибок робота во время работы. задания с множественным выбором. Полученная гибридная система оценивается по принципу «подключи и работай» с 7 необученными субъектами, наблюдающими за автономным роботом, выполняющим задачу выбора цели. Автономный анализ дополнительно исследует эффективность классификации EMG и исследует методы выбора подмножеств обучающих данных, которые могут облегчить обобщаемые классификаторы plug-and-play.
PDF: доступен здесь
Лаборатория распределенной робототехники
Страница проекта на личном сайте
Последнее обновление 12 августа 2020 г.