Універсальний алгоритм зробить з будь-якого робота аерохокеїста

Гра в аерохокей вимагає всього того, чого від роботів вимагають інженери — швидкої реакції та точних динамічних рухів. Тому інженери взялися за розробку універсального алгоритму для гри у аерохокей, який навчить будь-які роботизовані кінцівки рухатися так, щоб мати можливість закинути шайбу у лунку суперника. Свій метод планування траєкторії для роботів вони представили на конференції IROS разом із двома маніпуляторами, між якими провели турнір. Препринт статті доступний на сервісі arXiv.

Liu et al.

Liu et al.

Навіщо роботам аерохокей?

Більшість виробничих процесів не так складно автоматизувати, навіть якщо вони потребують обережних маніпуляцій: достатньо створити для робота алгоритм, заточений під певну задачу. Втім, набагато більш ефективним буде створити універсального робота, який зможе пристосовуватися під різні завдання та не вимагати чітко прописаних алгоритмів дій — вони генеруватимуть їх самостійно за допомогою алгоритмів планування, що спиратимуться на дані навколишніх умов. Розробники шукають найрізноманітніших способів знизити необхідні для цього обчислювальні можливості та при цьому лишити роботів «при своєму розумі», щоб ті не вимагали постійного контролю і вміли приймати рішення самостійно. Наприклад, нещодавно ми розповідали про алгоритм, який навчив робота торкатися самого себе, щоб той краще координував свої рухи. На це інженерів надихнули немовлята. А іншу роботизовану кінцівку привчили не довіряти своїй навчальній моделі — так вона змогла розібратися із дротами та піднести зарядний пристрій до телефона. Всі ці різні концепції мають одну мету — вигнати роботів зі статичних та передбачуваних умов лабораторії у реальний динамічний світ. У ньому невизначеність в оцінках ситуації веде якщо не до поламки робота, то до провалу завдання, тому алгоритми мають добре знатися на можливостях робота і пристосовувати їх до умов, які постійно змінюються.

Найкращим випробуванням і навчальним середовищем, на думку дослідників, є ні що інше, як гра у аерохокей. Для робота це двомірне обмежене середовище, яким непередбачувано і швидко рухається об'єкт, яким потрібно оперувати — шайба. І якщо поставити роботу завдання навіть не виграти раунд, а принаймні просто її штовхнути, він стикається із двома факторами, що ускладнюють планування дій. Рух шайби забезпечується повітрям, що проходить крізь отвори столу, а також її зіткненнями із рукою суперника та стінками арени. Повітряний потік розподіляється нерівномірно, а траєкторія після зіткнення непередбачувана, тож роботу краще пристосовуватися до кожної нової точки шайби, аніж намагатися передбачити повний маршрут. Гра у аерохокей вимагає від роботів миттєвого планування високодинамічних траєкторій, однак при цьому достатньо проста і керована, щоб описати поведінку робота та використовуватися для оцінки його вмінь.

Як зробити робота-аерохокеїста?

Найскладнішим рухом у грі в аерохокей є удар. Необхідно розігнати шайбу до високих швидкостей, щоб два робота могли автономно грати один проти одного. На жаль, досягти цієї мети за допомогою універсального маніпулятора з 7 ступенями свободи може бути складно. Адже навіть якщо максимальна швидкість його суглобів і дати можливість швидко переміщуватися простором, то обмеженість площини столу створює безліч проблемних моментів. Це не перша робота, де вчені намагаються знайти найоптимальніший підхід навчання для роботів майбутніх аерохокеїстів, а затим і найефективніших маніпуляторів. Класичний підхід складається з планування і зворотної кінематики, яка налаштовує робота не через положення його кінцівок, а через положення мети. Втім, більшість з них зосереджувалися на спеціально розроблених для гри роботах і на стандартних маніпуляторів уваги не звертали. У цій статті автори спеціально обрали звичайну роботизовану кінцівку, яка розроблялася для виробництва, LBR iiwa. За їхніми словами, це перша робота, яка надає навчальну платформу для такого робота і може поширитися на інших йому подібних універсальних маніпуляторів. Їхній підхід до планування траєкторій складається з двох сегментів: потрапляння у мету і вчасна зупинка. Так, з огляду на початкову і кінцеву точки, спочатку визначаються звужені межі, щоб запобігти руху у непотрібному напрямку, а затим за ними створюється план наступних дій для робота.

Як роботи зіграли?

Щоб продемонструвати ефективність звичайних роботизованих систем у цьому динамічному завданні, маніпуляторів розмістили по обидва боки столу для аерохокею і оснастили спеціально розробленим робочим органом довжиною у 515 міліметрів. Далі дворівневий алгоритм спершу обирав потрібну тактику, тобто удар, захист своїх воріт, відштовхування тощо, а затим обчислював необхідну траєкторію, використовуючи методи планування і оптимізації. У цьому роботу також допомагали шість камер із частотою кадрів у 120 герців, розміщені над столом. На шайбі та на столі додатково розмістили маркери, щоб алгоритму було легше оцінювати положення об'єктів із точністю до одного міліметра.

Із початком гри, робот переходить в початковий стан, де він переміщує свою кінцівку на столі. Тільки-но обидва суперники готові до гри, система переходить у стан готовності, який утримує робота в початковому положенні доти, поки не відбудеться перша подія. З цього стану можливе використання будь-якої тактики: наприклад «удар», що використовується, коли швидкість шайби не надто висока. Тоді робот цілиться у ворота і завдає найсильнішого удару. Також є варіант «відбиватися» — з ним робот швидко реагує на шайбу, яка поки не несе небезпеки потрапити у ворота, відкидаючи її назад до суперника. Коли шайба нерухома і знаходиться близько до кордонів столу, роботи приймають рішення перемістити її у більш зручне для удару положення. Для кожного типу удару у роботів є принаймні 180 позицій, що розплановуються із кроком у 0,01 секунди. Це найшвидший результат, враховуючи, що роботів першопочатково для ігор не готували, тож у майбутньому дослідники планують влаштувати справжні змагання та оцінити свій алгоритм і на інших системах.

Як ми вже згадали, аерохокей - найкраща задача, щоб навчити робота швидкому реагуванню. І для більшості навичок існують подібні. Наприклад, щоб навчити двох маніпуляторів кооперуватися і працюати разом, їм поручили перенести разом вантаж. А гру Super Mario визначили найкращим способом оцінити моторні здібності роборуки. Керована водою вона пройшла перший рівень. Більше про те, як і навіщо робототехніки звертають до Dota2, наприклад, можна почитати у нашому матеріалі «Ігри, у які грають роботи».