Інженери з MIT позбавилися «проблеми замороженого робота», через яку техніка збивається з пантелику, коли від неї вимагають надмірної безпечності дій, та допомогли роботу вдягнути людину. Алгоритм знаходить для нього такі плани руху, що робот може підлаштовуватися під особливості того, з ким комунікує, але при цьому не губиться, якщо поведінка людини виявиться для нього занадто складною. Про те, як робот одночасно намагається уникати зіткнень, але вміє безпечно з ними справлятися, щоб одягти когось, дослідники представили статтю на конференції Robotics: Science and Systems 2021. Також про проєкт можна почитати на їхній сторінці на сервісі GitHub.
MITCSAIL / YouTube
Що за «проблема замороженого робота»?
Головним пріоритетом для робототехніків, які створюють роботів для взаємодії з людьми, є безпека. Однак, у багатолюдних середовищах, куди цілком можна було б підвести роботів, як-то торгові центри, кафетерії і бібліотеки вимагають від робота якихось дій і виконання завдань, а отже алгоритму навігації, який може безпечно працювати серед величезної кількості рухомих об'єктів поруч. Щоб ці алгоритми працювали, роботи мають бути обізнаними у тому, як рухаються люди, аби планувати свою комунікацію. Втім, щоб забезпечити безпеку, песимістичний робот може припустити, що можливості забезпечити її немає, і тому просто уникне виконання поставленого завдання. Це і є проблемою, яка «заморожує робота» (freezing robot problem) — тільки-но навколишнє середовище перевищує певний рівень складності, робот вирішує, що всі прямі шляхи небезпечні, і застигає на місці (або виконує непотрібні маневри), щоб уникнути зіткнень. Але безвихідних ситуацій не існує, а тому зазвичай правильний шлях є, просто алгоритм його не бачить.
Тож, щоб він міг їх помітити, розробники намагаються або більше інформувати робота про можливі ситуації, щоб він міг краще планувати свої дії, або навпаки обмежують його вміння прогнозувати, щоб запобігти надмірно обережній поведінці. Також окрім планування руху без зіткнень, існують так звані «реактивні» підходи, які дають змогу роботу виявляти зіткнення і реалізовувати якусь зі своїх моделей для зменшення контактних сил. Але кожен підхід окремо оптимізує поведінку для своєї конкретної мети (запобігання зіткнень для планувальників і зниження контактної сили тих, хто вже зіткнувся), а не загальної мети — безпека людини. А сумісні контролери зазвичай не підтримують високорівневі плани робота, що ускладнює його адаптацію до середовища, де він має належним чином збалансувати безпеку і точність. У своїй роботі розробники запропонували подвійне визначення безпеки для планування руху з урахуванням людського фактора: «запобігання зіткнень та безпечне зіткнення».
Як робот справився з проблемою?
Алгоритм, за яким діяв робот, визначає фізичну безпеку людини як запобігання зіткнення або безпечний вплив на неї, якщо вже сталося зіткнутися. Таким чином планувальник руху гарантує безпеку з високою ймовірністю в умовах невизначеності людської поведінки, яка залежить від безлічі факторів — від росту до несвідомих рухів. За словами вчених, таке подвійне визначення безпеки здатне розкрити потенціал робота у пошуку ефективних планів, навіть коли запобігти зіткненню практично неможливо. Наприклад, за наявності у робота двох моделей поведінки людини, де одна говорить, що людина буде рухатися вгору під час одягання, а друга готує робота до того, що людина рухатиметься вниз. Але замість вибору однієї моделі він буде намагатися забезпечити безпеку для обох, незалежно від того, рухається людина вгору або вниз.
А як він справився із одяганням?
Щоб перевірити ефективність свого підходу та здатність робота не звертати уваги на можливі складнощі, інженери доручили йому вдягнути двох розробників у куртку без рукавів. Спершу він діяв досить повільно, однак після того, як йому дозволили торкатися людини, робот почав справлятися набагато швидше навіть коли один з експериментаторів рухав рукою (але не допомагав роботу). Запропонований вченими алгоритм спрацював навіть швидше за базові планувальники руху із механізмом безпеки, де вона визначається виключно як допомога роботу уникати зіткнень.
Поки робот має невелику вибірку можливих дій людини та навряд зможе одягнути дитину, однак у майбутньому інженери планують навчити його більшої кількості варіантів взаємодії з нами, щоб він міг діяти впевненіше. Хоча для робота-маніпулятора, якого планують використовувати на виробництвах, інженери навпаки розробили алгоритм, який дає роботам змогу не довіряти їхнім навчальним моделям.