Новини все hi-tech - як змусити роботів рухатися швидко і ефективність тако
Як зробити так, щоб безпілотник перемістився з одного місця в інше в лісі, чи не зіткнувшись ні з одним деревом? Як зробити так, щоб робот підняв болт і вставив його в паз, що не зіткнувшись ні з яким об'єктом на багатолюдній фабриці? Наша здатність знаходити рішення цієї проблеми - яка називається плануванням рухів - буде вкрай важливою для створення нового покоління роботів, які, на відміну від промислових роботів сьогоднішнього дня, зможуть працювати в світі, який не був ретельно для них підготовлений.
На перший погляд, планування рухів здається простим. Адже ми робимо це постійно, навіть не звертаючи уваги. Нам не доводиться замислюватися про те, як повинна маневрувати рука, щоб дістати яйце з холодильника і не розбити його; ми просто це робимо. І навіть маленькі діти, які весело граються в пісочниці, стають експертами в плануванні рухів в дуже ранньому віці. На жаль, планування рухів - це прекрасний приклад проблеми, яку люди вирішують дуже просто, а машини - немає. У більшості випадків найкращі планувальники рухів для машин планують рух не менше ніж за кілька секунд.
Основна проблема лежить у виявленні зіткнень: коли робот генерує можливі шляхи, він повинен перевіряти, чи зіткнеться він з іншими об'єктами цього світу. Сучасні планувальники рухів генерують тисячі або навіть мільйони коротких рухів, які разом утворюють повне рух і перевіряють їх на можливість зіткнення по одному за раз. На цей процес йде близько 99% розрахункової вартості планування руху.
Але мозок людини, однак, рідко приймає рішення одна за одною. Замість цього він виконує паралельну обробку завдань - тобто використовує колосальну кількість нейронів, щоб робити багато речей одночасно і паралельно. Наш підхід в лабораторії, по ідеї, повинен бути таким же паралельним за рахунок створення окремих процесорів з величезною кількістю ланцюгів, які могли б працювати паралельно.
Наш підхід заснований на поширеному методі планування рухів, відомому як «дорожня карта». Роботизовані руху наносяться на дорожню карту, подібно до того, як прокладається маршрут по місту з використанням географічної карти. В такому дорожньому шляху ви прокладаєте маршрут з точки А в точку Б, намагаючись зробити його максимально коротким.
У дорожній карті робота кожен пункт є позою робота (скажімо, положенням маніпулятора), а кожна вулиця, яка з'єднує два пункти, являє собою рух між цими двома позами. Планування рухів включає пошук шляху від стартової позиції до цільової, який не зіткнеться з перешкодами, які можуть бути поблизу.
Типові алгоритми планування рухів будують дорожні карти з десятків або сотень тисяч можливих рухів і положень робота. Чим більше дорожня карта, тим краще, але вона вимагає більше обчислень, оскільки кожен рух доводиться перевіряти на можливість зіткнення з навколишнім середовищем, по одному за раз.
Робота ж по складанню плану руху вимагає проведення незалежних один від одного розрахунків. При виявленні зіткнень, кожен рух в дорожній карті повинно перевірятися за всіма можливими перешкодам одночасно і паралельно.
Робочий процесор на такий випадок має окрему схему для кожного руху на дорожній карті, і всі ці схеми працюють паралельно. Точно так же, як мозок здійснює паралельне обчислення, так і процесор прораховує можливості зіткнень.
Деніел Сорін, професор електричної та комп'ютерної інженерії з Університету Дьюка, каже, що для отримання дорожньої карти з тисячами рухів ними був розроблений новий процесор. Попередні методи прорахунку займали кілька секунд і десятки ватт на типових процесорах. Навіть високопродуктивні графічні процесори займали близько секунди і витрачали сотні ват. Їх процесор виконує планування руху менш ніж за 100 мкс і використовує менше 10 ват потужності.
«Наша продуктивність настільки вище і ефективніше, що у попередніх методів, що вона відкриває нові можливості для роботів і автономного транспорту. Наприклад, робот в вашому домі одного разу зможе готувати вам сніданок, навіть якщо молоко не завжди буде на одному і тому ж місці і навіть якщо ви купили новий холодильник. Автономні автомобілі зможуть уникати раптово з'являються перешкод - на зразок коробки, що падає з вантажівки, - і при цьому не випускаючи з поля зору всіх можливих майбутні руху інших автомобілів на дорозі. Роботизовані заводи, які зараз дуже дорогі, оскільки їх доводиться точно налаштовувати, в майбутньому зможуть виробляти більш широкий набір товарів за нижчою ціною ».
Може виявитися, що роботи майбутнього не будуть машинами з одним потужним комп'ютером в серце - вони будуть машинами з декількома мікросхемами спеціального призначення, оптимізованими для виконання серйозної обчислювальної роботи з зондування і поведінки. Як мозок.
