Что делать, чтобы роботизированная коробка передач не ломалась
Что может сломаться в «роботе»
Самый пугающий (но на самом деле самый безобидный) симптом проявляется в следующем: «мозги» коробки в какой-то момент перестают распознавать положение селектора или не разрешают включить Drive или Reverse, а в некоторых случаях — даже завести мотор. В режим самозащиты «робот» может перейти либо при перегреве, либо при сбоях в работе датчиков. Сильный перегрев, кстати, их и «перекашивает», делая проблему регулярной.
«Робот» с одним диском, несмотря на простоту конструкции, не может похвастаться огромным ресурсом. Если сама коробка обычно служит долго, то сцепление изнашивается быстрее, чем у опытного водителя, ездящего на «механике» — порой уже через 20–30 тыс. км. Нередки и отказы его сервопривода, которому требуется немалое усилие для размыкания дисков.
Тонким местом преселективных коробок тоже оказались сцепления. Их износ — самая распространённая неисправность трансмиссий этого типа.
Чтобы коробка переключалась плавно, а сцепления служили долго, требуется очень точная и согласованная работа систем управления сцеплениями и сменой передач. Если заведующий этим мехатронный блок настроен недостаточно тонко и неточно исполняет команды электронной программы управления, то коробка начинает методично убивать сама себя.
Именно мехатроника — самая капризная часть «робота». Этот блок, совмещающий в себе электронные и гидравлические части для приводных механизмов, работает в довольно сложных условиях — ему приходится с большой частотой выполнять разные команды, выдерживать большое давление рабочей жидкости (она отличается от масла, залитого в саму коробку), подстраивать свои режимы под текущие условия езды, режимы и фактический износ сцеплений. В общем, сбои, перегревы, отклонения в работе управляющих соленоидов, загрязнение масляных каналов, подтёки и даже трещины в корпусе мехатронного блока — список возможных проблем довольно обширен.
Самые редкие, но тоже больно бьющие по карману неисправности связаны с механической частью коробки. Износ валов, шестерёнок, вилок переключения, подшипников и прочих деталей редуктора (всё это проявляется специфическим шумом или заминками в переключениях передач) лечится, как правило, только капитальным ремонтом «робота». Либо его полной заменой.
Впрочем, не всё так драматично. Инженеры постоянно работают над повышением надёжности «роботов» с двумя сцеплениями. Если правильно эксплуатировать и обслуживать, то сегодня даже «сухая» конструкция способна без каких-либо проблем и дорогостоящих замен пройти 150–200 тысяч пробега.
Как управлять роботом?
Что такое робот? И как научиться им управлять? Как вы думаете, это просто? Давайте представим, что у нас есть робот, который помогает перейти бабушкам через дорогу. Попробуем научить робота простому правилу перехода через улицу.
Для этого нам понадобится составить алгоритм – последовательность действий, ведущую к решению поставленной задачи. Казалось бы, всё просто, ведь грамотно перейти дорогу может каждый из вас. И все мы, конечно знаем, что водители не всегда бывают дисциплинированы, поэтому, кроме того, что дойти до перехода, нужно обязательно ещё и на машины посмотреть. Давайте попробуем научить этому робота.
1) Подойди к «зебре»
2) Посмотри налево
3) Дождись, пока слева нет машин
4) Иди до середины дороги
5) Посмотри направо
6) Дождись, пока справа нет машин
7) Иди до тротуара
Всё правильно? Вы уверены? А бабушку-то в самом начале взять за руку мы и забыли. Она с другой стороны улицы осталась. А если машина слева есть, но припаркована? Бабушка замерзнет, робот заржавеет, а дорогу они так и не перейдут.
Если бы мы дали такую инструкцию человеку, он, скорее всего, понял бы её правильно, додумав недостающие детали. Главное отличие робота в том, что думать он не умеет, а строго следует всем данным ему инструкциям. А инструкции-программы пишет для него программист. Поэтому программистом стать может очень внимательный человек.
Если в школьном сочинении вы сделаете в одном слове три ошибки, возможно, понятливый учитель и догадается, что именно вы имели в виду, а вот при ошибочной команде в программе робот не сможет ничего додумать, а просто не выполнит вашу команду, и не потому, что он такой вредный, а просто потому, что он не умеет думать.
На наших уроках ребята 5-6 классов учатся управлять Lego-роботами. И это, как вы уже, наверное, поняли, не так просто, как может показаться на первый взгляд. Поэтому не всегда удаётся добиться результата с первой попытки. Зато, как здорово, когда «он всё-таки заработал»!
Вам будет это интересно: клуб робототехники для детей
Наш робот отправляется в экспедицию на Луну. Управляет им с Земли команда юных программистов. Быстренько слетать и что-то там подправить мы не сможем. Управлять можно только по радио. А для этого нужно написать правильную программу. Без единой ошибки! Иначе робот может упасть в кратер и застрять или просто не вернуться. У наших роботов, почти как у людей, есть «глаза», которые умеют различать цвета. Подобно летучей мыши, с помощью инфракрасного датчика, робот верно определит расстояние и не налетит на препятствие. Ну и, конечно же, у него есть моторы, позволяющие передвигаться. А ещё он умеет разговаривать!
Все блоки для начала нужно правильно соединить друг с другом, чтобы, например, «глаз» не получился на месте мотора. После сборки надо научить робота выполнять команды, а для этого ребята должны освоить специальную программу. Чтобы решить поставленную задачу, нужно будет придумать алгоритм.
Иногда роботу придётся действовать по-разному в зависимости от выполнения условия, для этого программист должен уметь создавать разветвляющиеся алгоритмы. Робот может заговорить не только своим, но и вашим голосом. Для этого нужно записать свою речь и тоже загрузить в программу.
У старательных программистов роботы смогут вовремя отвернуть от стены, объехать поставленную на дороге руку или ногу, проехать точно по линии заданного цвета, сообщить обо всех неожиданностях и даже спеть и станцевать. Но для этого юному программисту понадобятся трудолюбие, внимательность, знание математики, логическое мышление и, конечно же, желание научиться самому, тогда и у робота всё обязательно получится!
Часто задаваемые вопросы — Робот-пылесос ROBOT CYCLONIC RG8021
Совместимость
Совместимо ли приложение Robots с планшетами?
Приложение Robots предназначено исключительно для смартфонов.
Соединение
Почему не работает соединение с роботом-пылесосом через сеть Wi-Fi?
Убедитесь в совместимости вашего устройства: Список совместимых устройств
Как проверить, подключено ли устройство к сети Wi-Fi?
Перейдите в настройки своего смартфона и проверьте, подключен ли он к вашей домашней сети Wi-Fi. Ваша домашняя сеть Wi-Fi должна быть подключена к Интернету.
Мобильное приложение
Почему не удается войти в учетную запись?
Есть несколько возможных причин:
• Вы ввели неправильный адрес электронной почты для учетной записи. Проверьте.
• Вы ввели неправильный пароль. Чтобы сбросить пароль, запросите временный пароль по электронной почте, а затем измените пароль в разделе Menu (Меню) приложения.
Почему не удается установить приложение?
Как лучше использовать мой прибор
Для удаления каких веществ не следует использовать пылесос?
Не используйте пылесос для очистки влажных поверхностей, удаления любых типов жидкостей, горячих веществ (угли, сигареты), супермелкодисперсных веществ (гипсовая и цементная пыль, зола и т. п.), крупных острых предметов (стекло), вредных веществ (растворители, абразивные материалы и т. п.), агрессивных веществ (кислоты, чистящие средства и т. п.).
Где следует установить зарядную станцию робота-пылесоса?
Установите зарядную станцию на ровную поверхность около стены в зоне, где робот-пылесос сможет легко ее найти.
В этом месте не должно быть каких-либо препятствий (включая ковры). Оставьте не менее 1,5 метров свободного пространства по бокам от станции и не менее 2 метров перед ней. Если станция будет находиться в углу или труднодоступна, робот-пылесос не сможет до нее добраться.
Проложите кабель питания зарядной станции вдоль стены.
Можно ли оставлять зарядную станцию подключенной к электросети?
Зарядная станция может быть постоянно подключена к электросети (функция автоматической подзарядки не будет доступна, если зарядная станция не активирована).
Может ли робот-пылесос определять лестницы во избежание падения?
Да. Робот-пылесос оснащен датчиками падения, которые позволяют ему обнаруживать лестницы и отверстия в полу.
Однако в некоторых ситуациях датчики могут оказаться неэффективными. Например, на эффективность работы датчиков могут негативно повлиять изогнутые края лестниц, ковры рядом с лестницами, скользкие поверхности и препятствия.
Нужно ли предварительно готовить комнату к работе робота-пылесоса?
Перед запуском робота-пылесоса убедитесь, что на полу нет никаких преград, кабелей питания, одежды или других потенциально опасных предметов, которые могут стать причиной поломки прибора или других проблем.
Можно ли заряжать робот-пылесос, если его главный переключатель находится в выключенном положении?
Уход за прибором и очистка
Что делать в случае повреждения зарядной станции?
Не пользуйтесь прибором. Во избежание несчастных случаев не прикасайтесь к клеммам. Необходимо отключить зарядную станцию и произвести ее замену, обратившись в авторизованную компанию по ремонту пылесосов.
Когда следует опустошать пылесборник пылесоса?
Пылесборник необходимо опустошать после каждого использования пылесоса. Протрите уплотнения отсека для пылесборника тканью.
Как часто нужно очищать центральную щетку?
Рекомендуется очищать центральную щетку раз в неделю.
Более подробную информацию см. в руководстве пользователя.
Как часто нужно очищать фильтр?
Рекомендуется очищать фильтры не реже одного раза в неделю.
Более подробную информацию см. в руководстве пользователя.
Как часто нужно очищать колеса?
Необходимо регулярно очищать левое, правое и переднее колеса, удаляя запутавшиеся в них волосы и нити.
Как часто нужно очищать датчики робота-пылесоса?
Рекомендуется еженедельно протирать датчики и зарядные клеммы (робота-пылесоса и зарядной станции) сухой тряпкой.
Перед очисткой датчиков и зарядных клемм робот-пылесос необходимо выключать.
Можно ли использовать чистящие средства для очистки робота и его элементов?
Не используйте чистящие средства для очистки робота-пылесоса.
Для некоторых элементов можно использовать воду, для остальных — только сухую ткань. Более подробную информацию см. в руководстве пользователя.
Как часто нужно менять фильтры?
Рекомендуется менять фильтр для удаления мелкой пыли и поролоновый фильтр каждые 6 месяцев.
Как часто нужно менять боковые щетки?
Боковые щетки необходимо менять на новые каждые 6 месяцев.
Техническая поддержка
Что делать в случае повреждения зарядного устройства или кабеля питания?
Не пользуйтесь прибором. Во избежание несчастных случаев необходимо произвести их замену, обратившись в авторизованную компанию по ремонту пылесосов.
Робот-пылесос совсем не пылесосит или делает это в недостаточном объеме.
Проверьте следующие аспекты.
• Не заполнен ли пылесборник.
• Чистоту фильтров.
• Нет ли в отверстии в нижней части робота каких-либо предметов или мусора, препятствующих его работе.
Почему робот-пылесос не возвращается на док-станцию?
Есть несколько возможных причин:
• Если робот начал работу не на док-станции, он на нее не вернется. В этом случае он вернется в начальную точку.
• При работе в режиме Spot робот вернется в начальную точку.
• Если робот подняли, а затем опустили обратно на пол, он попытается заново определить свое местоположение. Если ему не удастся это сделать, то он вернется в начальную точку.
Робот-пылесос не может найти зарядную станцию.
Проверьте следующие аспекты:
• Зарядная станция не должна быть установлена на ковре.
• Зарядная станция не должна подвергаться воздействию солнечного света или располагаться вблизи источника тепла.
• Свободное пространство по бокам от зарядной станции и перед ней должно соответствовать инструкциям в руководстве пользователя.
• Штекер правильно подключен к зарядной станции.
• Кабель зарядного устройства подключен к электросети.
• Около зарядного устройства нет никаких препятствий.
• Вблизи клемм зарядной станции нет никаких предметов.
• Зарядная станция активирована (светодиодный индикатор светится зеленым).
Если после проверки этих аспектов робот-пылесос по-прежнему не может найти зарядную станцию, обратитесь в авторизованную компанию по ремонту пылесосов.
Автоматическая зарядка робота-пылесоса не осуществляется должным образом.
Вы можете выполнить следующие действия.
• Выключите, а затем включите главный переключатель питания.
• Отсоедините кабель питания, затем снова подсоедините его к зарядной станции.
• Убедитесь в том, что на зарядных клеммах и окошках датчиков нет загрязнений. Затем протрите корпус пылесоса и зарядную станцию сухой тканью. Перед сушкой обязательно установите главный переключатель питания в выключенное положение и выключите робот-пылесос.
• Убедитесь, что нет никаких препятствий (например, отражающих объектов, стульев и т. п.) рядом с зарядной станцией.
Если после этих действий автоматическая зарядка по-прежнему не осуществляется должным образом, обратитесь в авторизованную компанию по ремонту пылесосов.
Безопасен ли нагрев адаптера зарядного устройства?
Это нормально. Пылесос может оставаться полностью подключенным к док-станции. Это безопасно.
Осторожно: используйте только предусмотренное зарядное устройство.
Робот-пылесос не запускается.
Проверьте следующие аспекты:
• Установлен ли переключатель в нижней части робота-пылесоса в положение ON (Вкл.) надлежащим образом.
• Горит ли экран. Если нет, зарядите прибор на зарядной станции.
Робот-пылесос не двигается.
Проверьте следующие аспекты:
• Нет ли под колесами каких-либо препятствующих предметов.
• Не блокирует ли движение прибора различие в уровне пола.
• Не отображается ли сообщение об ошибке. (См. раздел «Устранение неполадок и коды ошибок» в руководстве пользователя.)
Робот-пылесос не определяет лестницы и отверстия в полу.
Вы можете выполнить следующие действия:
• Убедитесь, что в радиусе 10 см от лестниц / отверстий в полу нет препятствующих объектов.
• Протрите окошки датчиков сухой тканью.
Если после этих действий проблема не устраняется, обратитесь в авторизованную компанию по ремонту пылесосов.
Центральная щетка робота-пылесоса не работает должным образом.
Убедитесь, что щетка не засорена. Очистите щетку от запутавшихся волос и нитей.
Если щетка повреждена, замените ее на новую.
Индикатор робота-пылесоса мигает, и раздаются звуковые сигналы.
Мигающий индикатор и звуковые сигналы указывают на ошибку.
Подробное описание ошибок и способов их устранения см. в руководстве пользователя.
Робот-пылесос не убирает мусор и издает шум.
Вы можете выполнить следующие действия:
• Убедитесь, что впускной канал не засорен.
• Убедитесь, что пылесборник установлен надлежащим образом.
• Опустошите пылесборник, если он заполнен.
• Выньте центральную щетку и очистите ее.
• Проверьте, не влажный ли фильтр.
Если после этих действий проблема не устраняется, обратитесь в авторизованную компанию по ремонту пылесосов.
Почему электрощетка робота-пылесоса перестала вращаться?
Защитная функция электрощетки активируется, если робот обнаруживает опасность.
Возможны две следующие причины:
• Электрощетка застряла: робот пытается устранить проблему, остановив работу и движение электрощетки.
• Робот-пылесос попытается освободить щетку: если ему не удастся это сделать, прибор выключится, и нужно будет очистить щетку вручную.
Если электрощетка застряла в густом ковровом покрытии из-за длинных и (или) толстых волокон или робот-пылесос осуществляет уборку ковра продолжительное время, электрощетка перестанет вращаться и робот продолжит работу без нее.
Коды ошибок
Робот-пылесос может столкнуться с определенными проблемами и выдать соответствующие коды ошибок.
Подробное описание кодов ошибок и способов их устранения см. в руководстве пользователя.
Почему не удается прикрепить держатель фильтра к пылесборнику?
Возможно, фильтр установлен неправильно. Попробуйте достать фильтр и правильно установить его в гнездо на держателе.
Что делать в случае неисправности устройства?
После ознакомления с инструкциями по запуску прибора в руководстве пользователя убедитесь, что электрическая розетка находится в рабочем состоянии, подключив к ней другое устройство. Если прибор не заработал, не пытайтесь разобрать или отремонтировать его. Отнесите прибор в авторизованный центр технического обслуживания.
Почему смартфон перестал подключаться к роботу-пылесосу?
1. Проверьте подключение робота-пылесоса к беспроводной сети (индикатор подключения к Wi-Fi должен быть включен).
Если нет, выключите робот-пылесос, а затем снова включите переключатель ON/OFF (Вкл./Выкл.), расположенный в нижней части прибора, в момент его нахождения в радиусе действия беспроводной сети.
Если индикатор не включился, для этого может быть несколько причин:
• Возможно, робот-пылесос выключен или имеет недостаточный заряд батареи.
• Робот-пылесос находится за пределами радиуса действия сети Wi-Fi.
• Был изменен пароль сети Wi-Fi. Из-за этого робот-пылесос отключился от сети Wi-Fi. Необходимо перезагрузить робот-пылесос и снова подключить его к сети.
• Не удалось надлежащим образом обновить внутреннее программное обеспечение робота-пылесоса. Следуйте пошаговым инструкциям в приложении.
2. Индикатор подключения к Wi-Fi робота-пылесоса включен, но подключиться к нему через приложение не удается.
Ваш смартфон не подключен к Интернету (Wi-Fi или сеть 3G/4G).
Появляется сообщение об отсутствии интернета в сети. Что делать?
Это нормально, поскольку вы подключились к изделию, которое не имеет подключения к Интернету.
В некоторых смартфонах после подключения к прибору по сети Wi-Fi может появиться сообщение с просьбой подтвердить, что вы хотите остаться в этой сети, не имеющей подключения к Интернету. Для успешного сопряжения необходимо ответить, что вы хотите подключиться к этой сети.
Разное
Можно ли использовать робот-пылесос вне помещений?
Нет. Данный прибор предназначен для использования исключительно в помещении.
Может ли робот-пылесос работать в темноте?
Да. Для работы датчиков робота-пылесоса не нужен свет.
На каких поверхностях может работать робот-пылесос?
Робот-пылесос эффективно работает на твердых поверхностях, таких как плитка, паркет, ламинат, виниловое покрытие и ковры толщиной не более 1,5 см.
Нужен ли еще один пылесос, помимо роботизированного?
Да. Рекомендуется использовать робот-пылесос для поддержания чистоты, но есть поверхности, на которых робот не работает так эффективно, как стандартные пылесосы.
Можно ли запрограммировать робот-пылесос на работу в мое отсутствие?
Да. Вы можете запрограммировать прибор на один сеанс работы или на ежедневные сеансы работы через мобильное приложение.
Почему я не могу добавить дополнительные программы на день, для которого уже определена программа?
Работа робота-пылесоса ограничивается одной программой в день для обеспечения оптимальной уборки всех доступных для него комнат.
Может ли робот-пылесос быть постоянно подключен к док-станции?
Да. При достижении полной зарядки робот перейдет в спящий режим.
Возвращается ли робот-пылесос автоматически на зарядную станцию при низком заряде?
Да. Робот автоматически вернется на зарядную станцию, если батарея разрядится во время работы.
По завершении зарядки пылесос перезапустит процесс уборки.
Почему робот-пылесос не возвращается на док-станцию после работы в режиме Spot?
Это происходит, если робот начал работу не на док-станции: поскольку робот возвращается к отправной точке, то он вернется туда, где начал работу в режиме Spot.
Как можно утилизировать этот прибор по окончании срока его службы?
В Вашем приборе содержатся ценные материалы, которые могут быть подвергнуты вторичной переработке. Отнесите его на городской пункт сбора отходов.
Где я могу приобрести аксессуары, расходные материалы или запасные части к моему устройству?
Пожалуйста, перейдите в раздел «Аксессуары» веб-сайта, чтобы легко найти то, что вам нужно для вашего продукта.
Каковы условия гарантии на мой прибор?
Дополнительные сведения содержатся в разделе «Гарантия» этого веб-сайта.
Может ли другой человек пользоваться моим роботом-пылесосом?
Другой человек может пользоваться вашим роботом-пылесосом, загрузив приложение Tefal Robots и следуя инструкциям по подключению к прибору.
Почему я должен предоставить информацию о своем местоположении?
Для того чтобы ваш смартфон мог обнаруживать нужную сеть Wi-Fi, приложению необходим доступ к информации о местоположении в соответствии с требованиями Google.
Если вы не даете это разрешение, ваш смартфон не сможет обнаружить нужный прибор и осуществить сопряжение.
Эта информация не будет использоваться или сохраняться.
6 kg | 700 mm | No | No | Yes | AC | No | 3 m | Коллаборативный робот TM5-700, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5-700; контроллер; камера 5М; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
6 kg | 700 mm | No | No | Yes | AC | No | 12 m | Коллаборативный робот TM5-700, 12м кабель, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5-700; контроллер; камера 5М; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
6 kg | 700 mm | Yes | Yes | Yes | AC | No | 3 m | Коллаборативный робот TM5-700, Profinet, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5-700; контроллер; камера 5М; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
6 kg | 700 mm | Yes | Yes | Yes | AC | No | 12 m | Коллаборативный робот TM5-700, Profinet, кабель 12м, Profinet, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5-700; контроллер; камера | |
4 kg | 900 mm | No | No | Yes | AC | No | 3 m | Коллаборативный робот TM5-900, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5-900; контроллер; камера 5М; джойстик, принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | No | No | Yes | AC | No | 12 m | Коллаборативный робот TM5-900, 12м кабель, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5-900; контроллер; камера 5М; джойстик, принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | Yes | Yes | Yes | AC | No | 3 m | Коллаборативный робот TM5-900, Profinet, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5-900; контроллер; камера 5М; джойстик, принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | Yes | Yes | Yes | AC | No | 12 m | Коллаборативный робот TM5-900, Profinet, кабель 12м, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5-900; контроллер; камера | |
6 kg | 700 mm | No | No | No | AC | No | 3 m | Коллаборативный робот TM5X-700, без камеры, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5X-700; контроллер; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
6 kg | 700 mm | No | No | No | AC | No | 12 m | Коллаборативный робот TM5X-700, 12м кабель, без камеры, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5X-700; контроллер; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
6 kg | 700 mm | Yes | Yes | No | AC | No | 3 m | Коллаборативный робот TM5X-700, Profinet без камеры, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5X-700; контроллер; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
6 kg | 700 mm | Yes | Yes | No | AC | No | 12 m | Коллаборативный робот TM5X-700, Profinet без камеры, кабель 12м, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5X-700; | |
4 kg | 900 mm | No | No | No | AC | No | 3 m | Коллаборативный робот TM5X-900, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5X-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | No | No | No | AC | No | 12 m | Коллаборативный робот TM5X-900, 12м кабель, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5X-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | Yes | Yes | No | AC | No | 3 m | Коллаборативный робот TM5X-900, Profinet, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5X-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | Yes | Yes | No | AC | No | 12 m | Коллаборативный робот TM5X-900, Profinet, кабель 12м, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5X-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
6 kg | 700 mm | No | No | Yes | DC | No | 1.5 m | Коллаборативный робот TM5M-700, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5M-700; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
6 kg | 700 mm | No | No | Yes | DC | Yes | 1.5 m | Коллаборативный робот TM5M-700 SEMI, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5M-700; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
6 kg | 700 mm | Yes | Yes | Yes | DC | No | 1.5 m | Коллаборативный робот TM5M-700, Profinet, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5M-700; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | No | No | Yes | DC | No | 1.5 m | Коллаборативный робот TM5M-900, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5M-900; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | No | No | Yes | DC | Yes | 1.5 m | Коллаборативный робот TM5M-900 SEMI, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5M-900; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | Yes | Yes | Yes | DC | No | 1.5 m | Коллаборативный робот TM5M-900, Profinet, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5M-900; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
6 kg | 700 mm | No | No | No | DC | No | 1.5 m | Коллаборативный робот TM5MX-700, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5MX-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
6 kg | 700 mm | Yes | Yes | No | DC | No | 1.5 m | Коллаборативный робот TM5MX-700, Profinet, без камеры, макс. грузоподъемность 6 кг., рабочая зона 700 мм. В комплект входит: робот TM5X-700; контроллер; джойстик; принадлежности для калибровки; наклейка-маркер; I/O кабели; силовой кабель | |
4 kg | 900 mm | No | No | No | DC | No | 1.5 m | Коллаборативный робот TM5MX-900, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5MX-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
4 kg | 900 mm | Yes | Yes | No | DC | No | 1.5 m | Коллаборативный робот TM5MX-900, Profinet, без камеры, макс. грузоподъемность 4 кг., рабочая зона 900 мм. В комплект входит: робот TM5MX-900; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | No | No | Yes | AC | No | 3 m | Коллаборативный робот TM12, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12; контроллер; камера 5М; джойстик, принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | No | No | Yes | AC | No | 12 m | Коллаборативный робот TM12, 12м кабель, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12; контроллер; камера 5М; джойстик, принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | Yes | Yes | Yes | AC | No | 3 m | Коллаборативный робот TM12, Profinet, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12; контроллер; камера 5М; джойстик, принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | Yes | Yes | Yes | AC | No | 12 m | Коллаборативный робот TM12, Profinet, кабель 12м, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12; контроллер; камера 5М; | |
12 kg | 1300 mm | No | No | No | AC | No | 3 m | Коллаборативный робот TM12X, без камеры, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12X; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | No | No | No | AC | No | 12 m | Коллаборативный робот TM12X, 12м кабель, без камеры, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12X; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | Yes | Yes | No | AC | No | 3 m | Коллаборативный робот TM12X, Profinet, без камеры, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12X; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | Yes | Yes | No | AC | No | 12 m | Коллаборативный робот TM12X, Profinet, кабель 12м, без камеры, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12X; контроллер; | |
12 kg | 1300 mm | No | No | Yes | DC | No | 1.5 m | Коллаборативный робот TM12M, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12M; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | No | No | Yes | DC | Yes | 1.5 m | Коллаборативный робот TM12M SEMI, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12M; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | Yes | Yes | Yes | DC | No | 1.5 m | Коллаборативный робот TM12M, Profinet, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12M; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | No | No | No | DC | No | 1.5 m | Коллаборативный робот TM12MX, без камеры, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12MX; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
12 kg | 1300 mm | Yes | Yes | No | DC | No | 1.5 m | Коллаборативный робот TM12MX, Profinet, без камеры, макс. грузоподъемность 12 кг., рабочая зона 1300 мм. В комплект входит: робот TM12MX; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | No | No | Yes | AC | No | 3 m | Коллаборативный робот TM14, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14; контроллер; камера 5М; джойстик для программирования; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | No | No | Yes | AC | No | 12 m | Коллаборативный робот TM14, 12м кабель, макс. грузоподъемность 14 кг., раб.зона 1100 мм. В комплект входит: робот TM14; контроллер; камера 5М; джойстик для программирования; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | Yes | Yes | Yes | AC | No | 3 m | Коллаборативный робот TM14, Profinet, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14; контроллер; камера 5М; джойстик для программирования; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | Yes | Yes | Yes | AC | No | 12 m | Коллаборативный робот TM14, Profinet, кабель 12м, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14; контроллер; камера 5М; | |
14 kg | 1100 mm | No | No | No | AC | No | 3 m | Коллаборативный робот TM14X, без камеры, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14X; контроллер; джойстик для программирования; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | No | No | No | AC | No | 12 m | Коллаборативный робот TM14X, 12м кабель, без камеры, макс. грузоподъемность 14 кг., раб.зона 1100 мм. В комплект входит: робот TM14X; контроллер; джойстик для программирования; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | Yes | Yes | No | AC | No | 3 m | Коллаборативный робот TM14X, Profinet, без камеры, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14X; контроллер; джойстик для программирования; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | Yes | Yes | No | AC | No | 12 m | Коллаборативный робот TM14X, Profinet, кабель 12м, без камеры, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14X; контроллер; | |
14 kg | 1100 mm | No | No | Yes | DC | No | 1.5 m | Коллаборативный робот TM14M, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14M; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | No | No | Yes | DC | Yes | 1.5 m | Коллаборативный робот TM14M SEMI, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14M; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | Yes | Yes | Yes | DC | No | 1.5 m | Коллаборативный робот TM14M, Profinet, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14M; контроллер; камера 5М; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | No | No | No | DC | No | 1.5 m | Коллаборативный робот TM14MX, без камеры, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14MX; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель | |
14 kg | 1100 mm | Yes | Yes | No | DC | No | 1.5 m | Коллаборативный робот TM14MX, Profinet, без камеры, макс. грузоподъемность 14 кг., рабочая зона 1100 мм. В комплект входит: робот TM14MX; контроллер; джойстик; принадлежности для калибровки; I/O кабели; наклейка-маркер; силовой кабель |
RoboMaster S1 — DJI
Интеллектуальный контроллер
В интеллектуальном контроллере используется мощный процессор, который одновременно выполняет такие функции как передача изображения в высоком разрешении с низкой задержкой сигнала применение искусственного интеллекта (ИИ) и развитие программирования. Контроллер обеспечивает непрерывную отправку сигнала для выполнения команд.
В интеллектуальном контроллере используется мощный процессор, который одновременно выполняет такие функции как передача изображения в высоком разрешении с низкой задержкой сигнала применение искусственного интеллекта (ИИ) и развитие программирования. Контроллер обеспечивает непрерывную отправку сигнала для выполнения команд.
Бластер
Светодиодные индикаторы бластера S1 обозначают траекторию стрельбы гелевыми шариками или инфракрасными лучами. Звуковые эффекты и отдача бластера придают реалистичности состязанию. Гелевые шарики, используемые для его заряда, изготовлены из нетоксичного материала. Для дополнительной безопасности. скорость и угол стрельбы ограничены.
Светодиодные индикаторы бластера S1 обозначают траекторию стрельбы гелевыми шариками или инфракрасными лучами. Звуковые эффекты и отдача бластера придают реалистичности состязанию. Гелевые шарики, используемые для его заряда, изготовлены из нетоксичного материала. Для дополнительной безопасности. скорость и угол стрельбы ограничены.
2-осевой стабилизатор
Диапазон поворота/наклона стабилизатора 540° × 65° предлагает широкое поле обзора курсовой камеры. В сочетании с IMU и усовершенствованными алгоритмами встроенный бесщеточный двигатель с прямым приводом удерживает значение точности контроля вибрации стабилизатора1 в пределах ±0,02°. Это обеспечивает плавную передачу изображения и точное управление.
Диапазон поворота/наклона стабилизатора 540° × 65° предлагает широкое поле обзора курсовой камеры. В сочетании с IMU и усовершенствованными алгоритмами встроенный бесщеточный двигатель с прямым приводом удерживает значение точности контроля вибрации стабилизатора1 в пределах ±0,02°. Это обеспечивает плавную передачу изображения и точное управление.
Колеса Илона
S1 оснащен четырьмя колесами Илона с 12 роликами в каждом, что позволяет ему двигаться во всех направления и контролировать уровень точности. Подвеска передних осей добавляет гибкости при работе.
S1 оснащен четырьмя колесами Илона с 12 роликами в каждом, что позволяет ему двигаться во всех направления и контролировать уровень точности. Подвеска передних осей добавляет гибкости при работе.
Высокопроизводительный двигатель
S1 оснащен двигателем M3508I с FOC ESC и крутящим моментом на выходном валу, равном 250 мН•м. В линейных датчиках с эффектом Холла используются современные алгоритмы, позволяющие применять замкнутую конструкцию для дополнительной точности. Механизмы защиты обеспечивают превосходную стабильность устройства.
S1 оснащен двигателем M3508I с FOC ESC и крутящим моментом на выходном валу, равном 250 мН•м. В линейных датчиках с эффектом Холла используются современные алгоритмы, позволяющие применять замкнутую конструкцию для дополнительной точности. Механизмы защиты обеспечивают превосходную стабильность устройства.
Броня с интеллектуальными датчиками
Шесть интеллектуальных панелей брони S1 способны распознавать поражение робота гелевыми шариками или инфракрасными лучами. Система присуждения очков анализирует данные о количестве ударов, предоставляет их пользователю и использует эту информацию в игре в реальном времени.
Шесть интеллектуальных панелей брони S1 способны распознавать поражение робота гелевыми шариками или инфракрасными лучами. Система присуждения очков анализирует данные о количестве ударов, предоставляет их пользователю и использует эту информацию в игре в реальном времени.
Мобильные приложения
Приложение R4S HomeУправляй техникой из любой точки мира!
R4S Home – единое приложение для дистанционного управления бытовой техникой линейки REDMOND Smart Home.
Одно приложение подходит для управления разными видами умной бытовой техники, гаджетов и розеток. За счет использования энергосберегающих технологий снижен расход батареи смартфона во время работы приложения.
В приложении вы можете установить расписание работы электроприборов, задать сценарии взаимодействия и настроить систему оповещений. Например, если датчик обнаружит несанкционированное движение или открытие двери, сработает сигнализация, и на смартфон пользователя придет уведомление.
В приложении R4S Home можно контролировать неограниченное количество техники и гаджетов.
Приборы, которые в настоящий момент работают с приложением:
- Датчики RG-G1S (открывания дверей и окон) и RG-D1S (движения)
- Умный сетевой фильтр RSP-E101S (4 независимо управляемых розетки, учёт потребляемой электроэнергии)
- Умные выключатели RL-S1S и RL-S2S
- Блок управления светом/звонком RL-B21S
- Кофеварки RCM-M1505S, RCM-M1508S, RCM-M1509S
Скоро к ним будут добавлены: хлебопечи, обогреватели, вентилятор, очиститель воздуха, чайники, термопоты, весы, утюги, кофеварки, мультиварки, мультикухни, цоколи, розетки, трекеры и многие другие приборы. Следите за обновлениями!
iOS 9.0 или более поздняя Android 4.3 или более поздняяРобот Светлана принял 1 млн звонков на горячей линии 122 в Московской области
Свыше 3,2 миллиона звонков поступило в Подмосковье на горячую линию 122 с ее запуска, при этом 1 миллион из них обработал искусственный интеллект – робот-помощник Светлана, говорится в сообщении пресс-службы Министерства госуправления, информационных технологий и связи Московской области.
Единый короткий номер заработал в регионе в конце ноября прошлого года по поручению президента.
«Голосовые помощники – это не просто дань моде. Это решения, которые действительно упрощают многие вещи и делают их комфортнее. В прошлом году мы запустили решение на основе искусственного интеллекта для разгрузки операторов колл-центра региона. И это решение за время своей работы доказало свою эффективность», – отметил министр госуправления, информационных технологий и связи Подмосковья Максим Рымар.
Он добавил, что робот Светлана оформил 315 тысяч вызовов врача на дом для жителей Подмосковья. Также помощник помог в три раза сократить время ожидания на линии, что очень важно в условиях пандемии.
Робот Светлана обслуживает одновременно 300 линий. Он может помочь вызвать врача на дом. Робот принимает звонок, распознает персональные данные жителя с помощью системы распознавания и синтеза речи и оформляет вызов врача через единую медицинскую систему ЕМИАС.
Возможности робота-оператора в перспективе могут расширить до обслуживания 1,5 тысячи линий и добавить в функционал запись на прием к врачу, информирование о результатах анализов и напоминание о предстоящем посещении врача. Аналогичные роботы-помощники заработали еще в 12 регионах по примеру Подмосковья.
Единый телефонный номер 122 введен в регионах России по поручению президента РФ Владимира Путина, чтобы решить проблему с «дозвоном» жителей до медорганизаций или получением консультаций по теме коронавируса.
Жители Подмосковья с помощью линии 122 могут вызвать врача на дом при подозрении на коронавирус, дистанционно оформить больничный, получить предварительную консультацию медицинского специалиста по вопросам коронавируса. Также можно записаться на вакцинацию или получить всю необходимую информацию о прививочной кампании.
Новые правила выдачи и оформления больничных – разъяснения прокуратуры Подмосковья>>
Методы управления роботом
Управление ПК
Эти демонстрации и проекты позволяют управлять роботом с помощью компьютера. Это может быть так же просто, как ввод команд в последовательном мониторе Arduino, или такое же сложное, как пользовательское приложение, такое как программное обеспечение Arm Link.
Обычно управление компьютером осуществляется через USB-кабель, но некоторые демонстрации будут поддерживать беспроводное управление через XBee — см. Конкретную демонстрацию для получения дополнительной информации.
Прямое управление
Эти демонстрации и проекты управляют роботом напрямую с датчиков, подключенных непосредственно к плате управления робота (обычно это робот-контроллер ArbotiX-M).Обычно это позволяет пользователю напрямую управлять роботом с помощью датчиков.
Позы управления
Эти демонстрации и проекты позволяют создавать и воспроизводить последовательность поз. Предварительно запрограммированные движения могут быть полезны для четко определенных повторяющихся задач.
Последовательный контроль
Эти демонстрации и проекты управляют роботом с использованием последовательного пакетного протокола.Последовательный пакет может быть отправлен с различных устройств, от компьютеров до микроконтроллеров. Эти демонстрации — отличное место для начала, если вы хотите динамически управлять роботом с другого устройства.
Автономный
Эти демонстрации и проекты созданы для того, чтобы ваш робот мог работать без компьютера или дополнительного микроконтроллера. В этих проектах используется роботизированный робот ArbotiX Robocontroller и датчики, подключенные к нему напрямую.
Для настройки и программирования робота потребуется компьютер, но после этого компьютер не потребуется.
Беспроводное управление
Эти демонстрации и проекты позволяют вам управлять роботом по беспроводной сети — обычно путем замены последовательного соединения модулями XBee.
Введение в системы управления роботами | Автор: Матанрадж Шарма
ПК: PickPik (https: // www.pickpik.com/wall-e-robot-toy-cute-wallpaper-romantic-2954)Робототехника — это междисциплинарная область изучения инженерии и информатики. Ключевой целью робототехники является производство машин, программируемых на компьютере, которые могут выполнять задачи с большей скоростью и точностью. Применение робототехники в нынешнюю эпоху бесчисленное множество, например, транспортировка тяжелых вещей (в логистическом управлении), автоматизированное производство, беспилотные автомобили, беспилотные летательные аппараты и многое другое.
Каждому новичку необходимо понять концепцию системы управления , чтобы начать работу с робототехникой.Системы управления помогают контролировать движения и функции робота. Чтобы сначала понять систему управления, нам нужно понять некоторые термины, используемые в робототехнике.
Система управления с обратной связью (фото автора)- Состояние — вывод, производимый роботизированной системой, называется состоянием. Обычно мы обозначаем его как x , состояние зависит от его предыдущих состояний, стимулов (сигналов), применяемых к исполнительным механизмам, и физики окружающей среды. Состояние может быть любым: поза, скорость, скорость, угловая скорость, сила и т. Д.
- Оценка — Роботы не могут определить точное состояние x , но они могут оценить с помощью прикрепленных к ним датчиков. Эти оценки обозначены цифрами y . Инженер-робот несет ответственность за выбор достаточно хороших датчиков или их точную калибровку, чтобы они могли выдавать y ~ x.
- Ссылка — состояние цели, которого мы хотим достичь, обозначается с помощью r.
- Ошибка — разница между эталоном и оценкой называется ошибкой.
- Управляющий сигнал — стимул, производимый / выводимый контроллером, известен как управляющий сигнал, он обозначается с помощью u.
- Dynamics — это также называется системной моделью объекта / системы, она обозначает, как система будет вести себя в нестатических условиях. На динамику влияет среда, которая может меняться или не всегда линейна. Например, тип пола (бетон / дерево), сопротивление воздуха, уклон и т.д. ~ 0 & x ~ r.
Позвольте мне привести пример рассмотренных выше ключевых терминов. Предположим, вы создаете беспилотного робота. У вас должен быть круиз-контроллер для вашего робота. Здесь
- Скорость (x) вашего робота — это состояние
- Расчетная текущая скорость (y) от предпочтительного датчика (пример кодировщика колеса)
- скорость, которую вы хотите достичь, является опорной (r)
- ошибка это просто разница между r & y
- Напряжение, создаваемое вашим контроллером для увеличения или уменьшения скорости, является вашим управляющим сигналом (u)
- Характеристики окружающей среды, такие как трение и сопротивление воздуха, могут влиять на динамику системы.Вы должны рассмотреть их, прежде чем создавать уравнения системы управления.
Примечание. Робот может иметь один или несколько контроллеров для различных целей. Например, один контроллер для круиз-контроля и другой контроллер для управления линейным движением руки робота, один для вращательного движения руки и т. Д.
Нам нужны контроллеры, потому что динамика (система) меняется со временем. Например, когда робот движется вверх по склону, а затем вниз по склону или сначала движется по гладкому бетону, а затем по полу с ковровым покрытием.Итак, лучший способ разработать контроллер — это хорошо понять физику окружающей среды. Это поможет перечислить элементы, которые необходимо учитывать при разработке контроллера.
Прежде чем я закончу, давайте посмотрим на желаемые характеристики контроллеров. Мы уже видели первое требование,
- Контроллер должен уменьшить ошибку ближе к нулю, e ~ 0, Он должен привести оценку к эталону, y ~ r
- Они должны быть устойчивыми, они не должны зависеть от вещей, которых мы не знаем.Если в окружающей среде робота произойдут какие-либо изменения, он сможет адаптироваться к нему.
- Они должны быть стабильными , то есть они не должны выходить из-под контроля.
- Они должны быть плавными, в своих движениях.
- Контроллер должен быть отзывчивым . Он должен быть достаточно быстрым, чтобы получить выходной сигнал на эталонном уровне за приемлемое время.
Таким образом, мы передаем эталонное состояние контроллеру. Контроллер также имеет обратную связь датчика, используя опорное состояние, и контроллер обратной связи сенсора генерирует управляющий сигнал, необходимый для достижения опорного состояния.Этот управляющий сигнал поступает в «Систему». Системная динамика определяет, как система ведет себя к этому управляющему входу. Если контроллер в порядке, можно надеяться, что «Система» достигнет желаемого эталонного состояния.
Надеюсь, это краткое введение в систему управления роботом будет полезно для новичков.
Решение задач управления движением робота в реальном времени
Рис. 1. Проблема управления движением состоит в том, что суставы управляются, пока инструмент (или концевой эффектор) выполняет свою работу, и взаимосвязь между ними является сложной.(Источник: Energid Technologies)
Управление движением — это программный компонент роботизированной системы, который определяет, как робот должен двигаться для выполнения уже определенных задач. Руки роботов перемещаются за счет действия вращающихся и скользящих суставов, в то время как мобильные роботы перемещаются за счет движения и рулевого управления.
Задачи робота, с другой стороны, выполняются с помощью инструментов (концевых эффекторов) на роботе. Задачи могут быть манипулятивными, как при использовании захвата, или сенсорными, как при установке камеры.Эти две концепции — движение и задачи — являются ключевыми для решения сложных задач робототехники.
Инструменты выполняют свою работу, но соединения контролируются
Суть проблемы управления движением, как показано на рисунке 1, заключается в том, что инструменты выполняют работу, но контролируются суставы. И отношения между ними сложны. Уравнение, описывающее размещение зонда, удерживаемого рукой робота, может занимать страницы и страницы тригонометрических функций. И это легкое направление.Другой путь — вычисление контрольного решения того, как разместить соединения для получения желаемого положения инструмента — может даже не иметь уравнения. Его можно решить только итеративно.
У некоторых роботов, таких как показанный на рис. 2, больше приводов, чем требуется для выполнения задачи (например, для взятия отвертки). Эта избыточность расширяет возможности робота, но усложняет управление движением. Подумайте о человеческом теле. С нашими дополнительными суставами есть много способов вытащить эту старую пиццу из холодильника — на самом деле их бесконечное количество — и использование избыточности позволяет нам обходить молочные пакеты, балансировать и плавно двигаться, чтобы уменьшить нагрузку на суставы и избежать ограничений суставов.Но это требует больших умственных способностей. Роботы с резервированием выигрывают от возможности перемещаться с таким же плавным и эффективным управлением, но для этого требуется много вычислительной мощности.
Когда есть несколько способов сделать что-то с роботом, выбранный способ должен обладать особыми качествами — например, максимальное расстояние от столкновения. Путь также может повысить прочность, сократить время, избежать ограничений рабочего пространства, снизить энергопотребление и повысить точность. На практике лучшим движением обычно будет сочетание этих и других чистых качеств.
Рисунок 2: Некоторые роботы имеют больше степеней свободы, чем минимум, необходимый для выполнения задачи. Эти роботы с кинематическим резервированием мощны, но ими сложно управлять. (Источник: Energid Technologies)
Управление движением также должно включать ограничения. Суставы роботов имеют ограничения по скорости и ускорению. Приводы имеют максимальный крутящий момент или усилие. Физические части робота не могут перекрываться в пространстве, и совместные ограничения не могут быть превышены. Это ограничения, налагаемые физической реальностью робота и мира.Желаемые задачи, ограничения и оптимизации в совокупности делают управление движением робота сложной задачей.
Сложность методов управления требует обработки в реальном времени
Тем не менее, для решения этой проблемы было разработано множество математических методов. Иногда используются специальные уравнения, но обычно используется так называемый якобиан манипулятора. Якобиан — это математический объект, который упрощенно описывает скорость инструмента как функцию совместной скорости.Это позволяет избежать сложного прямого расчета позиций. Поскольку он имеет упрощенную форму, его легче перевернуть для решения задачи управления, единственный недостаток заключается в том, что он работает со скоростями, а не с положениями. Позиционирование с использованием якобиана требует методов алгоритмической обратной связи.
Хотя якобиан почти всегда можно определить, вычислить и инвертировать для управления, проблемы остаются. Во-первых, как выбрать и интегрировать желаемые оптимизации как локально, так и глобально.Глобальное управление относится к большим перемещениям с гибкостью траектории до тех пор, пока конечные точки верны, в то время как местное управление относится к точно определенным, обычно небольшим, перемещениям. Многие задачи роботов выполняются с использованием комбинации глобального и локального управления, и вопрос о том, как выбираются и реализуются оптимизации, остается открытым.
Управление более высокими производными финансовыми инструментами также является областью для постоянного совершенствования, особенно в области онлайн-контроля. Многие роботы сегодня генерируют полные пути в автономном режиме до начала движения.Автономная генерация пути позволяет использовать будущие состояния робота в вычислениях о более ранних состояниях. Это помогает ограничить высшие производные движения (например, рывки, производные ускорения), которые могут вызвать вибрацию. Однако недостатком является то, что знания являются неполными до начала движения, и как только робот начинает движение по заранее рассчитанному пути, он не может реагировать на изменения окружающей среды и вводимые пользователем данные. Требуется дополнительная работа для оптимального управления более высокими производными в режиме реального времени.
Игра в этот компромисс — скорость вычисления алгоритмов управления. При применении в реальном времени скорость имеет решающее значение. Мощный алгоритмический подход состоит в том, чтобы изучить несколько альтернатив — шаг за шагом — и выбрать лучший. Более быстрое внедрение дает больше альтернатив и улучшенный контроль.
Рис. 3. Программное обеспечение Energid Actin, управляющее UR5. Слева ползунки позволяют напрямую размещать стыки. В центре изображен робот с взаимодействием с мышью для размещения инструмента.Справа настроены коллизии, которых следует избегать. (Источник: Energid Technologies)
Существует пропасть между существованием алгоритма на бумаге или в демонстрации и его практическим использованием, потому что сделать алгоритм пригодным для использования само по себе сложно. Реализации должны быть надежными. Нужно решать даже редкие проблемы. Реализация должна учитывать неизбежные отклонения в типе робота, среде и задачах. И он должен легко интегрироваться с другим программным обеспечением.
Управление движением для практических робототехнических систем
Сегодня эти потребности удовлетворяют множество бесплатных коммерческих программных пакетов с открытым исходным кодом.Актин компании Energid Technologies, показанный на Рисунке 3, является коммерческим примером. Он контролирует вооружение в таких областях, как производство, медицина и энергетика. Ярким примером использования Актина является сбор бункеров, когда по одной части нужно удалять из случайной кучи частей. Для захвата бункера требуется быстрое и плавное управление движением, позволяющее избежать столкновений с бункером, в котором хранятся детали, и с другими частями в бункере. Усовершенствованное управление движением делает роботизированный сбор мусора практичным.
Об авторе
Джеймс Инглиш — президент и главный технический директор Energid Technologies. Он возглавляет проектные группы по разработке сложных систем робототехники, машинного зрения и моделирования. Специальность Джеймса — автоматическая дистанционная робототехника.
До основания Energid он занимался разработкой программного обеспечения в машиностроительной и аэрокосмической отраслях, где он занимал ключевые должности в исследованиях и разработках в Raytheon и MAK Technologies. Он является автором множества статей для журналов и конференций, а также множества патентов, связанных с управлением и моделированием роботизированных систем.Джеймс имеет докторскую степень. Кандидат электротехники в Университете Пердью.
Учебное пособие по программированию робототехники: как программировать простого робота
Примечание редактора: 16 октября 2018 г. эта статья была переработана для работы с новейшими технологиями.
Посмотрим правде в глаза, роботы — это круто. Они также собираются когда-нибудь править миром, и, надеюсь, тогда они пожалеют своих бедных мягкотелых создателей (также известных как разработчики робототехники) и помогут нам построить космическую утопию, наполненную изобилием.Я, конечно, шучу, но только вроде.
Стремясь хоть как-то повлиять на этот вопрос, в прошлом году я прошел курс теории управления автономными роботами, кульминацией которого стало создание симулятора робота на основе Python, который позволил мне практиковать теорию управления на простом, мобильном, программируемом устройстве. робот.
В этой статье я собираюсь показать, как использовать платформу роботов Python для разработки управляющего программного обеспечения, описать схему управления, которую я разработал для своего смоделированного робота, проиллюстрировать, как он взаимодействует со своей средой и достигает своих целей, а также обсудить некоторые из фундаментальные проблемы программирования робототехники, с которыми я столкнулся на этом пути.
Чтобы следовать этому руководству по программированию робототехники для начинающих, вы должны иметь базовые знания двух вещей:
- Математика — мы будем использовать некоторые тригонометрические функции и векторы.
- Python — поскольку Python является одним из наиболее популярных базовых языков программирования роботов, мы будем использовать базовые библиотеки и функции Python.
Приведенные здесь фрагменты кода являются лишь частью всего симулятора, который полагается на классы и интерфейсы, поэтому для непосредственного чтения кода вам может потребоваться некоторый опыт в Python и объектно-ориентированном программировании.
Наконец, дополнительные темы, которые помогут вам лучше следовать этому руководству, — это знать, что такое конечный автомат и как работают датчики диапазона и энкодеры.
Проблема программируемого робота: восприятие против реальности и хрупкость управления
Основная проблема всей робототехники заключается в следующем: невозможно когда-либо узнать истинное состояние окружающей среды. Программное обеспечение для управления роботом может только предполагать состояние реального мира на основе измерений, возвращаемых его датчиками.Он может только попытаться изменить состояние реального мира посредством генерации управляющих сигналов.
Программное обеспечение для управления роботом может только предполагать состояние реального мира на основе измерений, возвращаемых его датчиками.
Таким образом, одним из первых шагов в разработке системы управления является создание абстракции реального мира, известной как модель , с помощью которой можно интерпретировать показания наших датчиков и принимать решения. Пока реальный мир ведет себя в соответствии с предположениями модели, мы можем делать правильные предположения и осуществлять контроль.Однако, как только реальный мир отклонится от этих предположений, мы больше не сможем делать правильные предположения, и контроль будет утерян. Часто, когда контроль теряется, его уже невозможно восстановить. (Если его не восстановит какая-нибудь доброжелательная внешняя сила.)
Это одна из основных причин того, что программирование робототехники так сложно. Мы часто видим видеоролики, на которых новейший исследовательский робот выполняет в лаборатории фантастические трюки с ловкостью, навигацией или командной работой, и у нас возникает соблазн спросить: «Почему это не используется в реальном мире?» Что ж, в следующий раз, когда вы посмотрите такое видео, посмотрите, насколько строго контролируется лабораторная среда.В большинстве случаев эти роботы могут выполнять эти впечатляющие задачи только до тех пор, пока условия окружающей среды остаются в узких рамках его внутренней модели. Таким образом, одним из ключей к развитию робототехники является разработка более сложных, гибких и надежных моделей, и это продвижение зависит от ограничений доступных вычислительных ресурсов.
Одним из ключей к развитию робототехники является разработка более сложных, гибких и надежных моделей.
[Примечание: и философы, и психологи отметили бы, что живые существа также страдают от зависимости от собственного внутреннего восприятия того, что им говорят их чувства.Многие успехи в робототехнике достигаются благодаря наблюдению за живыми существами и их реакции на неожиданные раздражители. Думаю об этом. Какова ваша внутренняя модель мира? Он отличается от муравья, а от рыбы? (Надеюсь.) Однако, подобно муравью и рыбе, он, вероятно, слишком упрощает некоторые реалии мира. Когда ваши предположения о мире неверны, вы рискуете потерять контроль над ситуацией. Иногда мы называем это «опасностью». Так же, как наш маленький робот пытается выжить в неизвестной вселенной, мы все тоже.Это мощное открытие для робототехников.]
Программируемый симулятор робота
Симулятор, который я построил, написан на Python и очень умно назван Sobot Rimulator . Вы можете найти версию 1.0.0 на GitHub. В нем не так много наворотов, но он создан для одной цели очень хорошо: обеспечивает точное моделирование мобильного робота и дает начинающему робототехнику простую основу для практики программирования программного обеспечения роботов. Хотя всегда лучше иметь настоящего робота, чтобы играть с ним, хороший симулятор робота Python намного доступнее и является отличным местом для начала.
В реальных роботах программное обеспечение, генерирующее управляющие сигналы («контроллер»), должно работать на очень высокой скорости и производить сложные вычисления. Это влияет на выбор языков программирования роботов, которые лучше всего использовать: обычно для таких сценариев используется C ++, но в более простых робототехнических приложениях Python — очень хороший компромисс между скоростью выполнения и простотой разработки и тестирования.
Программное обеспечение, которое я написал, имитирует реального исследовательского робота под названием Khepera, но его можно адаптировать к ряду мобильных роботов с различными размерами и датчиками.Поскольку я пытался запрограммировать симулятор, максимально приближенный к возможностям реального робота, логику управления можно загрузить в настоящего робота Khepera с минимальным рефакторингом, и он будет работать так же, как моделируемый робот. Реализованные особенности относятся к Khepera III, но они могут быть легко адаптированы к новому Khepera IV.
Другими словами, программирование смоделированного робота аналогично программированию реального робота. Это очень важно, если симулятор должен быть полезен для разработки и оценки различных подходов к управляющему программному обеспечению.
В этом руководстве я опишу архитектуру программного обеспечения для управления роботами, которая поставляется с v1.0.0 из Sobot Rimulator , и предоставлю фрагменты из исходного кода Python (с небольшими изменениями для ясности). Тем не менее, я рекомендую вам погрузиться в источник и бездельничать. Симулятор был разветвлен и использовался для управления различными мобильными роботами, в том числе Roomba2 от iRobot. Точно так же, пожалуйста, не стесняйтесь разветвлять проект и улучшать его.
Управляющая логика робота ограничена следующими классами / файлами Python:
-
моделей / супервайзер.py
— этот класс отвечает за взаимодействие между моделируемым миром вокруг робота и самим роботом. Он развивает конечный автомат нашего робота и запускает контроллеры для вычисления желаемого поведения. -
models / supervisor_state_machine.py
— этот класс представляет различные состояния , в которых может находиться робот, в зависимости от его интерпретации датчиков. - Файлы в каталоге
models / controllers
— эти классы реализуют различное поведение робота при известном состоянии окружающей среды.В частности, в зависимости от конечного автомата выбирается конкретный контроллер.
Цель
Роботам, как и людям, нужна цель в жизни. Цель нашего программного обеспечения, управляющего этим роботом, будет очень простой: он попытается добраться до заранее определенной целевой точки. Обычно это основная функция, которой должен обладать любой мобильный робот, от автономных автомобилей до роботов-пылесосов. Координаты цели программируются в управляющем программном обеспечении до активации робота, но могут быть сгенерированы из дополнительного приложения Python, которое контролирует движения робота.Например, представьте, что он проезжает через несколько путевых точек.
Однако, чтобы усложнить ситуацию, окружение робота может быть усыпано препятствиями. Робот НЕ МОЖЕТ столкнуться с препятствием на пути к цели. Следовательно, если робот сталкивается с препятствием, ему придется найти путь, чтобы продолжить свой путь к цели.
Программируемый робот
Каждый робот имеет разные возможности и особенности управления. Давайте познакомимся с нашим смоделированным программируемым роботом.
Прежде всего следует отметить, что в этом руководстве нашим роботом будет автономный мобильный робот . Это означает, что он будет свободно перемещаться в пространстве и будет делать это под собственным контролем. Это контрастирует, скажем, с роботом с дистанционным управлением (который не является автономным) или заводским роботом-манипулятором (который не является мобильным). Наш робот должен сам выяснить, как достичь своих целей и выжить в окружающей среде. Это оказывается удивительно сложной задачей для начинающих программистов-робототехников.
Управляющие входы: датчики
Есть много разных способов, которыми робот может быть оборудован для наблюдения за окружающей средой. Это могут быть датчики приближения, датчики света, бамперы, камеры и т. Д. Кроме того, роботы могут связываться с внешними датчиками, которые дают им информацию, которую они сами не могут наблюдать напрямую.
Наш эталонный робот оснащен девятью инфракрасными датчиками. — более новая модель имеет восемь инфракрасных и пять ультразвуковых датчиков приближения — расположенных в «юбке» во всех направлениях.Есть больше датчиков, обращенных к передней части робота, чем к задней, потому что для робота обычно более важно знать, что находится перед ним, чем то, что находится за ним.
В дополнение к датчикам приближения, робот имеет пару бегунов колес , которые отслеживают движение колес. Они позволяют отслеживать, сколько оборотов делает каждое колесо, при этом один полный оборот колеса вперед составляет 2765 тиков. Повороты в обратном направлении считают обратный отсчет, уменьшая счетчик тиков вместо того, чтобы увеличивать его.Вам не нужно беспокоиться о конкретных цифрах в этом руководстве, потому что программное обеспечение, которое мы напишем, использует пройденное расстояние, выраженное в метрах. Позже я покажу вам, как вычислить его по тикам с помощью простой функции Python.
Управляющие выходы: мобильность
Некоторые роботы передвигаются на ногах. Некоторые катятся, как мяч. Некоторые даже скользят, как змеи.
Наш робот — это робот с дифференциальным приводом, то есть он передвигается на двух колесах. Когда оба колеса вращаются с одинаковой скоростью, робот движется по прямой.Когда колеса движутся с разной скоростью, робот поворачивается. Таким образом, управление движением этого робота сводится к правильному контролю скорости вращения каждого из этих двух колес.
API
В Sobot Rimulator разделение между роботом «компьютером» и (смоделированным) физическим миром воплощено в файле
robot_supervisor_interface.py
, который определяет весь API для взаимодействия с датчиками и двигателями «реального робота»:-
read_proximity_sensors ()
возвращает массив из девяти значений в собственном формате датчиков -
read_wheel_encoders ()
возвращает массив из двух значений, указывающих общее количество тиков с начала -
set_wheel_drive_rates (v_l, v_r)
принимает два значения (в радианах в секунду) и устанавливает эти два значения для скорости левого и правого колес.
Этот интерфейс внутренне использует объект-робот, который предоставляет данные от датчиков и возможность перемещать двигатели или колеса.Если вы хотите создать другого робота, вам просто нужно предоставить другой класс робота Python, который может использоваться с тем же интерфейсом, а остальная часть кода (контроллеры, супервизор и симулятор) будет работать из коробки!
Симулятор
Так же, как вы использовали бы настоящего робота в реальном мире, не уделяя слишком много внимания задействованным законам физики, вы можете игнорировать то, как моделируется робот, и просто перейти непосредственно к программированию программного обеспечения контроллера, поскольку это будет почти то же самое между реальным миром и симуляцией.Но если вам интересно, я кратко представлю его здесь.
Файл
world.py
— это класс Python, который представляет смоделированный мир с роботами и препятствиями внутри. Функция step внутри этого класса заботится о развитии нашего простого мира:- Применение правил физики к движениям робота
- Учет столкновений с препятствиями
- Предоставление новых значений для датчиков робота
В конце концов, он вызывает диспетчеров роботов, ответственных за выполнение программного обеспечения мозга робота.
Пошаговая функция выполняется в цикле, так что
robot.step_motion ()
перемещает робота, используя скорость колеса, вычисленную супервизором на предыдущем шаге моделирования.# пошаговое моделирование через один временной интервал def step (self): dt = self.dt # шаг всем роботам для робота в self.robots: # шаг движения робота robot.step_motion (dt) # применяем физические взаимодействия self.physics.apply_physics () # ПРИМЕЧАНИЕ: супервизоры должны бежать последними, чтобы убедиться, что они наблюдают за «текущим» миром. # шаг всем супервизорам для руководителя в себе.руководители: supervisor.step (dt) # увеличить мировое время self.world_time + = dt
Функция
apply_physics ()
внутренне обновляет значения датчиков приближения робота, чтобы супервизор мог оценить окружающую среду на текущем этапе моделирования. Те же принципы применимы к кодировщикам.Простая модель
Во-первых, у нашего робота будет очень простая модель. Он сделает много предположений о мире. Некоторые из наиболее важных:
- Рельеф всегда ровный и даже
- Препятствий не бывает круглых
- Колеса не пробуксовывают
- Ничто и никогда не сможет подтолкнуть робота к
- Датчики никогда не выходят из строя и не дают ложных показаний
- Колеса всегда поворачиваются, когда им говорят на
Несмотря на то, что большинство из этих предположений разумны в условиях дома, могут присутствовать круглые препятствия.Наше программное обеспечение для предотвращения препятствий имеет простую реализацию и следует за границей препятствий, чтобы обойти их. Мы подскажем читателям, как улучшить систему управления нашим роботом с помощью дополнительной проверки, позволяющей избегать круговых препятствий.
Контур управления
Теперь мы войдем в ядро нашего управляющего программного обеспечения и объясним поведение, которое мы хотим запрограммировать внутри робота. В эту структуру можно добавить дополнительные модели поведения, и вы должны попробовать свои собственные идеи после того, как закончите читать! Программное обеспечение для робототехники на основе поведения было предложено более 20 лет назад и до сих пор остается мощным инструментом для мобильной робототехники.Например, в 2007 году набор моделей поведения был использован в DARPA Urban Challenge — первом соревновании по автономному вождению автомобилей!
Робот — это динамическая система. Состояние робота, показания его датчиков и влияние его управляющих сигналов постоянно меняются. Управление ходом событий включает следующие три этапа:
- Подайте управляющие сигналы.
- Измерьте результаты.
- Генерировать новые управляющие сигналы, рассчитанные на то, чтобы приблизить нас к нашей цели.
Эти шаги повторяются снова и снова, пока мы не достигнем нашей цели. Чем больше раз мы сможем сделать это в секунду, тем более точным будет контроль над системой. Робот Sobot Rimulator повторяет эти шаги 20 раз в секунду (20 Гц), но многие роботы должны делать это тысячи или миллионы раз в секунду, чтобы иметь адекватный контроль. Вспомните наше предыдущее введение о разных языках программирования роботов для разных робототехнических систем и требований к скорости.
В общем, каждый раз, когда наш робот выполняет измерения с помощью своих датчиков, он использует эти измерения для обновления своей внутренней оценки состояния мира, например, расстояния от своей цели.Он сравнивает это состояние со значением ссылки того, что хочет, чтобы состояние было (для расстояния он хочет, чтобы оно было равно нулю), и вычисляет ошибку между желаемым состоянием и фактическим состоянием. Как только эта информация известна, создание новых управляющих сигналов может быть сведено к задаче , минимизируя ошибку , которая в конечном итоге приведет робота к цели.
Отличный трюк: упрощение модели
Чтобы управлять роботом, которого мы хотим запрограммировать, мы должны послать сигнал на левое колесо, сообщающее ему, как быстро повернуть, и отдельный сигнал на правое колесо, сообщающее и , как быстро вращаться.Назовем эти сигналы v L и v R . Однако постоянно мыслить категориями v L и v R очень громоздко. Вместо того, чтобы спрашивать: «С какой скоростью мы хотим, чтобы вращалось левое колесо, и с какой скоростью мы хотим, чтобы вращалось правое колесо?» естественнее спросить: «С какой скоростью мы хотим, чтобы робот двигался вперед, и с какой скоростью мы хотим, чтобы он поворачивался или менял свой курс?» Назовем эти параметры скоростью v и угловой (вращательной) скоростью ω (читать «омега»).Оказывается, мы можем основывать всю нашу модель на v и ω вместо v L и v R , и только после того, как мы определили, как мы хотим, чтобы наш запрограммированный робот двигался, математически преобразовывать эти два значения в v L и v R нам нужно для фактического управления колесами робота. Это известно как моноцикл , модель управления.
Вот код Python, реализующий окончательное преобразование в супервизоре
.py
. Обратите внимание, что если ω равно 0, оба колеса будут вращаться с одинаковой скоростью:# генерировать и отправлять роботу правильные команды def _send_robot_commands (сам): # ... v_l, v_r = self._uni_to_diff (v, омега) self.robot.set_wheel_drive_rates (v_l, v_r) def _uni_to_diff (self, v, omega): # v = поступательная скорость (м / с) # омега = угловая скорость (рад / с) R = self.robot_wheel_radius L = self.robot_wheel_base_length v_l = ((2.0 * v) - (омега * L)) / (2.0 * R) v_r = ((2,0 * v) + (омега * L)) / (2,0 * R) вернуть v_l, v_r
Оценка состояния: робот, познай себя
Используя свои датчики, робот должен попытаться оценить состояние окружающей среды, а также свое собственное состояние. Эти оценки никогда не будут идеальными, но они должны быть достаточно хорошими, потому что робот будет основывать все свои решения на этих оценках. Используя только свои датчики приближения и бегущие строки колес, он должен попытаться угадать следующее:
- Направление на препятствия
- Расстояние до препятствий
- Положение робота
- Заголовок робота
Первые два свойства определяются показаниями датчика приближения и довольно просты.Функция API
read_proximity_sensors ()
возвращает массив из девяти значений, по одному для каждого датчика. Мы заранее знаем, что седьмое показание, например, соответствует датчику, который указывает на 75 градусов вправо от робота.Таким образом, если это значение показывает значение, соответствующее расстоянию 0,1 метра, мы знаем, что есть препятствие на расстоянии 0,1 метра, 75 градусов влево. Если препятствий нет, датчик вернет значение максимальной дальности 0,2 метра.Таким образом, если мы прочитаем 0,2 метра на датчике 7, мы предположим, что на самом деле препятствий в этом направлении нет.
Из-за того, как работают инфракрасные датчики (измерение инфракрасного отражения), возвращаемые ими числа являются нелинейным преобразованием фактического обнаруженного расстояния. Таким образом, функция Python для определения указанного расстояния должна преобразовывать эти показания в метры. Это делается в
supervisor.py
следующим образом:# обновить расстояния, указанные датчиками приближения def _update_proximity_sensor_distances (самостоятельно): себя.близости_sensor_distances = [0,02- (журнал (значение чтения / 3960,0)) / 30,0 для readval в self.robot.read_proximity_sensors ()]
Опять же, у нас есть конкретная модель датчика в этой среде роботов Python, в то время как в реальном мире датчики поставляются с сопутствующим программным обеспечением, которое должно обеспечивать аналогичные функции преобразования из нелинейных значений в счетчики.
Определение положения и направления робота (вместе известное как поза в программировании робототехники, ) является несколько более сложной задачей.Наш робот использует одометрию , чтобы оценить свою позу. Вот здесь-то и появляются бегущие строки колес. Измеряя, насколько каждое колесо повернулось с момента последней итерации цикла управления, можно получить хорошую оценку того, как изменилась поза робота, но только в том случае, если изменение небольшое .
Это одна из причин, по которой важно очень часто повторять цикл управления в реальном роботе, где двигатели, вращающие колеса, могут быть несовершенными. Если бы мы слишком долго ждали, чтобы измерить тикеры колес, оба колеса могли бы сделать довольно много, и было бы невозможно оценить, где мы оказались.
Имея наш текущий программный симулятор, мы можем позволить выполнить расчет одометрии при 20 Гц — той же частоте, что и контроллеры. Но было бы неплохо иметь отдельный поток Python, работающий быстрее, чтобы улавливать более мелкие движения тикеров.
Ниже представлена полная функция одометрии в
supervisor.py
, которая обновляет оценку позы робота. Обратите внимание, что поза робота состоит из координатx
иy
и заголовкаtheta
, который измеряется в радианах от положительной оси X.Положительное значениеx
находится на востоке, а положительное значениеy
— на севере. Таким образом, заголовок0
указывает на то, что робот смотрит прямо на восток. Робот всегда принимает исходную позу(0, 0), 0
.# обновить расчетное положение робота, используя показания датчика положения колеса def _update_odometry (самостоятельно): R = self.robot_wheel_radius N = плавающее (self.wheel_encoder_ticks_per_revolution) # считываем значения энкодера колеса ticks_left, ticks_right = self.robot.read_wheel_encoders () # получить разницу в тиках с последней итерации d_ticks_left = ticks_left - self.prev_ticks_left d_ticks_right = ticks_right - self.prev_ticks_right # оценить движения колеса d_left_wheel = 2 * pi * R * (d_ticks_left / N) d_right_wheel = 2 * pi * R * (d_ticks_right / N) d_center = 0,5 * (d_left_wheel + d_right_wheel) # рассчитываем новую позу prev_x, prev_y, prev_theta = self.estimated_pose.scalar_unpack () new_x = prev_x + (d_center * cos (prev_theta)) new_y = prev_y + (d_center * sin (prev_theta)) new_theta = prev_theta + ((d_right_wheel - d_left_wheel) / self.robot_wheel_base_length) # обновить оценку позы с новыми значениями self.estimated_pose.scalar_update (new_x, new_y, new_theta) # сохраняем текущий счетчик тиков для следующей итерации self.prev_ticks_left = ticks_left self.prev_ticks_right = ticks_right
Теперь, когда наш робот может дать точную оценку реального мира, давайте воспользуемся этой информацией для достижения наших целей.
Методы программирования роботов на Python: поведение при достижении цели
Высшая цель существования нашего маленького робота в этом руководстве по программированию — добраться до цели.Так как же заставить колеса повернуться, чтобы добраться туда? Давайте начнем с небольшого упрощения нашего мировоззрения и предположим, что на пути нет препятствий.
Это становится простой задачей, и ее можно легко запрограммировать на Python. Если мы пойдем вперед, глядя на цель, мы доберемся до нее. Благодаря одометрии мы знаем наши текущие координаты и направление. Мы также знаем координаты цели, потому что они были запрограммированы заранее. Поэтому, используя небольшую линейную алгебру, мы можем определить вектор от нашего местоположения к цели, как в
go_to_goal_controller.py
:# вернуть вектор курса к цели в системе отсчета робота def calculate_gtg_heading_vector (сам): # получаем обратную позу робота robot_inv_pos, robot_inv_theta = self.supervisor.estimated_pose (). inverse (). vector_unpack () # вычисляем вектор цели в системе отсчета робота цель = self.supervisor.goal () goal = linalg.rotate_and_translate_vector (цель, robot_inv_theta, robot_inv_pos) возвратный гол
Обратите внимание, что мы получаем вектор к цели в системе отсчета робота, а НЕ в мировых координатах.Если цель находится на оси X в системе отсчета робота, это означает, что она находится прямо перед роботом. Таким образом, угол этого вектора от оси X — это разница между нашим курсом и тем курсом, которым мы хотим быть. Другими словами, это ошибка между нашим текущим состоянием и тем, каким мы хотим видеть текущее состояние. Поэтому мы хотим настроить угол поворота на угол ω так, чтобы угол между нашим курсом и целью изменился в сторону 0. Мы хотим минимизировать ошибку:
# вычислить условия ошибки theta_d = atan2 (сам.gtg_heading_vector [1], self.gtg_heading_vector [0]) # вычислить угловую скорость omega = self.kP * theta_d
self.kP
в приведенном выше фрагменте реализации контроллера Python является усилением управления. Это коэффициент, который определяет, насколько быстро мы перейдем к соотношению , равному , к тому, насколько далеко от стоящей перед нами цели. Если в нашем заголовке ошибка0
, то скорость поворота тоже0
. В реальной функции Python внутри файлаgo_to_goal_controller.py
, вы увидите больше аналогичных приростов, поскольку мы использовали ПИД-регулятор вместо простого пропорционального коэффициента.Теперь, когда у нас есть угловая скорость ω , как нам определить нашу поступательную скорость v ? Хорошее общее эмпирическое правило — это то, которое вы, вероятно, знаете инстинктивно: если мы не делаем поворот, мы можем двигаться вперед на полной скорости, и чем быстрее мы поворачиваем, тем больше нам следует замедляться. Это обычно помогает нам поддерживать стабильность нашей системы и действовать в рамках нашей модели.Таким образом, v является функцией ω . В
go_to_goal_controller.py
уравнение:# вычислить скорость поступательного движения # скорость равна v_max, когда omega равно 0, # быстро падает до нуля как | omega | поднимается v = self.supervisor.v_max () / (абс (омега) + 1) ** 0,5
Предлагается уточнить эту формулу, чтобы учесть, что мы обычно замедляемся, когда приближаемся к цели, чтобы достичь ее с нулевой скоростью. Как бы изменилась эта формула? Он должен каким-то образом включать замену
v_max ()
чем-то, пропорциональным расстоянию.Хорошо, мы почти завершили единственный контур управления. Осталось только преобразовать эти два параметра модели одноколесного велосипеда в дифференциальные скорости колес и послать сигналы на колеса. Вот пример траектории робота под управлением контроллера перехода к цели без препятствий:Как мы видим, вектор к цели является для нас эффективным ориентиром, на котором основываются наши контрольные вычисления. Это внутреннее представление о том, «куда мы хотим идти». Как мы увидим, единственное существенное различие между поведением к цели и другим поведением состоит в том, что иногда движение к цели — плохая идея, поэтому мы должны вычислить другой опорный вектор.
Методы программирования роботов на Python: поведение без препятствий
Показательный пример — движение к цели, когда в этом направлении есть препятствие. Вместо того чтобы бросаться с головой в препятствия на своем пути, давайте попробуем запрограммировать закон управления, который заставляет робота избегать их.
Чтобы упростить сценарий, давайте теперь полностью забудем о целевой точке и просто сделаем следующую нашу цель: Когда перед нами нет препятствий, двигайтесь вперед. Когда встретите препятствие, отворачивайтесь от него, пока оно не исчезнет перед нами.
Соответственно, когда перед нами нет препятствий, мы хотим, чтобы наш опорный вектор просто указывал вперед. Тогда ω будет нулевым, а v будет максимальной скоростью. Однако, как только мы обнаруживаем препятствие с помощью наших датчиков приближения, мы хотим, чтобы опорный вектор указывал в любом направлении от препятствия. Это заставит ω взлететь вверх, чтобы отклонить нас от препятствия, и заставит v упасть, чтобы убедиться, что мы случайно не натолкнемся на препятствие в процессе.
Изящный способ сгенерировать желаемый опорный вектор — это преобразовать наши девять показаний близости в векторы и получить взвешенную сумму. Когда препятствий не обнаружено, векторы будут суммироваться симметрично, в результате чего будет получен опорный вектор, указывающий прямо вперед по желанию. Но если датчик, скажем, на правой стороне улавливает препятствие, он вносит меньший вектор в сумму, и результатом будет опорный вектор, смещенный влево.
Для обычного робота с другим расположением датчиков можно применить ту же идею, но может потребоваться изменение веса и / или дополнительная осторожность, когда датчики симметричны спереди и сзади робота, поскольку взвешенная сумма может стать нуль.
Вот код, который делает это в
escape_obstacles_controller.py
:# коэффициент усиления датчика (вес) self.sensor_gains = [1.0+ ((0.4 * абс (p.theta)) / пи) для p в supervisor.proximity_sensor_placements ()] # ... # возвращаем вектор уклонения от препятствий в системе отсчета робота # также возвращает векторы к обнаруженным препятствиям в системе отсчета робота def calculate_ao_heading_vector (сам): # инициализировать вектор Препятствие_векторах = [[0.0, 0,0]] * len (self.proximity_sensor_placements) ao_heading_vector = [0,0, 0,0] # получаем расстояния, обозначенные показаниями сенсоров робота sensor_distances = self.supervisor.proximity_sensor_distances () # вычислить положение обнаруженных препятствий и найти вектор уклонения robot_pos, robot_theta = self.supervisor.estimated_pose (). vector_unpack () для i в диапазоне (len (sensor_distances)): # вычисляем положение препятствия sensor_pos, sensor_theta = self.близости_sensor_placements [i] .vector_unpack () vector = [sensor_distances [i], 0,0] vector = linalg.rotate_and_translate_vector (vector, sensor_theta, sensor_pos) Препятствие_вектора [i] = вектор # сохранить векторы препятствия в системе отсчета робота # накапливаем вектор курса в системе отсчета робота ao_heading_vector = linalg.add (ao_heading_vector, linalg.scale (вектор, self.sensor_gains [i])) вернуть ao_heading_vector, преподобный_вектор
Используя полученный
ao_heading_vector
в качестве эталона для робота, чтобы попытаться сопоставить, вот результаты запуска программного обеспечения робота в симуляции с использованием только контроллера избегания препятствий, полностью игнорируя точку цели.Робот бесцельно подпрыгивает, но никогда не сталкивается с препятствием и даже умудряется перемещаться по очень тесным пространствам:Методы программирования роботов на Python: гибридные автоматы (конечный автомат поведения)
До сих пор мы описали два поведения — стремление к цели и избегание препятствий — по отдельности. Оба они превосходно выполняют свои функции, но для того, чтобы успешно достичь цели в среде, полной препятствий, нам необходимо объединить их.
Решение, которое мы разработаем, относится к классу машин, который имеет в высшей степени классное обозначение гибридных автоматов .Гибридный автомат запрограммирован с несколькими различными поведениями или режимами, а также с контролирующим конечным автоматом. Конечный автомат контроля переключается из одного режима в другой в дискретные моменты времени (когда цели достигнуты или окружающая среда внезапно изменилась слишком сильно), в то время как каждое поведение использует датчики и колеса для непрерывной реакции на изменения окружающей среды. Решение было названо hybrid , потому что оно развивается как дискретным, так и непрерывным образом.
Наша платформа роботов Python реализует конечный автомат в файле
supervisor_state_machine.py
.Имея два удобных поведения, простая логика напрашивается сама собой: Если препятствие не обнаружено, используйте поведение перехода к цели. При обнаружении препятствия переключитесь на поведение избегания препятствий до тех пор, пока препятствие не перестанет обнаруживаться.
Однако оказывается, что эта логика вызовет множество проблем. Что эта система будет иметь тенденцию делать, когда сталкивается с препятствием, так это отвернуться от него, а затем, как только она отошла от него, развернуться назад и снова столкнуться с ним.В результате получается бесконечный цикл быстрого переключения, который делает робота бесполезным. В худшем случае робот может переключаться между поведениями с на каждой итерации контура управления — состояние, известное как условие Зенона .
Есть несколько решений этой проблемы, и читатели, которые ищут более глубокие знания, должны проверить, например, архитектуру программного обеспечения DAMN.
Что нам нужно для нашего простого смоделированного робота, так это более простое решение: еще одно поведение, специализированное на задаче обойти вокруг препятствия и достичь другой стороны.
Методы программирования роботов на Python: поведение следования за стеной
Вот идея: когда мы сталкиваемся с препятствием, снимаем показания двух датчиков, которые находятся ближе всего к препятствию, и используем их для оценки поверхности препятствия. Затем просто установите наш опорный вектор параллельно этой поверхности. Продолжайте следовать по этой стене, пока A) препятствие больше не будет между нами и целью, и B) мы не приблизимся к цели, чем были в начале. Тогда мы можем быть уверены, что правильно преодолели препятствие.
Имея ограниченную информацию, мы не можем с уверенностью сказать, будет ли быстрее объехать препятствие слева или справа. Чтобы определиться, мы выбираем направление, которое сразу приблизит нас к цели. Чтобы выяснить, в каком направлении это происходит, нам нужно знать опорные векторы поведения движения к цели и поведения избегания препятствий, а также оба возможных опорных вектора следования за стеной. Вот иллюстрация того, как принимается окончательное решение (в этом случае робот выберет идти налево):
Оказалось, что определение опорных векторов следящей стены немного сложнее, чем опорных векторов уклонения от препятствий или движения к цели.Взгляните на код Python в
follow_wall_controller.py
, чтобы увидеть, как это делается.Дизайн окончательного контроля
Окончательный дизайн управления использует поведение следящей стены почти для всех столкновений с препятствиями. Однако, если робот окажется в узком месте, опасно близко к столкновению, он переключится в режим чистого избегания препятствий, пока не окажется на более безопасном расстоянии, а затем вернется к следящей стене. После успешного преодоления препятствий робот переходит к цели.Вот диаграмма конечного состояния, которая запрограммирована внутри
supervisor_state_machine.py
:Вот робот, успешно перемещающийся в многолюдной среде, используя эту схему управления:
Дополнительная функция конечного автомата, которую вы можете попробовать реализовать, — это способ избежать круговых препятствий, переключившись на достижение цели как можно скорее вместо того, чтобы следовать за границей препятствия до конца (чего не существует для круглых объектов. !)
Твик, твик, твик: проба и ошибка
Схема управления, поставляемая с Sobot Rimulator, очень точно настроена.Потребовалось много часов, чтобы настроить одну маленькую переменную здесь и другое уравнение там, чтобы заставить ее работать так, как я был удовлетворен. Программирование робототехники часто связано с большим количеством простых старых проб и ошибок. Роботы очень сложны, и есть несколько способов заставить их вести себя оптимальным образом в среде симулятора роботов… по крайней мере, не намного меньше машинного обучения, но это совсем другая баня червей.
Робототехника часто включает в себя множество простых старых проб и ошибок.
Я рекомендую вам поиграть с контрольными переменными в Sobot Rimulator, понаблюдать и попытаться интерпретировать результаты. Все изменения следующих элементов оказывают сильное влияние на поведение моделируемого робота:
- Коэффициент усиления ошибки
кПа
в каждом контроллере - Коэффициент усиления датчика, используемый контроллером объезда препятствий
- Расчет v как функции ω в каждом контроллере
- Расстояние от препятствия, используемое контроллером следящей стены
- Условия переключения, используемые
supervisor_state_machine.ру
- Практически все остальное
При отказе программируемых роботов
Мы проделали большую работу, чтобы добраться до этого момента, и этот робот кажется довольно умным. Тем не менее, если вы запустите Sobot Rimulator на нескольких случайных картах, вскоре вы найдете ту, с которой этот робот не сможет справиться. Иногда он заезжает прямо в крутые повороты и сталкивается. Иногда он просто бесконечно колеблется взад и вперед не с той стороны препятствия. Иногда его законно заключают в тюрьму без возможности достижения цели.После всего нашего тестирования и настройки иногда мы должны прийти к выводу, что модель, с которой мы работаем, просто не подходит для работы, и мы должны изменить дизайн или добавить функциональность.
Во вселенной мобильных роботов «мозг» нашего маленького робота находится на более простом конце спектра. Многие из возникающих сбоев можно было бы преодолеть, добавив в систему более совершенное программное обеспечение. Более продвинутые роботы используют такие техники, как , отображают , чтобы запоминать, где он был, и избегать повторения одних и тех же вещей снова и снова; эвристика , чтобы генерировать приемлемые решения, когда идеальное решение не может быть найдено; и машинное обучение , чтобы более точно настроить различные параметры управления, управляющие поведением робота.
Пример того, что будет дальше
Роботы уже так много делают для нас, и только в будущем они будут делать еще больше. Хотя даже базовое программирование робототехники — сложная область изучения, требующая большого терпения, это также увлекательная и очень полезная область.
В этом руководстве мы узнали, как разработать программное обеспечение реактивного управления для робота, используя язык программирования высокого уровня Python. Но есть много более сложных концепций, которые можно быстро изучить и протестировать с помощью фреймворка роботов Python, аналогичного тому, который мы здесь прототипировали.Я надеюсь, что вы подумаете об участии в формировании будущего!
Благодарность: Я хотел бы поблагодарить доктора Магнуса Эгерштедта и Жан-Пьера де ла Круа из Технологического института Джорджии за то, что они научили меня всему этому, и за их энтузиазм по поводу моей работы над Sobot Rimulator.
Robot Control — обзор
Виртуальные и тактильные интерфейсы для географической информации
При взаимодействии человека с компьютером тактильное устройство дает людям ощущение соприкосновения с компьютерной средой, поэтому при прикосновении к виртуальным объектам они кажутся реальными и заметный.Примером может служить симулятор медицинского тренинга, в котором пользователь может почувствовать, как игла проталкивается через виртуальную ткань. Тактильные ощущения применимы практически во всех областях вычислений, включая видеоигры, медицинское обучение, научную и географическую визуализацию, инженерное проектирование, дистанционное управление транспортными средствами и роботами, искусство, медицинскую реабилитацию и интерфейсы для слепых.
В большинстве тактильных интерфейсов используется обратная связь по силе, пользователь может ощущать силы, прикладываемые к телу пользователя посредством движений тактильного устройства, воспринимаемые пользователем в основном через мышечно-скелетные силы, а также через кожу, которая соприкасается с физическим интерфейсом к телу. тактильное устройство.Это часто достигается за счет того, что рука пользователя сжимает ручку, соединенную внутри устройства с двигателями, которые генерируют силу, и двумерными тактильными устройствами, такими как рулевые колеса с обратной связью по усилию и джойстики с обратной связью по усилию. Вибрационные двигатели применяются внутри чего-то, что удерживается (например, игрового контроллера или мыши с обратной связью по усилию). Тактильная обратная связь используется для приложения силы непосредственно к коже, чтобы обеспечить ощущение текстуры или изменения температуры.
Устройства Haptic имеют разную сложность, уровень разработки, точность и стоимость и могут перемещаться по-разному.Устройства с силовой обратной связью часто описываются их степенями свободы (DOF). Глубина резкости относится к направлению движения. Общие степени свободы включают движение вправо-влево ( X ), движение вверх-вниз ( Y ), движение вперед-назад ( Z ), крен (вращение вокруг оси Z), тангаж (вращение вокруг оси X) , и рыскание (вращение вокруг оси Y).
Полезность тактильных интерфейсов с географической информацией была исследована для смягчения эффектов расстояния; удаленные пользователи могут взаимодействовать; телеприсутствие используется для управления объектами на удаленном или безопасном расстоянии, например, при ядерных операциях и подводных исследованиях.Несколько международных групп исследователей разрабатывают тактильные интерфейсы к географической информации для слепых и слабовидящих пользователей.
Разработка мультисенсорных интерфейсов параллельной и дополнительной информации обеспечивает и способствует «универсальному доступу» через комбинации речи, звуковых карт и тактильных (силовая обратная связь) компьютерных интерфейсов. Это облегчает доступ для тех, у кого нет зрения, которым нужны способы исследования пространственной информации с помощью карт, диаграмм и графиков, которые имеют ключевое значение для образования; продвигает новые способы увеличения визуальных отображений; позволяет исследовать и анализировать пространственные данные и другие скрытые свойства, такие как неопределенность; и улучшает навигацию с помощью пространственной информации там, где обзор ограничен, например, в системах навигации транспортных средств, и в опасных средах, встречающихся во время тушения пожаров.Этот мультисенсорный подход может быть направлен на разработку решений для обеспечения доступа к цифровой пространственной информации для начинающих и опытных пользователей, для молодых и старых, для людей с сенсорными нарушениями, а также в ситуациях, когда отображение на основе зрения может быть неоптимальным. из-за ограниченного размера экрана мобильных телефонов и портативных помощников по обработке данных.
Как управлять роботами с помощью мозговых волн и жестов рук | MIT News
Заставить роботов что-то делать непросто: обычно ученым приходится либо явно программировать их, либо заставлять понимать, как люди общаются с помощью языка.
Но что, если бы мы могли управлять роботами более интуитивно, используя только жесты рук и мозговые волны?
Новая система, возглавляемая исследователями из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (CSAIL), предназначена именно для этого, позволяя пользователям мгновенно исправлять ошибки роботов с помощью всего лишь сигналов мозга и движения пальца.
Основываясь на прошлой работе команды, сфокусированной на простых действиях с бинарным выбором, новая работа расширяет область действия до задач с множественным выбором, открывая новые возможности того, как люди-работники могут управлять командами роботов.
Контролируя активность мозга, система может в режиме реального времени определять, если человек замечает ошибку, когда робот выполняет задачу. Используя интерфейс, который измеряет мышечную активность, человек может затем жестами руки прокручивать и выбирать правильный вариант для выполнения роботом.
Команда продемонстрировала систему на задаче, в которой робот перемещает дрель к одной из трех возможных целей на корпусе имитационного самолета. Важно отметить, что они показали, что система работает на людях, которых она никогда раньше не видела, а это означает, что организации могут развернуть ее в реальных условиях без необходимости обучения пользователей.
«Эта работа, объединяющая обратную связь ЭЭГ и ЭМГ, обеспечивает естественное взаимодействие человека и робота для более широкого набора приложений, чем мы могли делать до использования только обратной связи ЭЭГ», — говорит директор CSAIL Даниэла Рус, руководившая работой. «Включая мышечную обратную связь, мы можем использовать жесты для пространственного управления роботом, с гораздо большим количеством нюансов и специфичности».
Кандидат наук Джозеф ДельПрето был ведущим автором статьи о проекте вместе с Русом, бывшим постдоком CSAIL Андресом Ф.Салазар-Гомес, бывший научный сотрудник CSAIL Стефани Гил, исследователь Рамин М. Хасани и профессор Бостонского университета Фрэнк Х. Гюнтер. Документ будет представлен на конференции «Робототехника: наука и системы» (RSS), которая состоится в Питтсбурге на следующей неделе.
В большинстве предыдущих работ системы могли распознавать сигналы мозга только тогда, когда люди учились «думать» очень специфическим, но произвольным образом, и когда система обучалась таким сигналам. Например, во время тренировки человеку-оператору, возможно, придется смотреть на разные световые дисплеи, соответствующие различным задачам робота.
Неудивительно, что людям сложно надежно использовать такие подходы, особенно если они работают в таких областях, как строительство или навигация, которые уже требуют интенсивной концентрации.
Тем временем команда Руси использовала мощь мозговых сигналов, называемых «потенциалами, связанными с ошибками» (ErrP), которые, как выяснили исследователи, возникают естественным образом, когда люди замечают ошибки. Если есть ошибка ErrP, система останавливается, чтобы пользователь мог ее исправить; если нет, то продолжается.
«В этом подходе замечательно то, что нет необходимости приучать пользователей думать определенным образом», — говорит ДельПрето.«Машина подстраивается под вас, а не наоборот».
Для проекта команда использовала «Бакстера», робота-гуманоида от Rethink Robotics. Под контролем человека робот перешел от выбора правильной цели в 70% случаев до более чем 97%.
Для создания системы команда использовала возможности электроэнцефалографии (ЭЭГ) для определения активности мозга и электромиографии (ЭМГ) для определения мышечной активности, поместив ряд электродов на кожу головы и предплечья пользователей.
У обеих метрик есть некоторые недостатки: сигналы ЭЭГ не всегда можно надежно обнаружить, в то время как сигналы ЭМГ иногда бывает трудно сопоставить с движениями, более конкретными, чем «движение влево или вправо». Однако их объединение обеспечивает более надежное биологическое зондирование и позволяет системе работать с новыми пользователями без обучения.
«Наблюдая за сигналами мышц и мозга, мы можем начать улавливать естественные жесты человека вместе с его мгновенными решениями о том, что что-то идет не так», — говорит ДельПрето.«Это помогает сделать общение с роботом более похожим на общение с другим человеком».
Команда говорит, что они могут представить, что однажды система будет полезна пожилым людям, работникам с языковыми расстройствами или ограниченной подвижностью.
«Мы хотели бы уйти от мира, в котором люди должны приспосабливаться к ограничениям машин», — говорит Рус. «Подобные подходы показывают, что очень возможно разработать роботизированные системы, которые являются более естественным и интуитивно понятным продолжением нас.”
Учебные пособия по сборке робота
Робототехника с дистанционным управлением
Кто-то может возразить, что робот на самом деле не робот, если он не автономный . Может быть, это так, а может, и нет. Дело в том, что некоторые из них идиоты. Учимся реализовать функции дистанционного управления в роботе — очень важный навык в создании роботов. Чтобы оправдать это, я быстро перейду к интеллектуальному управлению роботом. методы. . .Введение в робототехнику
Существует целый спектр интеллектуальных роботов.Полностью дистанционное управление и полностью автономный — не единственные варианты. Вместо этого вы должны решить, какой уровень интеллекта вы хотите, чтобы ваш робот имел. Обычно предполагают, что чем умнее, тем сложнее построить.Вот основные категории:
Автомат «Интеллект»
Самый низкий уровень «интеллекта» робота — это простое устройство-автомат. Мое определение автомата — это устройство, в котором нет абсолютно нулевых решений. вне зависимости от данной среды.Это простые устройства, в которых действие повторяется и выполняется автоматически. Простая схема с двигателем или комбинацией шестерен и пружины может легко быть автоматом. Вы когда-нибудь слышали об этих «роботах» 1800-х годов, которые, по-видимому, может писать имена и стихи и прочую бесполезную фигню? Они были очень хорошо спроектированные интеграции оборудования. Однако эти «роботы» продолжали бы писать, даже если бы чернила хорошо текли. закончились чернила. . . Устройство просто не имеет отказоустойчивости и продолжит попытки выполнения действия.У них даже не было метода ощущать окружающую среду — требование для принятия решений. BEAM «роботы» в основном попадают в ту же категорию, за исключением того, что они сделаны из очень хорошо продуманной электроники, а не из шестеренок.Пульт дистанционного управления Intelligence
Дистанционное управление — это следующий уровень «интеллекта» роботов. Наша текущая технология способен построить так много машин, физически способных на гораздо большее, чем любая форма жизни на нашей планете. Наши самолеты летают во много раз быстрее звука, наши обычные автомобили могут пересечь пустыню Сахара за считанные дни, но наши лучшие компьютеры даже не могут сравниться с мозгом таракана с точки зрения автономности.Решение? Поставьте человеческий мозг на место водителя наших машин. Это позволяет лучшее из обоих миров. Сила и расходуемость машины, мозг человека. Battlebots — прекрасный тому пример.Дистанционное управление
Дистанционное управление — это на ступень выше дистанционного управления. Преимущество компьютера над человеческим мозгом идет скорость. Типичный домашний компьютер сегодня может обрабатывать больше чисел за на несколько секунд, чем человек может за всю жизнь. Но, несмотря на такую скорость, компьютер плохо разбирается в ситуации.К тому же наши самые продвинутые электронные датчики не могут соответствовать нашим человеческим глазам и ушам для наблюдения за ситуацией. Решение? Позвольте человеку принимать решения, но пусть компьютер выполняет их. Идеальным применением для этого был бы робот-паук. Человек-оператор никоим образом не может контролировать 8 ног по 3 сустава на каждой. Вместо этого человек будет отдавать команды типа «иди вперед». или «повернуть», а все остальное сделает компьютер. Этот метод тоже очень распространен с космическими роботами из-за большой задержки передачи.Полная автономия
Полностью автономные роботы все еще остаются мечтой. Это огромная область в современном состоянии. робототехнические исследования. Это касается искусственного интеллекта, сознания, продвинутого сенсорное восприятие. . . список продолжается. Огромный философский подтекст. Но все это выходит за рамки этого урока. Если вы сделаете робота который может намеренно перемещаться с вашего дивана на кухню и обратно без каких-либо столкновений Вы сами создали автономного робота.Но если пиво не вернет, ты в моих глазах все равно новичок. . .
Как собрать робота с дистанционным управлением
Робот с дистанционным управлением, вероятно, самый простой из всех роботов, которые вы можете создать. Абсолютный новичок, вероятно, сможет сделать простого робота с дистанционным управлением менее чем за час. Часть электроники Plug-n-play, шасси робота быть тем, что займет немного времени. Робототехника с дистанционным управлением отлично подходит для тех, кто хочет построить робота — пока нет достаточно времени, навыков и / или терпения, чтобы довести большой проект до конца.Взгляните на пример робота для лазанья по стене с рукой.Во-первых, видео, которое поможет вам начать работу:
Все, что вам нужно, это несколько дешевых имеющихся в продаже предметов:
Передатчик дистанционного управления
Пульт дистанционного управления — это портативная штука с ручками, кнопками и длинной антенной. торчит из него. Это будет самая дорогая деталь, которую вам нужно будет купить, примерно от 40 до 200 долларов.Для этого потребуется собственный аккумулятор и зарядное устройство. Передатчик дистанционного управления обычно имеет очень хороший ассортимент. Один раз в качестве теста поставил своего робота в подвале дома, поднялся на 10 этаж, потом без проблем эксплуатировал. Если вы планируете когда-либо выполнить USAR (Городской поиск и спасение) , это полезная функция. Самая важная особенность, о которой вам нужно позаботиться, — это количество каналов, на которых он может работать. Каждый канал позволяет вам управлять еще одним элементом вашего робота. Я рекомендую как минимум три, но в прошлом я часто использовал до шести на одном роботе.Ресивер
Приемник — это небольшая коробочка, которую вы надеваете на своего робота. Принимает сигнал от вашего передатчика, обрабатывает его, а затем выдает сигнал готовности сервопривода. Это будет вторая самая дорогая часть, обычно около 30-60 долларов. Это потребует около ~ 5В для его питания.Ресиверы могут быть очень маленькими:
Если вы хотите использовать более высокое напряжение для сервоприводов, возьмите что-нибудь называется Y-образным ремнем (см. изображение ниже).
Вы просто присоединяете его к сервопорту, а затем присоединяете свой батареи более высокого напряжения и сервопривод на другом конце. Прочтите инструкцию по питанию! Как и в случае с передатчиком, вы должны беспокоиться о том, сколько каналов вы хотите иметь.
Кристалл рабочей частоты
И ваш передатчик, и ваш приемник потребуют кристалл. Это необходимо чтобы убедиться, что оба ваших устройства работают с одинаковой частотой (поэтому приобретите оба кристалла с одинаковым каналом !!!).Для RC есть две частоты, о которых вам нужно знать. Один для воздуха и один для поверхности . Помните, это незаконная и плохая практика — управлять автомобилем с дистанционным управлением с воздушной частотой. Вы можете случайно разбить чей-нибудь самолет с дистанционным управлением и убить какую-нибудь бедную милую невинную белку! Но вы это уже знали. . . При покупке приемника / передатчика они укажут, следует использовать для воздушного или наземного RC. Еще одно замечание, кристалл хрупкий.Если ваш автомобиль с дистанционным управлением часто вылетает, кристалл может быть поврежден. Однажды я сделал робота для соревнований USAR который был разработан, чтобы выдерживать падение с высоты 7 футов. Но, видимо, кристалла не было. Оно сломалось. Грусть. Решение? Ресиверы часто поставляются с прокладкой из пеноматериала , чтобы обернуть ее для амортизации . Если нет, найдите немного поролона и используйте его. Кристаллы обычно входят в состав вашего передатчика и приемник, но в противном случае или если вы сломаете его, они будут стоить около 8 долларов плюс доставка на замену.Приведенные выше материалы являются основами, необходимыми для дистанционного управления, но вы еще не закончили. Теперь вам нужно еще несколько вещей для сборки шасси робота:
- Дополнительно: Материал рамы робота
HDPE и / или алюминий следует использовать для каркаса. Хотите построить его за 5 минут? Простой квадратный лист HDPE с всеми частями на липучке действительно будет работать! Но для хорошо спроектированного робота вы должны прикрепить все более надежно.Дополнительно: сервоприводы
Сервоприводы, хотя и не требуются, предназначены для использоваться с автомобилями с дистанционным управлением.Все, что вам нужно сделать, это буквально подключить его прямо к ваш приемник, и он мгновенно работает. Получите два сервопривода — по одному для каждой стороны вашего робота — так что у вас есть дифференциал водить машину. Вставьте ролик назад для баланса. Вы также можете использовать дополнительные сервоприводы для других вещей, таких как вращение камеры, подъем лопаты или управление манипулятором. Если у вас ограниченный бюджет, я настоятельно рекомендую сервоприводы Hitec HS-311 . Они только стоят около 8 долларов и действительно хорошо работают для того, что вам нужно. Но, конечно, сервоприводы за 30 долларов работают даже лучше.. . А вот как установить сервоприводы на шасси робота.Дополнительно: дистанционное управление
Теперь вам не нужен микроконтроллер ни для каких базовый робот с дистанционным управлением. Но если вы хотите, чтобы это работало дистанционно, у вас должно быть что-то для обработки ваших команд. Так, как это работает? Основная концепция:— отправить команду с передатчика на приемник
— приемник затем выдает прямоугольный сигнал сервопривода
— простая схема конденсатора резистора изменяет этот прямоугольный сигнал на аналоговое значение
— а затем аналоговый порт на вашем микроконтроллере интерпретирует это аналоговое значение в конкретную команду на основе вашей написанной программы.Сервосигнал в схему преобразователя аналогового сигнала:
Дополнительно: драйвер двигателя высокой мощности / регулятор скорости
Если вам нужен мощный робот, который использует что-то гораздо более мощное, чем хобби сервоприводы, вместо этого вам нужен драйвер двигателя. Большинство на рынке должны напрямую принять сигнал, сделанный для сервопривода, и преобразовать его в то, что вам нужно для Двигатели постоянного тока. Просто подключите это устройство к приемнику, прикрепите к нему моторы и аккумулятор, и, к счастью, вы получить мгновенный Battlebot.Имейте в виду, что это может быть немного дороже, и многие способны работать только с одним двигателем, а это означает, что вам нужно будет купить два.Дополнительно: регулятор скорости
Регулятор скорости в основном представляет собой Н-мост. который работает по сигналу дистанционного управления. Подключите один провод к приемнику, два — к выводам аккумулятора, и два на проводах двигателя — и валлах его можно контролировать с помощью вашего передатчика. Если вы хотели быстро построить автомобиль с дистанционным управлением с приводом от двигателя постоянного тока или, возможно, нужен двигатель для управления оружием вашего боевой бот, это то, что нужно.
Последний шаг: сборка робота с дистанционным управлением
Я думаю, лучший способ объяснить это — показать пример. Этот конкретный робот был сделан мной и моим другом менее чем за 5 часов в начале 2003 года. В нем используются довольно дорогие пластины lexan , колесико лего и супер клей, двусторонний скотч и липучка соединить все вместе. Гетто, да. Но он держался очень хорошо, и сделать его было легко / быстро.Он был разработан для игры в футбол, но, поскольку я тогда жил в Питтсбурге, также было много снега, который нужно было разгребать.. . Вот видео этого в действии:
Пульт дистанционного управления, который я использовал, был Лазер 6.
А вот две команды футбольных роботов
с дистанционным управлением, сделанные в одном стиле:
Справочная таблица радиочастот
В редких случаях вы можете захотеть узнать, на какой частоте вы ведете вещание, и не только о том, какой это канал. Например, если ваш робот с дистанционным управлением для подводной среды, вам нужна минимально возможная частота для минимизации ослабления (помехи).72 мегагерца, каналы 11–60: это самый популярный выбор для летающих моделей. На этих каналах будет доступно большинство радиостанций, предназначенных для авиамоделей и вертолетов. НЕ используйте эту частоту для чего-либо, кроме самолетов, так как вы можете непреднамеренно вызвать крушение чужого самолета с дистанционным управлением поблизости. Подумаешь? Не так уж и много, когда они проигрывают сотни долларов в долларах. от повреждений или, что еще хуже, смерть или травмы в результате аварии. . .
75 мегагерц, каналы 61-90: автомобили, лодки и другие нелетающие модели должны использовать один из этих каналов.Радиостанции с пистолетной рукояткой доступны как на 27, так и на 75 МГц.
27 мегагерц, каналы A1-A6 и 50 мегагерц, каналы 00-09: разрешены для использования в воздухе или на поверхности, мы рекомендуем использовать частоту 27 МГц только для наземных моделей. Пилот и водитель вещают на одной частоте 27 МГц частота может вызвать помехи и привести к аварии.