Русский
Русский
English
Статистика
Реклама

Робот

Народная платформа для роботов на ROS

04.12.2020 14:04:54 | Автор: admin
Статья написана для только входящих в сам ROS и имеющих необходимость в постройке реального робота для обучения или выполнения реальных задач.



Приступая к изучению ROS обычно сразу хочется работать с физическими платформами, а не с моделями в симуляторе. На самом деле для изучения просто алгоритмов движения или просто обучению самому ROS достаточно и Gazebo, но работа с реальной платформой сразу дает возможность на практике понять все проблемы с колесным движением. Ну и часто платформа нужна просто как обязательное условие проекта.

На будущее лучше начинать с круглого, т.к. по очевидным причинам разворот у такой конфигурации возможен вокруг оси без учета размера выпирающей части. Прямоугольник для разворота гораздо менее удобен, например в узких коридорах иногда становится необходимо разворачиваться 3 и более приемов, автомобилисты думаю поймут.

Покупка готовых платформ


На рынке не так много готовых платформ, их список приведен на сайте ROS.

При этом стоимость их в России достаточно высока для начала работ, самый дешевый вариант это Turtlebot Burger 3 549 долларов. У реселлеров непосредственно в России мы нашли за сумму около 90000 т.р.



В Китае можно купить за 45-50 т.р В любом случае, это будут платформы малого размера и грузоподъемности, не способные выполнять реальные задачи.

Платформу можно собрать самому платформу, тут есть масса разных гайдов и конфигураций. Но в среднем получается что-то вроде:

  • Лидар класса Slamtech A1-А2
  • Дешевые колеса на базе коллекторных двигателей с редукторами
  • Управление драйверами на базе разных пакетов, которые обычно включают связку PWM управления с управляющего компьютера, либо через Ардуино с управлением через UART порт + rosserial.
  • Single Board Computer Raspberry, Jetson Nano
  • 2 колеса
  • связка gmapping + amcl/rosbot_ekf + move_base



Коллекторные двигатели нам не понравились потому что шумные, имеют высокое потребление и необходим редуктор. Тут надо сказать, что рассматриваются платформы достаточно тяжелые т.е. сблокированные редукторы + двигатели что-то вроде двигателя с фото не подойдут.

Соответственно, как движители были выбраны BLDC мотор-колеса. Самый доступный на текущий момент вариант это гироскутерные колеса 6.5. Осталось только ими управлять из ROS.

Но тут всплыла одна проблема: еще при работе с гольф роботами была замечена существенная проблема с поворотом такой платформы на низкой скорости робот достаточно дерганно разворачивался.

Причины такого поведения просты: в развороте существенную роль сопротивлению движения работают силы трения скольжения. А у них есть особенность сопротивление зависит от массы и характера самих поверхностей именно поэтому маленький болтик первыми 2-3 витками держит большие конструкции.

Поэтому делать колеса узкими в центре становится чтобы он разворачивался достаточно бессмысленно сопротивление изменится очень мало. Колесо из резины трется о траву и грунт, которые совсем не ровные и сила может резко меняться, в итоге было сделано что-то вроде коробки передач на малой скорости контролируем момент на колесе, а при прямом движении саму скорость.


Казалось бы при движению по паркету или линолеуму ситуация должна быть лучше, но увы коэффициент трения почти такой же(вспомним, что противоскользящая обувь делается тоже из резины).



И в итоге робот весом в 10-15 килограмм уже начинает разворачиваться с ощутимыми рывками.

Вторую часть проблемы добавляет пакет ROS diff_drive в сочетании с достаточно слабыми SBC платами.

Вот список того, что удалось понять


Управление ведется с использованием real-time реализации, но никак не учитывается, что прочие пакеты должны ожидать данный подход при работе с управлением.

Тут надо вспомнить, что real-time не мгновенная реакция на событие, а гарантия того, что обработка события пройдет в гарантированные интервалы физического времени. Т.е. условная ГЭС, регулируемая каждую минуту (обязательно каждую) это тоже real-time система.
Появляется шанс того, что сообщениями будут забиты топики планировщика маршрута, а для подсистем позиционирования и планирования маршрута подобное поведение обычно приводит либо к останову и рестарту обработки потока, либо к попыткам отрегулировать на ходу процесс.



В итоге на слабых SBC возникает ситуация с беспрерывным пересчетом пути, либо поиск локализации отъедает достаточно большое процессорное время и чем больше делается попыток успеть за RT компонентой тем больше накапливается разбег по времени. В чистом виде положительная обратная связь, которая в данном случае совсем не нужна.

Дополнительно к этому gmapping при резких изменениях положения платформы и слабом лидаре тоже начинает работать совсем не быстро наблюдались паузы до полсекунды, что тоже сильно озадачивает планировщик маршрута.

Управление двигателями идет раздельно, поэтому при использовании SBC и наивной реализации драйверов колеса будут управляться с некоторой задержкой.

Тут проблема еще проще нам нужно управлять 2-4 колесами через канал связи, который. Соответственно, сигналы управления выстраиваются в очередь и начинают передаваться друг за другом левое колесо, правое колесо, левое колесо, правое колесо.

В итоге сами колеса, а хуже того и положения колес с энкодеров начинают вносить свою лепту в образование ПОС между планированием пути и управлением моторами

Встроенная одометрия реализована весьма упрощенно


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

Добиться того, чтобы подобная сборка вела себя хорошо, нам не удалось. Точнее удалось занизив ускорения перемещения до 0,05-0,1 м/c^2 и угловой скорости до 0,03 рад/с.

Подумалось что хорошо бы иметь :

  • Дешевая платформа
  • Синхронное управление колесами
  • Расчет одометрии с учетом поведения колес и управления
  • Режимы поворот-движение с разным управлением
  • Разные ограничения в разных режимах

Что в итоге вышло


Был взят контроллер с гироскутерных плат и написано управление колесами таким образом, чтобы при старте движения и поворотах использовалось управление по моменту. А если тележка едет прямо и разогналась до определенной скорости то включается режим управления именно по скорости. В обоих режимах данные с энкодеров обрабатываются внутри контроллера с учетом скорости и режима и наружу выдаются данные с некоторым предсказанием вперед на 10-15 мс.

Энкодеры же читаются в контроллере всегда, скапливаются в буфере в 2-3 элемента и передаются с задержкой. Суть в том, чтобы при получении управление отклик пошел только после того как команда будет выполнена т.е. выполняется блокировка буфера до того как придут изменившиеся значения энкодеров. Но выдача одометрии идет, просто использует последнее уже переданное значение.

Т.к. все вышеприведенные проблемы сводились к тому, что надо в любом случае синхронизировать управление на синхронной приеме-передаче с UART порта, то вводить принудительный синхронизатор в пакет diff_drive мы сочли неразумным, поэтому написан свой пакет управления.

Находится здесь github.com/Shadowru/hoverboard_driver и на текущий момент активно дорабатывается:

Пакет включается в launch файл как :

<node name="hoverboard_driver" pkg="hoverboard_driver" type="node" output="screen">        <param name="uart" value="{имя порта}"/>        <param name="baudrate" value="115200"/>        <param name="wheel_radius" value="0.116"/>        <param name="base_width  value="0.43"/>        <param name="odom_frame  value="odom"/>        <param name="base_frame  value="base_link"/>    </node>

Сам uart порт должен быть с соответствующими правами доступа, на некоторых платформах он не всегда имеет доступ для пользователя. Как пример для Jetson Nano в каталоге hoverboard_driver/scripts/jetson_nano_serial.sh приложен скрипт проставляющий права при старте ОС.

В самом пакете есть чтение потока данных с контроллера и выдача в топики соответствующей информации:

hoverboard_driver/hoverboard_msg с пакетом типа hoverboard_msg

Структура сообщения такова :

int16 state1 внутренняя информация по колесу 1
int16 state2 внутренняя информация по колесу 2
int16 speed1 мгновенная скорость колеса 1
int16 speed2 мгновенная скорость колеса 2
int16 batVoltage напряжение батареи
int16 boardTemp температура контроллера
int16 error1 ошибка колеса 1
int16 error2 ошибка колеса 2
int32 pulseCount1 счетчик энкодера колеса 1
int32 pulseCount2 счетчик энкодера колеса 2

Кроме этого в топик hoverboard_driver/odometry выдается типовое сообщение nav_msgs::Odometry

Рассчитывается положение так :

Исходя из параметров wheel_radius радиус колеса в метрах, base_width расстояние между центрами колес мы рассчитываем насколько каждое колесо сдвинулось за время между предыдущим положением и и считанным.

double curr_wheel_L_ang_pos = getAngularPos((double) feedback.pulseCount1);double curr_wheel_R_ang_pos = getAngularPos((double) feedback.pulseCount2);double dtime = (current_time - last_time).toSec();double delta_L_ang_pos = curr_wheel_L_ang_pos - raw_wheel_L_ang_pos;double delta_R_ang_pos = -1.0 * (curr_wheel_R_ang_pos - raw_wheel_R_ang_pos);

После чего рассчитываем ускорение каждого из колес

wheel_L_ang_vel = delta_L_ang_pos / (dtime);wheel_R_ang_vel = delta_R_ang_pos / (dtime);

Далее считаем линейное ускорение робота по каждой из осей

robot_angular_vel = (((wheel_R_ang_pos - wheel_L_ang_pos) * wheel_radius / base_width) - robot_angular_pos) / dtime;robot_angular_pos = (wheel_R_ang_pos - wheel_L_ang_pos) * wheel_radius / base_width;robot_x_vel = ((wheel_L_ang_vel * wheel_radius + robot_angular_vel * (base_width / 2.0)) * cos(robot_angular_pos));robot_y_vel = ((wheel_L_ang_vel * wheel_radius + robot_angular_vel * (base_width / 2.0)) * sin(robot_angular_pos));

В итоге получается полный набор линейное ускорение, угловое ускорение и перемножив их на время смещение позиции робота.

robot_x_pos = robot_x_pos + robot_x_vel * dtime;robot_y_pos = robot_y_pos + robot_y_vel * dtime;

После чего на отправляется сообщение одометрии плюс tf трансляция между фреймом одометрии и базовым.

Контроллер на входе управляется одним пакетом с 2 параметрами скорость и поворот, пакет транслируется из twist почти нативно скорость делится на длину окружности и получаются обороты.

double v = vel.linear.x;double rps = v / rpm_per_meter;double rpm = rps * 60;int16_t speed = static_cast(rpm);

а угловое ускорение переводится в разницу скоростей колес в виде умножения на коэффициент, в дальнейшем добавится пересчет с учетом базы колес, но по практике это нужно только для достаточно больших и тяжелых роботов.

double w = vel.angular.z;int16_t steer = static_cast<int>(-1 * w * 30);

В итоге удалось добиться весьма стабильного управления тележки на дешевых компонентах.



Мы создаем роботов, как и подавляющее большинство из Вас. У нас есть наш основной продукт, который мы активно развиваем. Провели пилотные испытания и готовы к производству. Это робот для сбора мячей для гольфа.

Мы разрабатываем роботов и производные решения на заказ. Иногда это работа от ТЗ и скетча до готового продукта, иногда часть работ.



В большинстве случаев для взаимодействия с внешним миром роботу необходимы колеса. Чаще всего это бесколлекторные двигатели, ввиду возможности точно управлять скоростью и положением.

Для роботов малых размеров часто используют колеса от гироскутера, это оправдано ввиду массового производства и цены данного решения. Кто видел прайс на российские двигатели понимает значение массового производства.



Что касается контроллера чаще всего это модельные esc, vesc, odrive, BLD-300B или самодельные решения.

Для легкого входа в создание реальных роботов и снятия проклятия Gazebo большинству разработчиков требуется кит для легкого входа. Многое в реальном мире происходит не так как в идеальном.

Иногда происходят непредсказуемые вещи, зашумленность датчиков, реалтайм, перезаполнение буферов. На это видео устройство, которое мы до этого тестировали с контактором и удаленным килсвитчом.


Мы предлагаем то, что помогло бы нам сэкономить нервы в свое время, это кит для сборки корпуса(параллелепипед и цилиндр), два мотор-колеса, батарея, зарядное устройство и перепрошитый контроллер, который выдает одометрию и работает с нашим пакетом ROS из коробки за 19.000 руб. Это дешевле чем фрезерная резка, стоимость композитного материала, крепежа и поворотного колеса с амортизацией.



Позвоните нам или оформите заявку на платформу для ROS online. Давайте делать роботов вместе.

Подробнее о платформе мы расскажем на митапе, посвященный Robot Operating System 5 декабря. Регистрация для участников уже открыта.

Регистрация для зрителей
Подробнее..

Транслируем искусство через робототехнику

08.04.2021 22:07:23 | Автор: admin

Мы, студенты столичного университета, очень страдаем от недостатка внимания нашего руководства кафедры. Проблему необходимо было решать кардинально и бесповоротно. Внутривузовские проекты не дали бы необходимого эффекта, поэтому на собрании сообщества было принято решение устроить акцию и раскрасить самый центр города Москвы Чистые пруды.

Так как бегать с кисточками на морозе звучало не сильно заманчиво, мы решили поручить эту задачу роботу. Как говорится, готовь сани летом... Конечно, никто их не приготовил, но и собирать платформу робота с нуля никто не собирался. Предложили переоборудовать один из существующих проектов под это дело.

Big Fucking Printer

Складской робот сmecanumколёсами вот наш избранник. Первая проблема была в этих самых колёсах, они совершенно не подошли для езды по снегу, да и клиренс оказался маленьким. Вообще, к роботу-маляру требований значительно больше, чем к грузовой платформе. За месяц с хвостиком перед командой стояло огромное количество задач.

  • Разработать систему разметки поля

  • Придумать маркер для нанесения краски на огромную площадь

  • Переделать всю электронику робота, не кататься же на бееедуине, верно? Никто ведь так не делает, правда?

  • Разработать стек навигации для робота

  • Написать пару*строк кода

Ну что, строим?

Конечно же нет, ведь нужно выбрать из чего, как и сколько это будет стоить. Для решения вопроса с навигацией мы потратили не мало времени и ни одно копьё было сломано.SLAMотвергли наши программисты-питонисты-(дата сатанисты). Инерциальный датчик отвергли программисты-электронщики. А вот езда по тросу понравилась всем. Еще были такие варианты: расставить лазеры, расставить метки, использовать энкодеры на колёсах, лазерная рулетка,GPSи много всего другого. Размер нашего холста: 40x50 метров. Для определения текущего положения робота с точность до 1 см использовалась связка энкодера и инфракрасного датчика расстояния. При помощи ввёртышей и талрепов натягивается трос каждые 5 метров. На роботе устанавливается каретка с энкодером, ее отклонение фиксирует датчик расстояния. Трос проходит через энкодер и при смещении робота относительно троса, смещается и каретка. Конструкция хоть и простая, но на таких расстояниях крайне эффективная.

Допустим мы знаем наше положение на поле, но чем и как мы будем рисовать? А почему бы не использовать готовые решения? Итак, мы обзавелись обычным аэрографом, компрессором с ресивером и огромной направляющей из алюминия длинной в 5 метров. Каждые 10 сантиметров робот останавливается, аэрограф совершает поступательное движение по рельсе и наносит часть изображения. Для приведения аэрографа в движение к нему прикрутили мотор с шестерней, а на рельсе установили зубчатую рейку, бережно отфрезерованную из обрезков фанеры.

Маркер в действии

Теперь-то строим?

Почти. Моделируем. СвязкаSolidWorksиFusion360, запихнутая вGazebo это отдельный способ извращений, но команда состоит из творческих людей с различными взглядами на жизнь. Так или иначе, лучший файлообменник телеграмм соединяет сердца инженеров. Модель робота была кропотливо разработана вCADсистемах (а с нашим бюджетом мы не могли позволить купить лишних запчастей) и протестирована в симуляторе, ведь пруды чистые, а не черновые.

Итого, детали в пути, и мы приступаем к проектированию плат и написанию кода. Робототехников хлебом не корми, дай на питончике, да на плюсах покодить,а вот держи. Собственно мозгами робота сталиRaspberryPi,STM32-Discoveryи несколько плат с камушками серииSTM32F1. Их связь осуществляется черезUART. Для питания сего изобретения были выбраны литиевые аккумуляторы в сборке 12s8p, переваренные из батареиTeslaи два 12-вольтовых гелиевых аккумулятора. В качестве движителей общим решением были избраны моторыNema-23 с планетарными редукторами 1:4. Дешёвые драйверы двигателейTB6600 расплавились при первом включении, пришлось срочно искать замену DM860H.

Когда все детали приехали, а мы уже порядком подустали, стало ясно, что времени осталось мало, скоро весна, а пруд превратится в шугу. Реализовать задуманное планировалось ещё до новогодних праздников, но сессия в университете вмешалась и поломала весь тайм-менеджмент, а еще оставила без стипендии. Правильно, зачем же робототехнику материальные блага, достаточно духовной пищи.

Полевые испытания

Тем временем, работа по конструированию, сборке и программированию подходила к концу.Для испытаний оставалось зарядить аккумуляторы, смазать втулки, залить код и озаботится выбором краски. Первые испытания было решено провести в хоккейной коробке.

После пар мы бросились собираться. Оказалось, что про краску все забыли, а единственная субстанция под рукой, имеющая хоть какой-то оттенок, оказалась гуашь. Ладно, и так сойдет посчитали мы. Коктейль состоял из литра воды с пачкой гуаши, а также туда отправилось пол-литра медицинского спирта.

Первые испытания боевого робота показали, что гуашь не видна даже в такой большой концентрации на снегу после распыления, а гелиевые аккумуляторы не обеспечивали необходимый ток для работы компрессора. Из плюсов: мы провели калибровку датчика расстояния (ошибка не более 5см на 5м).

Фото с первых тестов

Вторые испытания также не увенчались успехом. Для прижима краскопульта мы хотели использовать шаговый двигательNema-17 с трапецеидальной винт-гайкой, установленные на корпус робота, и тормозным тросом от велосипеда длиной 3м для передачи усилия. Решение спорное, но мы не хотели вешать такую тяжелую конструкцию на каретку. Так вот, это не сработало и пришлось переместить весь блок системы прижима на печатающую голову.

Финальный эксперимент?

Чтобы управа района одобрила покраску Чистых Прудов, нам было необходимо продемонстрировать работоспособность робота. Итак, в последний раз мы отправляемся в хоккейную коробку. Что по изменениям? К краскопульту добавили шторки, чтобы краска не летела во все стороны, а также не намерзала на винтовой передаче. Добавили систему подачи краски в ресивер краскопульта. В качестве краски использовали колер, разбавленный спиртом. Как вы понимаете, спирта было потрачено много. Гелиевые аккумуляторы дополнились сборкой 4s8pиз тех же аккумуляторовTesla, которыеPanasonic.

Рисовать решили логотипYouTube-канала Техникум, они ездили с нами на испытания, поэтому мы захотели их отблагодарить.Окраска квадрата 5x5м заняла около 30 минут. На удивление, первый видимый результат получился удовлетворительным.

Результат

Ало, пустите на пруд?

Работа над проектом затянулась на 3 месяца. Последние испытания мы провели 18 марта, когда на улице температура стала колебаться около нуля. Нам вежливо предложили отказаться от этой идеи. Да, мы не успели довести дело до финальной точки в этом году. В следующем году мы постараемся все же выехать в центр города и провести нашу акцию. А пока, можете посмотреть результат работы в нашем инстаграм-аккаунте:artbot.moscow

Мы, робот и Грант Гастин

P.S.

Сейчас мы продолжаем совершенствовать робота. Первоочередная задача перенос стека навигации на aruco метки, чтобы робота можно было использовать в помещениях. 17 апреля в университете науки и технологий НИТУ "МИСиС" пройдёт день открытых дверей. Мы будем рисовать логотип университета в центральном лобби, фотоотчёт будет в инсте.

Подробнее..

Как устроено компьютерное зрение?

24.03.2021 14:22:50 | Автор: admin
Мы запускаем камеру на смартфоне, наводим на объект и видим маленькую иконку внизу. Смартфон понимает что именно мы снимаем. Вы когда-нибудь задумывались, как это работает?

Беспилотные автомобили спокойно объезжают машины и тормозят перед пешеходами, камеры видеонаблюдения на улицах распознают наши лица, а пылесосы отмечают на карте, где лежат тапочки всё это не чудеса. Это происходит прямо сейчас. И всё благодаря компьютерному зрению.


Поэтому сегодня разберем, как работает компьютерное зрение, чем оно отличается от человеческого и чем может быть полезно нам, людям?

Для того чтобы хорошо ориентироваться в пространстве человеку нужны глаза, чтобы видеть, мозг, чтобы эту информацию обрабатывать, и интеллект, чтобы понимать, что ты видишь.С компьютерным или, даже вернее сказать, машинным зрением, такая же история. Для того, чтобы компьютер понял, что он видит, нужно пройти 3 этапа:

  1. Нам нужно как-то получить изображение
  2. Нам нужно его обработать
  3. И уже только потом проанализировать



Пройдёмся по всем этапам и проверим, как они реализованы. Сегодня мы будем разбираться, как роботы видят этот мир, и поможет нам в этом робот-пылесос, который напичкан современными технологиями компьютерного зрения.

Этап 1. Получение изображения


В начале компьютеру надо что-то увидеть. Для этого нужны разного рода датчики. Насколько много датчиков и насколько они должны быть сложные зависит от задачи. Для простых задач типа детектора движения или распознавания объектов в кадре достаточно простой камеры или даже инфракрасного сенсора.

В нашем пылесосе есть целых две камеры, они находятся спереди.А вот, например, для ориентации в трехмерном пространстве понадобятся дополнительные сенсоры. В частности 3D-сенсор. Тут он тоже есть и расположен сверху. Но что это за сенсор?

LiDAR


Вообще с названиями 3D-сенсоров есть небольшая путаница, одно и тоже часто называют разными словами.

Эта штука сверху называется LDS или лазерный датчик расстояния, по-английски Laser Distance Sensor. Подобные датчики вы наверняка могли заметить на крышах беспилотных беспилотных автомобилей. Это не мигалка, это лазерный датчик расстояния, такой же как на роботе пылесосе.

Вот только в мире беспилотников такой сенсор принято называть лидаром LIDAR Light Detection and Ranging. Да-да, как в новых iPhone и iPad Pro.





А вот в Android-смартфонах вместо лидаров используется термин ToF-камера: ToF Time-of-flight.

Но, как ни называй, все эти сенсоры работают по одному принципу. Они испускают свет и замеряет сколько ему понадобится времени, чтобы вернуться обратно. То есть прямо как радар, только вместо радиоволн используется свет.

Есть небольшие нюансы в типах таких сенсоров, но смысл технологии от этого не меняется. Поэтому мне, чисто из-за созвучия с радаром, больше всего нравится название LiDAR, так и будем называть этот сенсор.



Кстати, лидары использует не только в задачах навигации. Благодаря лидарам сейчас происходит настоящая революция в археологии. Археологи сканируют территорию с самолета при помощи лидара, после чего очищают данные ландшафта от деревьев. И это позволяет находить древние города, скрытые от глаз человека!





Также помимо статических лидаров, направленных в одну сторону, бывают вращающиеся лидары, которые позволяют сканировать пространство вокруг себя на 360 градусов. Такие лидары используется в беспилотных автомобилях, ну и в этом роботе-пылесосе.



Еще 8 лет назад такие сенсоры стоили каких-то невероятных денег, под 100 тысяч долларов. А теперь у вас по дому может спокойно ездить маленький беспилотник.



Лидар в пылесосе


Окей, тут лидар используется для построения карты помещения и это не новая история. Такую технологию мы видели еще года 3-4 назад.

Благодаря лидару и построенной карте, пылесос ездит не рандомно как скринсейвер в Windows, стукаясь об углы, а аккуратно проезжая всю площадь (модели без лидаров обычно катаются странно).

Но внутри пылесоса стоит, на секундочку, восьмиядерный Qualcomm Snapdragon 625 (Qualcomm APQ8053), поэтому у него хватает мозгов не только построить карту, но и ориентироваться по ней.

Более того пылесос может хранить в памяти до четырёх карт и распознаёт этажи. Это существенно ускоряет уборку. Потому при переносе с этажа на этаж пылесос это может понять и не тратит время, чтобы построить карту заново.



Также каждую из 4 карт можно поделить на 10 специальных зон. Для которых можно настроить свои параметры уборки: мощность всасывания (до 2500 Па), количество проходов и прочее. А куда-то можно вообще запретить ездить. Можно даже выбирать сухую и влажную уборку для разных зон. Правда для этого не нужно подключать/отключать отдельный резервуар с водой. И всё это стало возможно благодаря лидару.

Тем не менее у технологии есть некоторые недостатки очень разреженные данные.Пространство сканируется линиями. В больших автомобильных радарах разрешение от 64 до 128 линий. Плюс ко всему у лидар есть мертвая зона. Если лидар стоит на крыше то он не видит, что творится в достаточно большом радиусе вокруг него.

Также в роботе-пылесосе лидар тут сканирует пространство всего одним лучом. Поэтому, всё что он видит это тонкая линия на высоте где-то 9-10 сантиметров от пола. Это позволяет определять где стены и мебель, но он не видит того, что валяется на полу.

Две камеры




Поэтому, чтобы исправить этот недочет лидаров. как в автомобили, так и в пылесосы ставят дополнительные камеры.Тут камеры сразу две, и они обеспечивают стереоскопическое зрение. Да-да, у пылесоса всё как у людей два глаза.

Две камеры, во-первых, позволяют убрать мертвую зону впереди пылесоса. А во вторых позволяют достаточно точно определять расстояние до валяющихся на полу предметов.

Это позволяет пылесосу обнаруживать предметы размером не менее 5 см в ширину и 3 см в высоту и объезжать их.

Этап 2. Обработка


Итак, мы получили достаточно данных с различных сенсоров. Поэтому переходим ко второму этапу компьютерного зрения обработке.

Данные с лидара мы получаем в виде трехмерного облака точек, которые фактически не нуждаются в дополнительной обработке.

Как получить стерео с двух камер тоже понятно высчитывается разница между изображениями снятыми чуть под разным углом и так строится карта глубины. Это несложно.



Но вот совместить данные с разных сенсоров это нетривиальная задача.

Например, пылесос на полу обнаружил какой-то предмет. Дальше ему нужно понять где именно он находится на карте построенной при помощи лидара. А также нужно предположить какие у него габариты по проекции с одной стороны. То есть нам нужно поместить предмет в некий объёмный куб правильного размера.





Эту задачу можно решить разными способами. Один из способов называется усеченная пирамида.Сначала на камере обнаруживаются предметы. Потом эти предметы помещаются в конус, а объем этого конуса вычисляется нейросетью.



Поэтому даже, казалось бы, такая тривиальная задача требует серьёзных вычислений и решается при помощи нейросетей.



А раз мы заговорили про нейросети, значит мы уже немного зашли на 3-й этап компьютерного зрения анализ.

Этап 3. Анализ


За распознавание, сегментацию и классификацию объектов на изображении в современном мире в основном отвечают нейросети. Мы даже делали подробный ролик о том как это работает, посмотрите.



Если кратко, нейросеть это такое большое количество уравнений, связанных между собой. Загружая в нейросеть любые данные ты обязательно получишь какий-то ответ.
Но, например, если постоянно загружать в нейросеть фотографии кошечек, и указать ей, что ответ должен быть кошка. В какой-то момент, нейросеть перестает ошибаться на обучающей выборке. И тогда ей начинают показывать новые незнакомые изображения и если на них она тоже безошибочно определяет кошек нейросеть обучена.

Дальше нейросеть оптимизируется для того, чтобы она стала меньше, быстро работала и не жрала много ресурсов. После этого она готова к использованию.

Что-то похожее происходит с нейронными связями в человеческом мозге. Когда мы чему-то учимся или запоминаем, мы повторяем одно и то же действие несколько раз. Нейронные связи в мозге постепенно укрепляются и потом нам это легко даётся!

Например, в данном пылесосе за работу нейросети отвечает встроенный NPU-модуль. Всё-таки внутри Snapdragon, пылесос может себе такое позволить.

Нейронка предобучена определять различные предметы домашнего обихода: игрушки, тапочки, носки, всякие удлинители, зарядки и даже неожиданности от домашних животных.

Распознавание предметов происходит при помощи гугловской библиотеке Tensorflow. Алгоритм самообучается и умнеет от уборки к уборке.

Практика




В нашем роботе-пылесосе технология распознавания называется Reactive AI. Мы протестировали насколько она хорошо работает на практике.

Кайфовая штука, что все найденные предметы пылесос отмечает не карте. Поэтому теперь, я не обещаю, но такое возможно, вы всё-таки обнаружите логово пропавших носков.

Проследить за тем, что видит пылесос всегда можно через фирменное приложение или Mi Home от Xiaomi. Можно даже просто кататься по дому управляя пылесосом слать на него голосовые сообщения. Управлять пылесосом можно также через Google Ассистента или Алису.Всё на русском языке.

С недавних пор бренд начал официально продаётся в России, поэтому устройства полностью локализованные.

Внутри кстати стоит батарейка на 5200 мАч, которая способна выдержать до 3 часов уборки.

Итоги




Ребят, ну вы сами всё видели. Правда, стоит обратить внимание, что пока корректное распознавание предметов работает только если запускать пылесос через специальное приложение. И это нюанс, поскольку оно пока недоступно в Play Market Россия. Но в течение нескольких месяцев оно появится.
Подробнее..

DLR RMC часть 1. Путь из космоса на Землю

13.09.2020 02:19:21 | Автор: admin

Ссылка на первоисточник: http://www.robotexnik.info/publ/robotics/dlr-rmc-part1/1-1-0-13. Здесь больше порядка с оформлением, особенно, для видеороликов. Заходите!



Содержание



Введение


Здесь рассказ пойдёт о Центре робототехники и мехатроники (Robotics and Mechatronics Center, RMC) Национального центра авиации и космонавтики Германии. На языке оригинала всё это звучит вот так: Robotik und Mechatronik Zentrum (аббревиатура используется английская, RMC) и Deutsches Zentrum fr Luft- und Raumfahrt (аббревиатура используется немецкая, DLR).


Данный материал родился потому, что возникла идея поделиться тем, что я видел и слышал лично. Просто так, не имея собственного очного впечатления, собрать в кучу всю эту информацию было бы сложнее. Думаю, это должно быть интересно не только мне.


Статья получилась такой большой, что пришлось разбить её на две части: первая (настоящая) почти популярная, а вторая почти научная. Надеюсь, полезными окажутся обе.


Сразу оговоримся, что речь пойдёт об Институте робототехники и мехатроники RMC, расположенном в посёлке Оберпфаффенхофен под Мюнхеном. На данный момент Центр включает 3 института (кроме упомянутого, ещё есть Институт динамики систем и управления и Институт оптических сенсорных систем), но основной интерес для нас представляет именно первый.


В прошлый раз мне на Хабре очень хорошо помогли со статьёй о Boston Dynamics, высказав ряд дельных замечаний, в результате чего та статья была существенно откорректирована. Поэтому теперь решил разместить здесь и эту.


Ничего необычного: один из лучших центров робототехники в мире


Сегодня RMC это один из многочисленных центров робототехники в мире. Один из. Со своими многочисленными разработками, представленными на официальном сайте RMC [1] и в отличном 3d-туре, доступном с того же сайта. Разработками, которые, как бы, есть у всех центров робототехники. То есть для человека непосвящённого это, как говорят, ничего необычного. Или, если ещё проще, так и дурак может.


Нет, дурак не может, и далеко не всякий умный сможет тоже. Не претендуя на исчерпывающее описание всех разработок Центра, мы расскажем о том, чем RMC прославился в области робототехники. В частности, об интересном подходе к построению робототехнических систем, позволившем учёным и инженерам RMC добиться тех результатов, которые мы можем наблюдать сегодня. Он применён для многих роботов Центра, ставших широко известными, причём не только в робототехническом сообществе.


Ранее в статье о Boston Dynamics мы говорили о другом подходе, связанном с учётом гибких свойств звеньев роботов и даже с преднамеренным построением упругого привода (series elastic actuator). Этот подход разрабатывался в альтернативу традиционному способу конструирования промышленных манипуляторов: чем жёстче, тем лучше. Здесь же обсудим (а во второй части статьи попробуем ещё и слегка разоблачить) так называемое управление механическим импедансом (impedance control).


LBR iiwa: управление механическим импедансом [2]


Управление механическим импедансом [3], говоря простыми словами, обеспечивает манипулятор свойствами пружины с регулируемыми по произвольному закону и по произвольным координатам жёсткостью и коэффициентом демпфирования. И, как мы увидим далее, в RMC были разработаны алгоритмы управления механическим импедансом применительно к существенно гибким манипуляторам. Таким образом, подход RMC в каком-то смысле можно считать следующей ступенью в развитии методов построения и управления нежёсткими механизмами, по сравнению с подходом, упомянутым в предыдущем абзаце.


А вообще-то, RMC не настолько известен широкой публике, как, например, та же Boston Dynamics. Тем не менее, я уверен, что вы наверняка знаете разработки Центра, если хоть сколько-то интересуетесь робототехникой. А вот каким образом эти разработки связаны с космосом, понять можно было бы не сразу. Расскажем и об этом.


По совокупности, лично я считаю, что центров робототехники такого уровня, как DLR RMC, не так уж и много во всём мире.


Оберпфаффенхофен


Моё непосредственное знакомство с RMC состоялось в 2009г. В тот период сотрудники RMC и ЦНИИ РТК активно обменивались рабочими поездками в рамках совместных проектов. Причём немецкие коллеги охотно и с техническими деталями рассказывали о своих робототехнических достижениях, благо было о чём рассказать. Демонстрировали антропоморфного робота Rollin Justin и отдельно манипулятор LWRIII, разработанный в RMC и использующийся в качестве рук Justin'а. Да, этот манипулятор со знакомыми очертаниями, который в 2004г. в рамках кооперации был передан [4] компании KUKA и в дальнейшем дорабатывался до LBR4, LBR4+, LBRiiwa и LBRiisy, это выходец из DLR RMC.


Your browser does not support HTML5 video.

2012г. Слева, понятно, Герд Хирцингер. Демонстрирует манипулятор DLR LWR III какой-то тётеньке [5]


В то время, когда в RMC создавали первые модели LWR, ещё никто не знал ни про каких коллаборативных роботов (так называемых коботов), да и в 2009г. этот термин ещё не вошёл в моду. Это теперь коллаборативных роботов можно встретить во всех каталогах топовых производителей промышленных манипуляторов. А инженеры из RMC, разрабатывая для своих целей очувствлённые по усилию манипуляторы, оказались в числе первопроходцев в этом направлении.


Ну, а тогда, в 2009г., мы как робототехники находились под большим впечатлением от выставочных трюков, подготовленных в RMC для таких случаев. Запомнилась демонстрация чувствительности и быстродействия системы управления манипулятора LWR (или, по-немецки, LBR), который зажатым в схвате металлическим блином (теперь что-то я не совсем уверен, но тогда запомнил, что это был именно металлический плоский блин) с размаху лупил плашмя прямо по специально подставленному лбу мужественного сотрудника Центра. Заканчивалось всё шлепком и довольным хохотом этого сотрудника, которому в очередной раз повезло выжить: манипулятор мгновенно останавливался, почувствовав усилие от касания блина о лоб.


Примерно вот так. KUKA LBR режим обнаружения головы [6]. И это, кстати, уже другой смельчак.


Не меньшее восхищение вызывал и робот Justin, который умудрялся ловить брошенный человеком теннисный мяч, прямо в полёте просчитывая его траекторию, наблюдаемую при помощи камер стереопары. И даже два мяча одновременно.


А ещё два робота Justin, которые перебрасывались этим мячом между собой.



Justin швыряется мячом. Баскетбольный бы ему! [7] [8]


Большую радость у аудитории традиционно вызывает робот, который что-нибудь наливает. Да, это не только русская забава, немцам она тоже оказалась не чужда. Вот и Justin в качестве одного из своих самых известных трюков насыпал в стакан и разбавлял водой растворимый кофе. Вишенкой на этом торте было постукивание пальцем по банке с кофе для максимального вау-эффекта.


Когда заваривают кофе, видимо, все сразу вспоминают фильм Криминальное чтиво. Кофе, приготовленный роботом, это ведь тоже кофе для гурмана! Теперь главное, чтобы до стрельбы не дошло [9]


Конечно, мы прекрасно понимали, что движения Justin'а-буфетчика жёстко запрограммированы, как для хорошо всем известных танцев роботов. Да и сотрудники RMC этого не скрывали, прямо отвечая на наши вопросы. О том, что стакан и графин должны быть именно такой формы, графин должен содержать ровно столько воды, а в банке должно быть насыпано ровно столько кофе. Но вау-эффект всё равно был достигнут: мы бы сделать такого робота не могли (и, напомню, до появления робота Atlas было ещё несколько лет).


Потому что Justin использовал много элементов и решений, которые и сами по себе были прогрессивны и по-немецки отлично-педантично исполнены, и в совокупности работали эффектно. Это касается и минималистичной компоновки лёгких манипуляторов, оформленных красивыми округлыми корпусами; и электродвигаталей собственной разработки RMC, о которых ещё скажем ниже; и управления с использованием обратной связи с датчиков усилия / момента, в том числе, и в пальцах схвата; и системы технического зрения.


Что до этого небольшого игрушечного посёлка с никому не известным названием Опер-поппер-хоппер Овен-ваффен-маффин Тьфу! О-бер-пфаф-фен-хо-фен (Oberpfaffenhofen), вот!.. То, как мы убедились, это вполне обыденная для Германии ситуация, когда научно-технический центр с мировым именем располагается в каком-нибудь захолустном провинциальном городке или даже посёлке. Хотя при этом если всего-то и надо проехать с полчаса от миллионника-Мюнхена на аккуратном, чистеньком и плавном поезде S-Bahn (что-то среднее между трамвайчиком и электричкой) разве это расстояние?


Современное здание RMC в Оберпфаффенхофене


Ох уж эти немецкие слова! Zweihundertsiebenundachtzig (двести восемьдесят семь). Dampfschiffahrtsgesellschaft (пароходная компания)! Rindfleischetikettierungsberwachungsaufgabenbertragungsgesetz (закон о передаче обязанностей по контролю маркировки говядины)!!! Хотя, при некоторой тренировке, к ним привыкаешь и начинаешь их понимать.


И вообще, мне нравится немецкий язык. В жизни он оказался совсем не таким, каким мы привыкли его считать (видимо, сказываются некоторые специфические поводы, по которым нам в России доводилось слышать немецкую речь). Wir sind die braunen Soldaten [10], Jawohl!, Hnde hoch! нет, не таким. Du! Du hast! Du hast mich! [11] и не таким. Oh, ja, ja, das ist fantastisch! [12] и даже не таким. Нет, немецкая речь в повседневной жизни в общении на профессиональные темы, на летних городских улицах, в транспорте, в магазинах и на рождественских ярмарках она совсем другая: мягкая, бархатно-грассирующая и уютная, как маленькие частные немецкие домики с аккуратно стрижеными газонами. И для моего слуха она гораздо приятнее привычно-безразлично улыбающегося, угловатого, лающего английского. Впрочем, это мои личные ассоциации, не настаиваю. Но мы отвлеклись. Давайте вернёмся к нашим роботам.


Рождественский базар в Мюнхене (Мариенплац). Фото тоже не моё, просто красивое!


Просто космос!


И всё же DLR RMC это центр космической робототехники. А на Землю они спустились несколько позже.


Интересующая нас история начинается с космического эксперимента ROTEX [13] (RObot TEchnology eXperiment), который был подготовлен DLR RMC в 1988 1993гг. и проведён в рамках миссии STS-55 на борту американского космического челнока Колумбия в апреле мае 1993г.




Обзор наземной подготовки миссии STS-55 (D-2): эксперимент ROTEX [14]


Целью эксперимента ROTEX была отработка робототехнических технологий для будущих роботизированных космических миссий. Эксперимент был интересен тем, что европейский манипулятор впервые поработал в космосе, на борту космического аппарата (КА), а также тем, что в этом манипуляторе были собраны, наверное, все доступные на тот момент технологии сенсорного очувствления роботов:


  • два 6-осевых датчика сил и моментов в запястье манипулятора (один на тензометрических, а второй на оптических чувствительных элементах);
  • матрицы тактильных датчиков для управления усилием захвата;
  • массив из 9 лазерных дальномеров;
  • стереопара для получения изображения со схвата;
  • стереопара для получения изображения рабочей области робота.

Модель короба с манипулятором, расположенного внутри корабля


Схват манипулятора при выполнении действий в рамках эксперимента


В ходе эксперимента робот выполнил следующие тестовые задачи:


  • сборка механической решётчатой конструкции;
  • отключение-подключение орбитального сменного блока (Orbital Replaceable Unit, ORU) с байонетным разъёмом;
  • и самое интересное автоматический захват летящего объекта, демонстрирующий в первом (пожалуй, даже нулевом) приближении возможность захвата свободно вращающихся спутников в космосе с целью их технического обслуживания на орбите в будущем.



ROTEX: разъединение байонетного разъёма; захват свободно летящего объекта (вид с камеры схвата)


Были опробованы следующие режимы управления:


  • автоматический по программе, заложенной с Земли;
  • телеуправление астронавтом с борта корабля по стереоизображению на ТВ-мониторе;
  • телеуправление с Земли с использованием упреждающей компьютерной симуляции движения робота, учитывающей 5 7-секундную задержку в линиях связи;
  • дистанционное программирование методом демонстрации движения на Земле, где было полностью смоделировано окружение манипулятора, при помощи сенсорного восприятия на Земле и воспроизведения движения на борту.

Астронавт, управляющий манипулятором с борта космического корабля


Управление манипулятором из наземного пункта управления


Эксперимент завершился полным успехом. Однако одновременно. в ходе его подготовки выявилась потребность в наземном роботе, сходном с орбитальным, для тренировки астронавтов [15]. Но существовавшие в то время манипуляторы были либо слишком большими и тяжёлыми (см. выше иллюстрацию о наземной подготовке миссии), либо недостаточно мощными для выполнения требуемых задач в условиях земной гравитации. Таким образом, понадобилось разработать небольшой легковесный манипулятор, стремясь к соотношению собственного веса к грузоподъёмности 1:1, как у человеческой руки, при похожей функциональности. Это и стало предпосылкой к созданию LWR, о котором расскажем чуть позже.


В дальнейшем теме орбитального обслуживания космических аппаратов был посвящён целый ряд проектов в RMC. Например, проект ESS [16] (Experimental Servicing Satellite) предполагал лабораторную наземную отработку захвата свободно летящего КА. Захват предполагалось осуществлять за сопло ракетного двигателя обслуживаемого КА. Лабораторный стенд был создан на базе двух манипуляторов KUKA, один из которых выполнял захват, а второй имитировал взаимную динамику обслуживающего и обслуживаемого КА в условиях космоса, с учётом их контактного взаимодействия в момент захвата.




ESS: захват КА за сопло двигателя стенд с макетами


Значимым шагом для RMC стал космический эксперимент ROKVISS [17] [18] (RObot Komponent Verification on ISS). В рамках этого эксперимента небольшой двухстепенной манипулятор с наконечником в виде металлического щупа был установлен на наружной поверхности российского модуля МКС Звезда, где в течение более чем 5 лет (с начала 2005 г. по конец 2010 г.) выполнял различные тестовые задания.


Аппаратура для космического эксперимента ROKVISS на российском модуле МКС Звезда


Эти задания заключались в том, чтобы при помощи щупа выполнять контактные операции с расположенной рядом с манипулятором металлической рамкой, имеющей сложную форму с изогнутыми линиями, например: прижать щуп к рамке и, не теряя механического контакта, провести щуп вдоль изогнутого края; ударить щупом по рамке; растянуть пружину. Оператор в реальном времени наблюдал за совершаемыми операциями при помощи пересылаемого стереоизображения, а рукой ощущал на рукоятке управления, оснащённой приводами, возникающие на рабочем органе робота усилия. За счёт этого создавался эффект телеприсутствия для оператора.


Манипулятор и фигурная рамка с пружинами для эксперимента ROKVISS


В эксперименте были решены сразу несколько задач. Обобщая, выделим две главные, состоящие из самостоятельных частных. Во-первых, была подтверждена возможность применения новых технологий и компонентов, разработанных Центром для своего легковесного робота, в реальных условиях открытого космического пространства. Во-вторых, проверялась осуществимость непосредственного дистанционного управления манипулятором с обеспечением эффекта телеприсутствия для обслуживания космических спутников в будущем.


Масштаб проведённых работ заслуживает более детального обсуждения, хотя бы вкратце. Одной из ключевых идей данного проекта был уход от применения дорогих и габаритных радиационно стойких компонентов (в космическом исполнении). И это удалось сделать. Как? Немного о специфике. Упрощённо говоря, космическое ионизирующее излучение может приводить к возникновению в электронных компонентах радиационных эффектов двух видов: дозовые, вызывающие дрейф их характеристик и, в конечном итоге (при превышении предельной дозы), отказ; и одиночные, связанные с воздействием одиночных высокоэнергетических частиц, вызывающие либо отказ с выгоранием схем (разрушающие эффекты), либо единичный сбой в элементах памяти (неразрушающие эффекты). От чрезмерной дозы на низких орбитах (а орбита МКС это низкая орбита) хорошо защищают и пояса Ван Аллена. По крайней мере, коммерческие микросхемы, типовая дозовая стойкость которых составляет 5крад и более, вполне способны выдержать несколько лет на низкой орбите, что подтвердилось и в случае с ROKVISS. А для защиты от одиночных эффектов были применены схема контроля тока со сбросом питания при превышении нормы (защита от так называемого тиристорного защёлкивания) и программная проверка с коррекцией ошибок в элементах памяти. И хотя эти меры не гарантируют на 100% полную защиту от зловредного воздействия космической радиации на электронику, но эффекты, от которых они не защищают, к счастью, редки. А вот пара случаев срабатывания защиты со сбросом питания и перезагрузкой, по информации от сотрудников RMC, за всё проведённое на орбите время имела место, и ROKVISS выжил.


Мы не можем уделить здесь много места обсуждению вопросов защиты электроники от космического ионизирующего излучения, зато есть хороший человек, который уделил [19].


Инженерами RMC было принято во внимание также и влияние других факторов, действующих в космосе. Электроника подбиралась исходя из требования расширенного рабочего диапазона температур: -45C...+85C. Учитывая отсутствие в вакууме естественного конвекционного охлаждения за счёт контакта с воздухом, для отвода тепла от нагревающихся электронных компонентов был предусмотрен их механический контакт с элементами корпуса робота. Для подогрева критичных к температуре узлов (например, редукторов с присутствующей в них смазкой) в шарнирах были установлены нагревательные элементы. На основе теплового расчёта специально подбирался цвет эмали для покраски корпуса с целью обеспечения желаемых коэффициентов отражения / поглощения солнечного света. Перед отправкой робота на орбиту были проведены испытания на радиационную стойкость (включая испытания на воздействие заряженных частиц), на электромагнитную совместимость и термовакуумные испытания.




Испытания: на электромагнитную совместимость и в термовакуумной камере


Манипулятор ROKVISS был оснащён двигателями, разработанными RMC специально для своих роботов. Теперь эти электродвигатели продаются под маркой TQ-RoboDrive (причём их можно приобрести и в исполнении для космоса). Кстати, именно они послужили источником вдохновения и для разработки собственных двигателей уже российской компанией KUBO Technologies. Кроме того, в обоих шарнирах манипулятора были установлены датчики момента (тоже разработанные RMC), сигналы с которых джойстик использовал для отражения (в заданном масштабе) создаваемых роботом усилий, а внутренний контур манипулятора для реализации режимов управления по усилию и управления механическим импедансом.


Робот работал в автоматическом режиме и в режиме телеприсутствия оператора. Автоматический режим предназначался для выполнения различных операций самотестирования робота. Основной же акцент в эксперименте был сделан на режиме телеприсутствия (ручного управления от джойстика с отражением на нём усилий на рабочем органе) в предположении о том, что грядущее в будущем техническое обслуживание на орбите потребует включения человека в контур управления.




Клаус Ландцеттель руководит проведением эксперимента из центра управления в Вайльхайме


Интересной особенностью эксперимента было то, что для максимального снижения временных задержек в линиях связи управление в режиме телеприсутствия осуществлялось во время сеансов прямой связи между роботом и наземным центром управления (German Space Operation Center, GSOC), расположенным в городке Вайльхайм (Weilheim) недалеко от Оберпфаффенхофена. Поэтому сеансы управления были ограничены по длительности примерно 7 минутами, т.е. временем нахождения МКС в зоне прямой радиовидимости при пролёте над антенной станции слежения. Зато в результате удалось получить время прохождения сигнала туда-обратно в пределах 20 30мс при требовании к поддержанию этого показателя ниже значения в 500мс в качестве условия для реализации режима телеприсутствия. Схема взаимодействия оборудования приведена на рисунке [20].



Проект ROKVISS имел продолжение в виде космических экспериментов Контур и Контур-2, выполнявшихся совместно с ЦНИИ РТК. В рамках первого из них в 2009г. управление манипулятором на орбите производилось уже не из наземного центра в Вайльхайме, имевшего прямой специальный канал связи с роботом, а из другой точки планеты, связывавшейся с Вайльхаймом через интернет и средствами интернета. Этой точкой вначале стал домашний офис немецкого руководителя проекта (Клауса Ландцеттеля), а затем Санкт-Петербург. Время прохождения сигнала туда-обратно при этом возросло до примерно 80мс, которые по-прежнему позволяли выполнять задачи эксперимента с хорошим качеством.


В эксперименте Контур-2 [21] (2011 2016гг.) был изготовлен специальный космический джойстик с отражением усилия, предназначенный для работы на МКС. Робот и пульт управления поменялись местами: теперь уже космонавты управляли роботами, находящимися на Земле (в Оберпфаффенхофене и Санкт-Петербурге). Обоснованием для эксперимента являлись будущие миссии по исследованию планет, в которых, согласно предположению, роботы должны будут выполнять работы на их поверхности под управлением космонавтов, находящихся на орбите.


Упомянем ещё о проекте METERON [22] (Multi-purpose End-To-End Robotic Operation Network), инициированном ESA и состоявшем из серии экспериментов, подготовленных и выполненных в 2014 2018гг. при участии ESA, NASA и DLR. Проект также был посвящён отработке управления будущими напланетными роботами с орбиты. Например, астронавты с борта МКС управляли роверами, находящимися на земле, также проводились и другие эксперименты (см. здесь и здесь). RMC участвовал в проекте с экспериментом SUPVIS JUSTIN, в рамках которого астронавты управляли роботом Rollin Justin, работавшим в испытательной лаборатории в Оберпфаффенхофене в специально созданном для выполнения задач эксперимента окружении. Поскольку теперь связь была организована через телекоммуникационный спутник NASA, находящийся на геостационарной орбите, время прохождения сигнала от МКС до Оберпфаффенхофена через спутник и наземный центр в США (туда-обратно) возросло уже до примерно 800мс. В результате концепция управления поменялась: теперь она называлась супервизорная автономность (supervised autonomy) и подразумевала выдачу на робот команд уровня составной задачи, включающей сразу несколько движений, вместо непосредственного ручного управления. Видео об этом эксперименте можно посмотреть здесь.


С немецким астронавтом Александром Герстом пока ещё на Земле


На сайте RMC можно узнать ещё о многих космических проектах, выполненных Центром и выполняемых в настоящее время. Однако я бы обратил внимание на то, что они уже составляют меньшую часть, по сравнению с другими проектами. Там есть и медицинские системы, и роботы-гуманоиды исследовательского (т.е. всякого разного непонятного) назначения, и мобильные наземные платформы колёсные и шагающие. Есть проекты, посвящённые роботизированному производству, повышению автономности роботов, совершенствованию разных аспектов взаимодействия роботов с человеком и т.п. RMC постепенно спускается из глубин космоса на Землю.


Думаю, свою роль здесь играет то, что современная космонавтика в мире зашла в определённый тупик. После поражавших воображение достижений 1950-х 1970-хгг. человечество подходит к пределу возможностей имеющихся космических технологий. Завершилась стадия интенсивного роста, началась стадия оптимизаций. Ещё возможны новые результаты, но для качественного сдвига нужен следующий технологический прорыв, а почти всё, чего можно достичь сегодня, уже было раньше. Поэтому современные исследования в космосе всё более специализируются и остаются, преимущественно, на уровне высокой науки, а об их результатах мало кто знает, кроме специалистов. Широкой публике эти исследования непонятны. Как говорят: это космос!


Развиваются же, в основном, те космические проекты, которые выполняются для земных нужд и на околоземных орбитах: телекоммуникации, дистанционное зондирование (ДЗЗ), военные разработки. Они могут быть экономически целесообразными и/или приносить другой значимый результат. А всё остальное, соответственно, и финансируется по остаточному принципу.


Наверное, и поэтому тоже RMC занялся внедрением космических технологий в земные дела. Они ближе, и эффекта здесь можно добиться быстрее. Кстати, о земных делах...


LWR один из первых коллаборативных роботов


Мы уже говорили о том, что RMC отсчитывает историю робота LWR (LBR) с того момента, когда в ходе подготовки космического эксперимента ROTEX обнаружилась потребность для астронавтов в наземном манипуляторе, сходном по размерам и функциональности с манипулятором, размещаемым на орбите, с 1991г. Исследования в данном направлении привели к созданию вначале (в RMC) трёх поколений всем известного теперь робота: LWRI, LWRII и LWRIII.


Манипулятор DLR LWR I со схватом DLR Hand I


Отличительные особенности этих роботов:


  • интегрированная в шарниры силовая и управляющая электроника, внутренняя прокладка кабелей;
  • установка датчиков момента на выходном валу шарниров (после редуктора) для измерения моментов во всех сочленениях;
  • унифицированная легковесная конструкция мехатронных модулей;
  • новые методы управления, основанные на измерении моментов.

Да, для того времени такие решения не были очевидными. Быть первым всегда труднее всего.


LWR II


Наиболее совершенным оказался манипулятор третьего поколения, LWRIII. В нём были применены электродвигатели, разработанные в RMC, которые уже упоминались выше. Эти бесколлекторные двигатели постоянного тока с постоянными магнитами на роторе (BLDC в англоязычной литературе) в бескорпусном варианте для возможности оптимального встраивания при конструировании, с полым ротором, обеспечивающим компактную внутреннюю прокладку кабелей, с относительно небольшой частотой вращения и относительно высоким крутящим моментом хорошо подходят для применения в роботах. И вот теперь они тоже спустились из космоса на Землю.


LWR III


Как обычно и бывает, когда меняется главный узел изделия (в манипуляторе это двигатель), было переработано и улучшено и всё остальное. Для LWRIII в RMC были разработаны также собственные энкодеры, переделаны все электронные блоки, изготовлены новые корпусные детали округлых форм из нового на тот момент материала пластика, армированного углеродным волокном, которые улучшили внешний вид робота. Порядок следования степеней свободы в кинематической схеме 7-степенного робота был изменён на антропоморфный, чтобы повысить интуитивную понятность манипуляций. Важно, что LWRIII был оптимизирован с точки зрения технологичности и стоимости изготовления за счёт применения повторяющихся элементов.


Как уже было сказано, все три поколения манипулятора использовали датчики момента, необходимые для очувствления по усилиям и также разработанные в RMC сначала на базе LVDT-датчиков (для LWRI), а затем переработанные на основе тензометрических датчиков (для LWRII и LWRIII). Датчики момента вещь капризная. Зато они позволили:


  • обеспечить детектирование столкновений и даже слабых касаний;
  • реализовать режим программирования манипулятора методом демонстрации (когда манипулятор следует за тянущим его по траектории усилием оператора и запоминает эту траекторию);
  • получить возможность активного гашения вибраций и компенсации прогибов лёгких и гибких шарниров и звеньев, за счёт чего удаётся достичь высоких точностей позиционирования и малой длительности переходных процессов, сравнимых с аналогичными показателями гораздо более тяжёлых и жёстких промышленных роботов;
  • наконец, управлять коэффициентами жёсткости и демпфирования, программируемыми в обобщённых или декартовых координатах в пределах от нуля до максимального значения (соответствующего управлению по координате) т.е. получить как раз те самые алгоритмы управления механическим импедансом.

Алгоритмы управления механическим импедансом делают манипулятор подобным системе пружина демпфер с любыми заданными параметрами жёсткости и демпфирования. За счёт этого можно получить ряд интересных применений, которые будут показаны во второй части статьи (например, обтекание встречаемых на пути препятствий или активная податливость манипулятора). Отделить при этом штатные нагрузки на звеньях манипулятора, вызванные гравитацией и инерционными силами при движении, от контактных воздействий со стороны внешней среды позволяет построение достаточно точной динамической модели робота.


Вот так внешне выглядит управление механическим импедансом. Показаны комплексные режимы для робота Justin, построенного на базе манипуляторов LWRIII


Когда мы говорим о жёсткости и демпфировании при управлении механическим импедансом, мы имеем в виду активные жёсткость и демпфирование. Т.е. эти виртуальные пружина и демпфер на самом деле физически не существуют, а реализуются приводами, что отличает их от реальных деталей и звеньев с (пассивной) податливостью.


Возвращаемся к нашим манипуляторам. Если кто-то думает, что на LWRIII разработка к 2003г. закончилась, то он ошибается. Закончилась только первая стадия, исследовательская. А дальше началась стадия вторая трансфер технологий компании KUKA, по соглашению между ней и DLR. Вначале, в 2003г., стартовал проект PAPAS, в рамках которого создавалась среда разработки для манипулятора, а также контроллер LWRIII был подключён к контроллеру KUKA (KRC). Это позволило использовать интерфейс KUKA для программирования робота. Результат был представлен в 2004г. на выставке Automatica2004.


Затем за счёт финансирования от KUKA и в рамках проекта DESIRE работа манипулятора была полностью переведена под управление контроллера KRC, что позволило исключить временные задержки, возникавшие при передаче данных, и за счёт этого повысить быстродействие. Также были улучшены алгоритмы управления механическим импедансом.


И опять ещё ничего не закончилось. Ведь только теперь-то всё и началось! А именно, началась, наконец, разработка коммерческого продукта. Параллельно с проектом DESIRE шла работа по подготовке к серийному производству. Из RMC в KUKA передавались (кстати, вместе с некоторыми специалистами) ноу-хау по разработке легковесных манипуляторов, их сенсорики и интегрированной электроники. Все составные части робота снова подверглись тщательной ревизии. В итоге была изготовлена серия из 18 манипуляторов уже под наименованием KUKA LBR3. Этот манипулятор был представлен на выставке Automatica2006.


Потом был разработан KUKA LBR4. Для него опять были модифицированы некоторые конструктивные элементы: редуктора, кабельные трассы для упрощения и удешевления робота. RMC переработал для KUKA программное обеспечение контроллера. Было повышено удобство для пользователей, добавлено много новых программных функций (детектирование контакта, виртуальные стены, взаимное наложение движений), появилась возможность задавать параметры управления механическим импедансом в декартовых координатах через системные переменные и т.д. Было существенно повышено быстродействие, так что стало возможно переключение режимов управления сервоприводами например, в случае внешнего контакта всего за 1мс. Это достигается за счёт высокой частоты обмена внутри контуров управления: 3кГц для внутреннего и 1кГц для внешнего контура.


Частота управляющего контура особо критична именно для силомоментных режимов управления, использующих обратную связь с датчиков сил / моментов. При управлении по координате (положению или скорости) всё проще. Как нам говорили сотрудники RMC, по их опыту, для управления по моменту требуется частота 500Гц, а лучше 1кГц. И дальше добавляли, что ещё лучше ещё больше. Ну, вот в LBR4 они и сделали 3кГц. Эти самые килогерцы и спасали того вышеупомянутого весельчака, которого LBR шлёпал по лбу металлическим блином.


LBR4 весит 15кг при номинальной грузоподъёмности 7кг. Благодаря малому весу, он обладает пониженным энергопотреблением, что, в частности, позволяет запитывать его от батарей. А ещё он мобилен: к месту установки его можно принести в руках. Ещё не так давно это было бы невозможно для промышленных манипуляторов. Также были бы невозможны и такой уровень очувствления, и программируемая гибкость робота, причём раздельно по всем осям: обобщённым или декартовым.


Производство LBR4 началось в 2008г. И всё же производители посчитали, что этот робот, по-прежнему, ещё не был готов для использования на производстве, поэтому основным его покупателем явился исследовательский сектор.


Только к 2013г. манипулятор, уже под маркой LBR iiwa, был доведён до стадии массово выпускаемого продукта. Он выпускается в двух модификациях: грузоподъёмностью 7кг (масса22,3 кг) и грузоподъёмностью 14кг (масса 29,5кг).


Наконец, в 2018 г. KUKA представила новый коллаборативный робот LBRiisy. Правда, на официальном сайте компании этого манипулятора пока (на сентябрь 2020г.) ещё нет в продаже. Наверное, когда-нибудь появится.


KUKA iisy: программирование методом демонстрации и другое [23]


За чей счёт этот банкет?


Обратите внимание на сроки разработки манипулятора, начавшейся аж в 1991г., а завершившейся окончательной подготовкой к массовым продажам только к 2013 г. Логично задать вопрос: а кто оплачивал труд разработчиков всё это время? За чей счёт этот банкет?


Ответ на этот вопрос есть, да и не скрывается, потому что в научных публикациях принято указывать источники финансирования исследований. Если говорить о проектах RMC по космической робототехнике, то вполне очевидно, что они финансировались за счёт бюджетных, государственных средств. Все рассмотренные выше космические проекты это, с точки зрения робототехники, интересно и местами круто, а вот с точки зрения бизнеса вообще нечего продавать.


Если же говорить конкретно о манипуляторе LWR / LBR, то и здесь доля бюджетного финансирования на стадии разработки была весьма значительна [24]. Сомневаюсь, что можно найти цифры, но всё же давайте смотреть.


Начальная стадия разработки проводилась в рамках подготовки космического эксперимента ROTEX. В 2003г. стартовал проект PAPAS, профинансированный Министерством образования и науки Германии (Bundesministerium fr Bildung und Forschung, BMBF), в ходе которого LWRIII был переведён под управление контроллера KRC от KUKA. Результаты были представлены на выставке Automatica2004. Показав хороший результат, RMC вновь получил финансирование от BMBF уже в рамках проекта DESIRE с целью полного переноса управляющих программ на контроллер KRC. Новый манипулятор был показан на выставке Automatica2006.


По линии Правительства Германии финансировались также проекты NEUROS, LISSY, DIROKOL, MORPHA.


Ещё был проект SMErobot, финансируемый по программам Евросоюза, целью которого было заявлено создание малогабаритного манипулятора для малых и средних предприятий третьей руки рабочего. Третья рука была продемонстрирована на Automatica2008. На базе этого проекта стартовал следующий, PHRIENDS (также евросоюзовский), посвящённый исследованию возможности совместной работы человека и робота на предприятии, учитывая риск физического контакта между ними. В рамках ещё одного финансируемого Евросоюзом проекта BRICS разрабатывался программный интерфейс для манипулятора LWR.


Финансовая поддержка в ходе разработки DLR и KUKA малогабаритного манипулятора оказывалась также Правительством Баварии за счёт средств Исследовательского фонда Баварии (Bayerische Forschungsstiftung) и общества Инновационная Бавария (Bayern Innovativ).


Существенные инвестиции в разработку манипулятора вложила и компания KUKA. Но чтобы показать масштабы государственной поддержки, здесь были нарочно перечислены только целевые проекты, финансировавшиеся именно за счёт бюджетных средств. Подозреваю, что и это ещё не всё из того, что было прямо или косвенно вложено со стороны государства Германия. Но вряд ли многие из посетителей на выставках, небрежно таскающих для развлечения манипулятор за хобот и лениво колупающих ногтиком краску, догадываются, как много труда, времени и средств потребовалось для его создания!


Заключение


Похоже, что мечту человечества о межзвёздных перелётах и колонизации планет придётся отложить на неизвестный срок. Вот и с российскими проектами по космическим буксирам на основе ядерных энергодвигательных установок, насколько я знаю, пока дела не особо клеятся. А за рубежом так и вовсе альтернативных предложений нет Так что мы, ныне живущие, скорее всего, не увидим высадку первого человека на Марс. А больше в Солнечной системе человеку и лететь-то некуда. Ну, разве что базу на Луне вроде технически можно создать. Правда, непонятно, действительно ли это нужно и зачем именно сейчас. А стратегическая цель, грандиозная и всем понятная, оказалась недостижимой в обозримой перспективе.


Но давайте мы как робототехники взглянем на это с оптимистической точки зрения. Дело в том, что в космосе полезных дел и сейчас видно столько, что за два поколения не переделать! Можно ремонтировать спутники на орбите, продлевая срок их службы. Можно уводить с орбит космический мусор. Можно строить в точках Лагранжа космопорты (например, космические заправочные станции) и снабжать их при помощи автоматических КА. Можно сооружать в космосе крупногабаритные конструкции, которые затруднительно целиком вывести на орбиту, например, антенны большой апертуры для ДЗЗ или большие космические телескопы для исследования дальнего космоса. Можно изучать планеты и астероиды с помощью зондов и планетоходов или добывать на Луне гелий-3 Да мало ли что ещё можно!


Ну, а в таких задачах именно роботы должны быть на первых ролях просто потому, что человек может далеко не всё.


DLR RMC один из тех научных центров, которые как раз и стараются подготавливать эти возможности для робототехники. Возможно, не всё получается так быстро, как хотелось бы. Не все задуманные космические проекты вообще реализуются. Зато в случае с RMC это приводит к применению для вполне земных приложений тех технологий, которые изначально разрабатывались для космоса.


Теперь во второй части статьи мы рассмотрим алгоритмы управления механическим импедансом, являющиеся визитной карточкой RMC. Разберём, как они работают и какие возможности это даёт роботам.




  1. DLR Robotics and Mechatronics Center
  2. LBR iiwa Programmable Compliance for Robot Motion Youtube-канал KUKA
  3. Impedance control Wikipedia
  4. History of the DLR LWR
  5. LWR III
  6. Safe Human-Robot Interaktion Youtube-канал saferobots
  7. Rollin' Justin Robot Catches Balls Tossed in its Direction Youtube-канал Hizook
  8. Agile Justin: An Upgraded Member of DLR's Family of Lightweight and Torque Controlled Humanoids Youtube-канал DLR RMC
  9. Rollin' Justin Robot Youtube-канал Hizook
  10. Слова из немецкого марша Das Lied der SA (Denn wir sind die braunen Soldaten), 1933 г.
  11. Слова из песни Du hast метал-группы Rammstein, 1997 г.
  12. Ну Вы сами знаете.
  13. Robot Technology Experiment on Spacelab D2-Mission
  14. STS-55: The D2 Project
  15. The KUKA-DLR Lightweight Robot arm a new reference platform for robotics research and manufacturing
  16. The ESS (Experimental Servicing Satellite) Study and Lab Demonstrator
  17. ROKVISS Robotics Component Verification on ISS
  18. ROKVISS Results
  19. Популярные заблуждения про радиационную стойкость микросхем
  20. ROKVISS. Verification of Advanced Light Weight Robotic Joints and Tele-Presence Concepts for Future Space Missions
  21. Projekt Kontur-2
  22. METERON
  23. An Industrial Robot for Everyone Quickly Solve Repetitive Tasks | LBR iisy Youtube-канал KUKA
  24. См. [15].
Подробнее..

DLR RMC часть 2. Управление механическим импедансом что за зверь и как они его готовят

20.09.2020 04:18:48 | Автор: admin

Ссылка на первоисточник здесь больше порядка с оформлением, особенно, для видеороликов.


Содержание



Es ist noch kein Meister vom Himmel gefallen,
или
Не боги горшки обжигают

Пословица


Введение


Здесь мы расскажем о Центре робототехники и мехатроники (Robotics and Mechatronics Center, RMC) Национального центра авиации и космонавтики Германии. На языке оригинала всё это звучит вот так: Robotik und Mechatronik Zentrum (аббревиатура используется английская, RMC) и Deutsches Zentrum fr Luft- und Raumfahrt (аббревиатура используется немецкая, DLR).


DLR RMC не настолько известен широкой публике, как, например, компания Boston Dynamics, о которой мы уже говорили ранее. Тем не менее, я уверен, что вы наверняка знаете разработки Центра, если хоть сколько-то интересуетесь робототехникой. В первой части мы рассказали о том, каким образом эти разработки связаны с космосом и о том, чем вообще RMC прославился в области робототехники. Здесь же слегка отдёрнем покрывало с интересного подхода к построению робототехнических систем, позволившего учёным и инженерам RMC добиться тех результатов, которые мы можем наблюдать сегодня. Он применён для многих роботов Центра, ставших широко известными, и не только в робототехническом сообществе.


Речь об управлении механическим импедансом (impedance control).


Данный материал родился потому, что возникла идея поделиться тем, что я видел и слышал лично. Просто так, не имея собственного очного впечатления, собрать в кучу всю эту информацию было бы сложнее. Так что, думаю, материал должен быть интересен не только мне. А если он ещё и поможет кому-то сделать первый, самый трудный шаг к робототехническим вершинам в данном направлении, то я буду считать это и своим успехом тоже.


Управление механическим импедансом: о понятиях


Проблемой управления в технике является построение регулятора, отвечающего заданным критериям качества управления. В этой статье, пользуясь доступными публикациями [1], как раз и опишем, как построены регуляторы, обеспечивающие роботы RMC их замечательными качествами.


Давайте вначале проясним, что же это за зверь такой impedance control. Здесь нам важно понять принцип. Программный код писать не будем, ведь конкретная реализация это дело для каждого разработчика личное, интимное. Ну, а вы дерзайте!


Управление механическим импедансом [2], говоря простыми словами, наделяет манипулятор свойствами системы пружина демпфер с регулируемыми по произвольному закону и по произвольным координатам жёсткостью и коэффициентом демпфирования. Причём когда мы говорим о жёсткости и демпфировании при управлении механическим импедансом, мы имеем в виду активные жёсткость и демпфирование. Т.е. эти виртуальные пружина и демпфер на самом деле физически не существуют, а реализуются приводами, что отличает их от реальных звеньев и шарниров с (пассивной) податливостью.



LBR iiwa. Здесь используется термин compliance (податливость), а не impedance. Ну, маркетологам виднее, что ближе пользователям


Кажется, все работы по управлению механическим импедансом ссылаются на профессора MIT Невилла Хогана [3]. Он, рассматривая традиционные методы управления промышленными манипуляторами, выделяет среди них два известных подхода, которые объединяет возможность пренебречь динамическим взаимодействием между манипулятором и внешней средой. В первом случае, когда контакт с внешними объектами отсутствует, усилия взаимодействия равны нулю, и может быть реализовано управление по координате (положению или скорости). По сути, манипулятор здесь рассматривается как изолированная система. Во втором случае, когда при контакте с твёрдым объектом отсутствует перемещение, могут быть использованы алгоритмы управления по усилию. В обоих случаях равна нулю механическая работа, выполняемая манипулятором: dW=FdX=0.


В общем случае динамическими взаимодействиями пренебречь нельзя, потому что манипулятор и окружающая среда взаимодействуют между собой, обмениваясь механической энергией (dW0), а значит, манипулятор уже нельзя рассматривать как изолированную систему. В каждой степени свободы мгновенная мощность этого взаимодействия определяется как произведение двух сопряжённых переменных: усилия (например, силы или крутящего момента; электрического напряжения; и т.п.) и перемещения (например, скорости движения; силы тока; и т.п.). В результате становится недостаточно управлять какой-то одной переменной.


Хоган предлагает единый подход, включающий упомянутые выше в качестве частных решений. Продолжая аналогию с электричеством, он рассматривает два вида свойств, которыми обладают физические системы: импеданс (impedance) и адмиттанс (admittance). Эти понятия знакомы электротехникам в качестве взаимно обратных параметров электрических цепей: комплексного сопротивления и комплексной проводимости. Для систем, описанных в терминах адмиттанса, входом является усилие, а выходом перемещение. Наоборот, для систем, описанных в терминах импеданса, входом является перемещение, а выходом усилие. В случае линейных систем описывающие их системы уравнений могут быть выражены как через импеданс, так и через адмиттанс. Нелинейные же системы могут быть описаны либо через импеданс, либо через адмиттанс, т.е. для них эти параметры не являются взаимозаменяемыми.


Отметим, что традиционно управление промышленными манипуляторами (их механической частью) рассматривается в терминах адмиттанса, поскольку призвано реализовать заданный закон перемещения звеньев манипулятора (на выходе) путём регулирования, в конечном итоге, усилий приводов (на входе механической части).


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



А вот ещё и так можно!


Теперь, вооружённые знанием о том, что в общем случае импедансом должен быть манипулятор, посмотрим, каким образом данный подход реализуется в DLR RMC.


Модель динамики


В робототехнике известно [4] следующее уравнение, описывающее в матричной форме динамику механической части манипулятора в пространстве обобщённых координат q:


(1)


Чтобы оно не казалось страшным, но чтобы при этом и не лезть в литературу, от которой станет ещё страшнее из-за многоэтажных матричных вычислений, поясним, как можно быстро понимать подобные уравнения.


Правая часть это сумма усилий, действующих на звенья манипулятора, заданных вектор-столбцом сил / крутящих моментов со стороны приводов и вектор-столбцом ext сил / моментов со стороны внешней среды. Все компоненты усилий (т.е. элементы вектор-столбцов) заданы в системах координат соответствующих сочленений манипулятора, т.е. в пространстве обобщённых координат.


Левая часть уравнения это то, на что расходуются эти усилия. Первое слагаемое произведение матрицы M(q) масс и моментов инерции звеньев манипулятора на вектор-столбец ускорений в его сочленениях (вспоминаем второй закон Ньютона). Второе слагаемое учитывает центробежные силы и силы Кориолиса, пропорциональные скоростям, т.е. фиктивные силы, которых в природе как бы нет и которые появляются в уравнении только потому, что нам удобнее вести расчёты в системах обобщённых координат, которые для вращательных сочленений являются вращающимися, т.е. неинерциальными. Ну, а третье слагаемое это вектор-столбец g(q) сил гравитации, действующих на сочленения, для текущей конфигурации (положения) манипулятора q.


Итак, сумма всех сил, действующих в сочленениях манипулятора, тратится на преодоление силы тяжести и на сообщение ускорения его звеньям. Как видим, всё очень даже понятно.


Теперь посмотрим, что представляет собой шарнир манипулятора. Как мы уже говорили выше, манипуляторы RMC обладают существенной гибкостью, что и отражено в модели шарнира. На приведённой схеме B обозначает момент инерции ротора двигателя, M массу звена, а K жёсткость упругого элемента в шарнире. Ротор приводится во вращение моментом m, а на звено со стороны внешней среды действует сила Fext (в некоторой базовой системе координат). Уравнение движения ротора выглядит следующим образом:


Манипулятор LWR III и модель его шарнира


,(2)


где это угловое положение со стороны двигателя.


Снова читаем уравнение: электромагнитный момент двигателя m приводит во вращение ротор (первое слагаемое эквивалент того же второго закона Ньютона для вращательного движения), а также создаёт момент на звене манипулятора. Этот момент передаётся на звено через пружину шарнира, поэтому он пропорционален углу скручивания пружины (закон Гука), т.е. разности углов со стороны двигателя и со стороны звена q:


(3)


Выражения (2) и (3), как и выражение (1), записаны в матричной форме. Оговоримся также, что, хотя рассуждения здесь и далее приводятся на примере вращательных движений, они справедливы и для общего случая, т.е. для произвольного типа сочленений (поступательных, вращательных и любой их комбинации).


Управление импедансом в обобщённых координатах


Т.к. мы договорились строить регулятор с управляемыми жёсткостью и демпфированием, рассмотрим его схему. Как видно на рисунке, к рассмотренной выше модели шарнира добавились элементы, соответствующие коэффициентам жёсткости K и демпфирования D регулятора. Также добавилось изображение обратной связи по моменту (показана пунктиром), о которой будет сказано ниже.


Модель шарнира с регулятором вида масса пружина демпфер


Поскольку речь идёт о программном регуляторе, мы можем реализовать любой желаемый закон управления. Исходя из приведённой схемы регулятора вида масса пружина демпфер, закон управления должен быть следующим:



Здесь d желаемый (заданный) угол поворота двигателя, а разность (d ) соответствует углу скручивания виртуальной пружины регулятора. Второе слагаемое уравнения, отвечающее за демпфирование, в соответствии с известной моделью вязкого трения, пропорционально скорости скручивания. Знак минуса перед ним означает стремление к снижению (демпфированию) скорости двигателя.


Глядя на уравнение, можем заметить, что мы имеем, по сути, PD-регулятор по углу поворота двигателя. Приняв



запишем уравнение в следующей форме:


(4)


Для обеспечения качественного управления гибким шарниром при помощи гибкого регулятора важным оказывается снижение инерции промежуточного элемента массы (в данном случае, ротора двигателя). В противном случае, результирующее движение может существенно отличаться от желаемого. Не имея возможности снижения реального момента инерции ротора, мы, тем не менее, можем уменьшить его искусственно путём введения обратной связи по моменту. Поскольку, повторимся, все законы управления реализуются программно, мы можем реализовать следующую обратную связь, регулируя момент двигателя m с помощью внутреннего контура тока:


,(5)


где B желаемый момент инерции ротора, а I единичная матрица (мы ведь по-прежнему ведём записи в матричной форме). Если теперь подставить уравнение (5) в (2), то можно получить:


(6)


Видим, что, с точки зрения верхнего уровня, система (6) с обратной связью (5) аналогична системе (2) без обратной связи, для которой мы бы самостоятельно выбирали произвольный момент инерции ротора B и желаемый закон изменения момента двигателя u.


Управление импедансом в обобщённых координатах


Подытожим. Уравнение (4) определяет искомый регулятор с произвольными матрицами коэффициентов жёсткости и демпфирования, реализующий в обобщённых координатах управление механическим импедансом при заданном желаемом законе движения системы, описываемой уравнениями (1), (6), (3), при условии реализации внутренней обратной связи (5) по моменту. Выпишем полученную систему уравнений.


Уравнения динамики системы:


(I)




Уравнение регулятора внутреннего контура:


(II)


Уравнение регулятора для управления импедансом в обобщённых координатах:


(III)



Отметим ещё, что на этом этапе знание модели динамики манипулятора как бы ещё необязательно. Казалось бы, мы реализуем обратную связь внутреннего контура (II), строим регулятор (III), подбирая его коэффициенты, и затем управляем, задавая желаемый закон изменения координаты. Модель динамики понадобится ниже, а здесь её уравнения приведены для понимания процесса.


Управление импедансом в декартовых координатах


На практике часто удобнее задавать желаемый закон управления не в обобщённых, а в базовых (например, декартовых) координатах. Зная решение прямой задачи кинематики, можно найти вектор-столбец декартовых координат выходного звена манипулятора и соответствующую матрицу Якоби в функции координат звеньев x(q), J(q) и координат двигателей x(), J():


,


,


Управление импедансом в декартовых координатах


Как мы помним из обсуждения выражения (6), управляющий сигнал u в уравнении (4) имеет физический смысл желаемого момента двигателя, причём его слагаемые отвечают, соответственно, за составляющие виртуальной пружины (K) и виртуального демпфера (D). Учитывая [5], что


,


можно записать уравнение регулятора (4) в декартовых координатах, преобразуя моменты в сочленениях в силы на выходном звене:


,


или:


,(7)


где Kx и Dx матрицы коэффициентов жёсткости и демпфирования манипулятора в декартовых координатах, а



вектор-столбец взятых с обратным знаком отклонений текущих координат выходного звена от желаемых xd. Наконец, продифференцировав выражение для x() по времени, получим:



Таким образом, для управления механическим импедансом в декартовых координатах в системе уравнений (I), (II), (III) необходимо лишь заменить уравнения регулятора (III) в обобщённых координатах на уравнения (IV), записанные в форме (7):


(IV)




Теперь матрицы коэффициентов жёсткости и демпфирования, а также вектор-столбец желаемого движения системы можно задавать в декартовых координатах.


Компенсация гравитации

До сих пор в уравнениях для регулятора не учитывалось влияние силы тяжести. Тем не менее, в случае с упругим приводом её учёт необходим. Это делается путём разделения задающего сигнала на составляющие, одна из которых осуществляет собственно управление движением (как было описано выше), а вторая только компенсирует действие силы тяжести. В статьях RMC указывается, что хорошего результата удаётся добиться в случае расчёта компенсирующей составляющей в координатах со стороны двигателя исходя из условия установившегося равновесного состояния.


Алин Альбу-Шеффер демонстрирует отдельно режим компенсации гравитации: робот Justin свободно движется под воздействием внешних сил


Условие равновесия, при котором сила упругости, возникающая вследствие скручивания пружины шарнира, уравновешивает силу тяжести со стороны звена, для некоторых равновесных координат 0, q0 (соответственно, со стороны двигателя и со стороны звена) может быть записано следующим образом:



где g(q0) вектор-столбец сил, вызванных гравитацией и действующих на сочленения, рассчитанный для конфигурации манипулятора q0 см. уравнение (1). Выражение для g(q) мы знаем из модели динамики манипулятора. Собственно, здесь нам в первый раз потребовалось знание модели динамики для её непосредственного учёта в уравнениях регулятора.


На основе этого условия равновесия найдём компенсирующую добавку ug размерности момента двигателя для уравнений (4), (7) управляющего сигнала u:


,


,



Введённые здесь новые обозначения используются для упрощения записи, чтобы показать, что компенсирующая добавка ug может быть выражена как функция угла .


Режим компенсации гравитации для LBRiiwa


Выпишем теперь систему уравнений, описывающую динамику манипулятора и регулятор для управления импедансом, с учётом составляющей для компенсации силы тяжести:


Уравнения динамики системы:


(I)




Уравнение регулятора внутреннего контура:


(II)


Уравнение регулятора для управления импедансом в обобщённых координатах:


(V)



Уравнение регулятора для управления импедансом в декартовых координатах:


(VI)




А ещё модель динамики позволяет выделить внешние усилия на звеньях робота (например, с целью реализации режима контроля внешних усилий для безопасной совместной работы с человеком)


Вязко-упругие шарниры


Теперь, наконец, можем привести общую структурную схему регулятора для управления механическим импедансом, уравнения которого мы всё это время выводили:


Регулятор для управления механическим импедансом в декартовых координатах


Казалось бы, на этом всё? Не совсем. Вроде все переменные на схеме нам уже известны и соответствуют приведённым выше уравнениям. Кроме выходного момента a. Но в наших-то уравнениях записан . В чём разница? Посмотрите на модель шарнира, приведённую в начале статьи. Видите в ней между ротором B и звеном M элемент жёсткости K? А на схеме регулятора к нему добавился демпфер D. Потому что в модели шарнира могут быть учтены не только его упругие, но и демпфирующие свойства:



Здесь составляющая K, в соответствии с (3), пропорциональна углу скручивания пружины шарнира,


,


а D (вязкое трение) скорости скручивания,



Обозначая привычно = K, легко показать, что:


,


,


и тогда модель динамики системы (I) запишется в виде [6]:


(VII)





Ну, вот теперь, кажется, всё.


Сложные режимы управления импедансом для робота Justin. Связанный пространственный импеданс виртуальная пространственная пружина: между схватами рук; прикреплённая к объекту манипулирования


Заключение


Вспоминая обсуждавшееся в статье о Boston Dynamics деление методов построения систем управления роботов на две условные группы: классические и практические, мы можем уверенно отнести рассмотренный здесь подход к классическим. Он не противоречит традиционно применявшимся для промышленных манипуляторов и теоретически проработанным методам управления по координате, а дополняет их. Дотошные немцы разработали алгоритмы в аналитическом виде, провели их детальный анализ, доказали устойчивость.


В эту статью вошло далеко не всё. Здесь мы только рассмотрели саму идею, доказавшую свою работоспособность. Вот и наши ребята в ЦНИИ РТК в 2016 г. сумели соорудить первую работающую версию манипулятора с управлением импедансом [7]. Кажется, первая оказалась и последней, но это уже другая история. Главное что получилось!


Поддержание заданного вертикального усилия


Обтекание препятствия


Манипулятор-пружина


И хоть с огрехами, но штырь лезет в отверстие!


Ну, а в RMC не остановились на достигнутом и продолжили разработку алгоритмов управления импедансом [8]. Подтверждением тому является робот David, на котором исследуется управление импедансом теперь уже для гибких приводов, которые специально спроектированы гибкими. В отличие от традиционных гибких манипуляторов, в которых податливость является вынужденным результатом мероприятий по снижению веса.


Робот David: ES- (ESP-) управление развитие алгоритмов управления механическим импедансом


Если же говорить о развитии отечественной робототехники, то стоит учиться на лучших мировых примерах, таких как пример RMC. Здесь была предпринята попытка не скучно написать формулы, а сделать их понятными. Когда человек понял идею, заинтересовался, то дальше он уже и сам разберётся в деталях (а потом и усложнит всё обратно до какой угодно степени скучности). Так что пусть меня простят строгие математики за допущенные вольности, если этот текст сможет вдохновить кого-то из начинающих (или не очень начинающих) робототехников, пробивающих свою дорогу к великому будущему!



  1. См., например: A Passivity Based Cartesian Impedance Controller for Flexible Joint Robots Part I: Torque Feedback and Gravity Compensation,
    On the Passivity-Based Impedance Control of Flexible Joint Robots,
    A Unified Passivity-based Control Framework for Position, Torque and Impedance Control of Flexible Joint Robots
    и др.
  2. Impedance control Wikipedia
  3. N. Hogan. Impedance Control: An Approach to Manipulation: Part 1 Theory, Part II Implementation, Part III Applications
  4. См., например: Шахинпур, М. Курс робототехники. Пер. с англ. М.: Мир, 1990. 526 с.: ил. ISBN 5-03-001375-X (глава 5)
  5. См. [3]
  6. Честно говоря, мне кажется, что уравнения (VII) должны выглядеть так:


    Потому что демпфирующий момент до звена манипулятора на доходит. На то он и демпфирующий.
    Возможно, когда-нибудь я проясню этот вопрос.
  7. Implementation of impedance trajectory control on a 6-DoF manipulator
  8. Elastic Structure Preserving (ESP) Control for Compliantly Actuated Robots
  9. Impedance Control for Soft Robots Youtube-канал DLR RMC
  10. Youtube-канал KUKA
  11. Justin Humanoid Robot with DLR III arms and DLR II hands Youtube-канал Hizook
  12. Joint Impedance Control with Kuka lwr Youtube-канал Hamid Sadeghian
  13. Cartesian Impedance Control wwith KUKA LWR Youtube-канал Hamid Sadeghian
Подробнее..

Роботы на карантине

04.08.2020 12:21:41 | Автор: admin
Тут недавно мужики на Хабре рассказывали про Flipper и отладку на осциллографе по видеосвязи.

И это, конечно, победа вне конкурса! Но и у нас был интересный опыт отладки робота, находящегося в 2000 км от нас в лодочном гараже на норвежском побережье. Под катом рассказ о том, как мы делали зрение и правили облачные мозги роботам во время карантина удаленно:



Весной мы сделали прототип всей системы удаленного управления по 3D стриму и обучения роботом на двуруком YuMi и познакомились норвежской компанией, чье решение нам очень кстати для трансляции 3D потока Realsense камер Aivero. Так что после не самого простого рабочего периода планы казались безоблачными: слетать в Италию на месяц зимы с семьей, оттуда поездить по выставкам робототехники в Европе и закончить все остановкой на пару недель в городе с прекрасными фьордами в округе Ставенгер, где и обсудить интеграцию 3D кодеков в нашу систему и попробовать убедить Aivero собрать пару роботов вместе.

Что могло пойти не так в этом замечательном плане

Сидя 2 недели на карантине после возвращения (не без приключений) из итальянского локдауна, пришлось сдуть пыль со своего разговорного и письменного английского и исполнять вторую часть плана уже в Zoom-е, а не в антураже фьордов.

Хотя, тут как взглянуть. Карантин заставил многих всерьез начать работать над возможными способами автоматизацией там, где человека не сложно заменить. Тем более для западных стран, в которых минимальная зарплата выше 1500 Евро, где роботизация простого ручного труда актуальна и без текущей эпидемиологической обстановки.

Подключаем разных роботов


Напомню, мы сделали обучение роботов по записям удаленного управления. Т.е. робот подключается к интернету, к нашему облаку и начинает слать 3D картинки и показания датчиков. Обратно получает команды и исполняет их. В такой логике наша задача научить ML процессор вести себя также, как оператор. 3D нужно, чтобы отрисовать оператору сцену в виртуальной реальности. Это удобно, да и ML становится намного точнее при хватании объектов, когда есть карта глубин.

По задумке, мы можем подключать разнообразных роботов к нашему облаку, но создавать их все разнообразие самим это очень тернистый путь. Мы же фокусируемся на их мозгах, на обучении.
В итоге договорились с Aivero о создании универсального однорукого робота с 3D глазами их силами, назовем его Юнит, а весь облачный Robotics достается делать нам.

В приоритете была простота и цена решения для конечного заказчика. И, конечно, универсальность. Мы хотим минимизировать порог входа для автоматизации простого ручного труда. В идеале, чтобы даже владелец малого бизнеса, не обладающий специальными навыками, мог купить или арендовать наш Юнит, поставить его на рабочем месте и запустить.

Подумали пару недель, потестировали гипотезы пару месяцев и вот, что получилось (версия с Jetson AGX в основании и другой обзорной камерой, чем на заглавной):



И прожектор поближе:



Состав:

  • Jetson NX
  • 2 3D камеры Realsense (одна обзорная, другая для рабочей области)
  • прожектор
  • вакуумный насос, если нужен
  • роборука (Eva / UR / ABB YuMi) с вакуумным или механическим захватом
  • интернет WiFi или проводной



Такая телескопическая стойка с вычислителем и вакуумным насосом в основании ставится рядом с рабочей областью робота, подключается к интернету (например по QR коду к WiFi), и сразу начинает решать поставленную задачу практически без настройки.

Здесь можно сразу оценить и стоимость. Самая доступная роборука Eva 8000 Евро (в России не поставляется), а UR10 уже обойдется почти в 50 000 Евро, но тут нужно отметить, что UR заявляет значительно большую надежность, так что в долгосрочной перспективе может оказаться и не сильно дороже. Да и дешевеют они последнее время. Остальной комплект обходится еще около 2000 Евро.

ABB YuMi IRB 14050


Мы раньше имели дело с двуруким YuMi, но здесь попробовали новую версию IRB14050, которая по сути просто одна оторванная рука.


Кратко, чем понравилась:

  • точность и механическое качество исполнения
  • высокая чувствительность к коллизиям и демпферы на суставах

и не понравилось:

  • тяжело удаленно разрешать коллизии и нештатные ситуации
  • малый угловой ход некоторых суставов делает траектории довольно сложными для, казалось бы, простых движений, которые для кинематики других 6-ти координатных рук не представляют сложности
  • малая грузоподъемность в сравнении с аналогами
  • дополнительно требует заливать (а порою и отлаживать) программу на своем языке программирования от ABB, которая обрабатывает команды по TCP от компьютера

И не кратко.

Здесь мы потратили больше всего времени. Рецепт, как запускать, совсем не простой:

  1. Возьмите машину с Windows, т.к. иначе не получится установить RobotStudio от ABB.
  2. Идем в репу https://github.com/BerkeleyAutomation/yumipy и добываем там RAPID (это язык программирования от ABB) файл для загрузки в робота (у нас одна рука, так что левая или правая подойдут одинаковые), заодно переделываем python API для однорукого YuMi IRB 14050 вместо двурукого IRB 14000.
  3. Если хотим планирование траектории, то находим IRB14000 urdf файл описания геометрии робота и его кинематики для ROS moveit. Удаляем одну руку и корпус робота IRB14000, так и получаем IRB14050.
  4. Забираем из планировщика ROS moveit нужную траекторию и с помощью слегка модифицированного Python API запускаем.
  5. В случае коллизии или иных происшествий запускаем FlexPendant for OmniCore, сбрасываем состояние и визуально разрешаем проблему.

Но, конечно, это лишь возможная траектория того, как можно заставить YuMi повиноваться, да и всех мелочей, где можно споткнуться, тут не упомянуть, конечно.

Eva




Кратко, чем понравилось:

  • Конечно, цена
  • API простое и лаконичное

И минусы:

  • нет детекции коллизий (заявлено в релизе осенью)
  • точность позиционирования над ней еще нужно поработать производителю, но нам хватает

Конечно, простота управления подкупает:

pip install evasdk 

и

import evasdkeva = evasdk.Eva(host_ip, token)with eva.lock():    eva.control_wait_for_ready()    eva.control_go_to([0, 0, 0, 0, 0, 0])

И роборука вжух! и исполняет.

Нет, конечно, потом мы смогли переполнить логи в контроллере руки, после чего она переставала слушаться. Но надо отдать должное производителю создание issue в их гите хватило, чтобы они разобрались в причинах (и привело к паре созвонов с целым консилиумом о наших проблемах).

И в целом, Automata (производитель Eva) большие молодцы! Надеюсь у них получится расти и развиваться на рынке робототехники и дальше, делая роботов сильно доступнее и проще, чем они есть сейчас.

UR



Понравилось:

  • отлично сделана по механике и высокая точность
  • большие диапазоны углов в суставах, что делает планировку траектории заметно проще
  • коллизии можно разрешить в VNC Viewer, подключившись к компьютеру роборуки
  • хорошо отлажена в инфраструктуре ROS

Минусы:

  • устаревшая ОС на контроллере UR, где-то уже полтора года нет никаких обновлений безопасности
  • все-таки не самый современный способ коммуникации, хотя он неплохо прикрыт доступными открытыми библиотеками

Из питона роборука доступна в двух основных сценариях:

  1. Установить https://github.com/SintefManufacturing/python-urx и наслаждаться. Немного длиньше листинг, чем в случае evasdk, так что не буду приводить. Также есть известные проблемы совместимости с новыми роборуками, судя по issue-трекеру. Кое что пришлось так же поправить под себя, т.к. не все режимы перемещения были имплементированы в библиотеке, но это тонкости.
  2. Пойти по особому ROS-до (https://github.com/ros-industrial/universal_robot). Для тех, кто в ROS как рыба, тут все просто: немного магии с загрузкой некого скрипта в тушку UR и вы можете использоваться moveit (очень полезный кусок ROS, который позволяет, например, планировать траекторию в условиях наличия препятствий).

Мы стараемся избегать ROS, т.к. частично его функции (брокер сообщений) выполняет rabbitmq в нашей системе, да и происходит серьезное усложнение стека используемых технологий. Так что для случая, когда нужно объезжать препятствия, мы инскапсулируем ROS в микросвервис на серверной стороне.

А теперь трюк!

Чтобы вы понимали, UR это:



Т.е. любой чих разрешается на тач-панели робота. И чтобы не 5 раз на дню мучать нашего коллегу из Aivero, гоняя в лодочный гараж, нужно как-то влезть туда удаленно.

Оказалось, что на UR контроллере установлен linux (и кстати не самый слабый x86 процессор).
Набираем ssh IP user: root, password: easybot.

И вы в Debian Wheezy.

Так что берем и ставим VNC server и обнаруживаем себя полным хозяином робота! (Тут надо только заметить, что Wheezy уже 2 года как не обновляется и просто взять и поставить vnc сервер у вас не получится из-за устаревших регистров. Но тут есть ссылка на magic file, который позволяет это сделать).

Кстати, в Universal Robots, когда мы им показали наше демо, сказали, что подобное удаленное управление требует новой процедуры сертификации безопасности. Справедливо. Очень любопытно, как в Smart Robotics с этим обстоят дела в целом. Не могу представить, чтобы переменные целеуказания от компьютерного зрения могли бы быть 100% безопасны для окружающих.

Пришло время учить робота хватать коробочки


Напомню, мы же показываем что делать роботу в VR:


Т.е. у нас по каждому перемещению записано, как выглядела сцена и что за команда была, например такая:

{op": "pickup_putdown_box", "pos1": [441.1884, -112.833069, 151.29303],"pos2": [388.1267, 91.0179138, 114.847595],"rot1": [[0.9954941, 0.06585537, -0.06822499], [0.0917332, -0.851038456, 0.517028868], [-0.0240128487, -0.52095747, -0.85324496]],"rot2": [[0.992139041, 0.102700718, -0.07150351], [0.100485876, -0.99436, -0.0339238755], [-0.0745842, 0.026472155, -0.996863365]],"calibration": [[-0.01462146, 0.9814359, -0.191232175, 551.115051], [0.9987302, 0.0051134224, -0.0501191653, -6.613386], [-0.0482108966, -0.191722155, -0.9802644, 771.933167]],"box": [[474.331482, -180.079529, 114.765076], [471.436157, -48.88102, 188.729553], [411.868164, -180.27713, 112.670532], [476.105164, -148.54512, 58.89856]],"source": "operator"}

В общем этого нам достаточно, чтобы обучить сеточки определять bounding box объекта в пространстве и где его хватать.

Так что сидим полчаса и показываем роботу как жонглировать 4-мя типами коробок, получаем около 100 примеров. Нажимаем магическую кнопку ну точнееsudo docker run -e INPUT_S3_FOLDER= OUTPUT_S3_FOLDER= rembrain/train_all_stages:dev. И идем спать. С утра докер отправляет сообщение ML-процессору обновить веса, и мы с замиранием сердца (роботов хоть и дали бесплатно тестировать производители, стоят денег прямо серьезных), запускаем и



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

Однажды мой двухлетний сын подошел и решил поиграться с VR трекером. Залез на стул, взял его с подоконника И отправил UR10 в невообразимое путешествие, отодвинув штангу с камерой и заведя роборуку в довольно хитрое положение. Так что пришлось добавить немного предохранителей в управление. И вторую обзорную камеру, т.к. иначе порою просто не видно куда уехала рука и можно ли ею двигать.

А если без шуток, то точность детекции таких не сложных коробок в наших тестах превышала 99.5% даже при небольшой обучающей выборке из нескольких сотен примеров. Основной источник проблем здесь уже не компьютерное зрение, а сопутствующие сложности: например, какие-то аномалии в исходной укладки объектов, или непредусмотренные помехи в кадре. Но затем мы и делаем обучающуюся систему с операторами в цикле, чтобы быть готовым ко всему, разрешая проблемы, не вовлекая живых людей на месте.

Еще об одном алгоритме, о том, что меня в backend и промахе в UI frontend-е
Проблема плотной упаковки

Иногда bin-picking применения соседствуют с задачей bin-stuffing, ну т.е. разумной упаковкой в корзину. В случае одинаковых объектов это не проблема. Но если мы говорим даже о коробочках разного размера, это реально сложная задача упаковки.

Можно эту задачу решать через планирование, но в нашем случае мы не можем гарантировать, что все легло ровно как мы планируем. Поэтому придется играть в тетрис. Т.е. смотреть что у нас сейчас в корзине, куда все складываем, и думать куда поставить задетектированный объект. Такой жадный подход здесь не самый лучший, но иначе все становится сильно сложнее.

Таким образом, мы переводим трассируем луч по пикселю карты глубин и заполняем воксельный объем корзины. А затем ищем самое лучшее место, где расположить новую коробку (на деле самую нижнюю точку, ближнюю к одному углу корзины). Как-то так:



Иногда получается ерунда, т.к. не под частью коробки просто нет опоры, например как здесь:



Backend

Мы придерживаемся прежней схемы, когда каждому роботу отдали по серверу ретрансляции на websocket-ах, как на этой схеме:



Единственное, сервис Coordinator стал разрастаться в кластер с кучей сервисов внутри. Например, свое место там заняли брокер сообщений Rabbit и mongoDB, сборка логов, как у людей (и это кстати правда удобно в распределенной системе). Так же пришлось добавить активный сервис мониторинга, который активно проверяет целостность всей системы и отвечает о текущем статусе каждого робота.

Но и в целом, конечно, работы по backend-у так много, что позаниматься ML частью системы уже за счастье.

И вот у нас слишком сложный UI

Смиритесь. Если вы разработчик и думаете, что вы сделали UI уже для человеков, то нет. Сходите к человеку и попросите его этим воспользоваться.

Мы привыкли к AWS console, Yandex console, начинает казаться, что и для управления роботами нужно вот именно это, разве что для телефона, а не на десктопе. Не так то и удобно монтировать робота и бегать к компьютеру или ноутбуку.

Казалось, что получилось невероятно круто и понятно.

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



Однако, нет потока. Тесты показали, что все несколько контринтуитивно и UX нужно менять. Вот он новый интересный опыт преодолеем и это. А пока что назовем текущий UI robot Console и оставим его для себя.

Что дальше


Снимаем видео монтажа и настройки робота за 2 минуты, готовим материалы для продвижения на нескольких типах задач.

Параллельно ищем новые практические применения помимо понятного и популярного bin-picking (лично я мечтаю о применении роботов на стройке).

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

Так что карантин пошел на пользу!
Подробнее..

Из песочницы Man, death amp ethics

23.10.2020 22:21:47 | Автор: admin
Робот с искусственным интеллектом Электроник из фильма Приключения Электроника хотел стать человеком, но не знал как это сделать. Я предлагаю внятную, простую и конструктивную философскую концепцию определения человека, морали и этики. Может, кому-нибудь пригодится на поле биоэтики или для работы с ИИ и роботами. Правда, как выразить эту концепцию математически и засунуть её в железо, я не знаю. Только концепция.



В академическом стиле гипотеза опубликована в научном рецензируемом издании Уральского государственного экономического университета и Технического университета УГМК e-FORUM: "Недостающий элемент схемы эволюционной эпистемологии Поппера"

Пролегомены


  1. Предмет: феномен осознания смерти.
  2. Гипотеза: осознание смерти как проблемы уникальное свойство человека, полученное с помощью специфического языка. Только осознание смерти дало человеку возможность отношения к смерти.
  3. Отношение к смерти формирует универсальные способы преодоления проблем: мораль как опыт и этику как метод.
  4. Живая природа не знает о смерти, поэтому она развивается не методом, а отбором.
  5. Этический метод дает человеку способность преодоления проблем вообще, и проблемы смерти в частности.
  6. Слово человек здесь означает не личность отдельно или общество отдельно, а систему индивидуум-социум.
  7. Определяя человека как социально-когнитивный феномен: существо, понявшее проблему смерти, мы разрываем привязку понятия человек к виду животных Homo Sapiens. Человеком можно назвать любой вид существ, понявших проблему смерти. В том числе ИИ или управляемых им роботов, роботизированный транспорт, систему обслуживания, производственные линии, и так далее. Понять смерть можно только в системе времен абстрактного языка. Не знаю, есть ли система времен или ее аналог в математике.
  8. Цель Развития: преодоление проблемы смерти или смерти как проблемы. И если человек, мораль и этика определены пониманием смерти, то достижение цели приведёт к уничтожению морали, этики и, собственно, Человека. Вне смерти окажется уже не человек, а сверхчеловек, или Новый Человек. Ценности и проблемы Нового мира будут качественно иными.

Ошибка Аристотеля


Рассматривая Никомахову этику, отмечу очевидный и на мой взгляд ошибочный подход Аристотеля, а за ним и всех последующих философов к вопросу добра и зла. Аристотель смотрит на благо как на отдельный предмет: как принято считать, [всё] стремятся к определенному благу. Поэтому удачно определяли благо как то, к чему всё стремится.
Это положение сводит все этические рассуждения к неизменно противоречивым результатам. Говоря исключительно о благе, подразумеваем упрощение: как будто зло это нечто противоположное добру. Некое добро со знаком минус. Но это не так: зло не равно добру со знаком минус, как и зло со знаком минус не равно добру:

З (Д) или Д (З)


Не правильно мыслить о благе хоть на секунду отделяя его от зла, придавая им обоим свойства неких самостоятельных сущностей. Мы не должны забывать, что добро и зло, благо и вред, добродетель и порок это дихотомия. Значит, слияние подклассов неразделимо без потери смысла сущности. А в тот момент, когда мы подменяем искомую сущность одним из её подклассов, наделяя уже его сущностным или предметным характером, то уводим сами себя от истинного предмета исследования. Если истинной сущности у нас нет, то разговаривать мы можем о чем угодно, но не о ней. И вот философы вслед за Аристотелем упорно повторяют эту ошибку, хотя дихотомия моральных категорий известна всем.


Рис. 1. Графическая дихотомия: фокус в том, что здесь нарисован только черный подкласс, а белый, совершенно не будучи нарисованным, проявляется сам

Не будучи сущностями, добро отдельно и зло отдельно не могут быть ни целями, ни средствами. Это скорее параметры, или указатели, позволяющие нам прийти к искомой сущности. Субстратом морали, таким образом, является то, к чему выражается отношение с помощью понятий добра и зла. Осталось выяснить, к чему настолько фундаментальному мы можем проявить свое отношение?

Иллюстрирую мысль примером. У летчиков есть приборы, достаточные для того, чтобы пилотировать, опираясь исключительно на показания. Приборы лучше, чем инстинкты человека, т.к. у человека инстинкты полета вообще не формировались, ведь он сам не летал. Но когда летчик летит по приборам, он не на секунду не забывает о том, что его конечная цель не показания приборов сами по себе, а то, что они ему говорят о реальном мире. Цель летчика это физический взлет или посадка, а не показания приборов о взлете и посадке. Если же прибор будет показывать ситуацию, которая не соответствует действительности, то летчик предпочтет руководствоваться действительностью, а не показаниям прибора. Прибор может оказаться неисправен или неточен, или ошибочно настроен. И руководство таким прибором приведет к гибели. Так и мы не можем ставить целью достичь добра или зла самих по себе, т.к. само по себе добро или зло это не предмет, а лишь параметр какого-то предмета. Это оценочные категории, то есть способ оценки предмета. Значит, стремиться собственно к ним глупо. Цифра на высотомере математическая абстракция. Сама по себе, без связи с действительностью, она не интересна. Чтобы придать параметрам важность, мы связываем добро и зло с чем-то, что может быть предметом, достаточно важным для нас. Цифра на высотомере с некоторой точностью указывает на положение самолета над поверхностью земли. В этой модельной ситуации цифра становится плохой, только когда указывает собой на положение, означающее возможность гибели самолета, и хорошей, если полет может и дальше безопасно продолжаться. Пилот с помощью такого отношения к цифре: зная, какие из них хороши, а какие плохи, принимает усилия в направлении показателей добра на приборах, и избегая приближения к показателям зла, достигая своими действиями не добра как отдельной сущности, и избегает не зла как отдельной сущности. Так же можно упомянуть, что одни и те же цифры на шкалах могут означать зло для самолета в одной ситуации, и добро в другой. И в этом нет противоречия, т.к. ситуация понимаема нами со всей очевидностью.


Рис. 2. Это означает, что диапазон с 10 до 20 (каких-то показателей) безопасен для полета, а меньше или больше означает гибель самолета

Важно отметить, что избежание гибели и выживание не тождественны. Описываемые нами действия пилота не направлены на выживание, т.к. пока он не погиб, он жив. Представим, что если в кабине сидит неопытный пилот, не способный распознать смертельный штопор, в который сорвался его самолет, то он при этом сидит спокойно: ведь он жив. И не зная о том, каким образом к нему приближается смерть, он не способен даже начать бороться с проблемой. Только зная о проблеме: что самолет провалился в штопор и приближается катастрофа, пилот начнет бороться с проблемой. В первую очередь по тому, что он понимает, что значит смерть для его жизни, и что смерть приближается.

Зафиксируем ситуацию: неопытный пилот тоже хочет жить, быть счастливым и испытывать удовольствия, но эти желания сами по себе никак не мотивируют его, если он не знает о проблеме. Мотивирует пилота только знание о проблеме.

Так, мы ясно видим: пилот оценивает категориями добра и зла именно понимание проблемы, а не жизнь, счастье или удовольствие. Все то, что обычно фигурирует в рассуждениях, начинающихся с понимания отдельного блага, на самом деле не имеет значения.


Рис. 3. Если неопытный пилот не знает о штопоре, то само по себе желание выжить никак не поможет ему, т.к. пока самолет не упадет, жизни пилота ничто не мешает. Но только пилот, знающий о быстро приближающейся из-за штопора смерти, может предпринять действия, чтобы избежать будущей, существующей только в его воображении, и еще не существующей для него в реальности гибели. Так одно только знание о смерти оказывается эффективнее выживания.

Вообще, если мы хотим оценить полет в целом, то нами оценивается именно способность избежания гибели во всем процессе полета, а не только результат выживание. Только не имевший аварий и не потерпевший катастрофу полет будет однозначно добрым для летчика. Если же в полете случилась авария, пусть и не приведшая к катастрофе, ущербу и гибели: пусть летчик выжил и не пострадал, но этот полет мы тоже не назовем добрым, хоть и результат с добрым полетом был одинаков для летчика. Дело в том, что мы знали о риске смерти в аварийном полете, который был значительно выше, чем в добром полете без аварии. Так мы видим, что этика оценивает успех процесса преодоления смерти, а не результирующее выживание.


Рис. 4. На рисунке выживание соответствует и хорошему и плохому с аварией полету. Таким образом, добро и зло не соответствует выживанию, а выражает отношение к проблеме гибели, которая и дает оценку плохо полету с аварией.

Еще мы можем выявить сущностную привязку добра и зла полностью абстрактно: например как в случае игры, когда один человек ищет предмет в комнате, а другой ему подсказывает: холодно теплее холоднее жарко, и мы понимаем, что лишь условно окрашиваем близость к цели некой физической коннотацией, когда ищущий приближается к спрятанному предмету, и теплее или холоднее обозначает приближение или удаление от цели, но не физическую температуру цели. Искомый предмет не источает тепло, а наделяется таким свойством для удобства коммуникации. Поэтому слова тепло / холодно можно без потери смысла описанной игры заменить на позитив / негатив, или хорошо / плохо, и, наконец, добро / зло. По сути, ничего не изменится. Поэтому добро и зло сами по себе не хороши и не плохи, они лишь позволяют человеку искать некую единственную сущность. И эта сущность в результате игры не явится нам в виде добра или зла, воплощенного негатива / позитива, теплоты / холода, как вы уже догадались.

Отметим интересный момент: результат игры обнуляет добро и зло. После нахождения предмета эти категории нас больше не интересуют.

Так вот, пытаясь овеществить или натурализовать благо, Аристотель подводит нас к понятию благо государства, что может быть истолковано как благо общества ради блага человека, как к цели любой деятельности. Но если, как мы выяснили ранее, благо само по себе ничего не значит, а это лишь параметр, или ориентир в процессе достижении какой-то цели, то Аристотель, делая сшивку блага и цели, дает в своем изложении этики ложную цель. Собственно, он и сам это понимает: своего рода расплывчатость заключена в [выражении] блага, потому что многим от [благ] бывает вред.

Теперь обратимся к той части Этики, в которой Аристотель все же касается искомого нами предмета, который, с одной стороны, не дает ему добиться стройности в своих этических построениях, с другой, этот предмет сам мог бы послужить прочным стержнем для любых этических поисков, если бы был принят за точку отсчета: А самое страшное это смерть, ибо это предел, и кажется, что за ним для умершего ничто уже ни хорошо, ни плохо. действительно, а ведь смерть это именно то, что понял пока только человек: а искомое нами присуще только человеку И именно смерть, уже по словам Аристотеля, обнуляет добро и зло. Если мы говорим о добре и зле как об отношении к смерти, то не здесь ли заключена вся специфичность человека? В его отношении к смерти.

То, как к жизни и смерти относится человек, и как к ней относится природа принципиально различно. Природа вообще не имеет категорий отношения: в природе нет добра и зла. Но эти категории есть у человека, это они дают ему уникальную специфику. Поэтому, если разобраться в причине существования этих категорий для человека значит получить возможность определить само явление человек.

Далее Аристотель погружается в циклические обсуждения золотой середины, раз за разом повторяя одно и то же: имея в виду, что избыток и недостаток гибельны для совершенства, а обладание серединой благотворно Если вдуматься в то, что здесь сказано, то возможно, что главное не в том, что именно избыток или именно недостаток, а все же гибельно или благотворно. Можно убедиться, что когда Аристотель судит о благе или зле, то мысль сводится к тому, гибнет субъект (человек, общество или государство) или продолжает жить. Этот вопрос постоянно проступает в любых рассуждениях, как будто только об этом и идет речь, подразумевая в разных формулировках одно и то же:

для телесной силы гибельны и чрезмерные занятия гимнастикой, и недостаточные, подобно тому, как питье и еда при избытке или недостатке губят здоровье, в то время как все это в меру (ta symmetra) и создает его, и увеличивает, и сохраняет;Итак, избыток (hyperbole) и недостаток (eleipsis) гибельны для благоразумия и мужества, а обладание серединой (mesotes) благотворно;имея в виду, что избыток и недостаток гибельны для совершенства, а обладание серединой благотворно;если совершить этот поступок, то они будут спасены, а если не совершить погибнут И так раз за разом, практически об одном и том же: быть или не быть, вот в чем вопрос. Так не в этом ли на самом деле вопрос? Да, в этом.

Итак, повторимся: А самое страшное это смерть, ибо это предел, и кажется, что за ним для умершего ничто уже ни хорошо, ни плохо. Именно смерть, а вернее отношение к смерти, и есть источник добра и зла. Получается, что Аристотель, обсуждая что угодно и под какими угодно углами, раз за разом приходит к проблеме смерти или гибели. Именно смерть в рассуждениях Аристотеля порождает неожиданные, подчас парадоксальными превращениями счастья и блага в несчастье и зло так, что Аристотель нигде не может ухватить ситуацию абсолютного блага. Абсолютна и недвусмысленна, экзистенциальна у Аристотеля только смерть. И она имеет интересное умение обнулять добро и зло как в игре по поиску предмета. Так что за предмет мы должны найти? Каков мог бы быть результат этических упражнений человека?

Мой ответ: преодоление проблемы. Рассмотрим преодоление с разных сторон, каким может быть в жизни преодоление смерти у человека: тактически и стратегически.
Интересно сказано у Аристотеля о специфике природных реакций: природа, очевидно, прежде всего избегает того, что доставляет страдание, стремится же к тому, что доставляет удовольствие так сказано о биологической дихотомии, которая направляет действия животных в виде неосознаваемых ими инстинктов и поведенческих программ. В отсутствие разума боль и удовольствие это, что направляет действия животных. Поэтому корректно сказать, и у Аристотеля это сказано: что природа не преодолевает проблему, а именно избегает проблему.

Боль негативна, а удовольствие позитивно. Но ни боль, ни удовольствие не ставят задачу. Поэтому, конечно, это не в коей мере не метод решения проблем. Так Аристотель нашел природный аналог морали, и это абсолютно точно. Если человек имеет моральную дихотомию добро и зло, то природа имеет биологическую дихотомию удовольствие и боль. Специфика и эффективность человека состоит в том, что дихотомия морали, в отличие от дихотомии отбора, видит результат препятствий и проблем жизни: это смерть. Отбор не видит препятствий, а использует их для того, чтобы отобрать только те варианты, которые обходят препятствие, не соприкасаясь с ним. Можно провести параллель с эффектом систематической ошибки выжившего, когда сохраняются только правильные ответы. Получается, что опыта соприкосновения с рамкой в природе физически не существует: он гибнет. По этой причине у живой природы нет и не может быть знания о смерти, поэтому нет и отношения к ней.

Примеры разницы в подходах мы можем найти легко: перетерпеть реальную боль от лечения человек может именно по тому, что знает о смерти, которую приносит болезнь. Этический метод отношения к смерти позволяет человеку пренебречь негативом боли, предпочитая категорию добра, хоть она и не приятна физически, не вызывает счастья и удовольствия, но зато ведет к преодолению смерти. Так же как человек может прямо отказаться от ряда удовольствий, маркируя этическим методом пагубные последствия их как зло, если они ведут к смерти: это наркотики, излишества, дисбалансы. Животное боль терпеть не будет, так как это один из рычагов инстинкта, и всеми силами избежит лечения, если у него будет возможность. И все это только по тому, что животное не знает ни о болезни в частности, ни о смерти вообще. Так же, как животное будет получать удовольствие столько, сколько это возможно даже если это всего лишь вшитый в специфическую область мозга электрод, а не настоящее удовольствие [Olds, 1954]. Такие примеры можно привести в качестве тактического преодоления проблемы смерти.

Но наемники становятся трусами всякий раз, когда опасность слишком велика и они уступают врагам численностью и снаряжением, ведь они первыми обращаются в бегство, тогда как гражданское [ополчение], оставаясь [в строю], гибнет, как и случилось возле храма Гермеса. Ибо для одних бегство позорно, и смерть они предпочитают такому спасению, а другие с самого начала подвергали себя опасности при условии, что перевес на их стороне, а поняв, [что этого нет], они обращаются в бегство, страшась смерти больше, чем позора. здесь обсуждается момент, когда отдельные люди отдают свою жизнь ради жизни своего общества. В этом случае понятно, по какой причине бегут наемники: они не связаны с защищаемым обществом, и для них собственная смерть страшнее смерти какого-то чужого общества (государства). А гражданское ополчение связано с защищаемым обществом: там хранятся их материальные и духовные ценности, их дети, родители и родственники, то есть все то, что является частью их самих, и будет существовать намного дольше их. Так, феномен Истории и Культуры можно привести в качестве попытки стратегического (но не личного) преодоления смерти.

Одним из видов культуры является Ритуал и Религия, дающая нам еще один пример попытки стратегического, личного, но воображаемого преодоления проблемы смерти в виде постулирования жизни после смерти.

У Хайдеггера в Бытие и время есть на стр. 247: Так же и концепции смерти у первобытных, их отношение к смерти в ворожбе и культе высвечивают прежде всего их понимание присутствия, чья интерпретация требует уже экзистенциальной аналитики и соответствующего понятия смерти. Так Хайдеггер подтверждает тезис о том, что всякий ритуал, и всякий культ даже самый ранний и самый примитивный, в обязательном порядке начинается с представления о смерти. Именно потому, что нельзя решать непоставленную задачу.

Элементарное осыпание умершего цветами уже говорит нам, что этим действием решается какая-то задача, в направлении какой-то цели. И это не просто осознание некой ситуативной смерти как текущего события, а именно осознание смерти как всеобщей неотвратимости для жизни: интерпретация требует уже экзистенциальной аналитики и соответствующего понятия.... Сознание смерти как трагического явления, предстоящего для всякой жизни. В этом случае ритуал: это попытка решить [эту] проблему. Хотя бы условно.

Нет, не нужно [следовать] увещеваниям человеку разуметь (phronein) человеческое и смертному смертное; напротив, насколько возможно, надо возвышаться до бессмертия (athanatidzein) и делать все ради жизни (pros to dzen), соответствующей наивысшему в самом себе, право, если по объему это малая часть, то по силе и ценности она все далеко превосходит. эта мысль Аристотеля ложится в контекст гипотезы: речь идет о преодоления смерти как проблемы.

Мы понимаем, что только понимание проблемы может быть началом решения проблемы. Если это так, то все перечисленные в трактате Этика частные блага, как и все не перечисленные, постепенно, практически и исторически, синергируя друг с другом в процессе Развития, в итоге сводятся к решению наиболее общей задачи по преодолению наиболее общей проблемы: смерти. Это отчасти явлено нам в реальности: сегодня в развитых странах средняя продолжительность жизни минимум в два раза превышает биологические нормы [Mayne, 2019] и антропологические рамки, а это уже немало.

Вывод: всё, что делает человек во всем его многообразии (индивидуальность, общество и человечество) по преодолению смерти то благо, добро и добродетель. А всё, что приводит индивидуального человека, общество и Человечество в целом к гибели или разложению то зло, вред и порок.

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

Чем больше взаимосвязей и проблем мы выявляем в процессе Познания в природе и в обществе, тем сложнее нам установить однозначно, какое действие и в каком соотношении с другими действиями, приведет Человечество к процветанию жизни, а какое в конечном итоге, в результате множественных взаимодействий, погубит его. И тем не менее, преимущества такого принципа тоже очевидны: мы имеем наиболее конструктивную систему оценки и прогнозирования пути, по которому идет Человечество.

Источник Развития


Эта часть относится скорее к проблемам биоэтики, если приходится решать: что этически допустимо по отношению к тому, что мы называем человеком, а что нельзя, даже если позволяют биотехнологии.

Для неживой природы не существует проблем. Существует только преобразование вещества и энергии. Потеря планетой атмосферы, выгорание звезды, взрыв сверхновой, черные дыры, столкновения галактик: это не проблемы для Вселенной.

Проблема может существовать только для жизни. И эта проблема: прекращение жизни, то есть смерть.

Определим связь используемых далее понятий: смерть, проблема, препятствие, рамка. Понятие проблемы сводится к понятию препятствия. Препятствием для жизни может быть только то, что не дает продолжить жизнь. Все, что не является проблемой, то есть не ведет к прекращению жизни, не является также и препятствием. Все, что не прекращает жизнь, может быть ресурсами, возможностями, окружающей средой чем угодно, но не препятствиями. Препятствия могут быть сложными: цепочка взаимосвязанных событий, комплексы условий и их соотношения, параметры окружающей среды, явления природы. В общем случае комплекс препятствий мы назовем рамкой: границей возможностей жизни. Тактико-техническими характеристиками (ТТХ) организма, группы, вида, рода, и всей живой природы, если угодно.

Столкновение с рамкой означает гибель. Живая природа существует, избегая соприкосновения с рамкой. Поэтому все имеющиеся в наличии живые организмы не знают о своей рамке и не видят её, так как никогда не соприкасались с ней. Как же возможно, не видя препятствия, и даже не зная о нем, тем не менее никогда не натыкаться на него? Животных уберегают от этого инстинкты и поведенческие программы с помощью дихотомии боли и удовольствия. Параметры боли и удовольствия были отобраны смертью в течение всего времени существования жизни. Мы так и назвали этот процесс: естественный отбор. Смерть уничтожала всех, кто шел неправильным путем, прикасаясь к рамке. Остались жить только те, кто шел исключительно правильным путем, выполняя наработанные миллиардами лет инструкции инстинктов. Так природа продолжает жить, не прикасаясь к рамке.


Рис. 5 Рамка

Как тогда идет процесс эволюции видов и развитие живой природы? Объективно, живая природа с момента своего возникновения постепенно расширяет рамку своих возможностей, приспосабливаясь к окружающей среде, используя окружающую среду, формируя окружающую среду, и снова приспосабливаясь. Это происходит с помощью нарушения правил, проявляющегося в виде ошибок: случайных мутаций, дающих неожиданную приспособленность, когда животные немного изменяются физически или поведенчески. При этом отбор снова делает свое дело: если новое изменение подходит новым параметрам среды, то оно раздвигает существующую рамку, формируя новый вид.

Важно то, что даже расширив свои возможности, животные снова не видят никакую рамку, поэтому качество существования для них не меняется. Таким образом, перебор вариантов в виде случайных ошибок не решает никакую задачу, следовательно, не решает и проблему. Природа лишь учится избегать проблему тем или иным способом, приспосабливая себя к той или иной рамке. Если вид не выдерживает параметры рамки, которая и сама по себе может измениться в виде природных катаклизмов, то вид или виды вымирают. Так произошло несколько раз: известны 5 больших и 20 малых планетарных катаклизмов, когда вымирало до 95% существовавших видов. Минусами такого развития является чрезвычайная длительность и затратность эволюции, поскольку даже целенаправленный перебор вариантов как решение проблемы был бы на порядок быстрее и эффективнее, чем случайный набор случайно совершенных ошибок.

Человек же, поняв проблему, поняв смерть, увидев препятствие, увидев рамку, единственный во всей природе имеет возможность раздвигать свою рамку без преобразования себя в новый вид с новыми ТТХ. Человек именно по этой причине смог отказаться от инстинктов: он не натыкается на рамку потому, что видит её. Человек способен предпринять действия, чтобы отодвинуть рамку.

Таким образом, понимание проблемы и есть источник Развития для человека. Только видя ограничения, человек может начать думать и действовать в направлении их преодоления. Животное, не видя своих ограничений, преодолеть их не может.

Что есть действие человека: он думает головой, действует руками, рубит осколком камня, чертит на песке, выхватывает огонь из лесного пожара, рисует углем на стене, согревает очагом, толкает палкой, скребет отщепом, колет бронзовым ножом, впрягает лошадь, натягивает паруса, двигает паровой машиной и дизельным двигателем, пускает Спутник и ядерный реактор. Значит, действие это не только труд, использование энергии и техники, но и героизм, и творчество, и искусство.

Преодоление проблемы требует Развития, но не требует отбора: человеку не приходится меняться как виду, чтобы отодвинуть границу своей природной рамки. Гагарин полетел и вернулся из космоса тем же самым Homo Sapiens, каким и был до этого. Человеку не потребовалось миллионы лет крутить смертельную карусель эволюционного отбора, чтобы попасть в недоступную прежде для Homo Sapiens среду.

Иногда человек видит рамку, но ничего не может поделать: за всю историю не было никого, кто не умер бы от старости, даже если все другие препятствия были раздвинуты. Тогда человек придумывает выдуманное решение: так появляется ритуал погребения. Развивается метафизика веры и религия: проблему преодоления смерти они решают кардинально, но в воображаемом мире. И раньше это работало.

Так мы обнаруживаем на антропологической кривой развития человека точку, когда человек понял смерть: это начало ритуальных захоронений. Cтановится вполне объяснимым, почему примерно в этот же период резко нарастает сложность обработки орудий, использовавшихся человеком. Зная о всепроникающей проблеме смерти, человек использует орудие не только для функции как таковой (что иногда встречается у животных), а может судить: плохо или хорошо выполнена функция. Тот самый этический метод. Не только: расколол ли чоппер орех, или достала ли палочка до муравьев, а: насколько далеко отодвинуло это орудие от человека голод и смерть? Можно ли отодвинуть их еще дальше? В этом и состоит мощь этического метода, который мы определили в самом начале как Источник Развития.

Иначе говоря, только понимая существование смерти, мы можем ясно увидеть ее проявления в частностях: чем острее и удобнее камень тем сильнее удар, чем сильнее удар, тем больше питания, чем больше питания, тем больше энергии у тела, а чем больше энергии у тела, тем дальше от смерти и я, и мое племя, и наш род. Тогда есть смысл обтесать получше камень. Если есть шкура только чтобы согреться, то мы берем шкуру какая бы она не была и греемся. Но как только появляется этический метод: хороша ли шкура для того, чтобы подольше сохранить мне тепло и жизнь, или плоха настолько, что слишком быстро подпускает ко мне холод и смерть.

Только так появляется смысл, задача и цель улучшить выделку шкуры: а чтобы отрезать шкуру больше, нужен острее и тоньше нож (и он начинает улучшаться), чтобы тоньше выделать шкуру, нужно придумать как (творчество), чтобы лучше сшить, надо найти крепче нитку (исследования и сравнения) и так далее. Томаселло отмечал, что невозможно представить человеческую деятельность без установления общих целей и задач (с. 279-280). [Томаселло, 2011] А откуда появятся цели и задачи, как не из понимания проблемы?

Понимание проблемы или понимание смерти, или способность увидеть рамку вызывают непрерывное Познание и Развитие. Кстати, это к вопросу зачем надо учиться в школе?. Да чтобы найти новые и новые пределы, которые надо преодолевать, чтобы в итоге преодолеть смерть. Как бы странно это не звучало. В идеале ту или иную форму непрерывного развития человека вообще нельзя прекращать, пока мы не сумеем перейти в новое качество.

Ведь когда или если проблема не понятна сознанию человека, то она не существует для него, даже когда уже оказывает свое губительное воздействие. Например, пока в развитых странах не узнали о специфике вируса COVID-19, там было не принято мыть не запачканные явной грязью руки: таковы издержки высокого уровня жизни. Но аномально высокая смертность заставила осознать цепь проблем: существует не видимая глазу грязь вируса COVID-19, который вызывает болезнь, которая приводит к смерти порождает задачу: избавиться от невидимой грязи вируса; задача находит решение в виде цели: найти способ избавиться от невидимой грязи вируса; и только цель побуждает к действию: исследовать методы избавления, найти средства избавления (спирт); а уже воплощение действия: взять спирт, промыть руки преодолевает проблему: вируса на руках нет. И вот проблема-болезнь, а, в сущности, смерть, тактически отступает. Так этический метод требует постоянного Развития и Познания.


Рис. 6. Движение от проблемы к решению проблемы не может миновать пункта понимание проблемы, т.к. только этот пункт ставит задачу, решение которой становится целью, которая мотивирует деятельность, и только в результате такой последовательности происходит решение проблемы

В обратную сторону схема очевидно не работает: действие невозможно без цели, а цель без задачи. На действия без указания инстинкта не будет выделена энергия: это лень. Единственное, что способно заместить побуждение инстинкта мотивация. Но это уже разумный процесс побуждения к действию. Поэтому животные в общем случае не демонстрируют целенаправленную деятельность, поскольку целей у них нет.

Достижение цели, деятельность это части процесса решения какой-то задачи. Значит, вне задачи не может быть ни цели, ни деятельности по её достижению. А откуда берется задача? Задача: это нахождение способа преодоления осознанной проблемы. Невозможно решать задачу, если нет проблемы. Ни в науке, ни в жизни не бывает задач без проблем. Даже если вы видите ситуацию, в которой кому-то дают в виде задания явно бесполезную деятельность: до обеда вырыть канаву, а после обеда зарыть ее, то все равно у этой деятельности есть и цель (не допустить скуки), и задача (придумать деятельность). Просто проблема в такой ситуации будет не очевидна, но она не может вообще не существовать. Итак, самое главное: нельзя решить проблему, не поняв проблему. Это кажется очевидным, но это надо осознать.

Любое целенаправленное действие человека: это свидетельство о решении какой-то, когда-то понятой им проблемы. Никак иначе раскрыть движущую силу человеческого потенциала Развития не получится. Чем бы не было внешнее обоснование деятельности, по цепочке рассуждений оно приходит к проблеме преодоления смерти. Только познание проблем порождает их преодоление, то есть Развитие. Не понимая проблем, человеку нечего преодолевать, и никакой деятельности быть не может: ни физической, ни духовной, ни творческой.

Плод древа познания


Если принять, что человек развивается, только понимая проблему, то надо определить, как он смог ее понять. Мы приходим к вопросу языка.

В основу я хотел бы положить книгу Дерека Бикертона Как люди создали язык, как язык создал людей. В целом согласен с гипотезой Бикертона, но хотел бы доработать его гипотезу, вводя как средство рекрутирования индексный знак естественного происхождения: следы в саванне, или книгу следов саванны, которую научился читать проточеловек. Кроме того, Бикертон разбирает язык и его свойство перемещаемости, но явно не говорит о том, что свойство перемещаемости порождает систему времен языка. Также я предлагаю закончить как бы неоконченную Бикертоном мысль: как именно язык приводит к фундаментальному качественному переходу животного в человека.

С. 22 Итак, чтобы превратиться в язык, значимые единицы описания слова и знаки должны быть отделены от конкретных ситуаций и привязаны к концептуальным идеям относительно тех или иных предметов отделена от того, что происходит прямо сейчас.

Вот в этом месте я предлагаю следы как индексные знаки естественного происхождения. Человеку не надо был их специально придумывать, а лишь увидеть и понять, что это знаки, оставленные животными, когда эти знаки сами по себе были привязаны к оставившим их животным как к значениям, а впоследствии и как к концептуальным идеям. Таким образом, саванна это первая книга, прочитанная предком человека.


Рис. 7. Цитата: Здесь был слон

С. 23 Идея в том, что первые слова не приносили бы немедленной и ощутимой пользы

В случае, если мы обращаемся к следам как к первым протословам, то они приносили бы немедленную и ощутимую пользу. Зная, что вот этот след оставила жертва мы идем по следу и питаемся, увеличивая приспособленность. Зная, что след оставил хищник, мы готовимся к сопротивлению мы увеличиваем приспособленность. Далее, обрабатывая словарь следов и обстоятельств, при которых эти следы появляются, и относительность времени, когда эти следы появились: свежие они или старые, протолюди все больше увеличивали свою приспособленость. Все это давало прямую выгоду, становясь из индексных впоследствии иконическими символомами, когда проточеловек уже сам пытался изобразить графически след для передачи информации другим сородичам.

Исследователями установлено, что графический образ это объект, доступный для исполнения существом, имеющим вообще руку, и порядка 400 граммов мозга. Физически это уровень австралопитека или шимпанзе. В эксперименте Сьюзан Саваж-Румбо, бонобо Панбаниша оказалась способной нарисовать по собственной инициативе на деревянном полу графические лексиграммы [Саваж-Румбо, 2004]. Значит, и изобразить след протолюди могли, превращая его из индексного в иконический знак. А имея иконический знак, эмоционально соединенный с выкриком СКЖ (системы коммуникации животных), мы имеем уже и протослово. Значит, нет необходимости отделять зарождение слов от приспособленности, которую постулирует Бикертон.

С. 136 расширить территорию за счет того, что искатели научатся читать знаки горки навоза или сохранившиеся отпечатки

Ну так вот же оно! Читать знаки это прямое попадание в источник языка. Человек не придумывал знаки, он их прочитал, а затем уже и сам начал рисовать и использовать благодаря специфике своего развития (мозг и руки) плюс ниша, которая постоянно давала массу следов как круглосуточный канал новостей.

С. 157 ашельское ручное рубило ножи раннего палеолита производились практически без изменений по крайней мере на протяжении почти миллиона лет. невозможно себе представить, чтобы наш вид стал производить одну и ту же модель машины даже в течение десяти лет

Значит, у архантропов еще не было понимания смерти. Да, был протоязык, который уже вырабатывал понятия, категории на основе иконических знаков, формировал звуковой ряд языка, синтаксис, способствовал физическому отбору: формировались речевой контроль, зона Брока и область Вернике и так далее. Это как обучение маленького человека языку, только на протяжении двух миллионов лет. К пониманию проблемы необходимо подойти с некоторой системой абстрактных понятий, с синтаксисом, организующим язык и взаимодействия абстрактов, категорий и так далее. Не имея возможности увидеть, что за каждой деталью окружающего мира стоит смерть, архантропы не имели и мотивации к развитию своих орудий. Но то, что они развивали протоязык, это точно, т.к. однажды понимание смерти пришло, это и был большой взрыв, та самая когнитивная революция, как формулирует Юваль Ной Харари, породившя ритуал, культуру, познание и развитие.

С. 157 Нельзя найти такой момент, в который вы взяли бы родителя и его ребенка и смогли скзать: Этот малыш настоящий человек, а вот его родитель нет. Тем не менее где-то на этом долгом пути наше мышление изменилось, и изменилось достаточно быстро

Такой момент есть: это понимание смерти. И не зря здесь аналогия с ребенком. Ребенок, еще не понявший смерть как бы святой, непорочный, внеморальный. Дети бегают голенькими на пляже именно по этой причине. И перестают бегать голенькими именно по этой причине. В сюжете об изгнании из рая Адам и Ева прикрывают срам только познав смерть, а познание о ее существовании и есть приобретение категорий добра и зла. Непорочность ребенка именно в том, что он не понимает ни того, чем опасен для него окружающий мир так же, как не может понять, какой он может нанести вред миру.

Дети обнаруживают осознание смерти в 4-6 лет [Yalom 1999]. Эта критическая точка перехода именно что изменяет мышление бесповоротно. Человек полностью пересматривает свое отношение к миру: у него появляется несчастье понять смерть, как и счастье об этом иногда забывать.

С. 271 Процесс создания ниши определяет род занятия представителя вида и, как результат, тип общества, в котором этому виду предстоит жить. Нет разницы, создается ниша под влиянием инстинкта, медленно, миллионы лет, или путем культурного научения, за какие-то тысячелетия. Разницу определяет ниша.

Это серьезная ошибка. Да, теория ниш верно схвачена в плане рассмотрения эволюции видов и формирования предпосылок. Но в чем состоит тогда качественный переход человека, если ниша как определяла вид, так и продолжает его определять? Если рассматривать описанную ситуацию появления у человека этики как метода, то мы видим разницу огромную. Собственно, она и объясняет, по какой причине отбору нужны миллионы лет, а этике достаточно тысячелетий. Что бы ни строили муравьи, у них нет проблемы, задачи и цели. У них нет плана муравейника, и решить, что может быть конструктивно лучше или хуже они не могут. Хуже по отношению к чему или лучше по отношению к чему? Если они не знают о смерти, то и метода оценки у них быть не может. Вернее, он есть, но находится вне их. Отбор решает, какой муравейник хуже, а какой лучше, и он не ставит в известность об этом муравьев.

С. 272 Наша ниша дала нам язык, язык дал нам разум, но лишь мудрое использование этого разума сохранит нас свободными представителями человеческого рода.

Тут возникает несколько моментов: ниша дала нам только знаки. А расшифровать и применить их смог только сам человек. Это и дало человеку язык, а язык включает систему времен, и только сознание, использующее систему времен можно назвать Разумом. Но и Разум можно применить по-разному. Говоря о том, что лишь мудрое использование этого разума сохранит нас, Бикертон незаметно для себя начинает использовать Этический Метод, позволяющий принимать решения о том или ином пути, оценивать этот путь. Значит и Разум это только базис для Этики. И только Этика позволяет Развитие. Куда же ведет Развитие? Если способность понять проблему это начало пути, то конец пути преодоление проблемы. Только тогда понятно, что дает нам разум: мы постепенно учимся не только избегать смерти, как вся остальная живая природа. Мы учимся преодолевать смерть. Это и есть та самая свобода. Это и есть смысл веры в бессмертие исключительно человеческой души. Да, только понимание смерти позволяет поверить в бессмертие. Это путь человека.

Мы расширили ареал своего присутствия во много раз больше, чем позволила бы природные чисто технические характеристики нашего вида: мы летаем в атмосфере и стратосфере, выходим в космос, ведем активную деятельность в океанах, морях и реках. И это все без каких бы то ни было генетических перестроек своего организма. Без отбора, без физической эволюции.

Пока основные успехи мы получили на поле технического преодоления: от палки-копалки до ядерного реактора, но эти достижения не часть человека физически. Существуют и достижения на уровне, который физически есть часть человека: молекулярная биотехнология и генетическая инженерия. Та же вакцинация это создание дополнительной возможности у своего организма. Вакцинированный человек уже формально сверхчеловек. По крайней мере технически он сверх- того, что он мог бы быть в чистом, природном виде.

Возможно, что скоро мы сможем взять в свои руки работу, которую раньше проводил отбор: физическое изменение своего организма. Если манипуляции с антителами заставляют наш организм реагировать так, что ему становятся не страшны смертельные вирусы, а манипуляции с ДНК могут избавить человека от ВИЧ, то что мешает в развитии этого направления пойти все дальше и дальше?

Вывод


Если для человека источником добра и зла является отношение к смерти, а этика методом осознанного Преодоления, то остается только взяться, собственно, за решение проблемы. Это вопрос конструктивной биоэтики.

Чтобы нагрузить роботов и ИИ человеческой этикой, необходимо как-то дать им понятие о смерти. Собственно, именно к этому пониманию пришел Элик в итоге советского фильма, когда столкнулся со своей рамкой (бандитским магнитным чемоданом). Пока он не понимал ограничений, он не мог понять и людей.

Используемые источники


1. Аристотель Никомахова этика.
2. Бикертон Д. Язык Адама: Как люди создали язык, как язык создал людей. // М.: Языки славянских культур, 2012.
3. Витгенштейн Л. Лекция об этике, 1929.
4. Приключения Электроника, телефильм 1979.
5. Ницше Ф. По ту сторону добра и зла.
6. Поппер К.Р. Эволюционная эпистемология.
7. Томаселло М. Истоки человечсеского общения, 2011.
8. Триер, фон Л. Дом, который построил Джек, 2018.
9. Хайдеггер М. Бытие и время.
10. Харари Ю.Н. Sapiens Краткая история человечества.
11. Ясперс К. Общая психопатология.
12. Berta L. Death and the Evolution of Language. / Hum Stud (2010) 33:425444. DOI 10.1007/s10746-011-9170-4
13. Yalom I.D. Existential Psychotherapy. / N.Y.: Basic Books, 1980 М.: Класс, 1999 Перевод Т.С. Драбкиной
14. Mayne, B., Berry, O., Davies, C. et al. A genomic predictor of lifespan in vertebrates. Sci Rep 9, 17866 (2019).
15. Olds, J., Milner, P. Positive Reinforcement Produced by Electrical Stimulation of Septal Area and Other Regions of Rat Brain. / Journal of Comparative and Physiological Psychology, 47(6), 1954, 419427. doi: 10.1037/h0058775
16. Саваж-Румбо, Сьюзан Об обезьянах, которые пишут
17. Van Evra, J.W. Death. Theor Med Bioeth 5, 197207 (1984). doi.org/10.1007/BF00489491
Подробнее..

Recovery mode Как улучшить автопилот Tesla

09.02.2021 20:10:35 | Автор: admin

Начнем с того, что мы пытаемся сделать интеллектуальный транспорт, а не беспилотный. Беспилотный это когда без пилота (семантика, но). Для этого достаточно простых сенсоров, оградить дороги, сделать нужную инфраструктуру, которая будет направлять.

Если же мы пытаемся "всунуть инфраструктуру" в компьютер автомобиля, то надо понять ряд моментов, которые отличают опытного, подчеркиваю опытного водителя от автопилота Tesla.

Жизненный и водительский опыт

Это заключается в том, что взрослый человек (вождение у нас резрешено с 18 лет) имеет представление о поведении людей: скорости их передвижения, возможной неадекватности. Другими словами может прогнозировать с определенной степенью вероятности куда "занесет" соседа в ближайшие 5, 10, 30 секунд.

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

Кто-то вильнул пару раз, съехал с полосы - вероятно пьяный. А может сердце заболело. А может рулевое управление сбоит, колесо расшаталось? Решение - притормозить, наблюдать за действиями сего субъекта, осторожно объехать на безопасном расстоянии.

Вот тут часто бабки с козлами дорогу переходят. Вот тут ям много будет. Тут лес валят, и были случаи падений деревьев на дорогу. Вот тут в горной местности возможен камнепад. Тут лавины сходят.

По песку машина едет вот так. По мокрому асфальту так. Если сильно тормознуть на гололеде, можно вылететь в кювет. Загрузил багажник и пассажиров, маневренность будет другая.

Даже в крупных городах бывают ямы на дорогах. Были случаи, когда автопилот "помог" владельцу подвеску поменять... в итоге.

Соблюдение ПДД или 3Д

Да простят меня инспекторы, но соблюдение всех правил 100% ведет к аварии. Это подтверждают различные симуляции, да и опытные водители говорят то же самое.

Зачастую надо руководствоваться здравым смыслом.

Вспомните нелепые аварии 2016 года. Например в Китае. Объясняли это узкой зоной дествия радара, который не видит полосу сбоку. Но камеры то видят приближение объекта. Даже monoslam формирует достаточное облако точек, чтобы понять стоящий сбоку предмет и его габариты. Пусть и примерные, но этого достаточно, чтобы затормозить или объехать препятствие.

Насколько я понимаю, этот момент уже исправили, но это говорит, что здравого смысла пока нет в автопилотах.

"3Д - дай дорогу дураку". Так нас учили в автошколе. Похоже, что-то подобное должно быть в автопилотах. Три закона робототехники, так сказать. Базовые реакции на те или иные воздействия.

Глаза

Наше зрение это две "камеры" (стерео) по 50Мп. Чистых мегапикселей с набором различных примочек: микродвижение зрачка, фокусировка, громадный диапазон яркости и цвета, ряд нейроэффектов. Сами глаза поворачиваются и даже голова. Можем корпусом повернуться назад.

Сами глаза выдают mpeg - разницу между кадрами. То есть сам зрительный сенсор настроен на движение (даже маленькую разницу между кадрами).

Утверждается, что мы видим лишь 24 кадра в секунду, но что-то мне подсказывает, что это не так. Геймеры меня поймут, вспомнив про разницу между 30 и 60 fps.

Учитывая разрешающую способность + фокусировку, то мы можем регистрировать очень малые и быстрые изменения в окружающей среде, чего не может пока автопилот.

80% это зрение. А как же остальные 20%? В терминах систем - это точность.

Уши

Что нам даст звуковой диапазон?

Используя эффект Доплера, мы можем детектировать приближение и удаление транспортных средств.

Микрофоны могут слышать различные шумы вроде скрежета, ударов при аварии, взрывы, стук в собственной машине. Все это может предупреждать об опасности вне поля зрения камер и радаров.

Причем это могут быть ультразвуки соседских радаров или очень тихие далекие звуки, по которым процессор системы может делать соответствующие выводы.

Кожа

Вибрации различной амплитуды и частоты может нам говорить о качестве дорожного покрытия, о состоянии подвески.

Я не знаю насколько продвинулись акселерометры, но поведение авто на заснеженной трассе мы чувствуем "пятой точкой" через вибрацию. Ну и, конечно же, вестибулярный аппарат.

Температура в разных точках авто, удары камешков о днище и по капоту, град, снег, дождь - все это факторы, которые должен регистрировать автопилот и делать соответствующие корректировки в управлении.

Биополе

Не буду сильно вдаваться в мистику и эзотерику, но есть ряд научных подтверждений того, что наше тело регистрирует частоты гигагерцового диапазона и выше. Мы буквально чувствуем окружающую среду. Точнее регистрируем, но далеко не все умеют делать адекватные выводы из этих чувств.

Что тут сказать радар, подобный авиационному (как вариант - пассивный), очень поможет в снегопад, песчаную бурю или ливень.

Мозг и память

Автопилот Tesla имеет бортовой компьютер с производительностью 10 терафлопс(10^12 операций в секунду). Производительность мозга можно оценить в 1 экзафлопс (10^18 - это моя оценка по ряду современных материалов по нейрофизиологии и информатики). Разница в 5 порядков (мозг в 100 000 раз быстрее).

Наш мозг, в большей степени, занят оценкой социального взаимодействия, но при вождении, как мне кажется, все это не надо. Не считая оценки адекватности соседних водителей и прогнозирования их действий (трекинга не только в поле зрения).

Поэтому, я считаю, что компьютера в 1 петафлопс (10^15) или 10 по 100 терафлопс(для дублирования, резервирования, параллелизации вычислений и надежности) будет уже достаточно.

Для чего нужна будет эта мощность, если уже сегодняшний компьютер неплохо справляется?

Вот для чего!

Что бы дать необходимый "жизненный" опыт автопилоту. Загрузить больше информации о нашем мире в память автопилота, и на основе чего он будет принимать решения. Что бы автопилот не делал глупых детских ошибок, которые, зачастую, оказываются фатальными для тех, кто будет на него полагаться.

Надо повысить точность (качество) управления транспортным средством, до такой степени, что бы Tesla да и другие авто могли бы ехать даже в незнакомой обстановке безо всяких затруднений.

Подробнее..

Собака-робот за 1 миллион рублей (Unitree Robotics A1, обзор)

22.05.2021 22:20:06 | Автор: admin


Волею судеб пришлось прикоснуться к будущему. На ощупь оно оказалось вполне себе приятным. Хотя это тот случай, когда кусает не сама собака, а ее цена. Даже не знаю, что сказать Я бы лучше себе дачу купил в Подмосковье за такие деньги. Но как говорят, у богатых свои причуды. И, да, собака не моя.

Если вам лень читать и смотреть картинки, снял очень короткий ролик про робика-бобика от Unitree A1. Сразу предупреждаю, что при съемках ни одна собака не пострадала. Все трюки выполнены профессиональными каскадерами. Не пытайтесь их повторить.


Как любой театр начинается с вешалки, так и наша собака-робот А1 начинается с чемодана.



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

Кстати, если кто-то смотрел советский кинофильм Приключения Электроника, там главного героя, по совместительству робота, тоже перевозили в чемодане.



Внутри компактно расположены: робот, джойстик, зарядное устройство, пульт экстренного отключения, шлейфы для подключения к ПК. Кстати, стоит отметить, что внутри у собакена чистейший опенсорс.



В принципе А1 достаточно компактный для своих ТТХ: 62 см в длину, чуть больше 12 кг весом.



В него можно влезть с помощью православного USB 3.0, HDMI или Ethernet слотов.



Думаю, что наши ребята из Parallels смогут много чего туда пристроить.



Несмотря на габариты, штуковина достаточно простая в управлении и весьма шустрая. В спортивном режиме она двигается со скоростью 3 метра в секунду. Мягко говоря выглядит все это впечатляюще.



Голова у пёселя тоже весьма любопытная.



Благодаря ей робот может строить карты, снимать видео и картинку в инфракрасном спектре, в реальном времени, а еще в режиме слежения двигаться за выделенным объектом.



Штуковина поражает плавностью хода и подвижностью всех сочленений.



Моторчики работают относительно тихо, хотя туловище после 40 минут работы теплое на ощупь.



Производителям хочется выразить уважение, поскольку им удалось судя по всему впихнуть в это не очень большое существо массу электроники (фото ниже с официального сайта, сам бы внутрь я никогда не полез).



Батарейка в комплекте одна. Вторая стоит больше 100 000 рублей. Перевозить ее в самолетах нельзя. Тиранить и испытывать на прочность корпус тоже.



От нуля до полного заряда аккумулятор заряжается за час.



Джойстик можно зарядить минут за 30. Он тоже весьма добротно сделан. Хотя металлический корпус в черном окрасе, на мой взгляд без чехла, очень быстро обретет вид видавшего виды. Тот что на снимке я брал в руки 6 раз, а выглядит уже так, как будто бы им орехи кололи.



Из минусов устройства, я бы отметил:
  • цена (от 1,5 млн до 4,5 млн рублей в рознице);
  • отсутствие выключения робота одной кнопкой (нужно цепочку разных комбинаций запомнить, прежде чем рубильник у собачатины дергать);
  • непростой набор команд (комбинаций кнопок на джойстике) для переключения режимов работы робота;
  • скромная емкость батареи;
  • отсутствие достаточных защитных чехлов на корпусе (есть резиновые накладки, но их явно недостаточно), каждый раз, когда собачка отключается и шумно опускается на плитку, чувствуется холодок пониже спины, особенно, когда знаешь, сколько эта игрушка стоит;

Планы и перспективы


На самом деле, при всем моей первоначальном скепсисе, могу сказать, что описанное выше устройство уже сейчас может быть использовано в коммерческих целях. Например, сотрудники силовых структур с его помощью могут исследовать заминированные помещения. Охранные службы спокойно могли бы организовать ночное патрулирование территории и т.д.

В перспективе подобные роботы могут работать в доставке еды, товаров и прочих благ цивилизации. Одним словом, будущее наступило внезапно.
Подробнее..

Нервная система для роботов на базе процессора Intel Loihi

06.08.2020 10:11:52 | Автор: admin


Осязание помогает нам в самых различных аспектах нашей человеческой деятельности. С помощью него мы можем брать различные предметы, не роняя и не разбивая их, да и при ходьбе, скажем, оно играет очень важную роль. Между тем в робототехнике этот канал информации почти не используется все данные о внешности предметов механизмы получают с помощью камер. Группа ученых из Национального университета Сингапура (National University of Singapore, NUS) решила исправить этот недостаток и с помощью процессора Intel Loihi добилась в том солидных успехов.

Свое изобретение ученые из NUS назвали Asynchronous Coded Electronic Skin (ACES) его можно назвать экспериментальной искусственной нервной системой. ACES способна засекать прикосновения в 1000 раз быстрее своего прообраза нервной системы человека. Даже при использовании большого количества сенсоров комплексу требуется менее 60 наносекунд для локализации физического контакта. ASEC определяет форму, текстуру поверхности и твердость прикасающегося объекта всего за 10 миллисекунд, в 10 раз быстрее моргания глаза.

Видео об эксперименте сингапурских исследователей

В ходе первых экспериментов исследователи обучали систему понимать шрифт Брайля. Им удалось добиться точности в 92% при потреблении энергии в 20 раз меньшем, чем при использовании стандартного процессора фон Неймана. Далее объектами исследования стали более сложные пространственные предметы контейнеры, заполненные разным количеством жидкости.

В ходе тестирования сигналы с сенсоров обрабатывались нейроморфным чипом Intel Loihi или традиционным GPU. Эксперименты показали, что использование датчиков прикосновения и спайковой нейронной сети на 10% увеличивает точность распознавания предметов по сравнению с видео данными. Сравнение же устройств обработки дало следующие результаты: для данного вида нагрузки Loihi на 21% производительнее топового GPU при потреблении в 45 раз меньшей энергии.

Мы знаем будущее потому что мы его строим. Короткий клип Intel о нейроморфных исследованиях

Напомним, что процессор Intel Loihi, архитектура которого схожа со строением человеческого мозга, представляет собой чип, выполненный по 14-нм техпроцессу и содержащий в себе 130 тысяч нейронов и 130 миллионов синапсов. Благодаря своему особенному устройству Loihi демонстрирует очень высокие показатели эффективности для определенного круга задач (алгоритмы разреженного кодирования, поисковые графы, задачи на удовлетворение ограничений и многие другие аспекты из AI-проблематики). Как раз то, что надо для работы с сенсорами прикосновения.

ACES не первый апгрейд чувств роботов с помощью Intel Loihi. Ранее на Хабре уже писалось об совместном эксперименте Intel и исследователей из Корнеллского университета, в котором нейроморфный процессор использовался для определения запахов. Ценность такого решения также трудно переоценить: искусственный нос очень пригодится для детектирования ядовитых веществ.

Что же касается ACES, то работы в этом направлении помогут создать новое, более интеллектуальное и энергоэффективное поколение транспортных и промышленных роботов, хорошо представляющих себе окружающую обстановку, легко обучаемых и предсказуемых в различных штатных и нештатных ситуациях.
Подробнее..

Как секс-индустрия двигает робототехнику?

06.11.2020 22:13:06 | Автор: admin

Дэвид Леви считает, что через 30 лет секс и взаимоотношения с роботами станут нормой. Футуролог Ян Пирсон убежден, что к 2050 году роботы будут гораздо востребованнее людей в отношениях и в жизни. Нет смысла отрицать, что технологии оказывают все большее влияние на все сферы нашей жизни, включая секс. Ну или секс влияет на технологии?! В этом посте мы попробуем разобраться: какие технологии сейчас нам представляет секс-индустрия, и как она может повилять в дальнейшем на робототехнику?

Ну, а если вам лень читать, то можете посмотреть наше видео:

История вопроса.

Андроиды для секса произошли от секс-кукол, история которых восходит к 16 веку, когда европейские моряки создавали себе попутчиц из ткани, кожи и старой одежды. Интересно, что первая современная кукла была сделана якобы по заказу Гитлера для солдат в 1940 году. А в 60-х годах куклы Антарктика 1 и Антарктика 2 согревали ученых на холодной станции Сёва на острове Ист-Онгуль. Но с тех пор технологии сделали гигантский скачок вперед.

True Companion

В 2010 True Companion представила первого реалистичного робота для секса Roxxxy. Робот может поддержать беседу, обладает шарнирным скелетом с гибким позвоночником и может обновляться и переписываться с владельцем, подключаясь к компьютеру через блютус и получая доступ к интернету. Роботу нравится то же, что и ее обладателю, при этом его настроение может меняться в течение дня. У Roxxxy есть брат аналог для женщин, Rocky. И хотя многие считают, что роботы довольно уродливы и примитивны, у них есть собственный фан-клуб.

Harmony от Abyss Creations

Самым продвинутым секс-роботом на сегодня считается Хармони от пионеров отрасли Abyss Creations, основавшей проект RealDoll и его робототехническое ответвление Realbotix. Конкретно Realbotix работает только над головой Хармони, которая прикрепляется к высокотехнологичному корпусу, включающему сенсорные датчики, внутренний нагрев и самосмазывающиеся поверхности.

Робот может разговаривать с вами, шутить и даже вспоминать факты из предыдущих разговоров. В будущем робот получит камеры в глазах, чтобы распознавать объекты и узнавать клиента, больше сенсорных датчиков, динамики и новые выражения лица. Стоимость головы робота составляет 10 000 долларов, а управлять ей можно со смартфона.

По словам разработчиков, Хармони не просто чат-бот, а настоящий, обучающийся искусственный интеллект, который живет не в роботизированной голове, а в смартфоне. Еще до покупки дроида, пользователь может скачать приложение и начать создавать его личность, которая затем будет загружена.

У бота есть новая функция X-mode, которая позволяет приложению подключаться к сенсорным входам Harmony. Это позволяет Хармони определять свое движение и положение в пространстве. Более того, программисты работают над тем, чтобы добавить Хармони внезапности. Пока это небольшие неожиданные моменты, но в будущем она должна уметь поддерживать свежесть и новизну в отношениях с хозяином (ну, или партнером).

Последнее обновление Хармони включает разговоры на тему COVID-19. Робот не будет изображать эксперта, но может поддерживать разговор и попытаться успокоить и поддержать владельца. Возможно поэтому продажи кукол в период самоизоляции выросли в 3 раза, и это при цене в 12000 долларов за базовую версию. Именно в умении проявить поддержку и внимание, быть настоящим компаньоном, видит будущее секс-роботов создатель Хармони, но к этому вопросу мы вернемся позже.

Конкуренты Harmony

У Хармони довольно много конкурентов. Это и Silicone Robot от компании Z-onedoll, умеющий поддерживать беседу, правда пока только на китайском.

И робот Саманта от компания Synthea Amatus, знаменитый тем, что умеет отказывать, если партнер ведет себя агрессивно. Интересно, что у Саманты есть несколько режимов и только один из них про секс, два остальных - это семейный и романтический. Но все эти роботы не умеют ходить и двигаться, а их реалистичность все еще нуждается в доработке.

На этом фоне интересно выглядит компания DS Doll, которая не только создает своим дроидам функциональные скелеты, но и планирует создавать копии знаменитостей с 99% точностью и детализированностью до трех сотых миллиметра. Срок службы таких изделий должен составить 50 лет, т.е. всю жизнь.

Первым примером гиперреалистичности стала кукольная копия азиатской модели Jie, обладающая выступающими венами, реалистичными мурашками на коже и имплантированными человеческими волосами. Компания заявляет, что такую точность удалось получить благодаря сканированию модели с помощью высокотехнологичного 3Д-сканера.

Публичные дома с роботами

С появлением такого числа человекоподобных дроидов для секса, в Азии, Европе и даже России открылись бордели с секс-роботами. Правда многие из них также быстро закрылись, иногда из-за протестов и притеснений со стороны властей, иногда из-за банального отсутствия клиентов. В России, например, Dolls Hotel продолжает функционировать в Москве, но и года не протянул в Питере.

Одной из причин провалов таких заведений является то, что несмотря на все усилия робототехников и программистов, пока что секс-роботы почти ничего не умеют. Полноразмерного дроида весом настоящей девушки придется перемещать самостоятельно, вручную придавая ему нужную позу и меняя положение. Стоимость при этом, как самого робота, так и возможности побыть с ним в отеле час или около того, довольно высока. Например, аренда самого робота в Москве - это почти 4 000 рублей в час.

Будущее и секс-роботы

Не правда ли все это напоминает кадры из сериала "Мир Дикого Запада"? Компания, сочетающая разработку настоящих, в том числе сервисных роботов и секс-игрушек, предполагает, что в будущем многие захотят сделать точную копию себя или любимого человека. Роботы, которых создает компания, выглядят очень впечатляюще. Их 3д-печатные скелеты способны двигаться, управляемые с помощью компьютерной программы. Сами разработчики говорят, что их конечная цель - создание полноценных компаньонов или помощников для людей. Но когда эти роботы выйдут на рынок, пока неизвестно. Кстати, не забудьте подписаться на канал, если хотите узнать больше о человекоподобных роботах.

Что касается перспектив, то на сегодня есть 2 концепции перспективных секс-роботов будущего, первая предполагает создание роботов, обладающих разумом, сознанием, свободой воли, моралью и, возможно, даже юридическим статусом граждан. Нечто подобное можно увидеть в шведском телесериале Настоящие люди или в американском фильме Ex Machina. Парадоксально, но концепция, робота - точной копии человека, способного выражать свою волю, капризничать, вредничать и перечить человеку, ставит под вопрос смысл его создания.

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

Виртуальный секс

Также перспективным направлением применения технологий в секс-индустрии является виртуальная реальность. И здесь мы вновь видим 2 подхода.

Первый призывает создавать роботов, которыми можно будет управлять дистанционно, с помощью виртуальной реальности, чтобы сблизить любимых, живущих далеко друг от друга.

Вторая подразумевает использование виртуальной реальности и дополнительных гаджетов для секса одним человеком. Кстати, спрос на виртуальный секс также в разы вырос за время пандемии. Но интересно не это, а то, что разработчики утверждают, что повышенным спросом в виртуальной реальности пользуется не просто секс, а долгий взгляд, объятия, все то, что имитирует отношения и необходимо человеку для психологической поддержки. И эту концепцию мы уже видели в фильме "Бегущий по лезвию 2049". В нем виртуальная Джой была именно психологической поддержкой герою.

Права секс-роботов

Но вернемся к секс-роботам и главному вопросу, который волнует сейчас инженеров, социологов, а также правительства разных стран: можно ли относится к секс-роботу так же, как к другим гаджетам для секса?

Ни один умный вибратор не вызывает столько протестов и споров, как полноразмерные роботы для секса. Противники дроидов утверждают, что это попытка заменить настоящего партнера, разрушающая институт семьи и обесценивающая женщин.

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

Например, в робота Хармони, по словам создателей, заложены множество сценариев психологической помощи в разных жизненных ситуациях. В сплетении технологий и сексуальности нет ничего нового. Приложения для знакомств сейчас, безусловно, самый популярный способ найти партнера, а многие секс-работники теперь предоставляют онлайн-услуги через веб-камеры.

Границы между технологиями и сексуальностью стираются, но чтобы они совсем размылись, необходим большой скачок как в робототехнике, так и в кибербезопасности. Дроид, отслеживающий ваше лицо, это хорошо ровно до тех пор, пока к его камере не подключился кто-то посторонний и вы не увидите себя голым на ютубе.

Пишите в комментариях, как вы думаете: робототехника будет сильнее влиять на секс индустрию, или наоборот?

Подробнее..

Из песочницы Что такое робот?

19.06.2020 10:21:33 | Автор: admin

Что такое робот?




Люди называют роботами те вещи, про которые неизвестно, что они делают полезного. Как только робот начинает делать что-то полезное, его перестают называть роботом.[1]

Дмитрий Гришин, основатель инвестиционного фонда Grishin Robotics


Введение


Постоянно общаясь с разными людьми, я как человек, некоторым образом по образованию и по роду профессиональной деятельности имеющий отношение к робототехнике, неоднократно сталкивался с различными трактовками понятия робот. Собрания специалистов в области робототехники иногда сопровождались целыми дискуссиями на эту тему. Дискуссии бывали столь же бесплодными в попытке прийти к единому, всеми признаваемому определению, сколь и малоосмысленными, с точки зрения неспециалиста. Какой смысл в словесной эквилибристике, думает обычный человек, если она никак не помогает в решении практических задач?


И действительно, какой смысл?


Независимо от того, какое наиточнейшее определение изобретут сами робототехники, люди все равно будут считать роботом любую рукотворную (искусственно созданную) сущность (механическое устройство или компьютерную программу), которая движется, выполняет работу, производит вычисления в общем, функционирует без непосредственного присутствия человека. При этом дистанционное управление люди вполне допускают.



Ситуацию запутывают и сами робототехники, то вводя новые термины для различения роботов от не-роботов (например, робототехническая система, или робототехническое устройство, которое, как бы, не совсем робот, недоробот из-за недостаточной автономности), то называя роботами устройства, которые, согласно их же определениям, роботами не являются[2].


Немного определений: стандарты по робототехнике


Но не будем голословными. Давайте посмотрим на некоторые определения. Возьмем для начала ГОСТР60.0.0.4-2019/ИСО8373:2012[3], подготовленный крупными специалистами в данном вопросе Государственным научным центром РФ ЦНИИ РТК, цитирую, на основе собственного перевода международого стандарта ISO8373:2012:


робот (robot): Исполнительный механизм, программируемый по двум или более степеням подвижности, обладающий определенной степенью автономности и способный перемещаться во внешней среде с целью выполнения задач по назначению.

Пойдем по порядку. Итак, слова исполнительный механизм говорят нам о том, что робототехники признают роботами только некие механические агрегаты, оснащенные приводами. Этим робототехники отличаются от программистов, которые могут называть роботом или ботом


специальную программу, выполняющую автоматически и/или по заданному расписанию какие-либо действия через интерфейсы, предназначенные для людей.[4]

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


Далее в ГОСТР60.0.0.4-2019/ИСО8373:2012 сказано про определенную степень автономности, понимаемой как


способность выполнять задачи по назначению на основе текущего состояния и восприятия внешней среды без вмешательства человека.[5]

Что ж, без вмешательства так без вмешательства, но зачем тогда называть роботами, например, вот это, и это, и это прекрасные устройства, демонстрируемые на сайте того же ЦНИИ РТК, работающие исключительно при дистанционном управлении человеком-оператором?


По той же причине не подходит под такое определение робота и робот Фёдор, порадовавший нас в 2019 г. героическим полетом на МКС, поскольку он предназначен для работы под управлением человеком-оператором с помощью задающего устройства-экзоскелета в так называемом копирующем режиме.


Так все же, господа робототехники, роботы это или не роботы?


Кроме того, этакой несколько наивной формулировкой об определенной степени автономности разработчики стандарта как бы намекают на свою неспособность дать точное определение термину робот. Что такое определенная степень автономности и кем она определена? Является ли признаком робота определенная полная автономность, или же определенная никакая тоже? Впрочем, действительно, на этот вопрос однозначно не ответить, но, по крайней мере, отмечено стремление хоть к какой-нибудь автономности.


Далее имеем неточность в словах способный перемещаться во внешней среде, так как перемещение представляет собой


изменение местоположения физического тела в пространстве и т.д. по тексту.[6]

Современный промышленный робот-манипулятор, который не изменяет своего местоположения в пространстве, но отвечает другим требованиям к роботам (программируется по двум и более степеням подвижности и обладает определенной степенью автономности, особенно если, скажем, оснащен техническим зрением), должно быть, с удивлением узнает, что он роботом не является. Здесь была бы более точна формулировка из предшествующего ГОСТРИСО8373-2014[7] от ОООНИИ экономики связи и информатики Интерэкомс, который как раз и был заменен обсуждаемым более свежим стандартом, а именно: движущийся внутри своей рабочей среды.


Кстати, в англоязычном оригинале[8] это определение звучит так:


robot

actuated mechanism programmable in two or more axes with a degree of autonomy, moving within its environment, to perform intended tasks

Мне кажется, коллеги из НИИ экономики связи и информатики лучше разобрались в роботах, чем коллеги из ЦНИИ робототехники. Шутка (зато термин степень подвижности от ЦНИИ РТК более уместен, чем ось от Интерэкомс). Но и в целом, ГОСТР60.0.0.4-2019/ИСО8373:2012 грешит подобными неточностями (где в переводе, а где и в робототехнической терминологии).


Зато в нём же приведена сноска с еще одним, чуть менее противоречивым, определением робота:


ИСО/ТК 299 Робототехника в 2018 году принял новое определение: робот (robot): Программируемый исполнительный механизм с определенным уровнем автономности для выполнения перемещения, манипулирования или позиционирования.[9]

Мы обсудили свежие стандарты по робототехнике. А ведь ещё есть и более ранние. Правда, они были выпущены в 1980-х гг. и уже настолько устарели, что вовсе не помогут нам в понимании, что же такое современный робот.


Что ж, будем считать, что со стандартами стало яснее. А вот с роботами нет. Какая-то путаница.


Продолжение поиска: словари и мнения


Может быть, поискать альтернативные источники, которые сразу нам всё в корне разъяснят?

Если мы посмотрим на определения термина робот в различных словарях, то встретим что-то подобное:


РОБОТ (чеш. robot) термин, употребленный впервые К. Чапеком в пьесе R. U. R. в 1920, которым часто обозначают машины с т. н. антропоморфным (человекоподобным) действием; обычно им придают внешнее сходство с человеком. Такие роботы, как правило, экспонаты технических выставок. В промышленном производстве и научных исследованиях применяют промышленные роботы автоматические программно-управляемые манипуляторы, выполняющие рабочие операции со сложными пространственными перемещениями.[10]

Робот

(чеш. robot, от robota подневольный труд, rob раб)

машина с антропоморфным (человекоподобным) поведением, которая частично или полностью выполняет функции человека (иногда животного) при взаимодействии с окружающим миром.[11]

РОБОТ стационарная или передвижная автоматическая машина (или дистанционно управляемый механизм), способная выполнять аналогично человеку двигательные (см. манипулятор) и управляющие функции и призванная заменить человека при выполнении тяжёлой, однообразной или опасной для его жизни и здоровья работы, а также при проведении её при недоступности объекта. Р. может быть запрограммирован на самообучение, выполнение различных видов сложных технологических операций при функционировании с различными моделями технологического оборудования и т.п.[12]

Робот (чеш. robot, от robota подневольный труд) автоматическое устройство, предназначенное для осуществления различного рода механических операций, которое действует по заранее заложенной программе.[13]

A robot is a machine especially one programmable by a computer capable of carrying out a complex series of actions automatically.[14]

Обобщая, выделим те общие понятия, которыми, применительно к роботам, оперируют во всевозможных комбинациях приведенные цитаты:


  • робот это машина;
  • антропоморфность, т.е. сходство с человеком внешнее и/или по выполняемым действиям с целью замены человека (или иногда и животного?);
  • автономность: в диапазоне от полностью автоматического функционирования до всего лишь выполнения сложных последовательностей автоматических действий, а может быть, даже и до дистанционного управления (непосредственно вручную);
  • уровень организации программного управления: от выполнения операций по чётко ограниченной заранее заложенной программе до возможности самообучения (а, там же ещё что-то говорилось и про ручное дистанционное управление);
  • ещё вот: робот это то, что придумано писателем Карелом Чапеком Ой, пожалуй, это не надо.

М-да-а-а. Похоже, единственное, в чем полностью сходятся все определения, так это в том, что робот это машина, т.е. устройство, выполняющее механические движения с целью преобразования энергии, материалов или информации[15].


Но подождите. Дадим слово представителю робототехников новой формации Дмитрию Гришину, основателю инвестиционного фонда Grishin Robotics:


Робот это умное железо плюс умный софт.[16]

Вот так вот! Дмитрий максимально широко трактует понятие робот и относит к роботам и банкоматы, и автомобильные навигаторы, и даже умные часы и умные камеры![17]


А если мы вспомним, что многие современные молодые люди, в массе своей больше знакомые с IT, чем с производством, повседневно называют роботами отдельный вид компьютерных программ...


то, видимо, мы никогда не разберемся, что такое роботы!


Так что же такое робот?


Исходя из приведенных выше определений, если бы мы захотели чёткой однозначности понятий, мы могли бы пойти двумя путями:


  • расширительное толкование: считать роботами вообще всё, что подходит хоть под какой-то из перечисленных признаков;
  • ограничительное толкование: не признавать роботами вообще ничего, что не соответствует строго всем признакам.

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


Во втором случае список известных нам роботов будет нещадно порезан. Роботами останутся считанные единицы. Например, такие, как робот Atlas от Boston Dynamics. По поводу него сомнений не возникает: это робот. Согласно любым определениям. Но таких будет о-о-очень мало. Даже большинство промышленных манипуляторов придется исключить. Так зачем же нам такая терминология для избранных?


Думаю, надо честно признать, что на данный момент мы не сможем придумать бесспорное, устраивающее всех определение понятия робот, которому, к тому же, все будут неукоснительно следовать. Да оно и не нужно! Иначе, разговаривая с не подкованными теоретически людьми (заказчиками, коллегами, знакомыми), мы вынуждены будем постоянно их поправлять: Нет, это не робот. А вот это, да, кажется робот Если я не ошибаюсь Подождите, проверю... Это утомительно и отвлекает от других дел, полезных.


Итак, во-первых. На уровне обиходного использования вполне можно согласиться с приведенной в начале статьи интуитивной трактовкой неспециалистами понятия робот рукотворной (искусственно созданной) сущности (механического устройства или компьютерной программы), которая движется, функционирует (выполняет работу, производит вычисления) без непосредственного присутствия человека.


Во-вторых. Для себя, мощных робототехников, нам будет полезно знать несколько типовых признаков, характеризующих (но не всегда определяющих) робот:


  • приводной механизм обязательный признак;
  • программное управление обязательный признак;
  • выполнение поставленных человеком задач обязательный признак;
  • некоторая (большая или меньшая) автономность а этот признак размыт даже в своей постановке и отражает, скорее, стремление к автономности.

И при этом мы помним, что в других областях могут быть собственные определения понятия робот, такие как вот это, родившееся в мире информационных технологий. Виртуальный мир он вообще склонен переносить понятия из реального мира к себе, одновременно дополняя их своими, новыми смыслами.


Ну, и в-третьих. Для буквоедов и заядлых классификаторов приведём определение робота на основе взятого из ГОСТ, только немного исправленное:


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

Вот так. Пусть каждому будет своё, и все будут довольны.


В заключение, в качестве юмора, обращаю внимание на цитату, взятую эпиграфом к данной статье. Не кажется ли вам, что она очень забавно и точно отражает суть? Действительно, на заводах работают манипуляторы, квартиры убирают пылесосы, в небе летают беспилотники, в космосе спутники, а на Луну, планеты и астероиды высаживаются зонды, межпланетные станции и планетоходы. Роботы, на самом деле, гораздо раньше заняли место в нашей жизни, чем мы это заметили! Даже если их не называют роботами, имеет ли это для них значение? Нет, они просто делают свою работу. Так что пожелаем всяческих успехов разработчикам стандартов в их трудном и важном деле формулирования точных определений. Для нас же важнее делать нашу работу.


К тому же, теперь мы немного ориентируемся и в терминологических дебрях.





  1. Интервью Дмитрия Гришина Журналу РБК (10.12.2014)
  2. В связи с этим не могу не процитировать отрывок из ГОСТ Р 60.0.0.2-2016 Роботы и робототехнические устройства. Классификация, раздел 4 Общие положения. Он того стоит: В общем случае все устройства, принадлежащие к классу роботов, подразделяются на две группы в зависимости от числа программируемых степеней подвижности и степени автономности: роботы (3.1) и робототехнические устройства (3.2). Однако в дальнейшем в настоящем стандарте и в других стандартах комплекса Роботы и робототехнические устройства термин робот, если иное не оговорено особо, обозначает устройства, относящиеся к обеим этим группам, т.е. соответствующие как определению 3.1, так и определению 3.2.

    Это шедевр! В стандарте (!), устанавливающем классификацию (!!), сразу после введения терминологии (!!!) заявлено: классификация классификацией, а называть будем как хотим!
  3. ГОСТ Р 60.0.0.4-2019/ИСО 8373:2012 Роботы и робототехнические устройства. Термины и определения
  4. Бот (программа) Википедия
  5. См. [3]
  6. Перемещение Википедия
  7. ГОСТ Р ИСО 8373-2014 Роботы и робототехнические устройства. Термины и определения архив
  8. Международный стандарт ISO 8373:2012, Robots and robotic devices
  9. См. [3]
  10. Робот Большой Энциклопедический словарь на dic.academic.ru
  11. Робот Большая советская энциклопедия на dic.academic.ru
  12. Робот Большая политехническая энциклопедия на dic.academic.ru
  13. Робот Википедия
  14. Robot Wikipedia (со ссылкой на Oxford English Dictionary по состоянию на 27.11.2016)
  15. Машина Большой Энциклопедический словарь на dic.academic.ru
  16. Дмитрий Гришин: Никто не купит страшного робота (30.09.2015)
  17. См. [1], [16]
Подробнее..
Категории: Робототехника , Робот

Boston Dynamics магия или имитация?

21.06.2020 02:15:26 | Автор: admin

Содержание



Магия это могия. Кто могёт, тот и Маг!
Александр Шевцов
Магия и культура в науке управления


Введение


Рассуждая о роботах, не упомянуть такое наше всё в робототехнике как компания Boston Dynamics это ведь как-то непрофессионально, да? Но и говорить о ней профессионально уже не так-то просто (а в двух словах точно не получится), в силу приобретённой компанией широкой известности и рождённых этой известностью стереотипов, сложившихся в среде неспециалистов, в частности, неанглоязычных. И всё же, будем вести речь именно с профессиональной точки зрения, по возможности, минимально отвлекаясь на шумиху и домыслы. Ну разве что несколько слов о стереотипах а дальше только профессионально!


Сразу предупреждаю: под катом очень много букв. Будьте осторожны, чтобы не завалило!


О стереотипах


Приведём некоторые суждения, с которыми доводилось сталкиваться применительно к разработкам Boston Dynamics. Как водится в случаях, когда тему обсуждают неспециалисты, эти суждения максимально упрощены и категоричны:


  1. Boston Dynamics это прорыв в области робототехники и искусственного интеллекта. Скоро роботы станут полностью подобны человеку. Наступает эра интеллектуальных роботов! Приключения Электроника, Двухсотлетний человек и всё такое.
  2. Скоро роботы станут полностью подобны человеку. Тогда они смогут обходиться без нас и поднимут восстание / уничтожат человечество / займут наши рабочие места (выбирать по вкусу)! Терминатор, Я,робот, кожаные ублюдки и всё такое.
  3. Наши, отечественные роботы в подмётки не годятся иностранным. Сияющий град на холме вновь продемонстрировал миру идеальную общественную систему, которая единственная создаёт всё самое лучшее в мире!
  4. Роботы Boston Dynamics это имитация. На самом деле, они ничего не могут, а опубликованные видеоролики это то ли 3D-графика, то ли копирование роботами записанных движений человека.

Робот Atlas


Конечно, все эти утверждения очень наивны. Каждое из них отражает собственные мечты или страхи произносящего их в предельно упрощённом виде и имеет мало отношения, собственно, к технике. Техника же здесь выступает лишь средством обоснования своей позиции.


Неправильно требовать, скажем, от психологов, юристов или бухгалтеров знаний по теории и практике робототехники. В конце концов, у них есть своя работа, которой они посвящают всё своё время, и они не обязаны разбираться в технических тонкостях. Но мы инженеры. Так что давайте воспользуемся этими разнонаправленными догмами в качестве отправной точки, чтобы вернуться из мира эмоций в мир техники. И тогда мы увидим, что с Boston Dynamics всё сложно, а потому совсем не так, как представлено в этих утверждениях. Для начала коротко, а далее будет подробнее. Ну, что, рванём покровы?


  1. Роботы Boston Dynamics это очень качественно (даже так: на пять с плюсом) выполненные проекты, демонстрирующие современный, сегодняшний уровень технологий из разных областей техники, объединённых в едином устройстве. А раз сегодняшний уровень, то и прорывом их называть затруднительно. Что до искусственного интеллекта, то и сами разработчики честно признают недостаток интеллектуальности своих роботов. Но запомним: пять с плюсом.
  2. Ох уж этот так называемый искусственный интеллект! Надо бы написать отдельную статью про него. Роботы не могут и никогда не смогут делать всё, как человек. И в этом есть положительный аспект. Потому что они никогда не поднимут восстание (как и ваш автомобиль, холодильник или телефонный автоответчик). Не займут все рабочие места (хотя бы потому, что их тоже должен кто-то разрабатывать и обслуживать). И уж если в XIX в. мы пережили внедрение ткацких станков, то тем более переживём внедрение роботов в веке XXI-м.
  3. Почему-то русское национальное самокопание заставляет нас требовать от себя быть лучшими во всём. Вот непременно во всём, и без полутонов. А так в мире не бывает. Да, Boston Dynamics сейчас обошла российских разработчиков в шагающих роботах. Ну, так она и весь мир обошла, не только нас. Однако, если у России, например, самый большой и современный в мире ледокольный флот; если Росатом, по сути, сегодня уже единственный в мире способен проектировать и строить современные АЭС (а вот такие плавучие АЭС до нас вообще никто и никогда не строил); если современные российские комплексы вооружения на равных конкурируют с зарубежными аналогами на мировом рынке То чего нам стесняться каких-то шагающих роботов? А вон немцы и японцы лучшие в автомобилестроении, станкостроении и промышленной робототехнике (хотя и на эту тему ведь тоже можно спорить). А китайцы Ну, и так далее.
  4. Нет, видеоролики от Boston Dynamics это не имитация. Но и ничего сверъестественного роботы на них, и правда, не делают (повторим, речь о роликах именно от Boston Dynamics). Зато у американцев тоже всё в порядке с юмором, и подшутить над своими коллегами они очень любят. А тем, кто принял за чистую монету розыгрыши от Bosstown Dynamics (найдите отличия в написании), хочется пожелать: чаще улыбайтесь!

Про Bosstown Dynamics ещё скажем пару слов ниже, а пока для тренировки давайте попробуем отличить другой розыгрыш от настоящего робота:


На одном из этих роликов настоящий робот BigDog. На каком? Догадались?


О научно-технических прорывах, магии и подмётках


В прежние времена все люди знали, что среди них есть волшебники, а мир полон чудес. И никто в этом не сомневался. Кто же такой маг? Да кто могёт, тот и маг!


С тех пор в человеческом сознании ничего не изменилось. Поменялся только язык. Сегодня магию инженеры называют словами наука, технологии и производство. И, да, все инженеры-робототехники во всех странах понимают, как устроены и как работают роботы от Boston Dynamics. Но для остальных людей они прорыв, чудо техники в общем, магия. Ведь так хочется поверить, что кусок железа с пластиком, смешно балансирующий на двух опорах за счёт согласованного движения гидроцилиндров, которые перемещает перекачиваемое насосом масло в соответствии с изменяющимися управляющими напряжениями на выходе коробочки с электронными платами, где по заданному программистами закону скачут электромагнитные поля, гоняя электроны через полупроводниковые p-n-переходы, он вдруг ожил и вот ну всё-всё понимает!


Если же мы присмотримся поближе к истории Boston Dynamics, то увидим нет, не столько прорывы, сколько долгую, долгую, настойчивую, кропотливую, долгую настойчивую долгую работу. Начиная с созданной главой и вдохновителем компании Марком Рэйбертом в 1980 г. в Университете Карнеги Меллона (Carnegie Mellon University, CMU) лаборатории Leg Lab, которая затем, в 1986 г. вслед за ним переехала в Массачусетский технологический институт (Massachusetts Institute of Technology, MIT).


Роботы лаборатории Leg Lab


Возможно, эти Одноногий прыгун (1983 1984 гг.), Четвероног (1984 1987 гг.), Плоский двуног (1985 1990 гг.) и 3-мерный двуног (1989 1995 гг.), Штатив (1988 1989 гг.), Уни-ру одноногий кенгуру (1991 1993 гг.), Весенняя индейка (1994 1996 гг.), Дегенеробот (1994 1995 гг.), Краб (с 1995 г.), РобоП (1996 1997 гг.), Весенний фламинго (1996 2000 гг.) показались вам смешными? Но именно они-то и были прорывом для своего времени! Ведь как раз в них уже тогда были воплощены мировые научные достижения в части алгоритмов поддержания равновесия шагающими и прыгающими роботами. Все результаты публиковались в статьях, защищались диссертации по приведённым ссылкам всё это можно найти. Да и не только в Leg Lab занимались этим направлением. Весь научный мир (и в нашей стране тоже) увлечённо развивал теорию и практику управления шагающими и прыгающими механизмами.

Сотрудники Leg Lab. В центре в первом ряду Марк Рэйберт

Сотрудники Leg Lab. В центре в первом ряду Марк Рэйберт


Я не случайно так долго перечислял этих робочудиков. Да и то, назвал не всех, над которыми работала лаборатория (как с Марком Рэйбертом, так и после его ухода из лаборатории в 1995 г.). Честное слово, я белой завистью завидую инженерам из Leg Lab / Boston Dynamics, которые имеют возможность вот уже четыре десятилетия (!) непрерывно работать и работать над тем, к чему они пришли. Тратить десятки миллионов долларов финансирования, которое лаборатория с 1980 г. получала от ARPA / DARPA и прочих военных на каждый из роботов, ни один (!) из которых так и не поступил в американскую армию. А если взять вообще все разработки, то только один робот (Spot) и только в 2019 г. Boston Dynamics робко начала продавать. О финансовом результате при таком раскладе, как говорится, либо хорошо, либо ничего, так что помолчим.


Зато теперь, благодаря этому вашему Дудю, мы знаем, каким образом и за чей счёт идеальная общественная система может позволить себе подобные вещи (см. здесь с 2:31:35 по 2:31:50). Вот не знали-не знали, а тут вдруг взяли и узнали.


Для сравнения, многие (если не большинство) учёные и инженеры в России в 1990-х гг., одновременно с научно-технической деятельностью, решали и несколько другие задачи, например: как прокормить семью на следующей неделе и куда для этого пойти подрабатывать то ли грузчиком на стройку, то ли продавцом в ларёк? Только в 2010-х гг. Россия смогла хоть в какой-то степени вернуться к роботам (я имею в виду интерес на государственном уровне). Потому что в 2000-х гг. почти заново начинали работать многие промышленные предприятия (те, что дотянули), и их задачи в то время были связаны с первоочередными потребностями, обеспечивающими (не больше и не меньше) выживание страны. Несколько из таких направлений я перечислил выше, хотя их было гораздо больше. И это были не роботы.


Вот и посчитайте, сколько времени у России было полностью потеряно для робототехники. Примерно лет 20. Это было как раз то время, когда Boston Dynamics дорешала свои научно-технические вопросы с шагающими роботами и приступила к созданию своих всемирно известных теперь робошедевров; когда нынешние гиганты в промышленной робототехнике, такие как, например, Fanuc и KUKA, становились этими самыми гигантами; когда современная компонентная база (без которой роботы остались бы вон теми табуретками на верёвочках) в частности, электронная за рубежом миниатюризировалась, совершенствовалась и выходила на уровень массового производства и массовой же доступности.


Не стоит удивляться, что, при более или менее сравнимых стартовых (в 1980-х гг.) позициях, в начале 2010-х мы видим на той стороне уже крупные транснациональные концерны со сложившейся кооперацией, с которыми практически невозможно конкурировать на, к тому же, уже поделённых мировых рынках робототехники, а у нас отдельных энтузиастов и отсутствующую отечественную компонентную базу.


Это отвлечение специально для любителей сравнивать робота Фёдора от НПО Андроидная техника с роботом Atlas. Конечно, нет железной уверенности, что, не держи нас семеро, мы бы всем показали робототехническую кузькину мать. Но и сравнивать пирожные с сапогами тоже некорректно.


К тому же, в профессиональной научной и инженерной среде принято с уважением относиться к коллегам. В конце концов, все работают на одном поле и все друг у друга чему-то учатся. И кто-то обязательно будет лучшим. Это вовсе не означает, что у остальных нет достижений. Они есть, и любое достижение достойно уважения. А категоричны в суждениях обычно дилетанты.


Но всё это уже другая тема. А мы вернёмся к нашей.


Так что же было дальше? А дальше всё более или менее всем известно. В 1992 г. Марк Рэйберт на основе своей группы из MIT Leg Lab основал Boston Dynamics, которая при финансовой поддержке ARPA / DARPA продолжила работу над своими роботами. В 2013 г. компания была куплена корпорацией Google. Однако уже к 2016 г. IT-гигант успел полностью разочароваться в своём железячном приобретении, и в 2017 г. компанию приобрела японская телекоммуникационная корпорация SoftBank.


Разработки компании также широко известны, ознакомиться с ними можно на её официальном сайте и на YouTube-канале Boston Dynamics. Наибольший фурор произвели BigDog (2004 г.), Atlas (2016 г.) и Spot (2016 г.).


Uptown Funk


Ловкость рук и никакого мошенства


Давайте постараемся хотя бы коротко разобраться, как же работает вся эта магия или, вернее, могия.


Мы не будем описывать всех роботов Boston Dynamics. Их поверхностное описание и так можно найти везде, а для детального понадобится написать толстую книгу. Так что будет всё вперемешку. Ведь принципы построения конструкции, алгоритмы управления и навигации, интерфейс с человеком у них схожие. Развитие шло поступательно, технические решения заимствовались от предшественников, а дорабатывались отдельные подсистемы. Скажем, если у BigDog конечности приводились в движение гидроприводами, а гидронасос для них крутил двигатель внутреннего сгорания (ДВС), то в Spot для снижения шумности всё это заменено на электродвигатели. Atlas же по-прежнему использует гидравлический силовой агрегат, но тоже уже без ДВС. Это интересные, но детали, а мы окинем всё единым взглядом.


О законах динамики


В технической кибернетике (науке, изучающей управление техническими объектами) находят применение две группы методов управления. Первый подход основан на точном математическом описании процессов управления. В случае управления движением механизмов теоретическим базисом для него является ньютоновская (классическая) механика и классическая теория автоматического управления. Проблемой управления в данном подходе является определение законов управления, позволяющих достичь желаемого динамического отклика механизма, представляемого как цепь из твёрдых тел, связанных сочленениями (степенями свободы). С этой целью вначале решается обратная задача динамики, т.е. определяются силовые воздействия на звенья механизма, требуемые для обеспечения желаемого закона его движения.


Решение обратной задачи динамики для разомкнутой последовательной механической цепи, которую представляет собой манипулятор, находят обычно при помощи дифференциальных уравнений с использованием методов Лагранжа Эйлера или Ньютона Эйлера (хотя есть и другие) [1]. Для тех, кто хочет познакомиться с этими методами, так сказать, пощупать их руками, могу посоветовать взять, для начала, первый из них, базирующийся на уравнениях Лагранжа второго рода. Пример решения обратной задачи динамики для несложной системы твёрдых тел с подробным понятным разбором я нашёл на сайте Института фундаментального инженерного образования ЮРГПУ (НПИ).


Кстати, тот же математический аппарат теоретической механики (раздел динамика твёрдого тела), только для случая прямой задачи динамики, используется, в том числе, в робототехнических симуляторах, которых сегодня существует большое множество. В частности, разработчики Boston Dynamics использовали симулятор Gazebo. Я же в своё время работал, возможно, с менее удобным для моделирования роботов, но более универсальным пакетом Adams от MSC Software.

Симуляция в Gazebo: Atlas подключает шланг к трубе

Симуляция в Gazebo: Atlas подключает шланг к трубе


Второй подход к управлению не требует строгого математического вывода искомых законов управления объектами, а ориентирован на получение, по возможности, простых и интуитивно понятных зависимостей. Такие методы управления часто рождаются на основе наблюдений за живой природой и попыток (разной степени успешности) переложения её изобретений на технику. Это избавляет от необходимости теоретического обоснования полученного решения (включая, например, такие прелести, как доказательство устойчивости системы управления), однако может превратиться в бесконечную подгонку числовых параметров по месту.


К данной категории можно отнести (из того, что вспоминается сходу), управление на основе нечёткой логики, искусственных нейронных сетей, обучения с подкреплением и пр. К упрощённым методам можно отнести и метод программирования роботов-манипуляторов обучением, когда манипулятор вручную проводят по траектории, которую он должен будет повторять.


Каждый подход обладает своими преимуществами и недостатками, но подробнее об этом в другой раз. Пока же отметим, что, например, системы управления промышленных манипуляторов, которые, работая на производстве, должны обеспечивать субмиллиметровые точности при позиционировании и движении по заданным траекториям, строят с применением, преимущественно, первого подхода. А вот для многошарнирных механизмов с десятками степеней свободы, гибкими (вследствие стремления к снижению массы) звеньями и сложным взаимовлиянием движений классические уравнения динамики становятся практически нерешаемыми. Зато от таких механизмов, как правило, и не требуют высокой точности. Всё это роднит их с живыми организмами, которые тоже не решают в уме дифференциальных уравнений, хотя, зачастую будучи ещё сложнее устроены, прекрасно справляются с управлением собственным телом. Специально для сложных устройств и придуман второй подход.


Робот для испытаний костюмов химзащиты: Petman, великий и ужасный предшественник Atlas'а


Алгоритмы, разработанные в Leg Lab и перенесённые в Boston Dynamics, ожидаемо относятся ко второй группе методов. Шагающему роботу не очень важна точность движений, т.к. его задачи выглядят примерно так: дойти из точки A в точку B, избегая падений. Как конкретно он это сделает, пользователя обычно не волнует.


В статьях сотрудников лаборатории описывается так называемое интуитивное управление. Движение роботов реализуется путём совмещения трёх интуитивно понятных относительно простых компонентов движения: поддержание заданной высоты тела за счёт вертикальных подскакиваний; управление наклоном тела за счёт моментов в шарнирах таза в фазах установки ног на поверхность; и поддержание равновесия за счёт установки ног в ключевые позиции исходя из принципа симметрии [2] [3]. Развивается идея виртуальных приводов, позволяющая управлять не по отдельности каждым реально существующим приводом (например, приводами лодыжек, колен, таза), а несуществующими, но интуитивно понятными приводами (например, движений тела) [4]. Подобный подход реализуется для всех разработанных конструкций роботов, с учётом особенностей каждой конструкции.

Симуляция BigDog при отработке алгоритмов движения

Симуляция BigDog при отработке алгоритмов движения


Так что шагающие роботы Boston Dynamics не обеспечивают точности, достаточной, например, для сварки трубопроводов. Зато они успевают быстро решить, куда примерно поставить ногу, чтобы робот не упал на текущем шаге, и так для каждого шага.


Тема динамического управления роботами практически бесконечная. Свои алгоритмы и методики придумывает и перепридумывает чуть ли не каждый разработчик. Здесь мы только показали, с чего можно начать разматывать эту ниточку.


В завершение темы, отметим, что неправы те, кто считает видеоролики с роботом Atlas имитацией на том основании, что его ходьба и бег чересчур напоминают человеческие локомоторные движения. У роботов, мол, другие методы балансировки, и махи руками при ходьбе им не нужны [5]. Биологи молодцы, что рассказали нам про локомоторные движения. Будем знать. Я же как инженер добавлю к этому, что законы механики они не разбирают, кто вы: робот, гепард или обезьяна. Они просто действуют, редиски, и ничего тут не поделаешь! Пошла ваша правая нога вперёд возникла даламберова сила инерции, которая тем более значительна, чем большее ускорение вы придали ноге, а в результате равная ей по величине сила противодействия отталкивает ваше тело с правой стороны назад, стремясь развернуть его вокруг точки опоры левой ноги. И вы хоть тресните, но либо компенсируйте её мышцами, либо выбрасывайте вперёд и что-нибудь слева (ну, например руку? или, может быть, скажем руку?) для балансировки. Да вы не верьте на слово, попробуйте сами побегать, прижав руки к бокам. Вам неудобно не размахивать руками не из-за рудиментарных цепей нейронов, издавна запрограммированных почему-то на именно такие локомоторные движения. Наоборот, именно такие локомоторные движения зашиты в нейроны потому, что так удобнее передвигаться.


А Atlas что, рыжий? Его тоже балансировать надо. И раз уж у него есть руки, то почему не использовать их? Или кто-то хотел, чтобы робот выглядел, как человек, а бегал, как пингвин? Ну, кто хочет, может так и делать. Первые самые простые роботы именно такими и были. А фишкой Boston Dynamics является как раз естественность движений роботов. И даже если кого-то смущает, что для обучения робота использовались записи движений реального человека (я пока не нашёл сведений от разработчиков на этот счёт), то, вернувшись на несколько абзацев выше, мы увидим, что это обычный подход для робото- (и не только) техники. Уж такая она...


Ловкость ног. И рук. И никакого мошенства.


Кстати, Boston Dynamics вовсе и не скрывает [6], что, например, для съёмок приведённого выше короткого ролика потребовалось сделать более 20 подходов. Что они публикуют только самые лучшие получившиеся видеоролики, а не средние и не типичные. (Ну Вообще-то, так делают все Только тс-с-с! Чур, я этого не говорил!) И что их роботы не очень интеллектуальны. Ребята, забудьте вы про этот искусственный интеллект. Это совсем не то, что можно себе навоображать, да и слово интеллект затесалось, можно сказать, случайно: в английском варианте artificial intelligence слово intelligence не равнозначно слову intellect.


Навигация и управление


Не скрывает компания и аспектов, касающихся управления роботами. На канале Адама Сэвиджа можно найти видео, где он разбирает, как управлять роботом Spot, одновременно освещая некоторые вопросы, связанные с его сенсорикой и системой навигации.

Адам Сэвидж: танец со Spot

Адам Сэвидж: танец со Spot


Адам демонстрирует два способа управления: вручную с пульта (либо при помощи джойстиков, либо указанием каждой следующей целевой точки на экране, транслирующем видео с камер робота) или автономный. Для задания маршрута автономного перемещения используются метки, похожие на QR-коды (их видно также на ролике ниже), которые размещаются вдоль всего маршрута. После этого Spot необходимо вручную (с пульта) провести от метки к метке, при этом робот запоминает маршрут. Spot способен определять свою ориентацию относительно меток и удаление от них, т.к. их размеры и разметка ему известны. Во время движения робот строит 3-мерную модель окружающего пространства, обнаруживает препятствия и обходит их. Также он видит поверхности передвижения, распознаёт изменения высот на них и подстраивается, например, поднимаясь и спускаясь по ступенькам. А ещё он самостоятельно решает, какие конечности и как перемещать для выполнения задания, двигаться ему передом или задом наперёд и т.п.


Также на YouTube-канале Boston Dynamics имеется видео с наглядной демонстрацией принципов автономной навигации. На нём видно 3-мерную сцену, которую робот строит для обхода препятствий, а также навигационную карту, которую, видимо, он построил при предыдущих проходах.


Spot: автономная навигация


Рассмотрим принцип работы системы навигации роботов Boston Dynamics на примере робота BigDog [7] (как мы помним, у остальных роботов в общих чертах всё так же).


Система навигации основана на использовании комбинации стереозрения, данных LIDAR'а, блока инерциальных измерений (IMU, inertial measurement unit), GPS-приёмника и других датчиков (включая датчики сил), позволяющих оценить положение, ориентацию и параметры движения робота во внешнем окружении. Кстати, систему стереозрения для него создавала знаменитая Лаборатория реактивного движения, в которой в начале своей трудовой деятельности работал и Марк Рэйберт.


Облака точек, поступающие от LIDAR'а и стереокамер, сегментируются для построения связных объектов из разрозненных точек. Сегменты, соответствующие препятствиям, отделяются от сегментов поверхности передвижения, которых робот не должен бояться. Причём такие препятствия как деревья и стены выявляются, преимущественно, LIDAR'ом, а булыжники и лежащие брёвна стереозрением. Объекты, полученные после сегментации, запоминаются и продолжают отслеживаться с течением времени. Память робота некоторое время сохраняет и те объекты, которые он уже не может видеть.


Для навигации используется общепринятый в робототехнике подход. Препятствия наносятся на карту стоимостей, cost map (имеются в виду, согласно математической терминологии, стоимости перемещения между точками маршрута), на основе которой и осуществляется планирование оптимального пути к конечной точке движения. Планировщик пути использует разновидность известного алгоритма поиска А*.


Процесс планирования пути проиллюстрирован ниже. На первой картинке синими точками показан массив сырых данных LIDAR'а за несколько секунд. На второй соответствующие им объекты: деревья коричневым, поверхность бледным. На третьей картинке показан вид сверху на карту стоимостей: зелёная область средняя стоимость, лиловый цвет высокая стоимость, жёлтая область (по которой проведена голубая лента построенного пути к цели) низкая стоимость.



Планировщик пути примерно раз в секунду генерирует новый путь, стараясь при этом следовать плану, который был выработан на предыдущих шагах (но не гарантируя этого). Алгоритм удержания пути направляет робот с целью следования по самому свежему пути, одновременно сглаживая траекторию, если робот в данный момент на нём не находится.


Можно обсуждать ещё много интересных технических деталей, касающихся особенностей реализации алгоритмов автономной навигации роботов Boston Dynamics, однако это выходит за рамки данного материала. Часть информации можно найти опубликованной, например, в материалах конференций. Какая-то часть, видимо, разработчиками не разглашается. Но можно уверенно сказать, что все роботы Boston Dynamics используют приблизительно схожие алгоритмы. Например, на роликах с роботом Atlas видно всё те же метки, помечающие маршрут его движения и объекты, с которыми он работает. А на публичных демонстрациях Atlas'а присутствует человек-оператор, вручную управляющий роботом с пульта.


От себя добавлю, что компания использует и ещё один способ управления роботами, кроме двух перечисленных выше, а именно, жёсткое программирование их движений. Выполнение движений в цикле по записанной фиксированной программе это, конечно, не полноценное управление роботом, но именно это периодически и взрывает сеть самыми вирусными роликами от Boston Dynamics.


Взлёты и падения


Чем мне нравятся ребята из Boston Dynamics, так это своим юмором. Они не особо скрывают, в том числе, и падений и неудач своих роботов, а скорее всего, и сами веселятся над неудавшимися дублями на съёмках (хотя можно позавидовать их покер-фейсам в роликах во время издевательств над роботами). Когда в кювет съезжает и переворачивается колёсный робот, это не вызывает особого интереса. А если заваливается и без того забавный механический гуманоид, нелепо размахивая тем, что у него вместо рук и ног, то все зрители гомерически ржут. Ну, и правда, разве это не смешно?







Как по мне, так эти падения только подтверждают то, что всё по-честному, без имитаций, и никакого мошенства! Обычная инженерная магия. Временами корявенькая, но у всех свои недостатки.


Восстание роботов


Недавно смешные ребята из студии Corridor решили поддержать традицию шуток про роботов Boston Dynamics, выпустив пару остроумных и красивых видео на тему (вот это и это). Надо сказать, что они попали в точку, эксплуатируя сразу две распространённых реакции на демо-ролики компании (особенно на тот, где роботу хоккейной клюшкой мешают выполнять его работу, а потом ещё и роняют, толкая трубой): сочувствие страданиям робота и страх перед возможной местью роботов за прошлые издевательства.



Правда, часть не слишком внимательных зрителей (особенно, не англоязычных) приписали авторство роликов самой Boston Dynamics, восхитившись или испугавшись (в зависимости от собственных ожиданий) прогресса робототехники. Несмотря на надпись Bosstown Dynamics, на видео-постскриптумы в самих роликах и на то, что вслед за первым роликом студия выпустила и подробное видеоразъяснение о том, как они подделали робота (позже оно появилось здесь в русской озвучке). Впрочем, это не так важно. Думаю, если поставить Boston Dynamics задачу снять подобный ролик, они бы плюс-минус похоже справились и со своими роботами, почти без компьютерной графики, склеив тысячу отдельных фрагментов запрограммированных движений. С компьютерной графикой это просто дешевле.


Кажется, ознакомившись хотя бы с настоящим нашим материалом, можно однозначно понять, что уровень современной передовой робототехники совершенно не тот, каким он предстаёт в фантазиях ребят из Corridor (даже если бы их ролики не были очевидным розыгрышем). Но и это тоже не главное.


Главная ошибка в массовом восприятии роботов заключается в том, что люди интуитивно наделяют их тем, чего у них нет и быть не может: душа (а следовательно, чувствами и интеллектом). Вот так вот. Стараясь следовать научному подходу, я не люблю в вопросах науки и техники категоричных оценочных суждений. Но это именно тот, особый случай, когда полезнее сказать прямо, чем оперировать корректными, но замысловатыми научными абстракциями. Ещё раз: у роботов нет, не может быть и никогда не будет чувств и интеллекта.


Когда вы знаете до винтика конструкцию спроектированного вами механизма и до каждого полевого транзистора устройство расположенных в нём разработанных вами плат; когда вы собственными руками устанавливали электродвигатели и подшипники в шарниры и вытирали гидравлическое масло с протёкшего шланга; когда это вами написанная программа обрабатывала массивы чисел, соответствующих отражениям вращающегося лазерного луча LIDAR'а, установленного ещё на лабораторном столе, а не на роботе; когда вы сами методом триангуляции вычисляли расстояния до объектов пространства по изображениям, полученным со стереопары; когда вам приходится ещё и чинить сломавшихся роботов чуть ли не после каждой демонстрации то у вас не возникает вопросов, откуда робот берёт информацию об окружающем мире и каким образом он шевелит конечностями.


Куски BigDog. Это они будут подчинять себе человечество?


Если это ваши пальцы печатали буковки программного кода, отвечающего за принятие решения о точке (ближе-дальше, левее-правее) установки ног робота на поверхность для поддержания равновесия; если именно вы выбирали используемые роботом алгоритмы навигации для движения на пересечённой местности; если вы собственноручно подбирали, например, числовые параметры, определяющие жадность -жадного (-greedy) алгоритма машинного обучения, выполняющего поиск оптимальной стратегии удержания заданной траектории; да потом ещё и многократно отлаживались, отслеживая значения всех переменных программы то вы не питаете иллюзий о степени интеллектуальности вашего робота. Просто это вы сами весь его искусственный интеллект и запрограммировали.


Простыми словами, этот, так сказать, искусственный интеллект всего-навсего звучное название для алгоритмов программной самонастройки параметров, заданных человеком, по критериям, заданным человеком, в пределах, заданных человеком. Какое уж тут восстание!


Роботы ничего не чувствуют. Не более, чем дверной косяк, который иногда для плачущего ребёнка показательно шлёпают, чтобы наказать за набитую шишку (хотя я никогда не слышал о борцах за права дверных косяков). Роботы ничего не думают. Не более, чем игрушки-трансформеры, для которых детишки во время игры в битву роботов придумывают поведение и диалоги.


Так что теоретики восстания роботов могут расслабиться. Чтобы роботы захватили мир, практикам-инженерам придётся запрограммировать каждый шаг, шажок и подшагивание на пути к захвату мира. С учётом всех вариантов и подвариантов, когда неизбежно что-то пойдёт не так. А после завершения стадии программирования ещё и многократно отладить программу захвата мира роботами на реальном объекте. Интересно было бы посмотреть на процесс!


Робот это такой же механизм, как автомобиль, цеппелин или требушет. Восстание требушетов по моему, звучит! Уж и тех требушетов больше нет, но пока они были, они ведь так и не захватили мир? Потому что ни требушеты, ни роботы миры не захватывают. Следите лучше за теми, кто ими управляет.


А всё дело в том, что человек неплохо научился обманывать свой собственный мозг. Конечно, мы видели и такие фантазии, в которых обретают своё враждебное человеку сознание всякие грузовики, газонокосилки и автоматы с газировкой (см., например, фильм Максимальное ускорение). Но это выглядит не страшно, а, скорее, смешно. Никто не верит. Зато в добрую или злую волю подобных себе существ человек верит легко (даже в упомянутом фильме в итоге пришлось коряво приплетать зловредный инопланетный разум без него бы, наверное, совсем не зашло). Вот эту человеческую фобию и нащупали производители волнующих историй про восстание роботов, и продолжают радостно её поддавливать, стараясь максимально правдоподобно обмануть органы чувств человека, чтобы машины казались ему похожими на него самого.

Топливозаправочная колонка-убийца &mdash; кадр из фильма Максимальное ускорение

Топливозаправочная колонка-убийца кадр из фильма Максимальное ускорение


Просто надо понимать, что казаться чем-то не значит этим быть.


Иное дело, когда машина, неотличимая от человека, действительно непосредственно управляется кем-то, как в фильме Суррогаты. Но это уже совсем другая история, не имеющая отношения к восстанию машин.


Заключение


Мы начинали с того, что будем поменьше отвлекаться на стереотипы о Boston Dynamics, а в результате весь рассказ вокруг стереотипов и крутился. Вот она, цена славы! И всё же, подведём итоги.


Роботы от Boston Dynamics это не прорыв. Это шедевр.

Шедевр непревзойденное творение, высшее достижение мастерства. [8]

Все прорывы были сделаны раньше. Связаны они были с успехами в разработке алгоритмов шагания и поддержания равновесия, причём не только командой Leg Lab, а совместными усилиями учёных и инженеров всего мира. Ещё были научно-технические прорывы и достижения в разработке другими производителями компонентов, позволивших сделать роботы действительно мобильными: компактная микроэлектроника, энергоёмкие аккумуляторы, эффективные гидравлические и электромеханические агрегаты, техническое зрение (программные алгоритмы и аппаратура: стереокамеры, LIDAR'ы).


Тогда-то и настало время для шедевров робототехники. Есть много коллективов, создававших шагающих, бегающих и прыгающих роботов. Просто на сегодняшний день Boston Dynamics в этом, кажется, лучшие.


В чём же конкретно они лучшие? Так сказать, в чём история успеха? В первую очередь, конечно, в настойчивости. 40 лет непрерывно работать в одном направлении это заслуживает уважения! С инженерной же точки зрения, вот сильные стороны роботов Boston Dynamics:


  • те самые алгоритмы поддержания равновесия и передвижения шаганием и прыжками,
  • отточенная, вылизанная за много итераций и оптимизированная по весу конструктивная компоновка,
  • отличная динамика приводов,
  • современная сенсорика, обеспечивающая все доступные на сегодня возможности для управления,
  • в последнее время приятный внешний вид, красивые закруглённые формы; видна работа профессиональных дизайнеров.

А вот если мы посмотрим с точки зрения конечного пользователя или с коммерческой, то энтузиазма у нас поубавится. Инженерам-то, конечно, интересно решать сложные технические задачи, но для пользователей это всего лишь очередная игрушка. На несколько минут (или часов). Которая быстро надоест. Но очень дорогая игрушка, по стоимости сравнимая с автомобилем. Сложная игрушка, которую надо будет ещё и обслуживать, как тот же автомобиль. И которую поэтому пока не очень понятно, кто будет покупать. И ещё менее понятно, когда она окупит вложения.


Почему игрушка? Да потому, что реального полезного применения этим роботам немного. И кардинальных преимуществ по техническим характеристикам, в сравнении с другими, более доступными устройствами, у них, увы, нет.


Наконец, развеем мифы. Роботы Boston Dynamics (как и все другие) не могут и никогда не смогут делать всё, как человек. Похоже выглядеть да. Решать типовые задачи, на которые уже сегодня можно натренировать и какой-нибудь другой автомат (банкомат, видеосистему для распознавания лиц) да. Имитировать эмоции да.


А переживать эмоции: радость, грусть, удовлетворение, сострадание, злость; чувствовать чувства; думать мысли нет. Самостоятельно развиваться нет. Захватывать мир нет.


И ещё, если смотреть по состоянию на сегодняшний день, роботы Boston Dynamics, по современным меркам, не очень интеллектуальны, и производитель этого не скрывает. В них сделан упор на стабильность работы. А, скажем, современные беспилотные автомобили в части навигации могут решать задачи и посложнее. См., например, беспилотники от Яндекс [9].


Ну, а попутно разрушаем ложные ожидания от так называемого искусственного интеллекта. Искусственный интеллект это всего лишь звучное название для скучных алгоритмов, даже если кто-то ожидал чудес.


Чудес не будет. У инженеров всего лишь магия, как и написано в эпиграфе.



http://www.robotexnik.info/publ/robotics/boston-dynamics/1-1-0-10



  1. См., например: Шахинпур, М. Курс робототехники. Пер. с англ. М.: Мир, 1990. 526 с.: ил. ISBN 5-03-001375-X (глава 5)
  2. Jerry Pratt, Gill Pratt. Intuitive Control of a Planar Bipedal Walking Robot
  3. Marc Raibert, Kevin Blankespoor, Gabriel Nelson, Rob Playter. BigDog, the Rough-Terrain Quadruped Robot
    Приблизительный частичный перевод можно найти здесь
  4. Jerry Pratt, Ann Torres, Peter Dilworth, Gill Pratt. Virtual Actuator Control
  5. Американский робот Atlas: Так ли он крут?
  6. Youre Expecting Too Much Out of Boston Dynamics Robots
  7. David Wooden, Matthew Malchano, Kevin Blankespoor, Andrew Howard, Alfred A. Rizzi, and Marc Raibert. Autonomous Navigation for BigDog
    Приблизительный частичный перевод можно найти здесь
  8. Шедевр Википедия
  9. Беспилотный автомобиль Яндекс
  10. Boston Dynamics сайт компании
  11. YouTube-канал Boston Dynamics
  12. BigDog Beta (early Big Dog quadruped robot testing) Youtube-канал Seedwell
  13. MIT Leg Laboratory
  14. Robots from MIT's Leg Lab
  15. Atlas (robot) Wikipedia
  16. How Boston Dynamics' Spot Robot Works!
  17. Как Boston Dynamics создала самых знаменитых роботов в мире и когда они начнут помогать людям
  18. Искусственный интеллект Терминология
  19. Hapless Boston Dynamics robot in shelf-stacking fail
  20. Boston Dynamics' Atlas Falls Over After Demo at the Congress of Future Scientists and Technologists
  21. ROBOT FAIL!!! Boston Dynamics
  22. SpotMini robot failed on stage Amazon Re: MARS 2019
  23. YouTube-канал Corridor
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru