Як каліфорнієць самотужки виграв космічне змагання з робототехніки від НАСА

Космічне змагання з робототехніки від НАСА (Space Robotics Challenge, SRC) проходило в минулому році. В ході змагань віртуальні роботи-гуманоїди «Валькірії» (Valkyrie) бродили по віртуальному Марсу, намагаючись полагодити віртуальні об’єкти. Брати участь можна було всім бажаючим, і оскільки віртуальність змагання увазі відсутність необхідності у використанні великих і дорогих роботів, реально могли брати участь всі. З 93-х команд, які підписалися на змагання, НАСА обрало 20 фіналістів на основі виконання попередніх завдань по роботі з тривимірним симулятором робота Gazebo. Кожному з фіналістів пропонувалося запрограмувати гуманоїда Валькирию так, щоб він зумів виконати місію по лагодженню обладнання на симулируемой марсіанської бази.

Переможцем SRC стала команда Coordinated Robotics, яка, до того ж, стала єдиною командою, що домоглася 100% виконання завдання, і отримала за це головний приз у $125 000 плюс бонус в $50 000 за «ідеальне виконання». Однак «командою» її можна назвати з натяжкою, оскільки Coordinated Robotics складається всього з одного товариша: Кевіна Кнедлера [Kevin Knoedler]. Ми поговорили з Кевіном з приводу епічного виграшу, і проконсультувалися з Нейтом Кенігом з Open Robotics, які ведуть розробку Gazebo і допомагали організувати SRC.

SRC було дуже схоже на VRC (кваліфікацію у змаганні DARPA Robotics Challenge, DRC), оскільки всі команди змагалися, запускаючи код у віртуальному оточенні Gazebo. «Самі завдання були в якійсь мірі натхненні фільмом ‘Марсіанин’, – сказав технічний директор Open Robotics Нейт Кеніг. – Валькірія знаходиться на Марсі, готує все для створення колонії людей, і тут налітає пилова буря». Після бурі Вале потрібно підправити комунікаційну супутникову антену, полагодити сонячні батареї і знайти витік з жилої зони. Ось кілька фрагментів з змагань:
«У цілому змагання пройшло гладко, – каже Кеніг. – Унікальність SRC, на відміну від VRC, була в тому, що ми вимагаємо послідовного виконання завдань. Ви отримуєте більше очок за виконання більшої кількості завдань, коли Валькірія не падала, і її не потрібно було перезапускати – тобто, чим надійніше ви ходите і управляєтеся з об’єктами, тим краще у вас результат».

 

Як і у випадку DRC, обмеження на час виконання завдань були поставлені так, щоб команди намагалися по максимуму використовувати робота в автономному режимі. Більшість з них так і вчинили. Для ускладнення завдання були введені жорсткі обмеження на канал передачі даних і затримки, эмулировавшие реальну віддалену роботу з роботом, перебувають десь у космосі. Кеніг пояснює:

Затримки мережі та обмеження на ширину каналу були жорсткішими, ніж у випадку з VRC. Ми хотіли симулювати щось схоже на затримку сигналу, що йде на Марс і назад, але це було б вже занадто – так що ми зійшлися на затримці в 20 секунд. Деякі завдання були обмежені пропускною здатністю в 380 біт/с, а це, по суті, вже вбиває варіант з TCP.

Людям необхідно було творчо підійти до завдання, і ми побачили різні унікальні рішення. Один чоловік запустив сервер і клієнта IRC для передачі інформації, інші використовували текстові консольні повідомлення, без візуальних даних – це було схоже на читання Матриці. Одна команда, Xion, працювала повністю автономно: вони просто написали код і натиснули кнопку «старт», в результаті чого їм вдалося виконати вражаюча кількість завдань.

Кеніг сказав, що вони з колегами не очікували, щоб яка-небудь команда зможе виконати всі завдання поспіль. «Але Кевін спростував нас, – додає він. – І він виявився єдиною командою, спроможною на це».

Кевін – це Кевін Кнедлер, повний склад команди Coordinated Robotics. Як сказав Нейт, Кевін зумів завершити всі завдання SRC без помилок поспіль, що вельми дивно. Ми поспілкувалися з ним по електронній пошті, щоб дізнатися, як це у нього вийшло.

Ми: яке в тебе освіти, і чому ти вирішив брати участь у SRC самостійно?

Кевін: після отримання диплома в MIT я працював інженером і керівником Teradyne. В 2007 я пішов від них, щоб сидіти вдома з дитиною. І працюючи там, і в ролі господаря, я постійно брав участь у різних змаганнях — Robot Wars, Battlebots, три змагання з автономним засобів пересування від DARPA і DRC. SRC здавалося складним і цікавим, так що я вирішив брати участь у ньому.

Восени 2016-го, коли розпочався кваліфікаційний тур, я був зайнятий тренуваннями двох футбольних команд, і я знав, що буду зайнятий під час фінальних випробувань у початку 2017, викладаючи в програмі «Odyssey of the Mind». Зазвичай при роботі в команді необхідно працювати разом і координуватися на ранніх стадіях процесу. Оскільки я знав, що буду зайнятий у ключові моменти, я вирішив зробити все сама, щоб не засмучувати себе та інших потенційних членів команди. Зазвичай в командах працювати краще, оскільки, чим більше людей, тим більше творчих ідей. На всіх попередніх проектах я працював з командами.

Наскільки твоя стратегія покладається на автономність?

Я приступав до розробки, припускаючи, що затримка за часом буде максимальною, та роботу доведеться виконувати короткі завдання самостійно. І навіть без опрацювання 20-секундна затримка не була основною проблемою, оскільки на весь конкурс відводилися годинник. Мій код був не настільки ідеальним і надійним, як мені б хотілося, тому я зосередився на тому, що буде планувати і виконувати. Це в основному була контрольована автономна робота з допомогою людського сприйняття.

Ти відправив нам своє відео з одного з прогонів (нижче). Можеш детально прокоментувати його?

На відео в перспективі від третьої особи показаний робот, що виконує три завдання. Перша – поворот рукояток для вирівнювання антени. На другий робот дістає сонячну панель з трейлера, ставить її на стіл і підключає кабель. У третій потрібно піднятися сходами, відкрити двері будинку, знайти витік за допомогою інструменту, а потім усунути її за допомогою другого інструменту. Найбільше мені сподобався етап пошуку витоку. Треба було обстежити велику площу, частина якої була загороджена – і кожен раз було цікаво шукати витік.Витік була знайдена роботом, провідним інструментом вгору-вниз за допомогою обертання тулуба для мінімізації кількості кроків. Робот, розшукуючи витік, зазначав ділянки території як необследованный, не містить витоків, або містить витік. Ця інформація демонструвалася оператору через інтерактивний маркер Rviz, щоб нам легше було бачити, що вже обстежено і як була знайдена витік.

Що було найскладнішим?

Я б сказав, що складніше всього було використовувати і маніпулювати інструментами. Якісно взяти інструмент і змушувати робота використовувати його, ніби це його продовження, було складно щоразу робити з однаковою ефективністю. В Gazebo я створив сценарій, де робот починав роботу поруч з інструментами, і йому нічого не заважало. Це дозволило протестувати взяття інструментів з різних початкових позицій, з подальшим розміщенням їх на столі.

Цікавий факт з змагання: іноді даний обладнання застряє і потрібно докласти зусилля, щоб змусити його рухатися. Симуляції робот вів себе так само. [Open Robotics назвали це «цікавим виникли поведінкою», оскільки спеціально в програму його не вводили]. Великий палець робота міг застрягти і не реагувати на команди. Зі мною це сталося на змаганнях третьому прогоні завдань. Але, як і в реальному житті, мені допомогло те, що я натиснув пальцем на стіл, він перестав заїдати і знову почав рухатися.

Що в симуляції простіше, ніж в реальності?

В симуляції все легше. Не кардинально, але 90% проблем в симуляції вирішити можна. В основному легше за надійності заліза – в симуляції воно не ламається, як часто відбувається з цим. Також можна займатися більш ризикованими експериментами. Якщо в Gazebo робот-гуманоїд падає, на його ремонт не потрібно витрачати $100 000 і кілька тижнів часу. Ще одна перевага – одна людина може запускати відразу безліч тестів. З реальними роботами кілька людей запускають один тест.

Якби NASA розмістило реальну Валькирию на полігоні, эмулирующем Марс, і попросив би тебе виконати ті ж завдання, що б ти зробив?

Робот повинен зуміти виконати всі завдання після початкових перевірок і виправлення розбіжностей між симуляцією і залізом. Мій підхід був багаторівневим, я завжди міг повернутися на нижній рівень контролю, якщо основний не справлявся. Між симуляцією і реальним залізом завжди буває достатньо відмінностей для того, щоб виникала необхідність певної адаптації для успішної відпрацювання. Але після тестів і адаптацій, я думаю, все б вийшло!

Після участі в DRC і SRC як ти оціниш потенціал роботів-гуманоїдів реальної допомоги в районах стихійних лих або дослідженні планет?

Після DRC і SRC ми наблизилися до використання гуманоїдних роботів в районах стихійних лих і в дослідженні планет. Основні труднощі на Землі – це надійне залізо, здатне обробляти падіння, і працювати в складних умовах (можливість проповзати під перешкодами, оточення з перешкодами і нестачею вільного місця, ситуації, де для підтримки потрібно рука, тощо). В космосі – все те ж саме плюс великі відстані, вимагають від робота більшого сприйняття й автономності.

Свої побажання та побоювання, свої найщиріші вітання та обурення Ви можете надсилати безпосередньо до Столиці Світу на [email protected]. Ми раді допомогти всім, хто радий допомогти нам. Щира подяка, пані та панове!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *