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

Разработка робототехники

Поговори сам с собой ученые научили роботов самоанализу и улучшили результаты их работы

30.04.2021 20:15:00 | Автор: admin

Многие из нас говорят с сами с собой, только не вслух, конечно, а мысленно. Психологи говорят, что это вполне нормально и даже полезно. Причем не только для человека, но и для роботов. Так, итальянские ученые сознательно научили человекоподобных роботов думать вслух. Благодаря экспериментам они доказали, что внутренний монолог помогает разобраться в сложных и неопределенных ситуациях даже автоматическим системам. Центральной фигурой эксперимента стал японский робот-помощник Pepper, разработанный корпорацией SoftBank Robotics.

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

Суть эксперимента


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

Цели эксперимента:

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

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

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

Что произошло?


Роботу показали схему, отвечающую за нормы этикета.

Выглядела она так:

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

С Pepper взаимодействовали по трем сценариям:

  1. Простое и понятное выполнение указаний без противоречий. Здесь все логично.
  2. Наличие противоречия между действиями и требованиями. В этом случае робот видел проблему: выполнить действие, несмотря на противоречие, или нет (нарушить правила или нет).
  3. Ложное требование: положить предмет, который уже есть. Робот сталкивался с дилеммой.


Все проведенные попытки оценили по нескольким показателям:

  • время принятия решения;
  • время выполнения задания;
  • количество удачных попыток;
  • прозрачность операций.

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

Итоги


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

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

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

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

Первый блок с включенным внутренним монологом:

26 число успешных попыток;
28 число прозрачных итераций.

Второй блок с выключенным внутренним монологом:

18 число успешных попыток;
12 число прозрачных взаимодействий.

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

Подробнее..

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

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 апреля в университете науки и технологий НИТУ "МИСиС" пройдёт день открытых дверей. Мы будем рисовать логотип университета в центральном лобби, фотоотчёт будет в инсте.

Подробнее..

Перевод Управление робототехникой в реальном времени с помощью языка Lean

09.05.2021 18:11:45 | Автор: admin

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


Главная цель Lean4 сделать Lean хорошим языком программирования, а не просто помощником по доказательствам. Синтаксис был переработан во многих отношениях, чтобы облегчить написание более широкого спектра программ. Был написан оптимизирующий компилятор, генерирующий эффективный код на языке C. Он обладает новой высокопроизводительной технологией управления памятью, помогающей избежать проблемных пауз во время работы, которые часто сопровождают такие инструменты (например сбор мусора), и при необходимости легко интегрируется с существующим кодом C/C++. В настоящее время Lean в значительной степени самодостаточный язык, который написан на самом языке Lean.

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

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

Мы начали с покупки двухколёсного робота за 90 долларов и стали проводить эксперименты с языком Lean. Мы проверили сгенерированный код на языке C и библиотеку времени выполнения и обнаружили, что код вполне переносим. К сожалению, предварительный выпуск библиотеки времени выполнения Lean содержит зависимости (например от библиотеки libgmp), и она слишком велика для контроллера робота на базе Arduino. К счастью, сгенерированный код легко запускается на компьютере Rasberry Pi.

Мы приобрели 8-гигабайтную версию, чтобы скомпилировать Lean непосредственно в ней. Это добавило 80 долларов к стоимости нашего проекта, и мы вписались в наши необходимые аппаратные ограничения, а авторы Lean заинтересованы в решении проблем с размером библиотек времени выполнения.

Следующим шагом стало разделение существующего кода роботизированного контроллера для работы через последовательное соединение Bluetooth, чтобы запустить все алгоритмы управления на Rasberry Pi, сохранив при этом минимальный код для управления двигателем и считывания данных акселерометра на плате Arduino. Это было довольно просто, но потребовало использования сервиса Google Translate, чтобы понять комментарии в исходном коде. Исходный код после перевода комментариев можно посмотреть здесь, а разделённый на секции код Arduino после извлечения алгоритмов управления здесь.

fig:fig:

Затем мы транслировали код управления с языка C на язык Lean с помощью ручного, но довольно простого процесса. Версия Lean 4 в конечном счёте создаёт функциональные определения и обладает точностью, модульностью и композиционными преимуществами функционального программирования. Однако она имеет многофункциональный исходный язык, который позволяет использовать циклы for, мутабельные локальные переменные и структурированные операторы управления потоком, такие как break и continue. Внутри Lean4 использует сложный процесс анализа для автоматической и прозрачной реструктуризации кода в функциональное определение. Это снизило уровень усилий, необходимых для портирования с языка C на язык Lean.

Написанный нами код Lean доступен широкой публике на Github. Основная функция пошагового управления BalanceCar.update выполняется каждые 5мс. Для оценки ориентации робота по показаниям гироскопа и акселерометра (6 DoF IMU) используется фильтр Калмана. Контроллер PD принимает состояние ориентации в качестве входных данных и определяет скорость двигателя, таким образом замыкая контур управления.

После завершения портирования мы написали некоторый код на языке C, чтобы подключить код управления на языке Lean к последовательным API-интерфейсам Bluetooth, и опробовали его. Первоначальные результаты были занимательными, но не совсем правильными:

Это немного разочаровало, но такое случается в реальном программировании. Мы провели несколько тестов, внесли некоторые изменения, чтобы уменьшить задержку Bluetooth, и исправили в Lean-коде попутно обнаруженную ошибку. В итоге мы успешно создали работающего робота:

Как отмечалось ранее, это был всего лишь небольшой эксперимент для тестирования языка Lean в контроллере реального времени и работы, необходимой для ручного переноса кода с языка C на язык Lean. Мы ещё не проверили правильность контроллера (пока), но, когда у нас будет немного больше времени, мы планируем поработать над этим и интегрировать контроллеры на языке Lean в экосистему ROS, чтобы и другие люди могли опробовать его. У нас также есть более крупный проект, в котором языки Haskell и Lean, а также SMT-решатель используются совместно, чтобы создать проверенный декомпилятор от 64-разрядной версии с архитектурой x86 до LLVM. В будущем у нас будет больше информации об этом.

Вся работа, которую мы проделали для этого проекта, находится в открытом доступе, чтобы её могли попробовать выполнить те, кто в этом заинтересован. Мы намеренно использовали относительно недорогого робота, чтобы люди могли легко опробовать код. Так можно опробовать Lean лично или показать студентам, что вы можете писать реальные программы на этих языках. Если у вас есть какие-либо вопросы о проекте, вы можете пообщаться с нами на канале Lean Real-time Systems (Системы реального времени на языке Lean) сервиса Zulip.

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

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

Также можете взглянуть на профессию C++ разработчик, на котором можно прокачаться или освоить С++ с нуля. Приходите будет сложно, но интересно!

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы
Подробнее..

Сделать робота на raspberry pi, обновленный pi-tank. Часть 1. Железо

27.03.2021 10:18:41 | Автор: admin
Предлагается сделать домашнего робота, отличительными чертами которого будут:
относительная простота создания (как по времени, так и трудозатратам),
недорогие комплектующие,
доступный софт,
возможность удаленного управления, в том числе через интернет,
возможность бесшумно передвигаться,
наличие веб-камеры, которая (которой):
> вещает в сеть
> можно удаленно управлять(поворотная камера по осям x и y, pan-tilt)
> имеет возможность фото-, видео- съемки с сохранением на диск и скачивания данных медиа
> можно управлять настройками (экспозиция, баланс и т.п.)
> поддерживает день|ночь
> может сохранять снимки при наличии движения (motion detection).
возможность управлять режимом работы для экономии батареи, в том числе пробуждаться и засыпать, контролировать заряд батареи.




Небольшая вводная

.

Данный проект был создан более 3 лет назад и в течение этих 3-ти лет с ним многое происходило. Рождались и умирали ардуины, добавлялся и также отходил к праотцам речевой интерфейс, менялись драйверы двигателей, блоки питания, части советского железного конструктора, камеры для raspberry pi.
Не хватало только способа сэкономить энергию, так как работы батареи (powerbankа) робота хватало на 8-10 часов без слишком активной езды, но с постоянно работающей камерой и двигателями в режиме ready-to-go.
И вот, относительно недавно появилось решение для поставленной задачи. Данное решение потребовало в очередной раз перепахать весь проект, чтобы вспомнить что и как там реализовано.
Поэтому, пойдем по свежим следам.
Некоторые решения могут показаться странными, но к ним привела практика, поэтому будут соответствующие пояснения.

Перечень комплектующих

.

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


raspberry pi 3b+
Основной одноплатник, на котором будет все работать. Желательно взять для него корпус с возможностью доступа к gpio. Без корпуса все будет значительно быстрее пылиться и ржаветь.
Сразу ответим на попутные вопросы:
Почему не raspberry pi 4? более энергозатратная, нужен кулер, нестандартный powerbank и т.д. Почему не pi zero видео немного подтормаживает, но, в принципе, на ней тоже должно все завестись.
Почему не другие одноплатники (бананы, оранжи, одроиды и т.п.) так исторически сложилось.



-гребенки для gpio raspberry pi (8PCS,2X20(40 Pin) Extra Tall Female 0.1 Inch Pitch Stacking Header for Raspberry Pi A+/B+/Pi 2/Pi 3 Extra Tall Header) как вариант ссылка


-Witty Pi 3 Mini как вариант ссылка
Это единственная шапка для raspberry pi. Она как раз и будет отвечать за питание, а также режим работы робота.
*для шапки можно также взять LM29150 и впаять на плату. Это позволить питать raspberry не только от 5V, но и выше (до 8V). Об этом есть в инструкции в шапке.


csi-камера для raspberry pi. Работает быстрее, чем usb камера, занимает меньше места. Лучше брать рыбий глаз с автоматическим переключением день/ночь (характерный проводок от камеры на фото) как вариант ссылка.


sg-90 сервы 2 шт. Хлипкие, но ими можно напрямую управлять с gpio raspberry pi без страха спалить пины.


пластиковый подвес для серв (Servo bracket PT Pan/Tilt Camera Platform Anti-Vibration Camera Mount for Aircraft FPV dedicated nylon PTZ for 9G SG90) как вариант ссылка.
Для raspberry pi есть особые pan-tilt шапки, но они на порядок дороже.


l298n 1 шт. драйвер двигателей.


usb повышающий преобразователь с 5V до 12V 1шт. (DC-DC 5V to 12V 5W USB Step Up Power Supply Module Boost Converter Voltage Board 4.2V-5.2V) как вариант ссылка

powerbank c 2-мя выходами usb (для питания двигателей и raspberry pi).


провода, делали советского конструктора как средства крепежа, стойки.

Все. Нет никаких аккумуляторов 18650 и ардуин.
Бюджет: до 15т.р., самое дорогое траки.

Как все собрать.


Останавливаться на том как собрать траки (chassis) мы не будем, так как, в зависимости от выбранного варианта, сборка может отличаться. Кроме того, как правило, продавец траков дает инструкцию или ссылку на нее. Например такую посмотреть.
Единственная ремарка: от двигателей идут сразу несколько проводов. Нам понадобятся только пары красный-черный, питание и земля.
Как собирать подвес вместе с sg-90, мы также не будем останавливаться. Необходимо только иметь в виду, что перед закреплением в подвес сервы должны находиться в среднем положении (угол 90 градусов). Это нужно для того, чтобы подвес имел ход движения во все стороны, а не имел перекос в одну из них. Так что лучше сначала выставить сервы, а потом их закреплять.
Также по поводу серв. В проекте есть возможность управлять сразу двумя сервами (влево-вправо, вверх-вниз).
Но практика показала, что лучше влево-вправо не использовать по двум причинам:
можно потерять направление робота,
крепежные элементы sg-90 хлипкие и быстро изнашиваются.

Взглянем на схему подключения:


В принципе, ничего сложного нет. На драйвере двигателей l298n выводы ENA и ENB не задействованы и на них должны стоять перемычки.
Шим сигнал не используется и робот не сможет плавно разгоняться и тормозить. Это сделано намеренно, так как при плохом wi-fi или иных задержках робот по разному реагировал на управляющие сигналы. Вместо этого используются паузы в скриптах. Как это реализовано будет показано позднее.
Вместо блока батарей подразумевается powerbank. Здесь же пригодится usb повышающий преобразователь с 5V до 12V.
Питание на raspberry pi подается через wittypi 3 mini. Дополнительно питать одноплатник и сервы не нужно.

В завершение немного
фото
:









Продолжение следует.
Подробнее..

Сделать робота на raspberry pi, обновленный pi-tank. Часть 2. Софт

03.04.2021 18:14:06 | Автор: admin

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


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

Основа.


В качестве отправной точки при разработке был взят RPi-Cam-Web-Interface. Достаточно древний, но тем не менее, не потерявший своей актуальности фреймворк.
Как его установить подробно описано на странице проекта и сложностей вызвать :
не должно
git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.gitcd RPi_Cam_Web_Interface./install.sh


Есть нюансы для дистрибутива buster (о них написано на сайте проекта), но для Raspbian Stretch, который используется на роботе, все штатно.
После установки доступен web-сервер, который выводит по адресу raspberry-ip:8080/html/ картинку по умолчанию:


Данная картинка отличается от того, что можно наблюдать на роботе:

Как не трудно заметить, страница робота располагает стрелками для управления подвесом камеры (pan-tilt), собранном на базе серв sg-90, а также пользовательскими кнопками для управления роботом (фары, фары выкл и т.п.)
Назначение кнопок интерфейса интуитивно понятно.

Также на web-странице имеются вкладки для более детальной настройки параметров камеры, а также работы с системой:


Как попасть на raspberry.


При загрузке raspberry становится доступна через VNC c учетными данными логин pi, пароль raspberry.
wi-fi сеть, к которой по умолчанию подключается логин boss, пароль 1234554321.
Также можно попасть по ssh, пара логин-пароль те же.

Как все работает и где поменять под себя.


Вся начинка расположена в директории /var/www/html/, а сам RPi-Cam-Web-Interface стартует из /home/pi/RPi-Cam_Web_Interface.
Управление подвесом камеры осуществляется синими стрелками на web-странице. Сам фреймворк не умеет из коробки управлять сервами. Поэтому используется дополнительный пакет
И здесь есть небольшой нюанс. По умолчанию servoblaster использует gpio4 и gpio17 пины raspberry для управления подвесами (сигнальные провода серв). По счастливому стечению обстоятельств те же самые пины использует шапка raspberry pi witty pi 3 mini, отвечающая за питание, графики включения и т.п. Поэтому, чтобы железо не мешало друг другу пины для серв были перенесены для целей servoblasterа.
Делается это в /etc/rc.local командой:
sudo /home/pi/PiBits/ServoBlaster/user/servod --p1pins=13,15,0,0,0,0,0,0 & 

При этом 13,15 это физические пины, а не gpio! Остальные нули это возможность подключить еще сервы и управлять ими. То есть еще 6 серв можно подключить, обозначив пины вместо нулей.
*Какие пины задействованы servoblasterом в текущий момент можно заглянув в файл /dev/servoblaster-cfg
Также в /etc/rc.local задаются пины raspberry для управления двигателями:
код
gpio -g mode 5 out
gpio -g mode 6 out
gpio -g mode 9 out
gpio -g mode 10 out
gpio -g mode 11 out
gpio -g mode 22 out
gpio -g mode 27 out


*В данном случае gpio22 и gpio27 это и есть те пины 13,15, которые использует servoblaster.

Как с нуля настраивается pan-tilt описано на странице проекта здесь.

Как добавляются кнопки также описано на сайте в разделе User buttons. Чтобы добавить или изменить кнопки (фары и т.п.) необходимо обратиться к файлу /var/www/html/
userbuttons
фары,light.sh
фары-выкл,lightoff.sh
вперед,forward.sh
назад,reverse.sh
налево,left.sh
направо,right.sh
стоп,stop.sh
м налево,left-m.sh
м направо,right-m.sh
м вперед,forward-m.sh
м назад,reverse-m.sh

Здесь строки означают наименование кнопок, а также соответствующий им скрипт управления.
Сами скрипты управления находятся в /var/www/html/macros. И, вполне возможно, данные скрипты придется править, т.к. при подключении проводов к драйверу двигателей l298n полярность может быть иной и робот поедет не в ту сторону, согласно нажатой кнопке.
Чтобы это исправить, необходимо открыть скрипт, например /var/www/html/macros/left.sh
#!/bin/bash
gpio -g write 9 0
gpio -g write 11 1
gpio -g write 6 0
gpio -g write 5 1

И попробовать комбинации замены 1 и 0 на gpio. Но как правило, можно просто поменять left.sh на forward.sh или на right.sh и т.п. в зависимости от ситуации.

Кнопки интерфейса с приставкой м, отвечают за так называемый малый ход:

Это реализовано в скриптах left-m.sh и т.п. Ранее использовался pwm для управления. Однако стало понятно, что при задержках wi-fi и иных обстоятельствах расстояние, которое реализуется при нажатии на кнопку с pwm различается. Робот то уезжает слишком далеко до момента, когда нажата стоп, то практически не реагирует, особенно, при разряжающихся батареях.
Поэтому был реализован простой подход в скрипте подача сигнала и дальнейшее, через паузу, его гашение:
left-m.sh
#!/bin/bash
gpio -g write 9 0
gpio -g write 11 1
gpio -g write 6 0
gpio -g write 5 1
sleep 0.3
gpio -g write 9 0
gpio -g write 11 0
gpio -g write 6 0
gpio -g write 5 0



Witty pi 3 mini и управление питанием.


Продукт Witty pi 3 mini был приобретен, чтобы минимизировать потери питания при работе от powerbank и увеличить общее время функционирования робота.
Ранее при выключении робота, которое реализовано на web-странице

включить робота заново без посторонней помощи было невозможно. Были варианты с помощью внешней arduino, но все это было непросто и не эстетично.

Witty pi 3 mini не единственное решение в своем роде, и даже не первое в своей линейке. Но оно более-менее доступное и работающее из коробки.
Софт устанавливается предельно
просто

После установки может потребоваться уточняющая настройка в /home/pi/uwi/uwi.conf
текущие настройки
host='192.168.1.105';
port=8000;
web_socket_url='ws://'+host+':'+port+'/';
response_timeout=5000;
reconnect_timeout=1000;
debug=0;

wittypi3='/home/pi/wittypi';
zero2go='/home/pi/zero2go';



Далее при каждой загрузке на web странице raspberry:8000 (127.0.0.1:8000) будет доступен
web-интерфейс с настройками:


Первая вкладка это просто еще один способ управлять gpio raspberry pi

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

Можно настраивать прямо с web-страницы, но так же можно и с помощью скрипта:
/home/pi/wittypi/wittyPi.sh. При запуске скрипта, он выводит то же самое, что доступно на web-странице:
>>> Current temperature: 28.75C / 83.75F
>>> Your system time is: Sat 03 Apr 2021 16:20:47 MSK
>>> Your RTC time is: Sat 03 Apr 2021 16:20:48 MSK
>>> Vin=4.73V, Vout=4.68V, Iout=1.13A
Now you can:
1. Write system time to RTC
2. Write RTC time to system
3. Synchronize time
4. Schedule next shutdown
5. Schedule next startup
6. Choose schedule script
7. Set low voltage threshold
8. Set recovery voltage threshold
9. View/change other settings...
10. Reset data...
11. Exit

Здесь необходимо:
синхронизировать время на witty pi c системными часами raspberry (3. Synchronize time)
записать это время в rtc (1. Write system time to RTC)
далее поработать с пробуждением либо засыпанием, но проще сразу выбрать какой-нибудь
скрипт
6. Choose schedule script
[1] 7:00_on_7:30_off_21:00_on_21:30_off.wpi
[2] on_10m_every_2h.wpi
[3] on_1h_every_2d.wpi
[4] on_30m_everyday_but_weekend.wpi
[5] on_5m_every_20m.wpi
[6] turn_on_every_hour.wpi

Например [5], просыпаться на 5 минут каждые 20 минут.

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


обязательно заглянуть в другие настройки (9. View/change other settings...)
Здесь необходимо настроить [5] Dummy load duration [0] это паразитные импульсы для powerbankа, не дающие ему уснуть. Так как большинство powerbankов снимают питание при минимизированной нагрузке. Диапазон значений 0-255.
Все остальные настройки можно не трогать.

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

Об этом подробно написано в инструкции.
Сон pi-tanka

Пока все. Если что-то забыто или непонятно пишите.

Образ для raspberry pi скачать.
Подробнее..

Как установить ROS NOETIC на UBUNTU 20.04

12.04.2021 12:21:22 | Автор: admin

Почему я решил написать этот пост?

Вы конечно же можете посмотреть оригинальную инструкцию по установке ROS Noetic на сайте ROS Wiki , однако там все на английском и объясняется весьма туманно, я же постараюсь объяснить вам как можно понятнее. Итак, начнем.

Что такое ROS?

ROS Операционная система для роботов, остов для программирования роботов, предоставляющий функциональность для распределённой работы. ROS был первоначально разработан в 2007 году под названием switchyard в Лаборатории Искусственного Интеллекта Стэнфордского Университета.

Можно ли установить ROS Noetic на другие версии Ubuntu?

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

Что делать если я использую другую версию Ububntu

ROS разрабатывался в разных версиях, которые устанавливаются на разные версии Ubuntu.

Версия Ubuntu

Версия ROS

Ubuntu 15.04 & 16.04

ROS Kenetic

Ubuntu 18.04

ROS Melodic

Ubuntu 20.04

ROS Noetik

Как установить ROS если вы использует другую версию Ubuntu? Легко! Просто во всех примерах кода заменяйте слово noetic на название той версии, которая удовлетворяет вашем характеристикам например вместо ros-noetic, вы можете написать ros-melodic

Подготовка к установке. Настройка репозиториев

Начнем с того, что существуют четыре основных репозитория:

  • Main- бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое Canonical.

  • Universe- бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое сообществом.

  • Restricted- проприетарные драйверы для устройств.

  • Multiverse- Программное обеспечение, ограниченное авторским правом или юридическими вопросами.

Итак, начинаем настройку. Сначала открываем вкладку "Программное обеспечение Ubuntu" и в настройках "Ubuntu Software" ставим галочки так, как показано на картинке

Далее переходим во вкладку "Other sowtware" и ставим галочки на пунктах Canonical Parthners и Canonical Parthners(source code)

Установка этих параметров поможет корректно установить пакеты ROS

Установка ROS Noetic

Шаг 1

После настройки репозиториев можем приступать к самой установке. Для начала настраиваем систему на прием пакетов программного обеспечения с packages.ros.org . Вставляем в терминал следующую команду:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'

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

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

В качестве альтернативы мы можем использовать curl вместо команды apt-key, что может быть полезно, если вы находитесь за прокси-сервером:

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

Шаг 2

Во-первых обновляем пакеты с помощью команды

sudo apt-get update

Шаг 3

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

  1. Desktop Full - та сборка, которую я вам рекомендую ставить. Эта версия устанавливает все, что только можно: 2D/3D симуляторы и программы восприятия. Для того, чтобы установить эту версию пишем в терминале:

sudo apt install ros-noetic-desktop-full

2. Desktop Instal - этот пакет содержит в себе все компоненты на базе ROS, а также и такие элементы как rqtиrviz. Для установки этой версии пишем в терминале следующую команду

sudo apt install ros-noetic-desktop

3. ROS-Base: (Bare Bones) - это просто голые библиотеки и пакеты ROS. Это тот вариант, который подойдет для продвинутых специалистов. Для установки этого варианта пишем в терминале:

sudo apt install ros-noetic-ros-base

Также вы можете установить какой-либо конкретный пакет ROS воспользовавшись командой:

sudo apt install ros-noetic-ИМЯ_ПАКЕТА

Шаг 4

Устанавливаем пакет bash, в котором мы будем использовать ROS. пишем в терминале:

source /opt/ros/noetic/setup.bash

Шаг 5

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

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

Шаг 6

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

sudo apt установить python3-rosdep

Шаг 7

Для инициализации rosdep пишем в терминале:

sudo rosdep init

И потом пишем следующее:

rosdep update

ИТОГ

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

Подробнее..

Кружок робототехники VS технический центр

17.05.2021 16:18:04 | Автор: admin

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

Детский технический центрДетский технический центр

4 года назад я открыл первый кружок робототехники в небольшом городе. За первые 3 месяца набрал 80 детей на занятия без особого труда и знаний в области маркетинга. Однако за 4 года утекло много воды и сейчас старые методы привлечения детей на занятия уже не работают. Долгие годы в России и странах СНГ активно развивались только спортивные направления, футбол, баскетбол, единоборства. Однако за последние годы количество интеллектуальных кружков и секций росло, как грибы после дождя. Начали формироваться крупные игроки, но до консолидации рынка детского технического образования ещё очень далеко. Вначале появились школы робототехники, после подключилась ментальная арифметика и скорочтение, направленная больше на ребят помладше. Позже подтянулись школы программирования.

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

Ответ на вопрос "Что запускать, кружок робототехники или технический центр?" многим может показаться очевидным, однако всё не так просто, как кажется на первый взгляд. Ко мне обращается множество людей, по вопросам открытия технической детской школы, и почти все нацелены либо на робототехнику и электронику, либо на школу программирования. На старте пути я был таким же, воплотил в жизнь то, что было ближе - я неплохо разбирался в электронике и построил школу робототехники, но сейчас такой подход прокатит далеко не везде. В прошлых статьях я писал, на чистом альтруизме далеко не уехать - ваш детский центр должен приносить доход, чтобы вы могли обновлять техническую базу и кормить себя и семью. И речь здесь не о получении 20-30 тысяч дополнительного дохода в месяц, речь о получении минимум 100 тысяч рублей в месяц с детского центра. При таком раскладе, руки у вас не опустятся никогда, школа будет непрерывно развиваться, качество подаваемого материала расти, посещать занятия будет всё больше и больше детей.

Как думаете, чему так радуется парень справа?Как думаете, чему так радуется парень справа?

В школе робототехники я довольно быстро уткнулся в стеклянный потолок - заявки на занятия становились всё дороже, экспонента насытилась и прежние методики привлечения клиентов становились неэффективны. И тогда я начал запускать новые курсы. И речь здесь не о пустом добавлении направлений в текущую систему, я начал строить экосистему, где каждый новый продукт дополнял предыдущий. В детском центре, куда ходило 50 человек на робототехнику, и больше было набрать уже слишком дорого, я запустил программирование. Дети уже работали с компьютером, когда учились программировать микроконтроллеры на курсе робототехники, но там я столкнулся с проблемой - программировать нужно на С++, который в базе дети ещё понимали, изучили переменные и условия, но когда дело дошло до циклов, половина отвалилась. На массивах, особенно двумерных всё стало намертво. До сих пор я старался давать детям максимум практики, минимум теории, но здесь этот подход не сработал. Я всячески пытался обучить детей сделать что-то посложнее, чем робота, ездящего по линии, или руку на сервоприводах, но ничего не получалось. Вернее, результат был, но значительно увеличился процент оттока детей. Кто-то понял материал и пошёл дальше, но добрая половина не могла понять ничего, как бы я не старался. И вот тогда, именно для них был создан курс программирования, где на старте учимся делать сайты - базовый html и css, где практически нет ни какой логики. Ребёнок делает сайт и у него получается. Более того они получают ощутимый результат н каждом занятии. Когда первые два языка поняты полностью, переходим к Java Script, попутно добавляя нотки C++. Так как дети уже щупали код до этого, их мозг понемногу перестраивается на логику компьютера, и тут плюсы или скрипты даются гораздо проще.

4 года назад. 3Д моделирование под 3Д принтер. Ребята 5 класс.4 года назад. 3Д моделирование под 3Д принтер. Ребята 5 класс.

Далее я задумался, как можно привлечь девочек в технический центр? На робототехнику и программирование ходили в основном мальчики. Их было больше 95%. Но ведь девочек как минимум половина. То есть половина рынка лежит рядом и стандартным путём выйти на него не получится. Для девочек я запустил курс по графическому дизайну. На старте изучаем Фотошоп. Привязываем его к практике - работе в типографии или рекламном агентстве. Они учатся делать визитки, календари, блокноты. Разрабатывают дизайн в Фотошопе, после чего печатаем, ламинируем, сажаем на пружину на брошюраторе. Всё, что изготовили, забираем себе. Некоторым девочкам хватило квалификации, чтобы полностью задизайнить и изготовить школьный дневник.

Так в чём же здесь магия? Она начинает работать тогда, когда у вас есть база робототехников в 50 человек, и вы им говорите, что запускаете программирование отдельным курсом, куда каждый может прийти на первое пробное занятие. Из 50 человек пришло 25. Из 25, пришедших на первое пробное занятие, 18 осталось ходить на постоянной основе, не бросая при этом робототехники. Получается, что без дополнительных вложений в рекламу, к вам уже ходит не 50 человек, а 68. То же самое произошло и с дизайном. Первоначально я задумывал данный курс для девочек, но мальчикам там оказалось не менее интересно. За несколько недель я увеличил клиентскую базу на 50%, фактически не увеличивая её. Половина детей стала посещать 2 и более курсов. Рекордом был мальчик Женя, который ходил параллельно на робототехнику, программирование, авиамоделирование, репетиторство по физике и математике. Он посещал у меня параллельно 5 курсов. И ему это безумно нравилось.

Строим город из структора и освещаем его от подстанции - батареек. 4 класс.Строим город из структора и освещаем его от подстанции - батареек. 4 класс.

Но магия здесь не только в том, что можно расширить базу клиентов из текущей базы. Раньше, когда я звонил клиенту по заявке, предлагал ему робототехнику, рассказывал о всех плюсах, что получит ребёнок, если слышишь ответ "нет, не интересно", то говоришь - "ну ок". Теперь же, я могу предложить ему ещё и программирование, или дизайн, или может быть ЧПУ станок? А авиамоделирование нравится? А хотите в бесплатном пробном формате попробовать всё сразу, а потом уже решим? Большинство из новых ребят, таким образом, сходу начинает посещать несколько курсов одновременно. А это увеличение среднего чека фактически в два раза. Вот здесь и находится магия. Все остаются в плюсе - дети изучают материал более комплексно, а так как они посещают несколько курсов, на стыке этих знаний рождаются самые крутые проекты и решения. Хотите метеостанцию с веб интерфейсом в реальном времени? Пожалуйста. А хотите сеть метеостанций, которые каждый ребёнок устанавливает у себя дома? Пожалуйста. А может быть вам интересна деревянная картина с подсветкой? Нет проблем.

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

Комплексный детский технический центр запустить сходу достаточно трудно, но это и не требуется. Стоит начинать сразу с робототехники и программирования на две возрастные категории - малыши (5-7 лет) и старшие ребята (8+ лет) Тогда вы получите не 2, а 4 курса сразу. Кстати, у малышей статистика еще интереснее. В прошлых статьях я рассказывал про формат робототехники для малышей. Так вот малышей на робототехнику ходило 20 человек, когда я запустил программирование, привязав сюжетные линии, сделав рабочие тетради, наподобие тех, что дети использовали на робототехнике, из 20 детей, 18 пошло ещё и на программирование. Здорово, правда?

Подведём итоги:

Школа робототехники сама по себе - не плохой вариант. Но детский технический центр с множеством курсов здесь безоговорочно выигрывает. Это как раз тот случай, когда 1+1=11.

Подробнее..

Анализ рынка детского технического образования в России Планы на будущее

18.05.2021 16:06:28 | Автор: admin

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

Кто я такой? Меня зовут Максим Иванков. 4 года назад я открыл свою первую школу робототехники в небольшом городе Краснодарского края. За несколько месяцев на занятия ходило уже 80 детей, я открываю ещё один центр в соседнем городе, и ещё один открывает знакомый с моей помощью под Ростовом. Через год, не имея практически ни какого опыта, я попытался запустить сеть собственных детских технических центров. За пол года было открыто 6 детских центров. Что из этого получилось, можете почитать в прошлых статьях, но если кратко - я совсем не разбирался в маркетинге, управлении и финансах. Когда масштабируешь бизнес, в узких местах обязательно прорвёт трубу, что и произошло. Первый кассовый разрыв наступил через пару месяцев, хотя узнал я о нём через пол года) И такое, как оказалось бывает. После неудачной попытки в масштабировании, я сжался обратно до нескольких детских центров и плотно начал работать над качеством, а так же решать проблемы, возникшие во время масштабирования. За последующие два года, школы робототехники превратились в комплексные детские технические центры, были проработаны и усилены все моменты, которые дали течь в первый раз. Сама бизнес модель претерпела сильное изменение. В следующем учебном году, я планирую заходить в эту реку ещё раз. И в преддверии масштабирования, решил глубоко проанализировать рынок детского технического образования в России.

Но сперва, я бы хотел рассказать несколько интересных историй, которые сильно мотивируют меня заниматься детским техническим образованием в глобальном масштабе. Вы слышали про сеть автосервисов Вилгуд? Эти ребята сейчас рвут рынок автосервисов в России. У них очень интересная история. Выбирая очередное дело, которым хотелось бы заняться, они исходили из многих параметров, в том числе, из одного нового - консолидации рынка. Что такое консолидация рынка? Попробуйте открыть продуктовый магазин между Пятёрочкой и Магнитом, и тогда узнаете. Много секторов глобального рынка уже давно поделено между несколькими крупными игроками. Если в такой сектор пытаются влезть предприниматели, то чаще всего уходят ни с чем. Рынок автосервисов в России очень интересный - в нём есть несколько крупных игроков, работающих больше по своим зонам, и тысячи тысяч мелких автосервисов, расположенных в гаражах. Консолидация рынка стремится к нулю. Именно в такой рынок и решили зайти супруги Турсуновы, организовав компанию Вилгуд - сеть умных автосервисов. У них было всё то, чего не хватает стандартным гаражным автосервисам, чистая красивая зона ожидания, мобильное приложение, вежливый персонал, прозрачная отчетность по ремонту и многое другое. К 2023 году они обещают открыть 1000 точек автосервисов Вилгуд. С Магнитом и Пятёрочкой, кстати та же история - они сделали самые низкие цены на основную группу продуктов - молоко, хлеб, крупы и прочее, и просто открылись фактически в каждом дворе. Они полностью консолидировали рынок ритейла за считанные 10 лет. Этот список можно продолжить магазинами Леруа Мерлин, ставшими причиной закрытия множества гигантских дилерских сетей по продаже стройматериала. Маркетплейсы начали убивать практически все дилерские сети в России (говорим о товарах, которые могут продаваться на самих маркетплейсах).

И вот теперь плавно переходим к рынку детского технического образования. К чему была прелюдия? Этот рынок - непаханое поле, куда ещё не успели запустить корни достаточно крупные игроки. На данный момент в России 1193 детских технических центров в городах с населением больше 250 тысяч человек. В этих городах проживает 62,675 миллиона человек. Из них детей от 4 до 14 лет (основная аудитория детских технических центров) 12,5%. Получаем 7,8 миллиона детей. По нашим детским центрам можем сказать, что в городах находится 10% детей, заинтересованных техническим обучением - робототехникой, программированием или их производными. Получаем, что потенциально в детские центры хочет ходить 783 тысячи детей. Делим 783 тысячи на 1193, получаем 656 детей на детский центр. При этом среднее число воспитанников в учреждениях подобного рода - 100 человек. Получается, что рынок коммерческого детского образования в крупных городах, освоен всего на 15%.

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

Всего ТДЦ в России

1350 штук

ТДЦ в городах 250 тыс +

1193 штук

ТДЦ в городах меньше 250 тыс

157 штук

Население в городах 250 тыс+

62675000 человек

Дети от 5 до 14 лет

7834375 человек

Заинтересованные в ТДЦ дети

783438

В среднем детей на ТДЦ

656

Объём рынка в городах 250 тыс+ в год

28,2 млрд рублей

Население в городах от 50 тыс

86820000 человек

Дети от 5 до 14 лет

10852500 человек

Заинтересованные в ТДЦ дети

1085250 детей

В среднем детей на ТДЦ

803 детей

Объём рынка в городах 250 тыс+ в год

40 млрд рублей

При среднем чеке с человека в 3000 рублей в месяц, можем вычислить объём рынка:

40 млрд рублей в год для детских технических центров.

400 млрд рублей в год для всего детского дополнительного образования.

И этот рынок освоен всего на 10%. Здорово, правда? Теперь поговорим о крупных игроках и консолидации рынка.

Крупные игроки

Открыто ДЦ

Доля рынка

Ходит детей

Оборот сети в месяц

Прибыль сети в месяц

Лига Роботов

156

12%

12480

37440000 рублей

22464000 рублей

Робо клуб

58

4%

4640

13920000 рублей

8352000 рублей

ШЦТ

28

2%

2240

6720000 рублей

3744000 рублей

Стартум

26

2%

2080

6240000 рублей

3744000 рублей

Остальные

1082

80%

86560

259680000 рублей

155808000 рублей

Всего

1350

108000

324000000 рублей

194400000 рублей

Какие выводы можно сделать? Рынок не консолидирован, однако присутствуют крупные игроки. Самый крупный - лига роботов, она занимает 12% локального, существующего рынка, либо 1,15% от всего рынка детского образования России. При этом в крупных городах, больше 250 тыс населения, можно открыть до насыщения рынка ещё 6000 детских технических центров.

В меньших городах возникают проблемы с поиском преподавателей надлежащего качества. Это я могу вам сказать с полной уверенностью из первого ряда, первичная модель была направлена именно на открытие детских центров в небольших городах. И эта модель работает великолепно, если находится энтузиаст на месте, готовый заниматься обучением детей, но находить их очень трудно. Поэтому фокус, на этот раз, я решил сместить в города с населением больше 250 тысяч человек, а начать с Питера. В Питере на данный момент открыто 200 технических центров. По подсчётам, в Питере до насыщения рынка можно открыть ещё столько же. При этом квалифицированные преподаватели с опытом прямо сейчас находятся на рынке труда, только руку протяни. В первой попытке масштабирования, мы открывали один из центров как раз в спальном районе Питера. Хорошего преподавателя нашли на первом же собеседовании. Плюсом открытия детских центров в больших городах, являются спальные районы - это место, где в радиусе километра может проживать пара сотен тысяч человек. Таргетированная реклама в связке с догоняшками от РСЯ через пиксель работает здесь на ура.

Сейчас в команде 3 человека со своими зонами ответственности. В первый год планируется открыть 10 детских технических центров и вывести их на показатель - 5 млн рублей выручки в месяц с рентабельностью 50%, сформировать управляющую компанию, настроить единый отдел маркетинга. Далее, с сентября 2022 года, открываем по 5 детских технических центров в месяц., постепенно наращивая обороты. Формируем методический отдел, отдел обучения персонала. К 2026 году планируется занять 20% рынка детского технического образования с годовым оборотом в 7,8 млрд рублей.

Я занимаюсь детскими техническими центрами уже 4 года, и за это время, путём проб и ошибок, нашёл формат, который с одной стороны даёт детям качественное техническое образование, с другой стороны - позволяет зарабатывать. Первый детский центр, открытый 4 года назад, существует и по сей день. В нём есть ребята, которые ходят с самой первой набранной группы. Они пришли в 4-5 классе, и сейчас уже девятиклассники. Детский центр изменил их жизнь, подарил вектор, которому они следуют. На курсе по профориентации, который я проводил для детей и родителей, они определились, куда и на какую специальность будут поступать. С другой стороны, мне удалось довести этот детский центр до 150 детей на 2-х преподавателях, работающих по выходным и половину пятницы. Благодаря крайним двум статьям, где я рассказывал о шагах для открытия своего детского центра, ко мне обратилось уже больше 10 человек. Они подумывают об открытии детских центров в своих городах. Тема оказалась очень интересной, а я, в свою очередь, накопил за последние несколько лет много оформленных компетенций, которыми с радостью готов поделиться. Первый детский центр нового формата в Питере планирую запустить в июле, через 2 месяца. Сейчас ищем партнёров, которые за долю в компании готовы усилить нашу команду своими компетенциями, либо инвестициями. Если захотите обсудить подробнее, обязательно пишите.

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

Подробнее..

Перевод Автопилот Tesla может обойтись без водителя

23.04.2021 16:06:54 | Автор: admin

В свете недавних событий, связанных со смертоносной аварией Tesla, издание Consumer Reports показало, что система, обеспечивающая наличие водителя в электрокаре, до безумия проста.

Tesla Model STesla Model S

Видео, приведенное ниже, показывает, что на самом деле никому не нужно сидеть за рулем для запуска автопилота:

Согласно первоначальному расследованию последней аварии в Техасе, ни одна из двух жертв, погибших в Tesla Model S, на самом деле не управляла автомобилем. Тест Consumer Reports показывает, насколько легко запутать систему автопилота Tesla, которая оценивается как система помощи водителю 2-го уровня по шкале автономности SAE (следует напомнить, что ни один автомобиль в продаже сегодня не квалифицируется как беспилотный автомобиль.)

На видео Джейк Фишер, старший директор по автомобильным испытаниям CR, задействует автопилот и снижает скорость до нуля. Это не отключает систему, и, пока машина остановлена, он прикрепляет вес к рулевому колесу. Используя вес, имитирующий вес руки водителя на руле, Фишер оставляет пристегнутый ремень безопасности и перелазит на пассажирское сиденье. Оттуда он увеличивает скорость, и автопилот начинает маневрировать и следовать по линиям замкнутого тестового курса. Так машина думает, что за рулем остается человек. Автопилот не использует камеру, чтобы проверить, присутствует ли водитель на месте и обращает ли он внимание на дорогу, как это делают системы General Motors, Ford и других компаний.

Система <...> не могла определить, был ли там водитель вообще. Tesla отстает от других автопроизводителей, таких как GM и Ford, которые в моделях с продвинутыми системами помощи водителю используют технологии, гарантирующие, что водитель смотрит на дорогу, сказал Фишер.

После аварии и значительного интереса со стороны правительства США генеральный директор Tesla Илон Маск написал в Твиттере, что ранние журналы данных показали, что в автомобиле не был задействован автопилот и не была установлена бета-версия режима полного самоуправления. CR отмечает, что автопилот по-прежнему способен на множество ошибок, как и любая другая система помощи водителю. А когда он совершает ошибку, он может внезапно отключиться, что может привести к аварии, если водитель не готов сиюминутно вернуть полный контроль над автомобилем.

В ответ на видео Илон Маск сказал, что СМИ действительно усиливают атаки на Tesla.

Подробнее..

Большие новости японцы продемонстрировали гигантского телеуправляемого антропоморфного робота

25.03.2021 16:19:55 | Автор: admin

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

Антропоморфизм в робототехнике популярное направление. Новый проект недавно реализовали ученые из Японии. Компания Man-Machine Synergy Effectors представила прототип огромного телеуправляемого человекоподобного робота с функциональными манипуляторами и имитацией головы. Робот пока не научился ходить, управляет им оператор из VR-стенда. Следующее поколение оснастят функциональными ногами.

Как устроен робот


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

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

Что за VR-стенд


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

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

Зачем нужны большие роботы?


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

В разработке гигантских роботов есть сложности:

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

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

Чем может быть полезен высокий робот:

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


Периодически появляются новые экземпляры роботов-великанов. В прошлом году японская фабрика Gundam Yokohama тестировала новую разработку восемнадцатиметрового боевого робота. Его создали по образу и подобию героя аниме-сериала Gundam. Летом робот публично сделал первые шаги. Во время демонстрации он вставал на колени, поднимал руку и показывал указательный палец.


Еще одна известная разработка это гиганты от MegaBots Inc. C 2014 по 2017 год компания производила боевых человекоподобных роботов, но в итоге закрылась из-за убыточности бизнеса.

Подробнее..

Интервью с техдиректором ElectroNeek от написания кода к управлению процессами

13.04.2021 18:11:50 | Автор: admin
image

Я пообщался с основателями стартапа ElectroNeek: Сергеем (CEO), Дмитрием (CIO) и Михаилом (CTO). В конце интервью видео, где в прямом эфире собирают робота.

Дмитрий, пришли, пожалуйста фотку для КДПВ, где вы все вместе.
Не поверишь, мы так вживую и не встретились еще все за два года)

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

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

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

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


Михайл, вас хантил Яндекс, но вы всё же решили работать в ElectroNeek, какая у вас мотивация работать в стартапе, а не на теплом гарантированном месте?

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

Михаил, как тебя схантили?

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

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

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

Я увидел, что спрос есть, как минимум, в России. Дмитрий рассказал о глобальном рынке, в частности про США. Он до этого работал в Ernst & Young и занимался там RPA для Fortune 500 rкомпаний, так что хорошо представлял себе спрос.

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

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

Как выглядел Electroneek до твоего прихода в проект?

Михаил:До меня был рабочий прототип, который можно было показывать. Это был проект на GitHub, чтобы показать, что они примерно хотят сделать.

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

В чем особенность разработки RPA продукта от остальных?

Сергей: Чем отличается разработка RPA-платформы от продукта сам в себе. RPA платформа, в частности ElectroNeek это средство разработки. Средство по созданию чего-то по взаимодействию с чем-то третьим. Это не отдельный продукт как CRM, которая сама в себе и только иногда по API взаимодействует с чем-то третьим.

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

Зачем ещё один RPA-продукт на рынке?

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

Как выбирали стэк технологий?

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

Мне нужно было обеспечить какую-то многостаночность, чтобы 1-3 человека могли делать всё. Потому мы выбрали Electron. Он позволяет на одном и том же языке (у нас это TypeScript) писать десктопное приложение, backend и frontend.

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

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

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

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

Я взял готовую библиотеку для визуализации. У нас основной продукт это среда разработки, и там есть визуализация блок-схем. Естественно, я не писал её сам, а взял открытую библиотеку joinjs. Она позволяет работать на уровне svg. С помощью векторных картинок рисовать интерфейсы.

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

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

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

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

Я взял стандартную библиотеку на C# UIAvtomation, ею же в тот момент пользовались наши конкуренты. Недавно мы ее заменили на более современную.

У этой библиотеки была обертка, довольно узкий API, который мы использовали. Потом мы эту библиотеку смогли выкинуть, прикрепить новую и адаптером к этому API приклеить. Это быстро безболезненно происходит, так и надо делать.



Как реализовывали фичи?

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

Буквально через месяц или два мы начали делать пилотный проект для Почты России.

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

Мы просто прокликивали это приложение, скрэпили данные оттуда и складывали на диск.

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

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

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

Какой масштаб работы был для почты России?

Михаил: Приложение содержало всех сотрудников Почты России по всей стране. Руками это прокликать невозможно.

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

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

Как привлекали инвестиции?

Михаил: Нам нужен был рабочий прототип, который бы впечатлял инвесторов. Интерфейс решения для Почты России не был красивым, его делал я, а я не дизайнер. Я сделал под себя, IDE WebStorm Dark mode.



Ранние этапы прототипа



ElectroNeek в 2021

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

Что из себя представляли демонстрации инвесторам?

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

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

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

Сергей: У нас были ограниченные ресурсы, мы получили всего 150 000 долларов из них наличными дошло 70 000. Это все что было, чтобы допилить прототип до нормального продукта и показать первые продажи в России и в США. Потом подняли 0,5 млн долларов. Мы показали быстрые продажи. В нас поверили инвесторы.

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

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

Как вы нанимаете разработчиков?

Михаил: Я больше обращаю внимание на способности, а не на опыт. Опыт важен, но разработка дело такое, где постоянно надо чему-то учиться. Когда в проект придётся затащить новую библиотеку, вероятность того, что ты ее знаешь, будет не очень высока. Знания важны базовые. Нам нужно было знание TypeScript, переучивать на другой язык долго. Фреймворк желательно знать. Мы используем от Angular.

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

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

Сколько сейчас людей?

Михаил: Шесть человек ядровая разработка, которые непосредственно платформу делают. Четыре человека, которые на платформе делают переиспользуемые решения. Они используют именно платформу, плюс дополнительные инструменты на скриптовых языках, и делают конкретные проекты. Я сейчас только про разработчиков говорю. Ещё есть отдел QA, отдельно продуктовая команда.

Как ты перешел от написания кода к управленческим обязанностям CTO?

Михаил: После получения инвестиций я ещё несколько месяцев активно писал код. QA мы хоть и наняли, но я в них особо не был уверен. Я сам писал код-ревью.

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

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

Вот вы смирились с падением качества, что дальше?

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

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

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

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

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

Как понять когда надо нанимать специального человека?

Михаил: Хватает ли на это узкое горлышко человека? Если человек хотя на 70% будет загружен этой задачей, то можно нанять. Если человек тебе нужен на 5% времени, то наверно, ты пока сам с этим справишься.

Чем ты сейчас занимаешься?

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

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

Как ты учишься?

Михаил: Сначала я четко формулирую проблему. Жизненный опыт многое уже позволяет решать. Я уже знаю гораздо больше, чем на момент выпуска из университета, но все равно есть проблемы, которые я не понимаю как решить.
Для начала я разбираюсь в чем проблема. Допустим, у меня нет какого-то инструмента. Гуглю, смотрю YouTube или какой-то курс, выясняю, как делают профессионалы в конкретной области.

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

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

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

Задать рамки, в которых люди работают, и контролировать результат в этих рамках. Решения они принимают самостоятельно.

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

Совет самому себе в молодости?

Михаил: Мне на старте казалось, что сначала надо очень многому научиться. Чего-то я ещё не знаю. Не умею писать веб-сайт, не умею писать бекэнд. Мне хотелось сначала курс какой-то пройти или университет закончить. На самом деле нет. Возьми и попробуй. Гугл отличный инструмент, там вообще все есть. Решай проблемы точечно. Не умеешь конкретно это делать, конкретно это и научись делать. Не умеешь ты nginx настраивать, вот конкретно это и изучи.

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

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

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

Расскажите про Service Organization Controls (SOС)?

Сергей: Если вы хотите делать приложение SaaS на американском рынке, особенно что-то, что будет работать в компаниях больше 200-500 человек, сразу возникнет вопрос про SOC (Security Organization Control). Пока его у тебя нет, все его спрашивают. Это история, которая причесывает политики организации распределение по уровню прав и доступа, как проектировать код, приходят аудиторы, проверяют.

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

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

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

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

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

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

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

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

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

Окей, таким путём мы будем долго идти. А может найдём компанию, которая нам упростит жизнь? Наши компанию. На тот момент мы уже были в Y Combinator. Мы задали этот вопрос ребятам оттуда, нам подсказали выпускников YC, которые автоматизируют эту историю. Услуга не бесплатная, но мы купили у них услугу. Это некоторая админка, в которую ты интегрируешь все свои сервисы. JetSuit, Bitbucket, Gitlab, Jira, AWS, Azure, у кого что. Программа сама изучает, где у тебя какие настройки, и говорит что и где тебе не хватает. Ты точечно исправляешь и автоматом закрываются все пункты, что в этой простыне есть.

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

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

Расскажи про Y Combinator глазами разработчика?

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

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

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

Мы закончили YC в марте 2020, закрыли раунд 2,5 млн долларов. Начался существенный рост и команды разработки, и задач.

Как вы пришли к той продуктовой команде которая есть сейчас?

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

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

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

У нас есть UX-продакт-менеджер, технологический продакт-менеджер, у нас есть Head of Engineering, есть CTO, есть CEO как представитель бизнеса. У нас сформирован продуктовый офис, где продукт нарезан на разные части. UX, анализ новых фич, инжиниринг. Мы с Михаилом выполняем роль фасилитаторов в случае приоритезации. Я еще отвечаю за sales-фичи. Дмитрий смотрит на то, как продуктовые фичи транслируются или могут транслироваться в маркетинговые возможности и инструменты, такие как наша глобальная библиотека ботов, созданных клиентами и партнерами.

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

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

Можно ли при помощи вашего робота фармить в компьютерных играх, клики в ютюбе?

Дмитрий: На нашей базе один клиент сделал робота, который включает чайник.

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

Сергей: Была у нас одна история. Клиент купил услугу, а потом написал: Я специально выбрал самую не развитую в ИТ направлении девушку в нашей компании, Олю. И вот Оля смогла с помощью ElectroNeek создать робота. Если Оля смогла, то любой в моей компании сможет. Я у вас покупаю продукт! Это высокий показатель простоты использования. Хотя в основном у нас пользуются разработчики junior или middle уровня. Они получают продукт, в любом стэке (веб, десктоп, есть API или нет), создать приложение (робота?), это свобода, которую дает наш продукт.

Дмитрий: Когда попадает продукт к инвесторам на раннеей стадии, то там историия с Олей повторялась, есть свои Оли среди инвесторов. Были ситуации когда в продукт залезали партнеры топовых американских фондов (Гэри Тэн из Initialized, бывший партнер YC и инвестор в Coinbase и Instacart). Партнер руками начал собирать робота.

Бонус: собираем робота в прямом эфире




Читать еще


Подробнее..

Recovery mode Viomi SE Покофон из мира роботов-пылесосов

10.03.2021 18:12:48 | Автор: admin

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

Также как и Pocophone F1, пару лет назад зарекомендовавший себя на рынке, как смартфон с высокой производительностью и конкурентоспособной ценой, Viomi SE придерживается схожей философии: минимализм и функциональность по приемлемой цене. Насколько успешной оказалась реализация этого концепта? Попробую рассказать объективно.

Что в комплекте?

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

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

Настройка и первый запуск

Перед первым запуском необходимо снять два фиксатора на боковой стороне пылесоса, установить нижнюю щетку, и прибор готов к первой чистке. Но желательно сделать кое-что еще: зайти в магазин Google Play или Apple Store, установить приложение Xiaomi Mi Home, добавить в него новое устройство (или позволить приложению автоматически распознавать новый пылесос), а затем просто следовать инструкциям по настройке.

С помощью мобильного приложения работу Viomi SE (как и других пылесосов Viomi) можно контролировать удаленно через беспроводную сеть Wi-Fi. При необходимости пылесос может работать и без приложения кнопки управления вынесены на корпус. Но мне кажется, что возможность сопряжения со смартфоном и удаленная настройка гораздо удобнее, нежели аналоговое управление. К тому же через Xiaomi Mi Home режимы уборки гибко настраиваются под запрос пользователя.

Дизайн Viomi SE

Viomi наконец-то уступила запросам покупателей и выбрала для модели SE классический белый цвет. В остальном визуальное исполнение смотрится на уровне премиальных моделей. Внешне Viomi SE можно поставить в один ряд с моделью V3 (не в пример блеклому виду V2 Pro в сером цвете корпуса). При этом размеры пылесоса не отличаются от других моделей Viomi: 35 см в диаметре и 9,45 см в высоту.

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

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

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

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

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

Мощность всасывания

Мощность всасывания является самой важной характеристикой всех пылесосов, и в этой области Viomi SE также добился определенного прогресса. Сила засасывания пыли выросла с 2100 Па (у модели V2 Pro), до чуть более высоких 2200 Па.

Модель пылесоса

Viomi SE

Viomi V2 Pro

Viomi V3

Мощность всасывания

2200 Па

2100 Па

2700 Па

Габариты/вес

359,45 см/4,4 кг

359,5 см/3,3 кг

349,4 см/3,6 кг

Влажная уборка

есть

есть

есть

Контейнер (для воды/пыли)

200 мл / 300 мл

550 мл / 600 мл

550 мл / 550 мл

Емкость аккумулятора

3200 мАч

3200 мАч

4900 мАч

Время работы

80-120 мин

80-120 мин

140-170 мин

Площадь уборки

150 м

150 м

250 м

Мобильное приложение

Xiaomi Home

Xiaomi Home

Xiaomi Home

Построение карт помещений

есть

есть

есть

Тип навигации

лазерный

лазерный

лазерный

На практике мощность 100 Па обычно не имеет значения, так как значения в 1800 Па уже достаточно для очистки ровных поверхностей от пыли. Разница будет заметна на менее гладких или рельефных поверхностях и стыках при очистке большого количества пыли и грязи. Всего у Viomi SE предусмотрено 4 режима всасывания (600 Па, 1000 Па, 1500 Па и 2200 Па).

Однако все это лишь цифры и слова. А что на практике означает указанная мощность всасывания? Я проверил и могу подтвердить, что Viomi SE легко засасывает классическую батарейку типа AAA, что довольно впечатляет для робота-пылесоса. К слову, внутри Viomi SE установлен бесщеточный двигатель NIDEC японского производства, который обеспечивает скорость вращения щетки на уровне 15 000 оборотов в минуту (кстати, двигатель того же бренда установлен и в Roborock S6).

Аккумулятор и автономность

Внутри робота-пылесоса Viomi SE встроен литий-ионный аккумулятор Samsung с емкостью 3200 мАч, который может заряжаться от 0 до 100% за три часа. Емкость АКБ особенно важна при уборке больших площадей: в частности, этот параметр наиболее актуален для тех, кто живет в большом загородном доме. А если учесть, что недавно отгремевшая пандемия заставила многих перебраться за город, количество владельцев таких домов явно увеличилось.

Так вот, от лирики к делу: аккумулятора Viomi SE на максимальном режиме всасывания хватит для очистки примерно 80 м площади (без мебели и препятствий) на одном заряде. После этого пылесос возвращается на зарядную станцию. В случаях, когда уборка не завершена, устройство заряжается на 20%, а затем автоматически завершает уборку. Если говорить об уборке квартир двухкомнатную квартиру с метражом в 48 квадратов можно будет пропылесосить не менее двух раз на одном заряде.

Алгоритм уборки

Большинство моделей пылесосов премиум-класса могут похвастаться наличием LDS (лазерным датчиком измерения расстояния) в сочетании с поддержкой алгоритмов очистки SLAM. У Viomi SE есть лазерный датчик, но нет поддержки SLAM. Тем не менее, оценивая работу данного робота-пылесоса можно сделать интересный вывод: инженеры Viomi, вероятно, хорошо изучили вышеуказанный алгоритм и реализовали в модели SE собственный AI Dynamic Path.

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

Как правило, современные роботы-пылесосы перемещаются по напольной поверхности планомерно, аккуратными зигзагообразными линиями. В результате сокращается время очистки и повышается эффективность уборки. К тому же емкость аккумулятора не тратится впустую. В этом плане Viomi SE со своим AI Dynamic Path не отстает от более дорогих моделей с алгоритмом SLAM. Во время уборки он проходит по всем углам комнаты, создавая карту помещения, а затем вычисляет оптимальный способ перемещения для уборки.

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

Эффективность уборки

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

После нескольких недель использования Viomi SE и сравнения его с моделью Roborock S6, предшественником Viomi V2 Pro и самой мощной моделью Viomi V3, я пришел к выводу, что модель SE на удивление эффективна и может составить серьезную конкуренцию более дорогим моделям. По части влажной уборки Viomi V3 показал себя более эффективно. Тем не менее, остальные модели Viomi SE явно опережает.

Интересное наблюдение: несмотря на высокую мощность всасывания, модель Viomi SE на удивление еще и несколько тише, чем остальные роботы-пылесосы, участвовавшие в сравнении. Максимальный шум во время работы достигает 77 дБ (на практике этот параметр можно приравнять к громкому разговору между людьми).

Резервуар для воды у Viomi SE вмещает 200 мл (+300 мл для пыли). При настройке на максимальный режим увлажнения пола пылесос может очистить до 40 м пустой площади. Обратите внимание, что у пылесоса есть три параметра использования воды (каждый из которых определяет, насколько интенсивно вода будет подаваться на тряпку), которые мы можем выбрать в мобильном приложении. На самом низком уровне расхода воды площадь уборки может быть увеличена почти вдвое.

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

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

Viomi SE и конкуренты

Я сравнивал Viomi SE с более дорогими моделями, которые были под рукой: в их числе Roborock S6, Viomi V3 и Viomi V2 Pro. Интересно, что Viomi SE по качеству уборки оказался почти на том же уровне, что и гораздо более дорогие модели. А по части влажной уборки он явно лучше, чем Roborock S6 и Viomi V2 Pro. При этом, если посмотреть на опции и функции пылесосов Viomi в мобильном приложении Mi Home, нетрудно убедиться, что между перечисленными выше моделями нет большой разницы.

Итоги

Петь оды Viomi SE не приходится. Да, он не хуже других роботов-пылесосов, но при этом и не шибко лучше. Неоспоримый плюс у него только один: при цене в диапазоне от 25 000 до 29 000 рублей у Viomi SE не так много схожих по функциональности конкурентов. Кроме того, он эффективен в уборке (особенно в условии загородных домов с большими комнатами), качественно собран, а его элементная база не хуже, чем у того же Roborock S6.

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

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

Подробнее..

Научная гипотеза происхождения Карлсона

01.04.2021 02:05:37 | Автор: admin

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


Кем же он был: человек, робот или, может быть, кибернетический организм с электронным мозгом?


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


Как, вы думаете, на самом деле был устроен странный незнакомец, так ловко жонглирующий законами физики? Давайте сегодня, 1 Апреля 2021 года, вместе найдем ответ на этот животрепещущий вопрос.


image

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


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


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


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

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


В Сети по поводу отсутствия вращения приводятся довольно убедительные версии. Рассмотрим их по одной.


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


image


Но ведь речь идет о полёте. Гироскоп для этой цели получился бы слишком тяжелым. Эта версия не подходит.


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


3. В третий версии Карлсон компенсирует вращение, размахивая в полете руками.


Однако этого не было: по описанию, он летал плавно и с важным видом. Такой способ противоречит литературному первоисточнику.


Пропеллер для полёта


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


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

https://ru.wikipedia.org/wiki/Карлсон

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


image


В меру упитанный, в самом расцвете сил


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


Поскольку наиболее вероятной схема размещения пропеллера видится соосной, то возникает очередной вопрос:


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


image


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


Летать и не падать


Но как мог пропеллер крепиться к человеческой плоти? С одной стороны, в книге утверждается, что он приводился в действие кнопкой, которая запускала мотор. Возможность размещения металлического мотора в живом организме кажется ничтожной, ведь у такого мотора должен быть неимоверно маленький вес и просто невероятный КПД!


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


Именно в Швеции был запатентован первый корабельный винт. Шведы первыми принесли в мир динамит, УЗИ и первую телефонную трубку. Невероятные для своего времени изобретения шведов и, в особенности, корабельный винт, наталкивают на мысль, что именно в Швеции могли изобрести нечто подобное.


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


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


image



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


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


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


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


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


В банке не осталась хотя бы капелька варенья?


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


image


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


Мы помним про существование кнопки пуска мотора на животе у Карлсона, которую он нажимал, желая полететь.


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


Мозг и система управления


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


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


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


image


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


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


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


Кому говорят, не реви!


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


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


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


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


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


Материалы, использованные в данном исследовании:
http://personeltest.ru/aways/habr.com/ru/post/399053/
https://pikabu.ru/story/skhema_razbora_karlsona_1598037
https://politikus.ru/articles/politics/56971-malysh-i-karlson-nauchnyy-perevod.html
https://ru.wikipedia.org/wiki/Карлсон
https://commons.wikimedia.org/wiki/File:Russian_Air_Force_Kamov_Ka-50.jpg?uselang=ru
https://russian.rt.com/article/10051
https://kulturologia.ru/blogs/200716/30533/
https://novate.ru/blogs/141116/38812/
https://fjord.su/article/samye-izvestnye-izobreteniya-iz-shvecii.html
https://pikabu.ru/story/vladimir_petrovich_demikhov__geniy_transplantologii_7521547

Подробнее..

В полуфинале конкурса 10M ANA Avatar XPRIZE единственной командой из Восточной Европы стала Dragon Tree Labs

07.05.2021 16:08:17 | Автор: admin

Компания Dragon Tree Labs объединяет индивидуальных разработчиков и команды робототехников для общей цели создать робота-аватара, который стал бы продолжением человека, который им управляет, расширил бы возможности телеприсутствия и дистанционного физического взаимодействия с объектами реального мира.

Это совпадает с целями международного конкурса $10M ANA Avatar XPRIZE, который был инициирован, чтобы поддержать развитие технологий в этой области. Конкурс стартовал в марте 2018 года и рассчитан на четыре года. В июне 2022 года будут объявлены победители соревнования, которые разделят приз в $10 млн.

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

Для выхода в полуфинал $10M ANA Avatar XPRIZE команда Dragon Tree Labs создала робота Джонни

Для выхода в полуфинал команда Dragon Tree Labs создала робота Джонни, который прошёл соответствие всем требованиям. На данный момент это единственная российская команда, которая продолжает бороться за победу и главный приз.

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

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

Робот Джонни результат интеграции нескольких прорывных технологий, в том числе инновационного компьютерного вычислителя для одновременного запуска нескольких нейронных сетей, который был создан специально для мобильных роботов командой Fast Sense. Именно благодаря этому компоненту, Джонни может одновременно выполнять несколько задач с задействованием ML-алгоритмов параллельно. Также, исследователи из МФТИ участвовали в реализации тестового сценария управления манипулятором.

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

Для работы над этой частью задачи команда стремится привлечь дополнительных участников и приглашает на оплачиваемую стажировку на лето 2021 года. Все, кто хотят присоединиться к проекту, могут писать на hello@dtlabs.tech

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

Подробнее..

Google бесплатно изготовит чип на техпроцессе 130нм Skywater Апрель-Июнь 2021

23.04.2021 20:10:29 | Автор: admin

Если вы прочитали мою статью, то вы слышали про технологию Skywater 130nm. Google сделала анонс второй программы Multi-project-wafer, и вы можете произвести свою микросхему за бесплатно. С несколькими оговорками

  • Проект должен быть по технологии 130нм Skywater

  • Проект должен быть доступен всем

  • Проект должен находиться под лицензией из списка одобренных

  • Проект должен быть готов к июню 18 числа 2021-го года.

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

Меня поправили в коментариях

130 нм мэйнстрим в части микроконтроллеров, многих видов автомобильных и высоковольтных силовых микросхем, а вовсе не древняя технология. Не надо все мерить по процессорам для песональных компьютеров, современные 130 нм так же похожи на 130 нм из Pentium III, как Tesla 3 похожа на Ford T. И там, и там четыре колеса, на этом сходство заканчивается.

Для изготовления микросхем Google и её партнер efabless выбрали компанию Skywater Technology Foundry, ранее известную под названием Cypress Semiconductor. Производство первых микросхем будет окончено в декабре.

Ранее бывшую собственным производством Cypress и выделенную в независимую компанию. Сама Cypress продолжает существовать в fabless режиме.

Кхм, меня попровляют в личных сообщениях, спасибо @amartology.

Технология имеет слой для полупроводников и 5 металлических слоёв. Заказчики проектов получат 50 экземпляров в корпусе WCLSP 6x10.

Из проектов прошлого года мне понравился вот этот. Это проект передатчика-приёмника для любительских спутников AMSAT.

Для того чтобы вы смогли разработать свою микросхему гугл также выпустила Process Development Kit доступный по ссылке вот тут. Важно сказать, чтобы гугл вашу микросхему вообще одобрил она должна быть собранна по проекту Caravel user project.

Если у вас есть готовый проект написанный на Verilog, его можно собрать используя OpenLANE.

Подробнее..

Перевод - recovery mode Прекратите называть все искусственным интеллектом, говорит пионер машинного обучения

09.04.2021 14:13:02 | Автор: admin

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

Автор: Кэти Претц

Майкл И.ДжорданМайкл И.Джордан

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

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

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

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

Вклад Джордана принес ему множество наград, в том числе премиюУльфа Гренандера в области стохастической теории и моделированияотАмериканского математического общества.В прошлом году он получилмедаль IEEE Джона фон Нейманаза вклад в машинное обучение и науку о данных.

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

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

ПРИСОЕДИНЕНИЕ К ДВИЖЕНИЮ

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

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

Джордан изучал психологию в Университете штата Луизиана в Батон-Руже, где в 1978 году получил степень бакалавра по этому предмету. В 1980 году он получил степень магистра математики в Университете штата Аризона в Темпе, а в 1985 году-степень доктора когнитивных наук в Калифорнийском университете в Сан-Диего.

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

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

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

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

УТОЧНЯЮЩИЙ ИИ

В 2019 году Джордан написал книгу Искусственный интеллектреволюция еще не произошла, опубликованную в журнале Harvard Data Science Review. Он объясняет в статье, что термин ИИ неправильно понимают не только люди, но и технологи. Еще в 1950-х годах, когда был придуман этот термин, пишет он, люди стремились создать вычислительные машины, которые обладали интеллектом человеческого уровня. Это стремление все еще существует, говорит он, но то, что произошло за прошедшие десятилетия, - это нечто иное. Компьютеры не стали интеллектуальными сами по себе, но они предоставили возможности, которые увеличивают человеческий интеллект, пишет он. Более того, они преуспели в низкоуровневых способностях распознавания образов, которые в принципе могли бы быть выполнены людьми, но с большими затратами. Системы, основанные на машинном обучении, способны обнаруживать мошенничество в финансовых операциях в массовом масштабе, например, тем самым катализируя электронную торговлю. Они играют важную роль в моделировании и контроле цепочек поставок в производстве и здравоохранении. Они также помогают страховым агентам, врачам, педагогам и кинематографистам.

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

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

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

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

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

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

ПОСТРОЕНИЕ СООБЩЕСТВА

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

Он также высоко ценит продуманную издательскую политику IEEE.Многие из его работ доступны вцифровой библиотеке IEEE Xplore.

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

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

Подробнее..

Почему Пентагон закупил израильские беспилотники Skylord? Контуры ведения новых войн в стиле Skynet

16.05.2021 08:22:57 | Автор: admin
image

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

Министерство обороны США заказало Skylord Xtender в партнерстве с Министерством обороны Израиля от имени Управления технической поддержки нерегулярных боевых действий. Xtend не предоставила информации о стоимости контракта.


Давайте подробнее разберемся с данными летательными аппаратами



Skylord Xtender



image

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

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

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


Беспилотник имеет защиту на своих пропеллерах и может летать около 10 минут. На видео-демонстрациях маленький квадрокоптер парит в 30 сантиметрах от земли и влетает и вылетает из зданий, пролетая через небольшое отверстие размером со средний кирпич. Xtend утверждает, что Начальник Генерального штаба Армии обороны Израиля сам оперировал беспилотником на недавнем мероприятии, и что американские, британские, голландские и сингапурские чиновники видели демонстрации работы дрона.



Базовая технология управления подходит операторам, не имеющим опыта, и дает возможность управлять передовыми беспилотными летательными аппаратами через несколько секунд после обучения. Проблема заключается в том, что у вас нет GPS или освещения в помещении, и у вас может быть мебель или открытые окна с турбулентностью, а также завихрения от воздушного винта и своя физика полета в ограниченном пространстве. Для решения этих проблем Xtend работала с Министерством обороны Израиля и Управлением оборонных исследований и разработок в течение 18 месяцев, а также с Министерством обороны США в течение прошлого года. Партнерство между правительствами позволило фирме получить поддержку и двустороннее финансирование, что привело к относительно быстрому процессу приобретения продукции спецназом США.

Skylord Griffon



image

Американские военные протестировали актуальные системы борьбы с БПЛА. Существует три вида борьбы с БПЛА.

Попавшие на тесты системы отличаются различными подходами к борьбе с малыми БПЛА. Так, Skylord Griffon представляет собой обычный квадрокоптер, дополненный ловушкой для беспилотников. В полете он несет за собой раскрытую сеть на T-образном каркасе, а при обнаружении цели Griffon пролетает над ней, опутывая сетью пропеллеры беспилотника. Добычу БПЛА может сбросить в определенном месте, и вернуться к оператору для перезарядки. Ранние образцы БПЛА серии Griffon успешно совершили свыше 2500 перехватов малых БПЛА на границе с Сектором Газа.



Система DKD от компании Elta, специализирующейся на производстве радиолокационного оборудования, использует АФАР-радар и набор оптико-электронного оборудования. Это позволяет отслеживать, идентифицировать, и нейтрализовать малые БПЛА с помощью генератора помех.

Modular Intercept Drone Avionics Set (MIDAS) наиболее близка к классическим авиационным перехватчикам. Квадрокоптер оснащенный пневматической пушкой идентифицирует цели с помощью собственных датчиков, или по целеуказанию с наземных радаров. После этого система выбирает оптимальное место для ведения огня, и выводит из строя противника небольшим боеприпасом.

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

Xtend также делает беспилотный летательный аппарат Skylord Griffon, предназначенный для уничтожения других беспилотных летательных аппаратов, что вот совсем недавно продемонстрировали на испытательном полигоне Юма в Аризоне. Эта система уже работает с израильским спецназом. Skylord Griffon представляет собой обычный квадрокоптер, дополненный ловушкой для беспилотников. В полёте он несёт за собой раскрытую сеть на T-образном каркасе, а при обнаружении цели Griffon пролетает над ней, опутывая сетью пропеллеры беспилотника. Добычу БПЛА может сбросить в определённом месте, и вернуться к оператору для перезарядки. Ранние образцы БПЛА серии Griffon успешно совершили свыше 2500 перехватов малых БПЛА на границе с Сектором Газа.

image

Используя визуальное устройство дополненной реальности (AR) и контроллер, управляемый одной рукой, военный оператор может использовать систему Skylord для легкого и точного управления дроном и выполнения сложных задач. Интерфейс системы позволяет оператору погрузиться в удаленную реальность, эффективно и безопасно поражая цели. Личный состав может получить полную сенсорную оценку ситуации на поле боя и использовать полезную нагрузку дронов-перехватчиков C-UAV, пройдя минимальный инструктаж без необходимости в специальных знаниях. Возможности системы были продемонстрированы в Израиле на перехвате зажигательных устройств, запущенных террористами из сектора Газы.

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

Источники:
  1. Pentagon orders small Israeli drones for indoor special operations
  2. -13": | "
  3. Skylord Keeps Warfighters Safe in the Heat of Battle
Подробнее..

Перевод От инвалида до киборга при помощи руки с ИИ

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

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


Послушать историю [на английском] можно на SoundCloud

На этой неделе появилось 600 новых статей об архитектуре Transformer. Как мне быть? Случайным образом выбрать из них несколько, опубликовать у себя практически без изменений (не считая каких-то мелочей) и, возможно, чуть-чуть улучшить?

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

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

Связанная статья. Сможет ли архитектура Transformer заменить CNN в машинном распознавании образов?

Обратимся же теперь к настоящей теме этой статьи! Тема эта не имеет никакого отношения ни к архитектуре Transformer, ни даже к GAN, в ней нет никаких модных словечек (за исключением, пожалуй, слова "киберпанк"), но, тем не менее, это одно из самых крутых применений ИИ, с которыми я сталкивался в последнее время! Эта штука способна решать насущные проблемы многих людей и круто изменить их жизнь к лучшему. Конечно, она работает не так эффектно, как, например, превращение человеческого лица в персонажа аниме или мультфильма, зато ничто не сравнится с её полезностью.

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

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

Теперь давайте более подробно ознакомимся с этой уникальной и поражающей воображение новой работой.

В этой работе на нейропротез накладываются технологии глубокого обучения, позволяющие контролировать в реальном времени движения отдельных пальцев протеза. Человек, потерявший руку 14 лет назад, теперь может двигать искусственными пальцами, как на обычной руке! Задержка прохождения команд составляет от 50 до 120 миллисекунд, точность движений от 95 до 99 %. Из этой работы следует, что встраивание технологий глубоких нейросетей непосредственно в носимые биомедицинские устройства не только возможно, но и чрезвычайно эффективно!

Настоящий киборг!Настоящий киборг!

В данном случае был использован модуль NVIDIA Jetson Nano, специально разработанный для развёртывания систем ИИ в автономных приложениях. Это позволило использовать GPU и мощные библиотеки, такие как TensorFlow и PyTorch, внутри самого манипулятора. Авторы проекта говорят: "При реализации нашего нейронного декодера мы отыскали самый подходящий компромисс между размерами, мощностью и производительностью". Главная цель данной работы решить проблему эффективного развёртывания нейронных декодеров глубокого обучения на портативном устройстве, используемом в реальных приложениях, для долгосрочного применения в клинической практике.

НейропротезНейропротез

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

Схема NVIDIA Jet NanoСхема NVIDIA Jet Nano

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

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

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

Блоки GRU сообщают модели, что делала рука в последнюю секунду (что было закодировано сначала) и что ей нужно делать дальше (что декодируется в настоящее время). Говоря простым языком, GRU это не что иное, как улучшенная версия рекуррентных нейронных сетей, или RNN.

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

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

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

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

Вот, что рассказывает сам пациент:

Я понимаю, что эта штука ещё требует доработки. В ней должно быть больше "жизненных" функций для выполнения повседневных задач, чтобы можно было не задумываться о том, в каком положении находится рука и в каком режиме она запрограммирована. Надо чтобы она работала так: увидел, дотянулся и взял. [...] В идеале я должен ощущать на теле не протез, а обычную руку. Я полагаю, мы до этого дойдём. Я верю в это!

Для меня данное изобретение самый невероятный пример применения технологий искусственного интеллекта.

Это изобретение способно повысить качество жизни человека, и нет ничего почётнее этой цели. Надеюсь, вам понравилась эта статья. Также можете посмотреть видеоверсию, где можно своими глазами посмотреть на движения настоящей руки киборга. Спасибо, что прочитали статью. В видеоролике об этом уже говорилось, но я повторю здесь: "Это безумно круто!"

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

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы Ссылки
  • [1] Nguyen & Drealan et al. (2021) A Portable, Self-Contained Neuroprosthetic Hand with Deep Learning-Based Finger Control.

  • [2]. Luu & Nguyen et al. (2021) Deep Learning-Based Approaches for Decoding Motor Intent from Peripheral Nerve Signals.

  • [3]. Nguyen et al. (2021) Redundant Crossfire: A Technique to Achieve Super-Resolution in Neurostimulator Design by Exploiting Transistor Mismatch: https://experts.umn.edu/en/publications/redundant-crossfire-a-technique-to-achieve-super-resolution-in-ne

  • [4]. Nguyen & Xu et al. (2020) A Bioelectric Neural Interface Towards Intuitive Prosthetic Control for Amputees

Подробнее..

РобоКросс 2010 2018. Уже история

19.05.2021 00:17:20 | Автор: admin

"РобоКросс". А если полностью - Ежегодные полевые испытания беспилотных робототехнических систем РобоКросс. На Хабре были уже статьи посвящённые РобоКроссу с описанием мероприятия с точки зрения команд, сторонних наблюдателей и прессы. Ниже общая информация с описанием и цифрами по командам, этого довольно необычного на момент старта, мероприятия или точнее испытаний.

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


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

Справка. Согласно брендбуку правильно писать так - РобоКросс. Р и К большие, остальное маленькими.

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

РобоКросс на СелигереРобоКросс на Селигере

Но в тот же год стало ясно, места мало и формат не Селигеровский. Как ни крути РобоКросс требовал больше времени, места и оборудования для команд и в определённый момент стало очевидно что такие испытания требуют обеспечения безопасности на гораздо более серьёзном уровне. Всё таки, когда работает и едет беспилотное транспортное средство, БПТС, это всегда непредсказуемо, а значит опасно. Потеря сигнала позиционирования, сбой программы. Всё что угодно может сделать беспилотник неконтролируемым. И пока при первичных испытаниях никто ничего лучше не придумали, чем территория с ограниченным доступом и барьером безопасности.

И в 2012 году (мой первый год) опробовали площадку под городом Волоколамском. Это была асфальтированная площадка 180 * 120 м, с рабочей частью отведённой под полигон, чуть больше чем 100 * 100 метров, огороженная забором. Территория подготовленная под какой-то рынок, но таки не занятая им. По факту на тот момент, единственное место, которое подошло под испытания и с которым срослось.

Волоколамск 2012 год. Стартовая арка с ГАЗелькой.Волоколамск 2012 год. Стартовая арка с ГАЗелькой.

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

Группа ГАЗ - главный спонсор РобоКроссаГруппа ГАЗ - главный спонсор РобоКросса

Немного статистики и дат испытаний РобоКросс с 2010 по 2018 год

Год

Кол-во команд с беспилотными машинами

Количество команд с коптерами

РобоКросс Технологии

Unior Race

1

2010

6

нет

нет

нет

2

2011

7

нет

нет

нет

3

2012

6

нет

нет

нет

4

2013

9

нет

нет

нет

5

2014

7

3

нет

нет

6

2015

9

9

нет

нет

7

2016

6

4

2

нет

8

2017

8

6

2

3

9

2018

10

4

нет

7

В разное время в зависимости от наличия возможностей в качестве приза за победу командам доставалась оплата поездки на международные соревнования - испытания ELROB(https://www.elrob.org/) или небольшие призы.

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

  • 2013 - команда RedEyes из Коврова. Швейцария.

  • 2014 - команда НАМТ из Нижнего Новгорода. Германия

  • 2015 - команда Аврор из Рязани. Польша

  • 2016 - команда Аврора из Рязани. Австрия.

Вот команды которые приезжали на РобоКросс с 2010 по 2018 год, некоторые соответственно по нескольку раз (просто в алфавитном порядке):

  1. 4х4 / г. Нижний Новгород, НГТУ им Алексеева

  2. Avrora Robotics / Рязань, ООО "КБ Аврора"

  3. BaumanCar / г. Москва, ФГБОУ ВПО Московский государственный технический университет имени Н.Э. Баумана

  4. CVL Robots / г. Москва, Московский государственный машиностроительный университет (МАМИ)

  5. KSTA Team / Владимирская область, ФГБОУ ВПО КГТА им. В.А. Дегтярева

  6. Le Talo / г. Владимир Le Talo Robotics

  7. LOOK / г. Рязань Рязанский государственный радиотехнический университет, Студенческое конструкторское бюро (СКБ)

  8. MobRob / г. Саратов, Саратовский государственный технический университет имени Гагарина Ю.А.

  9. Red Eyes / г. Ковров, ФГБОУ ВПО КГТА им. В.А. Дегтярева

  10. АВРОРА / г. Рязань

  11. ВОЛГА / г. Нижний Новгород, Нижегородский государственный университет им. Н.И. Лобачевского

  12. ЛК / г. Рязань, ФГБОУ ВПО ""Рязанский государственный радиотехнический университет" (ФГБОУ ВПО ""РГРТУ"")

  13. ЛТИС / г. Москва, МАИ

  14. МК Ультра-НН / Нижний Новгород, ГБОУ СПО НАМТ и ФГБОУ ВПО НГТУ им. Р.Е. Алексеева

  15. НАМТ / г.Нижний Новгород, ГБОУ СПО НАМТ

  16. Роботон / г. Рязань, ФГБОУ ВПО "РГРТУ"

  17. СКБ ФАУСТ МАИ / Москва Московский Авиационный институт.

  18. Технотон/ г. Рязань, ФГБОУ ВПО "РГРТУ"

  19. УМиКо / г. Москва, Университет Машиностроения (МАМИ)

  20. ФАУСТ / г. Москва, МАИ

  21. ФГУП "НАМИ" / г. Москва, ГНЦ РФ ФГУП "НАМИ"

  22. Фидесис / Москва Фидесис

  23. Физтех / Москва, МФТИ

  24. Шрёдингер кота / г. Уфа, Уфимский государственный колледж радиоэлектроники


Любопытные организационные тонкости.

Говоря про задания, точно можно утверждать, что с течением времени задания испытаний менялись совсем не кардинально и очень плавно. Связано это было с тем, что основные участники РобоКросса всё-таки студенческие команды. В течение учебного года у них куча других вопросов - учёба, активности ВУЗа, в конце концов работа которая параллельно с учёбой. И погружаться в смысл заданий они начинали в лучшем случае за пару месяцев до самих испытаний, а то и уже на самом мероприятии. Это конечно сильно сказывалось на результате. И именно в таком формате РобоКросс стал прекрасной площадкой для ребят и себя показать и на людей посмотреть.

Схема стандартного расположения служб на малом испытательном кольце автополигона "Берёзовая пойма" Схема стандартного расположения служб на малом испытательном кольце автополигона "Берёзовая пойма"

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

Первоначально задания были совместным творчеством собственно организаторов. А вот 2013 года в формировании регламента и требованиям которые выдвигались к беспилотникам стал принимать участие Объединённый инженерный центр автозавода ГАЗ. Регламенты стали выглядеть грамотно технически и более если так можно сказать, обоснованно. Конечно регламенты и задания не раз вызывали споры на испытаниях и апелляции команд, но я и сейчас продолжаю считать что подключение таких специалистов было очень правильным и своевременным шагом. Главный судья РобоКросса с 2013 года ведущий специалист Объединенного инженерного центра.

Вот пример регламента испытаний 2017 года.

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

Машинка команды "Аврора" под граундомМашинка команды "Аврора" под граундом

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

Типичный вид трассы РобоКросса. Бочки - это препятствия. Мешки с песком для устойчивости знаков.Типичный вид трассы РобоКросса. Бочки - это препятствия. Мешки с песком для устойчивости знаков.

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

Установка антен мониторингаУстановка антен мониторинга

Часто полевые условия напоминали о себе, солнце, жара и самое главное дождь. Который всегда невовремя. Ни для команд, ни для электричества. Так была выбрана оптимальная высота граунда укрытия для команд и их машин, где под одной крышей можно разместить от 6 до 10 машин. По высоте тента ГАЗели, самой высокой машины испытаний, чтобы она точно заходила под навес. А по периметру граунд завешивался баннерами сеткой, это имело свой смысл - потолок выше, дождь стекает по баннерам вниз, а ветровая нагрузка минимальная. С точки зрения возможных осадков территория малого кольца на автополигоне ГАЗа была идеальным местом - песчаная почва, на которой вода уходила быстро и безболезненно даже в сильный дождь. В то время, когда в 2017 году Нашествие под Тверью и Alfa Future People под Нижним Новгородом тонули в грязи и трактористы за сутки зарабатывали себе на новый трактор, на территории РобоКросса всё было тихо и мирно, только просто очень мокро.

Большой граунд. По верху закреплены баннеры-сетки.Большой граунд. По верху закреплены баннеры-сетки.

Ещё один вариант граунда.

Два маленьких граундаДва маленьких граунда

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

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

Совсем бюджетный вариант укрытия с мощной ветрозащитой. Этап застройки.Совсем бюджетный вариант укрытия с мощной ветрозащитой. Этап застройки.Вид начала старта и крепления граунда к ветрозащитному блоку.Вид начала старта и крепления граунда к ветрозащитному блоку.

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

Трасса с однорядным барьером на котором закреплены баннеры, со знаками и БПТС команды НАМИТрасса с однорядным барьером на котором закреплены баннеры, со знаками и БПТС команды НАМИ

В тот же 2012 год у организаторов прибавилось седых волос, когда незабываемая команда ФАУСТ (из института МАИ) наглядно показала что бетонные блоки надо укладывать на широкую сторону, руководствуясь принципом то что уже повалено можно только сдвинуть, а от команд требовать устанавливать на самих машинах кнопки безопасности отключающие беспилотник, причём на каждом борту.

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

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

Прибитая к грунтовой дороге разметка. Высокие технологииПрибитая к грунтовой дороге разметка. Высокие технологии

"РобоКросс" прошёл и в 2019 году. Пандемия 2019 года подкосила всех и РобоКросса не было. Насколько известно, планируется и в 2021 году. Но про него уже расскажут ребята, которые будут его проводить. Удачи им.

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

РобоКросс-2010

РобоКросс-2010

Первые соревнования состоялись (впервые в России) 18 июля 2010 года на молодежном инновационном форуме Селигер 2010. Количество команд от одного ВУЗа не ограничено. Согласно правилам, автомобили должны были автономно (без участия оператора) выполнить 3 задания:

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

проехать по п-образной траектории примерно 100 на 30 метров;

проехать по сложной кривой общей протяженностью около 400м.

Трасса задавалась дорожными конусами, расставленными на трассе. Команды-участники могли заранее пройти трассу и снять координаты узловых точек для своих автомобилей основной системой навигации являлась ГЛОНАСС/GPS (обязательное условие соревнований) Геос-1М. Еще одним обязательным условием было наличие системы экстренной остановки (подобно системе E-STOP).

Команды-участники представляли такие учебные заведения как:

Московский автодорожный институт,

Ковровскую государственную технологическую академию,

Саратовский государственный технический университет,

Рязанский государственный радиотехнический университет,

Нижегородский автомеханический техникум,

Нижегородский государственный университет им. Лобачевского.

По результатам проведения Робофест-2010 командам участникам было подарено 6 автомобилей Газель-бизнес для их переоборудования в беспилотные транспортные средства и вручено приглашение на Робокросс-2011. Один их спонсоров (Техновижн) так же представил для участия свою Газель.

Места распределились следующим образом:

1. Red Eyes (Ковровская государственная технологическая академия)

2. НАМТ (Нижегородский автомеханический техникум)

3. Аврора (Рязанский государственный радиотехнический университет)

РобоКросс-2011

РобоКросс-2011

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

Движение в автономном режиме по прямой и остановка квалификация;

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

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

На трассе находились препятствия, ширина коридора в самых узких местах составляла около 3м (при средней погрешности ГЛОНАСС/GPS приемника в 10м). Движение от точки до точки проходило по произвольной траектории с учетом объезда препятствий. Оценивались точность и время прохождения трассы. Требования к системам навигации и экстренной остановки не изменились.

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

Места распределились следующим образом, как и в прошлом году:

1. Red Eyes (Ковровская государственная технологическая академия)

2. НАМТ (Нижегородский автомеханический техникум)

3. Аврора (Рязанский государственный радиотехнический университет)

РобоКросс-2012

РобоКросс-2012

18-20 июля 2012 г. в Московской области под Волоколамском прошли третьи соревнования автомобилей-роботов РобоКросс-2012. Зарегистрировались на месте проведения соревнований 6 команд: RED EYES (г. Ковров), MobRob (Саратов), АВРОРА (г. Рязань), ВОЛГА (г. Нижний Новгород), НАМТ (г. Нижний Новгород), ФАУСТ (г. Москва).

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

Места распределились следующим образом:

1. НАМТ (Нижегородский автомеханический техникум)

2. RED EYES (Ковровская государственная технологическая академия)

3. ВОЛГА (Нижегородский государственный университет им. Лобачевского)

Еще один партнер Программы компания National Instruments, учредила специальную номинацию Лучшее техническое решение. Первое место в этой номинации заняла команда MobRob, второе ВОЛГА, третье АВРОРА.

РобоКросс-2013

РобоКросс-2013

С 17 по 20 июля 2013 года в Нижнем Новгороде на полигоне Автозавода ГАЗ Берёзовая пойма прошли четвёртые Ежегодные полевые испытания РобоКросс-2013.

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

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

Red Eyes (Ковровская государственная технологическая академия),

MobRob (Саратовский государственный технический университет им. Ю.А.Гагарина),

Аврора (Рязанский государственный радиотехнический университет),

Волга (Нижегородский государственный университет им. Лобачевского)

НАМТ (Нижегородский автомеханический техникум)

Места распределились следующим образом:

Аврора (Рязанский государственный радиотехнический университет),

НАМТ (Нижегородский автомеханический техникум)

MobRob (Саратовский государственный технический университет им. Ю.А.Гагарина).

РобоКросс-2014

РобоКросс-2014

С 07 по 12 июля 2014 года в Нижнем Новгороде на полигоне Автозавода ГАЗ Берёзовая пойма прошли пятые Ежегодные полевые испытания РобоКросс-2014. Абсолютным победителем испытаний стала команда Аврора Рязанского государственного радиотехнического университета. Команда Аврора с робототехнической системой на базе автомобиля ГАЗель в этом году стала двукратным абсолютным победителем РобоКросса и на церемонии награждения получила сертификат на участие в Европейских испытаниях роботов Eurathlon-2015. Также робототехники из Рязанского государственного радиотехнического университета смогли стать обладателями номинаций Лучшее техническое решение - команда Аврора, Лучшая команда в классе Свободный - команда LOOK.

Остальные номинации испытаний распределились следующим образом:

Командная работа - УМиКо, г. Москва (Университет Машиностроения)

Награда от судей - BaumanCar, г. Москва (Московский государственный технический университет имени Н.Э.Баумана);

Системный подход - Волга (НГУ им. Лобачевского г. Нижний Новгород);

Специальный приз от Оргкомитета - ФАУСТ (Московский Авиационный Институт).

На площадке РобоКросс-2014 также проводились испытания беспилотных летательных систем (БЛС). Лучшая команда в испытаниях Беспилотных летающих систем - команда ЛК из Рязани, а на втором месте с небольшим отрывом финишировала команда из г. Коврова Red Eyes.

РобоКросс-2015

РобоКросс-2015

Фонд Олега Дерипаска Вольное Дело и Группа ГАЗ при партнёрстве с Фондом Сколково провели с 13 по 17 июля 2015 года в Нижнем Новгороде соревнования автоматизированных транспортных средств РобоКросс-2015.

Абсолютным победителем соревнований стала команда Аврора Рязанского государственного радиотехнического университета, которая продемонстрировала эффективные технические решения, внедренные на автомобиле ГАЗель для повышения функциональности при беспилотном режиме вождения. Команда-победитель получила право участвовать в Европейских испытаниях роботов ElRob в 2016 году. Команда Фауст Московского авиационного института стала обладателем номинации Лучшее техническое решение.

Номинации испытаний распределились следующим образом:

1. Командная работа команда ФГУП НАМИ,

2. Награда от судей УМиКо (Москва, Университет машиностроения),

3. Системный подход команда МК-Ультра-НН (сборная команда Нижегородского автомеханического техникума и НГТУ им. Р.Е. Алексеева),

4. За настойчивость в достижении цели команда KSTA Team (Ковровская государственная техническая академия),

5. Лучший в классе Свободный команда LOOK (Рязанский государственный радиотехнический университет).

В состязаниях приняли участие 18 студенческих команд ведущих вузов Москвы, Нижнего Новгорода, Рязани, Коврова и Владимира. Большинство команд неоднократно участвовали в РобоКроссе на автомобилях ГАЗель, подаренных Горьковским автозаводом Группы ГАЗ самым активным участникам программы Робототехника.

Впервые в рамках основных испытаний автономных транспортных прошел Открытый кубок Сколково, в котором команды продемонстрировали возможности своих роботов в упражнении Параллельная парковка в полностью автономном режиме. Победителем стала команда Avrora Robotics (КБ Аврора, Рязань), которая получит грант от Фонда Сколково.

РобоКросс-2016

РобоКросс-2016

с 11 по 15 июля 2016 года на полигоне Автозавода ГАЗ, Берёзовая пойма, г. Нижний Новгород, проведены седьмые Ежегодные полевые испытания беспилотных систем РобоКросс-2016

Наибольшее количество баллов в направлении Наземные транспортные средства набрала команда Фауст Московского авиационного института, второе место заняла команда KSTA Team (Ковровская государственная техническая академия), третье место Студенческое конструкторское бюро Роботизированные транспортные системы (СКБ РТС, сборная команда Нижегородского автомеханического техникума и Нижегородского государственного технического университета).

Лучшими командами, использовавшими автономный режим вождения, стали команды СКБ РТС и команда Аврора Рязанского государственного радиотехнического университета.

В направлении Беспилотные летающие средства победителем стала команда Коптер Express (Москва), в направлении РобоКросс-технологии команда Le Talo (Le Talo Robotics, Владимир).

Кубок Сколково за демонстрацию робототехнических систем помощи водителю получила команда ФГУП НАМИ.

В состязаниях приняли участие 14 студенческих команд ведущих вузов Москвы, Нижнего Новгорода, Рязани, Коврова, Владимира и Санкт-Петербурга.

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

В этом году основной регламент был расширен новыми заданиями по автоматизированным системам помощи водителю ADAS (Advanced driver assistance systems).

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

РобоКросс-2017

РобоКросс-2017

Фонд Олега Дерипаски Вольное Дело и Группа ГАЗ при участии фонда Сколково провели

с 03 по 07 июля 2017 года на полигоне Автозавода ГАЗ, Берёзовая пойма, г. Нижний Новгород восьмые Ежегодные полевые испытания беспилотных систем РобоКросс-2017.

Абсолютным победителем среди студенческих команд в направлении РобоКросс-транспортные средства признана команда CVL Robotics Московского политехнического университета, лучшей командной среди разработчиков и коммерческих организаций стала команда ФГУП НАМИ, в специальной номинации За волю к победе победила команда Нижегородского государственного технического университета.

В состязаниях приняли участие 19 студенческих команд ведущих вузов Москвы, Нижнего Новгорода, Рязани, Коврова, Владимира, Оренбурга, Самары и Санкт-Петербурга. В РобоКроссе участвовали не только наземные транспортные средства, но и летающие беспилотные системы.

В этом году основной регламент был расширен новыми заданиями по автоматизированным системам помощи водителю ADAS (Advanced driver assistance systems). Стратегия развития Группы ГАЗ предусматривает планы по оснащению транспортных средств системами активной помощи водителю с целью снижения рисков дорожно-транспортных происшествий, происходящих по вине человека.

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

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

РобоКросс -2018

РобоКросс -2018

Фонд Вольное Дело и Горьковский автозавод с 9 по 12 июля 2018 года будут проводить в Нижегородской области IX Ежегодные полевые испытания беспилотных систем РобоКросс-2018. В состязаниях примут участие 25 студенческих команд ведущих вузов Москвы, Нижнего Новгорода, Иркутска, Рязани, Саратова, Ульяновска, Владимира, Самары и Санкт-Петербурга. Соревнования пройдут на испытательном полигоне Горьковского автозавода.

В рамках РобоКросс-2018 будут проведены следующие испытания:

Основные:

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

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

  • Беспилотные летательные системы - 2018 испытания летающих робототехнических систем транспортировки и мониторинга.

  • "UNIOR RACE -2018" - соревнования беспилотных робототехнических транспортных средств на основе готовых решений-конструкторов (например "Юниор").

Пилотные:

- Городская маршрутка испытания на полигоне с имитацией условий городской инфраструктуры в рамках регламента ADAS для беспилотных транспортных средств.

Как и в прошлом году основной регламент будет расширен новыми заданиями по автоматизированным системам помощи водителю ADAS (Advanced driver assistance systems). Стратегия развития Горьковского автозавода предусматривает планы по оснащению транспортных средств системами активной помощи водителю с целью снижения рисков дорожно-транспортных происшествий, происходящих по вине человека.

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

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

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

Также в этом году на площадке полигона также пройдут состязания Unior Race соревнования модульных конструкторов малых беспилотных робомобилей Юниор на специальном поле, которое моделирует городскую обстановку. Команды отработают все основные элементы программного обеспечения и технических решений, которые могут быть масштабированы на полноразмерные беспилотные автомобили. Беспилотные робомобили Юниор Стандарт (производитель Aurora Robotics) студенческие команды получили в качестве приза от Фонда Вольное Дело за победу в направлении AutoNet 18+ во время Всероссийского робототехнического фестиваля РобоФест-2017.

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

Ссылки на публикациях в СМИ:
Подробнее..

Исследование методов SLAM для навигации мобильного робота внутри помещений. Опыт исследования R2 Robotics. (продолжение)

06.06.2021 12:22:20 | Автор: admin

Введение

В прошлой статье мы рассмотрели несколько современных алгоритмов SLAM для ROS. Во данной статье будет рассмотрено применение SLAM на практике. В качестве робота используется опытный образец мобильного робота мерчандайзера компании R2 Robotics. Робот имеет базу с двумя ведущими колесами, расположенными на одной оси в центре, что позволяет совершать развороты на месте и способствует высокой манёвренности. Диаметр робота составляет ~60 см, а его высота 1.5 метра.

4. Тестирование

В качестве сенсоров на роботе используются: 2D лидар RPLidar A1, RGBD камера Intel RealSense D435i и трекинг Intel RealSense T265 камера для отслеживания одометрии. Лидар установлен в нижней части робота и сканирует только фронтальный сектор в 180 градусов, в то время как камера установлена на уровне 1.1 м и наклонена вниз на угол 40 град. Учитывая, что высота робота 150 см, камера позволяет распознать препятствия на высоте, недоступной лидару.

Рисунок 8 Модель робота в RVizРисунок 8 Модель робота в RViz

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

Рисунок 9 Помещение для тестов картографированияРисунок 9 Помещение для тестов картографирования

4.1 Rtabmap

В результате картографирования были получены две карты построенная по лидару и по камере глубины (рисунок 10).

А)А)B)B)

Рисунок 10 Rtabmap карта построенная по а) лидару b) RGBD камере

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

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

Рисунок 11 Сравнение отображаемых на картах объектов: красный стойки и высокие стулья, синий столы и кресла, желтый диваны и шкаф, зеленый стульяРисунок 11 Сравнение отображаемых на картах объектов: красный стойки и высокие стулья, синий столы и кресла, желтый диваны и шкаф, зеленый стулья

На рисунке 11 выделены области, в которых расположены ключевые объекты, представляющие препятствия для робота. Синяя область обозначает два стола и кресла. Логично, что лидар распознал только ножки столов и нижние части кресел, в то время как камера глубины полностью показывает занимаемое объектами пространство, проецируя данные на 2D карту. Также, лидар полностью проигнорировал препятствия, обозначенные красными областями (высокий стул и стойка). Аналогично с зеленой областью в ней расположены 7 стульев.

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

Рисунок 12 Отображение данных с RGBD камеры в RVizРисунок 12 Отображение данных с RGBD камеры в RViz

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

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

Рисунок 13 Объезд препятствия на карте, построенной по камере глубиныРисунок 13 Объезд препятствия на карте, построенной по камере глубиныРисунок 14 Объезд препятствия на карте, построенной по лидару (черный препятствие на карте, серый свободное пространство на карте, розовый препятствие на costmap obstacle layer, голубой inflation layer global costmap, красный и синий inflation layer local costmap)Рисунок 14 Объезд препятствия на карте, построенной по лидару (черный препятствие на карте, серый свободное пространство на карте, розовый препятствие на costmap obstacle layer, голубой inflation layer global costmap, красный и синий inflation layer local costmap)

В результате можно наблюдать, что при картографировании с камеры глубины робот изначально строит маршрут, огибая препятствие, отмеченное на карте (чёрный объект на рисунке 13). В это же время, при картографировании с лидара, робот не наносит препятствие на карту. Однако, если использовать данные с камеры для формирования obstacle_layer в стеке навигации, робот также распознает препятствие и сможет его объехать (препятствие отображается розовым цветом и в меньшем объеме на рисунке 14). Более того, изначальная карта будет выглядеть намного менее зашумленной. Единственным существенным недостатком будет то, что препятствия на obstacle_layer не будут сохранены и робот будет каждый раз сканировать их заново. Кроме того, зачастую препятствие будет отображаться не в полном объеме. Таким образом, при построении продолжительного маршрута, робот будет изначально строить кратчайший путь, который будет проходить сквозь подобные объекты и, в процессе движения, будет перестраивать свой маршрут при обнаружении препятствий снова и снова. К тому же имеется вероятность, что координаты цели, заданные оператором, могут совпасть с местоположением препятствия, что приведет к ошибкам в процессе работы.

4.2 Google Cartographer

В процессе тестирования Google Cartographer было выбрано две конфигурации. В первой в качестве источника данных используется лидар RPLidar A1, в то время как во второй используется камера глубины Intel RealSense D435i.

Попытка построить карту при помощи камеры не была успешной. Робот сканировал небольшую часть карты при помощи локального SLAM, после чего переходил к сканированию другого участка. Однако, при склеивании данных частей, глобальный SLAM не смог справиться со своей задачей. Части карты накладывались друг на друга, кроме того, ориентация некоторых локальных карт также была не верной. Основной причиной такого результата можно назвать камеру глубины. В отличает от лидара, камера глубины способна хорошо сканировать пространство в пределах приблизительно 2-х метров. Собственно, картографирование в Rtabmap также проводилось с дальностью видимости камеры на 2 метра. Rtabmap визуальный метод SLAM, так как глобальная навигация в первую очередь ориентируется на визуальные образы и не привязывается к контуру карты настолько сильно, а Cartographer геометрический метод, использующий в первую очередь контур карты для ориентации. Однако, поскольку камера может дать информацию только на 2 метра, Cartographer сложнее составить крупные локальные карты. В то же время, если увеличить дальность видимости камеры, шумы будут настолько сильными, что данная информация будет полностью бесполезной для алгоритма. Возможно необходима более тщательная настройка Cartographer, к примеру, настроить коэффициенты данных одометрии, линейного и углового соответствия, что позволит оптимизировать глобальный SLAM.

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

Рисунок 15 карта построенная по лидару при помощи а) Cartographer b) RtabmapРисунок 15 карта построенная по лидару при помощи а) Cartographer b) Rtabmap

Как видно из рисунка 15, карта, построенная с использованием лидара и пакета Cartographer имеет такие же отличия, как и карты, построенные при помощи SLAM пакета Rtabmap.

Рисунок 16 Визуализация Rviz карты Cartographer, построенной по лидаруРисунок 16 Визуализация Rviz карты Cartographer, построенной по лидару

На рисунке 16 отчетливо видны слегка размытые серым цветом границы помещения. Это особенность работы Cartographer. В процессе сканирования Cartographer наносит препятствия на карту несколько раз, убеждаясь, что это действительно существующий объект, а не помехи или шум, который необходимо избегать. Таким образом, все объекты на карте постепенно меняют свой окрас от бледно-серого до черного оттенка. Чем темнее оттенок объекта на карте, тем больше Cartographer уверен в существовании данного объекта. Данная особенность позволяет довольно быстро убирать помехи с карты в процессе её сканирования. Более того, Cartographer практически не обращает внимания на быстродвижущиеся динамические объекты например, людей. Он попросту не успевает нанести их на карту в виде препятствий, если человек постоянно перемещается. Участок карты, на котором обозначается человек (изначально бледно-серым оттенком), в следующий момент времени уже пуст и этот участок снова помечается как свободный от препятствий.

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

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

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

На рисунке 17 представлена карта 2-х помещений, созданных при помощи Cartographer. В начале было исследовано помещение 1, затем робот исследовал помещение 2, после чего снова вернулся в первое помещение, где были сделаны небольшие правки карты. Как можно заметить, левая часть помещения 2 исследована плохо, однако общая карта обоих помещений соответствует реальному зданию. Во время картографирования, промежуточная стена, разделяющая оба помещения была исследована с двух сторон. В случае использования Rtabmap есть большая вероятность получить на карте две стены, которые могут не соответствовать друг другу, однако Cartographer справился с поставленной задачей.

Рисунок 17 Cartographer карта 2-х помещений, построенная по лидаруРисунок 17 Cartographer карта 2-х помещений, построенная по лидару

Заключение

В результате сравнения режимов конфигурации и работы SLAM методов Rtabmap и Cartographer было выявлено, что выбор источника данных для построения карты помещения имеет значительное влияние. При картографировании по данным с 2D лидара, карта получается менее зашумленной и более читаемой для оператора. К тому же, при использовании данных с камеры в качестве дополнительного источника информации для стека навигации, не распознанные лидаром объекты попадут на obstacle_layer, и робот сможет их объехать при обнаружении.

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

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

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

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

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

Список источников


  1. Pedrosa, E., L. Reis, C. M. D. Silva and H. S. Ferreira. Autonomous Navigation with Simultaneous Localization and Mapping in/outdoor. 2020.

  2. Gmapping [Электронный ресурс] URL: http://wiki.ros.org/gmapping, свободный ресурс Загл. с экрана. Язык англ. Дата обращения: 14.08.2020 г.

  3. Google Cartographer ROS [Электронный ресурс] URL: https://google-cartographer-ros.readthedocs.io/en/latest/#, свободный ресурс Загл. с экрана. Язык англ. Дата обращения: 04.11.2020 г.

  4. RTAB-Map, Real-Time Appearance-Based Mapping [Электронный ресурс] URL: http://introlab.github.io/rtabmap/, свободный ресурс Загл. с экрана. Язык англ. Дата обращения: 22.06.2020 г.

  5. Adaptive Monte Carlo localization [Электронный ресурс] URL: http://wiki.ros.org/amcl, свободный ресурс Загл. с экрана. Язык англ. Дата обращения: 03.08.2020 г.

  6. Building Maps Using Google Cartographer and the OS1 Lidar Sensor [Электронный ресурс] URL: https://ouster.com/blog/building-maps-using-google-cartographer-and-the-os1-lidar-sensor/, свободный ресурс Загл. с экрана. Язык англ. Дата обращения: 25.02.2021 г.

  7. Labb, M, Michaud, F. RTABMap as an opensource lidar and visual simultaneous localization and mapping library for largescale and longterm online operation. J Field Robotics. 2019; 35: 416 446.

  8. Silva, B.M.F.D.; Xavier, R.S.; Gonalves, L.M.G. Mapping and Navigation for Indoor Robots under ROS: An Experimental Analysis. Preprints 2019.

  9. Mathieu Labb and Franois Michaud. Online Global Loop Closure Detection for LargeScale Multi-Session Graph-Based SLAM. 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 26612666, 2014.

Подробнее..

Категории

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

  • Имя: Макс
    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