English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гость
1 / ?
назад к урокам

Добро пожаловать

Добро пожаловать в робототехнику — инженерную дисциплину, где механика, электроника и программное обеспечение сходятся для создания машин, которые чувствуют, решают и действуют.

Слово робот происходит от чешского слова robota, означающего принудительный труд. Карел Чапек ввел это слово в пьесе 1920 года. Век спустя роботы сваривают автомобили, исследуют Марс, проводят операции и пылесосят гостиные.

Не каждая автоматизированная машина — это робот. Тостер автоматизирован — он нагревает и выскакивает — но он не может чувствовать окружающую среду и приспосабливаться. Робот имеет три необходимых способности:

- Чувствовать — собирать информацию о мире через датчики

- Решать — обрабатывать эту информацию и выбирать действие

- Действовать — двигаться или манипулировать физическим миром через исполнительные механизмы

The Sense-Decide-Act Control Loop

Этот цикл чувствования-решения-действия работает непрерывно. Промышленный манипулятор проверяет положение своих шарниров тысячи раз в секунду. Марсоход анализирует изображения местности перед каждой командой колесам. Скорость и сложность цикла различаются, но структура одинакова.

Роботы существуют на спектре автономии. Телеуправляемый робот для обезвреживания бомб не имеет автономии — человек принимает каждое решение. Робот на складе, который ориентируется в проходах и избегает препятствий, имеет частичную автономию. Беспилотный автомобиль стремится к полной автономии, хотя это остается открытой инженерной задачей.

Основные категории роботов:

- Промышленные роботы — неподвижные манипуляторы, которые сваривают, красят, собирают и паллетируют на заводах

- Сервисные роботы — помогают людям в непроизводственных условиях: хирургические роботы, доставочные роботы, роботы для уборки

- Мобильные роботы — перемещаются по миру: колесные, шагающие, гусеничные, воздушные (дроны) и подводные (ROV и AUV)

Этот урок охватывает основные строительные блоки, которые должен понимать каждый робототехник: исполнительные механизмы, датчики, системы управления, концепции программирования и карьерные пути.

Разминка

Краткая проверка

Давайте посмотрим, откуда вы начинаете.

Вы когда-нибудь создавали, программировали или работали с каким-либо роботом или автоматизированной системой? Если да, опишите, что вы делали. Если нет, что приходит вам в голову, когда вы думаете о роботе?

Моторы и движение

Исполнительные механизмы: Как двигаются роботы

Исполнительный механизм — это любое устройство, которое преобразует энергию в физическое движение. Исполнительные механизмы — это мышцы робота.


Двигатели постоянного тока — Простейший электрический двигатель. Подайте напряжение, вал вращается. Поменяйте полярность напряжения, он вращается в другую сторону. Скорость пропорциональна напряжению. Двигатели постоянного тока дешевы и быстры, но у них нет встроенного способа узнать свое положение. Они распространены в колесных роботах и простых механизмах.


Шаговые двигатели — движутся дискретными шагами, обычно по 1,8 градусов за шаг (200 шагов за оборот). Вы командуете определенным числом шагов, и двигатель движется именно на эту величину. Шаговые двигатели обеспечивают точное разомкнутое управление положением без датчика, но они могут потерять шаги под тяжелой нагрузкой. Распространены в 3D-принтерах, ЧПУ-маршрутизаторах и гимбалах камер.


Сервоприводы — двигатель, объединенный с датчиком положения (энкодер) и контроллером в замкнутой системе. Контроллер непрерывно сравнивает командуемое положение с фактическим положением и корректирует любую ошибку. Сервоприводы обеспечивают лучшее сочетание скорости, крутящего момента и точности. Промышленные манипуляторы почти исключительно используют сервоприводы.


Пневматические исполнительные механизмы — используют сжатый воздух для создания линейного или вращательного движения. Быстрые и мощные для своего размера, но их сложно управлять точно, потому что воздух сжимаем. Распространены в грабельных клещах фабрик и машинах для захвата и размещения.


Гидравлические исполнительные механизмы — используют находящуюся под давлением жидкость (масло) вместо воздуха. Поскольку жидкость практически несжимаема, гидравлика обеспечивает огромную силу с точным управлением. Тяжелое строительное оборудование, крупные промышленные прессы и некоторые шагающие роботы (такие как ранний Atlas от Boston Dynamics) используют гидравлику. Компромисс — вес, сложность и риск утечки жидкости.


Степени свободы (DOF) — каждая независимая ось движения — это одна степень свободы. Типичный промышленный манипулятор имеет 6 DOF: три для позиционирования конца рабочего инструмента в пространстве (X, Y, Z) и три для его ориентирования (крен, тангаж, рыскание). Человеческая рука имеет 7 DOF. Больше степеней свободы означает большую гибкость, но большую сложность в управлении и программировании.

Actuator types: DC motor, stepper, servo, hydraulic, and DOF comparison

Выбор правильного исполнительного механизма

Соответствие исполнительных механизмов задаче

Выбор правильного исполнительного механизма требует понимания требований приложения: скорость, точность, сила и окружающая среда.

Инженер проектирует хирургический манипулятор. Манипулятор должен позиционировать скальпель с точностью до 0,1 миллиметра и держать его в стабильном положении во время разреза. Какой тип исполнительного механизма вы выберете и почему? Почему альтернативы будут хуже?

Как роботы воспринимают мир

Датчики: Органы чувств робота

Без датчиков робот слеп и глух. Датчики обеспечивают необработанные данные, которые управляют каждым решением.


Энкодеры — измеряют вращение. Оптический энкодер имеет диск с прорезями; свет проходит через него и детектор считает импульсы по мере вращения диска. Это говорит контроллеру точно, насколько далеко переместился шарнир. Инкрементальные энкодеры считают относительное движение; абсолютные энкодеры сообщают точный угол при включении. Каждый сервопривод имеет энкодер.


IMU (инерциальные измерительные блоки) — объединяют акселерометры (измеряют линейное ускорение), гироскопы (измеряют угловую скорость) и иногда магнитометры (измеряют магнитное направление). IMU показывает роботу его ориентацию и как он движется через пространство. Критическая для дронов, шагающих роботов и любой мобильной платформы, которой нужно оставаться сбалансированной.


LIDAR (обнаружение света и определение расстояния) — испускает лазерные импульсы и измеряет время, за которое каждый импульс отражается обратно. Это создает детальную 2D или 3D карту окрестностей. Беспилотные автомобили и роботы на складах используют LIDAR для обнаружения препятствий и картографирования. Вращающийся LIDAR может выдавать сотни тысяч измерений расстояния в секунду.


Камеры — обеспечивают богатые визуальные данные, но требуют значительных вычислений для интерпретации. Одна камера дает 2D изображение; стереокамеры (две камеры с известным разделением) обеспечивают информацию о глубине. Алгоритмы компьютерного зрения обрабатывают данные камеры для распознавания объектов, отслеживания линий и визуального SLAM (одновременной локализации и картографирования).


Датчики силы/крутящего момента — измеряют силы и крутящие моменты, приложенные в точке, обычно в запястье робота или конечном эффекторе. Необходимые для задач, требующих управляемого контакта: сборка (вставка штифта в отверстие), полировка и коллаборативные роботы, которые должны обнаруживать контакт с человеком и немедленно останавливаться.


Слияние датчиков — ни один датчик не идеален. LIDAR обеспечивает точное расстояние, но не цвет. Камеры обеспечивают богатые изображения, но борются в темноте. IMU дрейфует со временем. Слияние датчиков объединяет данные от нескольких датчиков для получения более точной и надежной картины, чем любой датчик в отдельности. Беспилотный автомобиль непрерывно сливает данные LIDAR, камер, радара, GPS и IMU.

Robot sensor types: encoder, IMU, LIDAR, camera, force/torque, and sensor fusion

Выбор датчиков для задачи

Соответствие датчиков миссии

Выбор датчика зависит от того, что робот должен знать, окружающей среды и вычислительного бюджета.

Компания создает автономный погрузчик, который работает на складе. Он должен ориентироваться между полками, избегать прохожих, и поднимать паллеты в точных местах. Какие датчики вы оснастили бы его и почему? Рассмотрите, что каждый датчик вносит, чего другие не могут.

Разомкнутое и замкнутое управление

Управление: заставляя роботов вести себя правильно

Робот без управления — это просто совокупность частей. Системы управления — это слой принятия решений — они принимают данные датчиков и вычисляют команды, которые управляют исполнительными механизмами.


Разомкнутое управление — отправьте команду и надейтесь на лучшее. Шаговый двигатель, которому команду выполнить 200 шагов, попытается, но если он потеряет шаг под нагрузкой, ничто не обнаружит ошибку. Разомкнутое управление просто и дешево, но оно не может исправить возмущения. Микроволновая печь управляется разомкнуто: она работает заданное время, независимо от того, действительно ли еда горячая.


Замкнутое управление — измеритьпроизведенный результат, сравнить его с желаемым значением и исправить разницу. Это управление с обратной связью, и оно является основой всей серьёзной робототехники. Сервопривод имеет замкнутое управление: энкодер измеряет фактическое положение, контроллер сравнивает его с командуемым положением и регулирует напряжение двигателя, чтобы закрыть разницу.


ПИД-управление — наиболее широко используемый регулятор обратной связи. ПИД означает пропорциональный-интегральный-дифференциальный.

- П (пропорциональный): коррекция пропорциональна текущей ошибке. Большая ошибка, большая коррекция. Но только П часто перерегулирует или стабилизируется с небольшой стойкой ошибкой.

- И (интегральный): накапливает прошлую ошибку во времени. Если система была немного смещена в течение некоторого времени, И накапливается и давит сильнее. Это исключает ошибку в установившемся режиме, но может вызвать колебания, если его слишком высоко.

- Д (дифференциальный): реагирует на скорость изменения ошибки. Если ошибка быстро уменьшается (система приближается к цели), Д уменьшает коррекцию, чтобы предотвратить перерегулирование. Д действует как амортизатор.

Настройка ПИД-регулятора — поиск правильных значений П, И и Д — это часть наука и часть мастерство. Слишком много П и система колеблется. Слишком много И и она раскручивается и перерегулирует. Слишком много Д и она реагирует на шум. Реальные роботы часто требуют ПИД-настройки для каждого шарнира.


Стабильность — система управления стабильна, если она сходится к желаемому состоянию. Нестабильная система колеблется с возрастающей амплитудой — робот трясется сам себя. Анализ стабильности — это основной навык в инженерии управления.

PID closed-loop feedback diagram with P, I, and D term explanations

Применение концепций управления

Мышление, как инженер по управлению

Понимание обратной связи и ПИД — это не просто теория — это объясняет, почему роботы ведут себя так, как они это делают.

Дрон зависает на высоте 10 метров. Порыв ветра толкает его вниз до 9,5 метра. Пройдитесь через то, как ПИД-регулятор ответит, чтобы привести его обратно на 10 метров. Что вносит каждый компонент (П, И и Д) в коррекцию?

Конечные автоматы и ROS

Программное обеспечение: мозг робота

Программное обеспечение робота принципиально отличается от веб-программного обеспечения или бизнес-программного обеспечения. Оно работает в реальном времени, взаимодействует с физическим оборудованием и должно изящно справляться с неожиданными ситуациями — упавший предмет, застрявший шарнир, человек вступает в рабочую область.


Конечные автоматы — наиболее распространенный паттерн программирования в робототехнике. Конечный автомат определяет набор состояний (таких как IDLE, MOVING, GRIPPING, ERROR) и переходы между ними. Робот всегда находится ровно в одном состоянии. События запускают переходы.

Например, робот для захвата и размещения:

- IDLE: ожидание команды

- MOVING_TO_PICK: движение в место захвата

- GRIPPING: закрытие захвата на предмет

- MOVING_TO_PLACE: несение предмета в пункт назначения

- RELEASING: открытие захвата

- ERROR: что-то пошло не так (предмет упал, отказ шарнира, препятствие обнаружено)

Каждое состояние имеет определенные действия входа, действия выхода и условия переходов. Конечные автоматы предотвращают робот от выполнения бессмысленных действий — вы не можете отпустить предмет, который никогда не захватывали.


ROS (Robot Operating System) — на самом деле не операционная система. ROS — это middleware-фреймворк, который обеспечивает коммуникационную инфраструктуру, абстракцию оборудования и огромную библиотеку переиспользуемых пакетов. Он работает на Linux. Роботы, построенные с ROS, используют архитектуру издатель-подписчик: узлы датчиков публикуют данные в темы, а узлы управления подписываются на интересующие их темы. Такая модульная конструкция означает, что вы можете заменить датчик LIDAR, не переписывая код навигации.


Планирование пути — как робот решает свой маршрут от точки А к точке В, избегая препятствий. Простые подходы включают навигацию по путевым точкам (следование серии предопределенных точек) и поля потенциала (препятствия отталкивают, цели привлекают). Продвинутые подходы, такие как A* и RRT (быстро исследующие случайные деревья), ищут оптимальные или выполнимые пути через сложные окружения. Беспилотные автомобили перепланируют свои пути несколько раз в секунду, когда мир изменяется.

Robot state machine, ROS publish-subscribe architecture, and A* path planning

Проектирование поведения робота

Размышление о программном обеспечении робота

Хорошее программное обеспечение робота предусматривает отказ и справляется с ним изящно.

Вы программируете мобильного робота на складе, который поднимает коробки с полок и доставляет их на упаковочную станцию. Разработайте простой конечный автомат для этой задачи. Перечислите состояния и для каждого состояния опишите, что запускает переход в следующее состояние. Включите по крайней мере одно состояние ошибки и объясните, что его запускает.

Карьера в робототехнике

Построение карьеры в робототехнике

Робототехника быстро растет в производстве, логистике, здравоохранении, сельском хозяйстве и обороне. Вот основные карьерные пути.


Техник робототехники — устанавливает, обслуживает, устраняет неисправности и ремонтирует роботехнические системы. Это наиболее доступная точка входа. Вы работаете непосредственно с оборудованием — замена моторов, калибровка датчиков, перемонтирование контроллеров и диагностика неисправностей. Программы технических колледжей и сертификаты производителей (FANUC, ABB, KUKA) помогут вам начать. Типичная начальная зарплата: $45,000-$65,000.


Инженер управления — проектирует и настраивает системы управления, которые делают роботов поведением правильно. Эта роль требует сильной математики (линейная алгебра, дифференциальные уравнения) и навыков программирования. Инженеры управления работают с ПИД-настройкой, профилированием движений, интеграцией датчиков и системами безопасности. Степень бакалавра в области электротехники, машиностроения или мехатроники является типичной. Диапазон зарплаты: $75,000-$120,000.


ROS-разработчик / инженер по программному обеспечению робототехники — пишет программное обеспечение, которое координирует восприятие, планирование и управление. Эти разработчики работают на C++ и Python, создают узлы ROS, реализуют алгоритмы планирования пути и интегрируют модели машинного обучения для восприятия. Необходимы сильные навыки информатики. Эта роль очень требуется для беспилотных автомобилей, складских роботов и систем дронов. Диапазон зарплаты: $90,000-$150,000.


Интегратор автоматизации — проектирует и реализует полные роботехнические рабочие ячейки для фабрик. Интегратор берет производственную проблему (сварить эти две детали вместе при 60 единиц в час), выбирает робот, конечный эффектор, систему безопасности и конвейер, программирует всю ячейку и вводит ее в эксплуатацию на заводском полу. Интеграторы должны иметь широкие знания в области механики, электроники и программного обеспечения. Многие работают в компаниях системной интеграции. Диапазон зарплаты: $70,000-$110,000.


Другие пути — механические конструкторы, которые создают конструкции роботов и механизмы. Инженеры-электротехники, которые проектируют системы питания и электрические цепи. Исследовательские ученые, которые продвигают границы манипулирования, движения и машинного обучения для восприятия. Инженеры полевой робототехники, которые развертывают роботов в экстремальных условиях — под водой, под землей или в космосе.


Общая нить: робототехника вознаграждает людей, которые могут думать между дисциплинами. Чистый механик борется без навыков программного обеспечения. Чистый программист борется без понимания физики. Лучшие робототехники имеют форму Т — глубокая экспертиза в одной области с работающими знаниями по всем остальным.

Robotics career paths: technician, controls engineer, ROS developer, automation integrator

Ваш путь вперед

Размышление

Вы теперь охватили фундаментальные строительные блоки: исполнительные механизмы, датчики, системы управления, паттерны программирования и карьерные пути.

На основе того, что вы узнали в этом уроке, какая область робототехники вас больше всего интересует и почему? Какой конкретный шаг вы могли бы предпринять в течение следующего месяца, чтобы начать развивать навыки в этой области?