Інтелектуальні роботи. Передові технології для створення 8 Інтелектуальні роботи. Передові технології для створення 9 Інтелектуальні роботи. Передові технології для створення 10

Як створити робота: огляд сучасних технологій

#Машинне навчання

Якщо раніше "робототехніка" була терміном із далекого космічного майбутнього і наукової фантастики, то сьогодні роботи — вже частина нашого життя. У певному сенсі вони вже підкорені людиною: готують нам каву, перуть і висушують наші речі, регулюють температуру і вологість повітря в будинку. Також активно допомагають у промислових сферах: відвантажують товар на складі, сканують штрих-коди, вибирають і доставляють потрібні вантажі. Найбільш просунуті моделі навіть проводять хірургічні операції, стаючи з кожним роком все більш досконалими і розумними.

На жаль, українською почитати ви можете здебільшого про Arduino, Raspberry PI, а дійсно сучасні технології в огляди потрапляють  рідко. Ми це виправляємо: у нашому блозі ви можете почитати про справді передові розробки. У цій статті ми розповімо про технології, які існують і активно використовуються у 2019 році.

Для чого потрібні процесори і які вони бувають?  

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

У робототехніці використовуються процесори таких видів: MCU, CPU, GPU, TPU. І от яка між ними різниця:

Характеристики процесорів

MCU — мікроконтролер

CPU — центральний процесор

GPU — графічний процесор

TPU — тензорний процесор від Google

При загальній низькій вартості вміють працювати з датчиками.

Використовуються для управління апаратним забезпеченням.

Дозволяє
виконувати повноцінні комп'ютерні програми на операційних системах на кшталт Linux.

Такі
процесори легко програмувати, вони підтримують будь-яке середовище програмування.

Призначений
спеціально для обробки зображень і відео.


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

Розроблений
спеціально для TensorFlow, відкритого фреймворка для машинного навчання.

TPU дуже
добре підходить для додатків, у яких переважають векторні та матричні обчислення.

Визначні особливості

Недорогі й універсальні для управління електронікою, але вимагають спеціального середовища розробки та програмування.

Коли йдеться про машинне навчання, CPU програє іншим процесорам, але CPU дешеві та потребують порівняно небагато енергії. 

GPU використовується для обробки потокового відео, навчання та роботи нейронних мереж, 3D графіки й анімації.

Розроблено спеціально для роботи з нейронними мережами.

Які платформи використовують ці технології?

Arduino, STM32, ESP8266, ESP32и другие.

Raspberry PI, Orange PI, та інші одноплатні контролери

NVidia Jetson

Google Coral

Залишилися питання чим зрештою відрізняється CPU від GPU? Дивіться відео нижче:

Виробництво ефективних машин вимагає поєднання декількох процесорів: CPU і GPU або СPU і TPU, що і стало основою для створення одноплатних комп'ютерів, які ми розглянемо далі.

Сучасні апаратні платформи для створення роботів

Роботи функціонують на базі одноплатних комп'ютерів. Таких комп'ютерів існує багато видів, і всі вони відрізняються за розмірами, потужностями і функціями. Наприклад, для простих, часто аматорських роботів, ідеально підходять відомі багатьом мінікомп'ютери Raspberry Pi або плати на мікроконтролерах Arduino. Проте, коли справа доходить до випуску більш потужних і функціональних машин, заснованих на штучному інтелекті, слід звернути увагу на наступні апаратні рішення:

NXP BlueBox

NXP BlueBox — серія платформ, спеціально розроблених для автономних транспортних засобів, що підтримує розширені завдання класифікації, виявлення об'єктів, локалізації, складання карт і прийняття поведінкових рішень на дорозі. BlueBox складається з двох чіпів — один для обробки візуальних елементів, а інший більш потужний для прийняття рішень. 

Потужність останнього порівнюється з 8 вбудованим 64-розрядними процесорами ARM, які працюють з частотою 2 ГГц. Представник NXP заявив, що процесор може виконувати 90 000 мільйонів інструкцій у секунду при потужності менше 40 Вт.

Завдяки різноманітним датчикам, платформа NXP BlueBox забезпечує продуктивність, необхідну для аналізу умов керування транспортним засобом, оцінки факторів ризику і подальшого управління поведінкою автомобіля.NXP BlueBox

Nvidia Drive PX

Nvidia Drive PX — комп'ютер, що дозволяє творцям транспортних засобів пришвидшити виробництво автоматизованих і автономних машин. Будова плати буває різних конфігурацій. Вони варіюються від одного мобільного процесора з пасивним охолодженням, що працює на 10 Вт, до багаточіпових варіантів із чотирма високопродуктивними процесорами, що забезпечують 320 трильйонів операцій машинного навчання на секунду. Платформа NVIDIA DRIVE PX поєднує в собі машинне навчання, датчик злиття і об'ємний зір, об'єднуючи дані з декількох камер. Завдяки цьому, вона здатна в реальному часі розуміти, що відбувається навколо автомобіля, точно визначати своє місце розташування на супутниковій карті світу та планувати безпечний шлях вперед.Nvidia Drive PX

Nvidia Jetson AGX Xavier

Jetson AGX Xavier — перший у світі комп'ютер, створений спеціально для виробництва інтелектуальних роботів. На його платі розмістилися 8-ядерний процесор ARM для виконання спільних обчислень, графічний процесор з тензорними ядрами, призначений для завдань, пов'язаних із глибинним навчанням, а також спеціалізовані блоки для обробки відео.

Jetson AGX Xavier має продуктивність робочої станції з максимальною обчислювальною потужністю 32 трлн операцій/с і швидкістю передачі даних 750 Гбіт/с. Цього достатньо для візуальної одометрії, об'єднання датчиків, локалізації та картографії, розпізнавання об'єктів і побудови маршрутів і завдань, вирішення яких засновано на використанні штучного інтелекту. Також Jetson AGX Xavier оснащений повним набором AI-інструментів NVIDIA, що дозволяє розробникам швидко навчати і розгортати нейронні мережі.Jetson AGX Xavier

Більш того, Nvidia Jetson випускає ще кілька повноцінних платформ.Серед них модель Nvidia Jetson Nano, яку, через невеликі розміри, часто порівнюють із різними версіями Raspberry Pi.Порівняння Nvidia Jetson Nano і Raspberry Pi

Готові програмні рішення для запуску роботів

Отже, ми вибрали потрібне"залізо". Що ще потрібно для створення робота? Наприклад, розумітися у програмуванні в реальному часі, управлінні двигунами, штучному інтелекті, часто в обробці зображень і відео, і це ще може бути не все. Але є і простіший спосіб —  фреймворки з готовими функціями та необхідними інструментами.

Їх існує величезна кількість. Серед них: бібліотеки окремо для симуляції, сприйняття роботом навколишнього середовища, навігації, машинного навчання і багато чого іншого. І хоча жодна з них не є повністю укомплектованим для всіх потреб фреймворком, ми обрали кілька найбільш популярних у користуванні на сьогодні і докладніше розповімо про них.

ROS: Robot Operating System

ROS — фреймворк, що містить набір інструментів, бібліотек і рішень, завдання яких — спростити створення роботів. ROS був заснований, щоб стимулювати спільну розробку програмного забезпечення для робототехніки і повторне використання коду в дослідженнях і розробці. Серед специфічних можливостей, які можна отримати з безлічі пакетів ROS, платформа має наступні переваги:

  • Апаратна абстракція
  • Низькорівневе управління пристроєм
  • Підтримка процесу передачі повідомлень
  • Управління пакетами

Таким чином, використання ROS виправдало себе для створення користувацьких, спеціалізованих або академічних роботів. Зіткнувшись із координацією складності датчиків, двигунів і контролерів у ситуаціях, коли продуктивність не є проблемою, ROS може надати велику допомогу.

Деякі розробники можуть класифікувати ROS як операційну систему — і будуть неправі. Насправді фреймворк встановлюється і працює поверх Linux.

Isaac SDK: Software Development Kit

NVIDIA Isaac Software Development Kit (SDK) — набір інструментів і бібліотек, призначених для прискорення розробки роботів на базі штучного інтелекту. Також він дозволяє створювати модульні програми. Подібний підхід забезпечує високопродуктивну обробку зображень і використання технології глибокого навчання для створення інтелектуальних роботів. Використовуючи обчислювальні графи і систему компонентів, фреймворк дозволяє розробникам реалізувати складну систему управління роботами за допомогою невеликих будівельних блоків.

Розробники роботів можуть отримати доступ до ключових функцій робототехніки на базі штучного інтелекту (AI), включаючи виявлення перешкод, розпізнавання мовлення й оцінку глибини стерео. Кожна з функцій є важливим компонентом для робототехнічних систем.

Orocos: Open Robot Control Software

Orocos — фреймворк, створенний для управління роботами. Складається з трьох базових бібліотек, написаних на С++:

Також однією з основних характеристик Orocos є те, що складні програмні системи створюються не під час компіляції, а під час виконання. Крім того, фреймворк підтримується різними розробниками. Зрештою, його основна сила полягає в тому, що платформа безкоштовна і орієнтована на управління роботами в режимі реального часу.

iRobot Aware 2

IRobot Aware 2 — здебільшого відкритий фреймворк, який використовується компанією iRobot у багатьох її роботизованих продуктах. Однак такі високорівневі інструменти як системи управління роботом і блоком управління оператора (OCU), є закритими. IRobot Aware 2 має засоби для отримання даних у реальному часі, ведення журналу, веб-управління даними та іншого. Як і ROS, він працює поверх Linux.

Aware 2 користується довірою збройних сил США, його застосовувати прийшов створенні військових роботів  iRobot 710 Warrior і iRobot 510 Packbot.Військові роботиВище, ми описали найвизначніші на нашу думку спеціалізовані фреймворки для “наповнення життям” роботів. Насправді їх існує набагато більше, і ось іще деякі з них:

  • Player — для управління датчиками й інтерфейсом роботів.
  • Moos — бібліотека зв'язку.
  • Robotnav — бібліотеки, пов'язані з навігацією.
  • Gazebo — фреймворк для симуляції роботів.
  • Waffles — інструменти для машинного навчання.
  • TensorFlow — бібліотеки для візуалізація мережевого моделювання, а також машинного навчання.
  • Caffe — фреймворк відомий своєю швидкістю і застосуванням у моделюванні нейронних мереж.
  • Chainer — фреймворк для роботи з нейронними мережами.

Роботи вже багато в чому увійшли в наше життя, і з кожним роком стають усе більш звичною його частиною. Вони замінюють співробітників-людей, відіграють роль домашніх улюбленців, навіть знімаються в кіно.

Зібрали робота, але з’явилися проблеми з тим,  щоб “удихнути в нього життя”? Для цього вам знадобиться machine learning технології і Computer vision. А ми вміємо розробляти системи комп'ютерного зору, навчати їх та застосовувати у роботі. Не гайте часу — пишіть нам!

02.08.2019
Зображення, використані в статті, були взяті з відкритих джерел і використовуються як ілюстрації.
Хочете обговорити ваш проект або замовити розробку?
Надіслати
Цей сайт є українською мовою. Ви можете переключити мову у меню, або зробити це зараз.