Posted on 1. November 2019

Windows работает над совершенствованием робототехники

Робототехника развивается быстро. Многое произошло с тех пор, как Microsoft анонсировала экспериментальный выпуск Robot Operating System (ROS ™) [1] для Windows, на прошлогодней выставке ROSCON в Мадриде. Поддержка ROS стала общедоступной в мае 2019 года, что позволило роботам воспользоваться преимуществами всемирной экосистемы Windows. Которая предоставляет собой – обширную платформу устройств, набора инструментов для разработчиков мирового класса, интегрированную безопасность, долгосрочную поддержку и глобальную партнерскую сеть. Кроме того, мы предоставили доступ к расширенным функциям Windows, таким как Windows Machine Learning и Vision Skills, и предоставили возможность подключения к облачным службам Microsoft Azure IoT.

 

В этом году на мероприятии ROSCON в Макао мы анонсировали, что продолжаем увеличивать наши возможности ROS с поддержкой ROS / ROS2, расширением Visual Studio Code для ROS и поддержкой шаблонов ROS Azure VM для тестирования и моделирования. Это позволяет разработчикам проще и быстрее создавать решения ROS, чтобы идти в ногу с современными технологиями и потребностями клиентов. Мы с нетерпением ждем возможности добавления роботов на 900 миллионов устройств, которые будут работать под управлением Windows 10 во всем мире.

Расширение Visual Studio Code для ROS

В июле Microsoft опубликовала предварительную версию расширения VS Code для ROS. С тех пор мы расширяем его функциональные возможности – добавляем поддержку Windows, отладку и визуализацию, чтобы упростить разработку решений для ROS. Расширение поддерживает:

- Автоматическая настройка среды для разработки ROS

- Запуск, остановка и мониторинг состояния времени выполнения ROS

- Автоматическое обнаружение задач сборки

- Создание ROS-пакета в один клик

- Горячие клавиши rosrun для и roslaunch

- Разработка Linux ROS

 

Кроме того, расширение добавляет поддержку для отладки узла ROS, используя расширения C ++ и Python. В настоящее время, разработчики, в VS Code, могут создать конфигурацию отладки для ROS, чтобы присоединиться к узлу ROS. Расширение теперь поддерживает отладку узлов ROS, запускаемых из roslaunch при запуске ROS.

Расширение Visual Studio Code для ROS, показывающее состояние ядра ROS и отладку для roslaunch.

Unified Robot Description Format (URDF)  - это формат XML для представления модели робота, а Xacro - это макроязык XML для упрощения файлов URDF. Расширение включает поддержку предварительного просмотра файла URDF / Xacro с использованием Robot Web Tools, что помогает разработчикам ROS легко вносить изменения и мгновенно наглядно представлять изменения в VS Code.

 

Расширение Visual Studio Code для ROS с предварительным просмотром URDF.

 

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

 

ROS на Windows VM шаблон в Azure

С переходом на облако многие разработчики приняли гибкие методы разработки. Они часто хотят развернуть свои приложения в облаке для тестирования и моделирования сценариев, когда их разработка завершена. Они выполняют итерацию быстро и многократно развертывают свои решения в облаке. Шаблон Azure Resource Manager – это файл JavaScript Object Notation (JSON), который определяет инфраструктуру и конфигурацию проекта. Чтобы упростить процесс тестирования и развертывания в облаке, мы публикуем ROS на Windows шаблон VM, который создаст VM Windows и установит последний билд в VM с использованием расширения CustomScript. Вы можете попробовать, кликнув по ссылке.

 

Поддержка расширения ROS и ROS2

Microsoft расширяет поддержку ROS и ROS2, включая создание поддерживаемых Microsoft узлов ROS, сборку и предоставление пакетов Chocolatey для следующих релизов ROS (Noetic Ninjemys) и ROS2 (Eloquent Elusor).

 

Драйвер Azure Kinect ROS

Внутреннее строение Azure Kinect.

 

Azure Kinect Developer Kitэто новейший датчик Kinect от Microsoft. Azure Kinect содержит тот же датчик глубины, который используется в Hololens 2, а также камеру 4K, аппаратно-синхронизированный акселерометр, гироскоп (IMU) и микрофон состоящий из 7 элементов. Наряду с выпуском аппаратного обеспечения Microsoft предоставила узел ROS для управления Azure Kinect и вскоре будет поддерживать ROS2.

Azure Kinect ROS Node излучает поток PointCloud2, который включает обширную информацию о цвете, наравне с глубиной изображения, необработанных данных с камер IR и RGB и высокоскоростных данных IMU.

Цветной вывод Pointcloud Azure Kinect в инструменте rViz.

 

Сообщество способствовало возможности отслеживание тела! Это ссылка к Azure Kinect Body Tracking SDK, выводит маски изображений каждого отслеживаемого человека и позы тела в качестве маркеров служат движений суставов индивида.

Пример отслеживания скелета в rViz.

Вы можете заказать Azure Kinect DK в Магазине Майкрософт, а затем начать использовать узел Azure Kinect ROS.

 

Отслеживание Windows ML в ROS Node

Windows Machine Learning API позволяют разработчикам использовать предварительно обученные модели, в своих приложениях на устройствах с Windows 10. Это предоставляет разработчикам несколько преимуществ:

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

- Снижение эксплуатационных расходов. Совместно с платформой Microsoft Cloud ИИ разработчики могут создавать доступные комплексные решения для искусственного интеллекта, которые объединяют модели обучения в Azure с развертыванием на устройствах Windows для оценки. Значительная экономия может быть достигнута за счет сокращения или исключения затрат, связанных с пропускной способностью, из-за использования больших наборов данных, таких как отснятый материал камеры или сенсорная телеметрия. Многоплановый объём работ может обрабатываться в режиме реального времени на периферии с минимальными выборочными данными, которые будут отправляться в облако для улучшения обучения на наблюдениях.

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

 

Узел Windows Machine Learning ROS позволит ускорить вывод ваших моделей, публикуя маркер визуализации относительно рамки издателя изображений. Вывод Windows ML можно использовать для устранения препятствий или манипуляций.

 

Пример вывода модели с Windows ML. Модель используется с разрешения: www.thingiverse.com/thing:1911808.

 

Azure IoT Hub ROS Node

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

Azure IoT Hub ROS Node позволяет передавать сообщения ROS через концентратор IoT Azure. Эти сообщения могут быть обработаны с помощью функции Azure, переданы в хранилище BLOB-объектов или обработаны с помощью потоковой аналитики Azure для обнаружения неточностей. Кроме того, Azure IoT Hub ROS Node позволяет изменять свойства ROS Parameter на сервере с помощью динамической перенастройки, которая установлена на Azure IoT Hub Device Twin.

Узнайте больше и ознакомьтесь с некоторыми из этих технологий в действии на выставке ROSCON 2019 в Макао. Вы можете начать работу с ROS в Windows, кликнув по ссылке.

 

[1] ROS является торговой маркой Open Robotics.

Источник