Ласкаво просимо
Ласкаво просимо до робототехніки — дисципліни інженерії, де механіка, електроніка та програмне забезпечення збігаються, щоб створювати машини, які сприймають, приймають рішення та діють.
Слово робот походить від чеського слова robota, що означає примусова робота. Карел Чапек придумав його у п'єсі 1920 року. Століття потому роботи зварюють автомобілі, досліджують Марс, проводять операції та чистять кімнати.
Не кожна автоматизована машина є роботом. Тостер має автоматизацію — він нагріває та спливає — але він не може сприймати своє оточення та адаптуватися. Робот має три необхідні можливості:
- Сприймання — збирання інформації про світ за допомогою датчиків
- Прийняття рішень — обробка цієї інформації та вибір дії
- Дія — переміщення чи маніпуляція фізичним світом через приводи
Цей цикл сприймання-рішення-дія виконується постійно. Промисловий маніпулятор перевіряє положення своїх суглобів тисячі разів на секунду. Марсіанський ровер аналізує зображення місцевості перед кожною командою колеса. Швидкість та складність циклу варіюються, але структура залишається однією й тією ж.
Роботи існують у спектрі автономії. Телекерований робот для знешкодження вибухівних пристроїв має нульову автономію — людина приймає кожне рішення. Робот на складі, що навігує проходами та уникає перешкод, має часткову автономію. Самокер-керована автомобіль прагне повної автономії, хоча це залишається відкритою інженерною задачею.
Основні категорії робітничих машин:
- Промислові роботи — маніпулятори з фіксованою основою, які зварюють, фарбують, збирають та укладають на поділи на заводах
- Сервісні роботи — допомагають людям у непромислових умовах: хірургічні роботи, роботи доставки, роботи для чищення
- Мобільні роботи — рухаються через світ: колісні, ногохідні, гусеничні, повітряні (дрони) та підводні (ТОВ та АУВ)
Цей урок охоплює основні блоки, які кожен робототехнік повинен розуміти: приводи, датчики, системи керування, концепції програмування та кар'єрні шляхи.
Розминка
Швидка перевірка
Давайте подивимося, з чого ви починаєте.
Двигуни та рух
Приводи: як роботи рухаються
Привід — це будь-який пристрій, який перетворює енергію на фізичний рух. Приводи є м'язами робота.
Двигуни постійного струму — найпростіший електричний двигун. Подайте напругу, вал обертається. Поміняйте полярність напруги, він обертається в іншу сторону. Швидкість пропорційна напрузі. Двигуни постійного струму дешеві та швидкі, але у них немає вбудованого способу дізнатися їхнє положення. Вони поширені у колісних роботах та простих механізмах.
Кроковані двигуни — рухаються дискретними кроками, як правило, на 1,8 градуса за крок (200 кроків на оберт). Ви командуєте певною кількістю кроків, і двигун рухається точно на цю відстань. Кроковані двигуни забезпечують точний контроль положення розімкненого контуру без датчика, але вони можуть пропустити кроки під навантаженням. Поширені у 3D-принтерах, ЧПУ маршрутизаторах та карданних підвісах камер.
Серво-двигуни — двигун у поєднанні з датчиком положення (кодер) та контролером у системі замкненого контуру. Контролер постійно порівнює командоване положення з фактичним положенням та виправляє будь-яку помилку. Серво-двигуни пропонують найкращу комбінацію швидкості, крутного моменту та точності. Промислові роботичні маніпулятори майже виключно використовують серво-двигуни.
Пневматичні приводи — використовують стислене повітря для створення лінійного або обертального руху. Швидкі та потужні для своїх розмірів, але важко контролювати точно, оскільки повітря стискуване. Поширені у фабричних захватах та машинах «захопи-розмісти».
Гідравлічні приводи — використовують перехідне рідину (олію) замість повітря. Оскільки рідина майже нестискувана, гідравліка забезпечує величезну силу з точним контролем. Важке будівельне обладнання, великі промислові преси та деякі ногохідні роботи (як наприклад ранній Atlas від Boston Dynamics) використовують гідравліку. Компроміс — це вага, складність та ризик витоку рідини.
Ступені свободи (DOF) — кожна незалежна вісь руху — це один ступінь свободи. Типовий промисловий робо-маніпулятор має 6 DOF: три для позиціонування кінцівки у просторі (X, Y, Z) та три для її орієнтації (рулон, тангаж, нишпориння). Людське плече має 7 DOF. Більше ступенів свободи означає більшу гнучкість, але більшу складність у керуванні та програмуванні.
Вибір правильного привода
Вибір приводів для завдання
Вибір правильного привода вимагає розуміння вимог програми: швидкість, точність, сила та навколишнє середовище.
Як роботи сприймають світ
Датчики: органи чуття робота
Без датчиків робот сліпий та глухий. Датчики надають необроблені дані, які керують кожним рішенням.
Енкодери — вимірюють обертання. Оптичний енкодер має диск із щілинами; світло світить крізь, а детектор рахує імпульси під час обертання диска. Це говорить контролеру точно, як далеко рухнув суглоб. Інкрементальні енкодери рахують відносний рух; абсолютні енкодери повідомляють точний кут при включенні. Кожний серво-двигун має енкодер.
IMU (блоки інерціального вимірювання) — поєднують акселерометри (вимірюють лінійне прискорення), гіроскопи (вимірюють кутову швидкість) і іноді магнітометри (вимірюють магнітний курс). IMU повідомляє роботу його орієнтацію та як він рухається через простір. Критично важливо для дронів, ногохідних роботів та будь-якої мобільної платформи, яка повинна залишатися врівноважена.
LIDAR (виявлення та визначення дальності світлом) — випускає лазерні імпульси та вимірює час повернення кожного імпульсу. Це створює детальну 2D або 3D карту оточення. Самокерні автомобілі та робо-склади використовують LIDAR для виявлення перешкод та картування. Обертаючийся LIDAR може виробляти сотні тисяч вимірювань відстані на секунду.
Камери — надають багаті візуальні дані, але вимагають значних обчислень для інтерпретації. Одна камера дає 2D зображення; стерео камери (дві камери з відомим розділенням) надають інформацію про глибину. Алгоритми комп'ютерного зору обробляють дані камери для розпізнавання об'єктів, слідування лінії та візуальної SLAM (одночасна локалізація та картування).
Датчики сили/крутного моменту — вимірюють сили та крутні моменти, застосовані в точці, як правило, у запясті робота або кінцівці. Важливо для завдань, що вимагають керованого контакту: збірка (вставлення шпильки в отвір), полірування та співпрацюючі роботи, які повинні виявити контакт з людиною та негайно зупинитися.
Об'єднання датчиків — жоден датчик не бездоганний. LIDAR дає точну відстань, але не колір. Камери дають багаті зображення, але борються у темряві. IMU дрейфує з часом. Об'єднання датчиків поєднує дані з кількох датчиків, щоб виробити більш точну та надійну картину, ніж будь-який датчик окремо. Самокер-керована автомобіль об'єднує дані LIDAR, камер, радара, GPS та IMU постійно.
Вибір датчиків для завдання
Адаптація датчиків до місії
Вибір датчика залежить від того, що робот повинен знати, навколишнього середовища та комп'ютерного бюджету.
Розімкнений контур проти замкненого контуру
Керування: змушування роботів вести себе правильно
Робот без керування — це просто набір частин. Системи керування — це шар прийняття рішень — вони беруть дані датчика та обчислюють команди, які керують приводами.
Керування розімкненим контуром — подайте команду та сподівайтеся на найкраще. Кроковий двигун, якому наказано зробити 200 кроків, буде намагатися, але якщо він пропустить крок під навантаженням, ніщо не виявить помилку. Розімкнений контур простий та дешевий, але не може виправити порушення. Мікрохвильова піч є розімкненим контуром: вона працює для часу, який ви встановили, незалежно від того, дійсно ли їжа гаряча.
Керування замкненим контуром — виміряйте вихід, порівняйте його з бажаним значенням та виправте різницю. Це зворотне керування, і це основа всієї серйозної робототехніки. Серво-двигун є замкненим контуром: енкодер вимірює фактичне положення, контролер порівнює його з командованим положенням та регулює напругу двигуна, щоб закрити розрив.
Керування PID — найбільш широко використовуваний контролер зворотного зв'язку. PID означає Пропорційна-Інтегральна-Диференціальна.
- P (Пропорційна): Корекція пропорційна поточній помилці. Велика помилка, велика корекція. Але лише P часто перестрівається або встановлюється з малою постійною помилкою.
- I (Інтегральна): Накопичує минулу помилку з часом. Якщо система була трохи розбалансована якийсь час, I будує та штовхає сильніше. Це усуває помилку установки в стійкому стані, але може спричинити коливання, якщо встановлено занадто високо.
- D (Диференціальна): Реагує на те, як швидко змінюється помилка. Якщо помилка зменшується швидко (система наближається до цілі), D зменшує корекцію, щоб запобігти перестрівці. D діє як демпфер.
Налаштування контролера PID — пошук правильних значень P, I та D — це час науки та час ремесла. Занадто багато P та система коливається. Занадто багато I та вона накопичується та перестрівається. Занадто багато D та вона реагує на шум. Справжні роботи часто потребують налаштування PID для кожного суглоба.
Стійкість — система керування стійка, якщо вона сходиться до бажаного стану. Нестійка система коливається з зростаючою амплітудою — робот тремтить до розпаду. Аналіз стійкості — це основна навичка в контрольній інженерії.
Застосування концепцій керування
Мислення як керуючого інженера
Розуміння зворотного зв'язку та PID — це не просто теорія — це пояснює, чому роботи ведуть себе так, як вони це роблять.
Конечні автомати та ROS
Програмне забезпечення: мозок робота
Програмне забезпечення робота принципово відрізняється від веб-програмного забезпечення чи ділового програмного забезпечення. Воно працює в реальному часі, взаємодіє з фізичним обладнанням та повинно gracefully розв'язувати несподівані ситуації — впалий предмет, застряглий суглоб, людина, що входить у робочу область.
Конечні автомати — найпоширеніший шаблон програмування в робототехніці. Конечний автомат визначає набір станів (наприклад, IDLE, MOVING, GRIPPING, ERROR) та переходи між ними. Робот завжди знаходиться в точно одному стані. Події спричиняють переходи.
Наприклад, робот для захоплення та розміщення:
- IDLE: очікування команди
- MOVING_TO_PICK: подорож до місця виймання
- GRIPPING: закриття захвату навколо предмета
- MOVING_TO_PLACE: перенесення предмета до пункту призначення
- RELEASING: відкриття захвату
- ERROR: щось пішло не так (предмет впав, несправність суглоба, перешкода виявлена)
Кожен стан має визначені дії входу, дії виходу та умови переходу. Конечні автомати запобігають роботу робити безглузді речі — ви не можете відпустити предмет, який ніколи не захоплювали.
ROS (Robot Operating System) — не насправді операційна система. ROS — це середовище промежуточного програмного забезпечення, яке надає інфраструктуру комунікації, абстракцію обладнання та величезну бібліотеку повторно використовуваних пакетів. Він працює на Linux. Роботи, побудовані з ROS, використовують архітектуру публікація-підписка: вузли датчиків публікують дані за темами, а вузли керування підписуються на теми, які їм потрібні. Це модульне проектування означає, що ви можете замінити датчик LIDAR без переписування коду навігації.
Планування шляху — як робот вирішує свій маршрут від точки A до точки B, уникаючи перешкод. Прості підходи включають навігацію за контрольними точками (слідування ряду попередньо визначених точок) та поля потенціалу (перешкоди відштовхують, цілі приваблюють). Продвинуті підходи, такі як A* та RRT (Random-Exploring Random Trees), шукають оптимальні чи можливі шляхи через складні навколишні середовища. Самокер-керовані автомобілі перепланують свої маршрути кілька разів на секунду по мірі зміни світу.
Проектування поведінки робота
Мислення через програмне забезпечення робота
Добре програмне забезпечення робота передбачає відмову та gracefully її розглядає.
Кар'єра в робототехніці
Побудова кар'єри в робототехніці
Робототехніка швидко зростає в виробництві, логістиці, охорони здоров'я, сільському господарстві та обороні. Ось основні кар'єрні шляхи.
Техніка робототехніки — встановлює, обслуговує, усуває несправності та ремонтує робочі системи. Це найбільш доступна точка входу. Ви працюєте вручну з обладнанням — заміна двигунів, калібрування датчиків, переповідення контролерів та діагностування несправностей. Програми коледжів громади та сертифікації виробника (FANUC, ABB, KUKA) можуть вас почати. Типовий стартовий оклад: $45,000-$65,000.
Інженер керування — розробляє та настроює системи керування, які змушують роботів поводитися правильно. Ця роль вимагає сильних навичок математики (лінійна алгебра, диференціальні рівняння) та програмування. Інженери керування працюють з налаштуванням PID, профілюванням руху, інтеграцією датчиків та системами безпеки. Ступінь бакалавра у галузі електричної, механічної чи mechatronics інженерії є типовою. Діапазон заробітної плати: $75,000-$120,000.
Розробник ROS / інженер програмного забезпечення робототехніки — пише програмне забезпечення, яке координує сприйняття, планування та керування. Ці розробники працюють у C++ та Python, будують вузли ROS, впроваджують алгоритми планування шляху та інтегрують моделі машинного навчання для сприйняття. Потрібні сильні навички інформатики. Ця роль користується великим попитом для автономних транспортних засобів, складських роботів та системи дронів. Діапазон заробітної плати: $90,000-$150,000.
Інтегратор автоматизації — проектує та впроваджує повні робочі комірки на заводах. Інтегратор вирішує виробничу задачу (зварити ці два частини разом у 60 одиниць на годину), вибирає робота, наконечник, систему безпеки та конвеєр, програмує всю комірку та вводить її в експлуатацію на фабричному поверху. Інтеграторам потрібні широкі знання у механіці, електроніці та програмному забезпеченні. Багато людей працюють для компаній системної інтеграції. Діапазон заробітної плати: $70,000-$110,000.
Інші шляхи — механічні дизайнери, які створюють робіночі структури та механізми. Інженери-електрики, які проектують енергетичні системи та друковані плати. Вчені-дослідники, які розширюють межі маніпуляції, локомоції та машинного навчання для сприйняття. Інженери польової робототехніки, які розгортають роботів у екстремальних навколишніх середовищах — під водою, під землею або у космосі.
Загальний потік: робототехніка нагороджує людей, які можуть мислити у міждисциплінарних галузях. Чисто механічна людина борється без навичок програмного забезпечення. Чисто програмна людина борється без розуміння фізики. Найкращі робототехніки — це T-подібні люди — глибока експертиза в одній галузі з робочими знаннями во всіх інших.
Ваш шлях вперед
Рефлексія
Ви тепер охопили фундаментальні будівельні блоки: приводи, датчики, системи керування, шаблони програмування та кар'єрні шляхи.