Если раньше "робототехника" была термином из далекого космического будущего и научной фантастики, то сегодня роботы — уже часть нашей жизни. В каком-то смысле они уже служат человеку: готовят нам кофе, стирают и сушат наши вещи, регулируют температуру и влажность воздуха в доме. И активно трудятся в промышленных сферах: отгружают товар на складе, сканируют штрих-коды, выбирают и доставляют нужные грузы. Самые продвинутые модели даже проводят хирургические операции, становясь с каждым годом всё совершеннее и умнее.

К сожалению, на русском почитать вы можете в основном про 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 SoftwareOrocos — фреймворк, созданный для управления роботами. Состоит из трех основных библиотек, написанных на С++:

Также одной из основных характеристик 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
Рейтинг: 5 / 5 (2)