ROS на Windows 10
В Мадриде 29-30 сентября прошла конференция ROSCon 2018, на которой Microsoft представила экспериментальную версию ROS (Robot Operating System) для Windows 10. Ранее этот фреймворк для разработки модульных роботов был доступен только в Linux и Mac OS X. Презентацию проводил робот-черепаха TurtleBot 3. Он демонстрировал возможности дистрибутива ROS Melodic Morenia в Windows 10 IoT Enterprise, запущенной на мини-компьютере Intel NUC с процессором семейства Coffee Lake. Такая связка поддерживает аппаратное ускорение Windows Machine Learning. Робот сам определял ближайшего к нему посетителя и поворачивался к нему.
Сейчас ROS состоит из огромного количества библиотек и вспомогательных инструментов, специально предназначенных для разработки роботов любого типа. Большинство из них распространяются с открытым исходным кодом по лицензии BSD. Среди преимуществ разработчики указывают знакомый набор инструментов Visual Studio и возможность использовать облачный сервис Azure IoT.
В новом выпуске Melodic Morenia впервые используется стандарт C++14 (ранее применялся C++11), что расширяет возможности использования лямбда-функций, разделяемых мьютексов и других современных конструкций.
Работать в ROS для Windows сравнительно просто. Сначала вы создаёте модель робота и сохраняете её в формате URDF (Unified Robot Description Format, по сути это вариант XML). Затем добавляете параметры всех элементов и можете запускать симуляцию. Она позволяет найти слабые места в модели и устранить большую часть недочётов ещё до того, как вы начнёте собирать робота «в железе».
Подробнее о работе с ROS в Windows 10 читайте в этом руководстве.
Также рекомендуем коллекцию видеоуроков по ROS.
Robot operating system для windows 10
All the steps to use Robot Operating System (ROS) in windows 10.
ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers. ROS is similar in some respects to ‘robot frameworks,’ such as Player, YARP, Orocos, CARMEN, Orca, MOOS, and Microsoft Robotics Studio.
The ROS runtime «graph» is a peer-to-peer network of processes (potentially distributed across machines) that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of data over topics, and storage of data on a Parameter Server. These are explained in greater detail in our Conceptual Overview.
ROS is not a realtime framework, though it is possible to integrate ROS with realtime code. The Willow Garage PR2 robot uses a system called pr2_etherCAT, which transports ROS messages in and out of a realtime process. ROS also has seamless integration with the Orocos Real-time Toolkit.
Some goals of the ROS framework:
Thin: ROS is designed to be as thin as possible — we won’t wrap your main() — so that code written for ROS can be used with other robot software frameworks. A corollary to this is that ROS is easy to integrate with other robot software frameworks: ROS has already been integrated with OpenRAVE, Orocos, and Player.
ROS-agnostic libraries: the preferred development model is to write ROS-agnostic libraries with clean functional interfaces. Language independence: the ROS framework is easy to implement in any modern programming language. We have already implemented it in Python, C++, and Lisp, and we have experimental libraries in Java and Lua.
Easy testing: ROS has a builtin unit/integration test framework called rostest that makes it easy to bring up and tear down test fixtures.
Scaling: ROS is appropriate for large runtime systems and for large development processes.
ROS currently only runs on Unix-based platforms. Software for ROS is primarily tested on Ubuntu and Mac OS X systems, though the ROS community has been contributing support for Fedora, Gentoo, Arch Linux and other Linux platforms.
While a port to Microsoft Windows for ROS is possible, it has not yet been fully explored.
prerequisites to use ROS in Windows 10:
Install the Windows Subsystem for Linux
Before installing any Linux distros for WSL, you must ensure that the «Windows Subsystem for Linux» optional feature is enabled:
1. Open PowerShell as Administrator and run:
2. Restart your computer when prompted.
Install your Linux Distribution of Choice
To download and install your preferred distro(s), you have three choices:
1. Download and install from the Windows Store (see below)
2. Download and install from the Command-Line/Script (read the manual installation instructions)
3. Download and manually unpack and install (for Windows Server — instructions here)
Install from the Microsoft Store
This section is for Windows build 16215 or later. Follow these steps to check your build. For earlier versions of Windows 10, follow these instructions using lxrun.
- Open the Microsoft Store and choose your favorite Linux distribution.
The following links will open the Windows store page for each distribution:
- From the distro’s page, select «Get»
So, Your Distro is now ready, next step is to install and create ubunru environment and run ROS
Initializing a newly installed distro
To complete the initialization of your newly installed distro, launch a new instance. You can do this by clicking the «launch» button in the Windows Store app, or launching the distro from the Start menu:
Setting up a new Linux user account
Once installation is complete, you will be prompted to create a new user account (and its password)
This user account is for the normal non-admin user that you’ll be logged-in as by default when launching a distro.
Update & Upgrade your distro’s packages
Most distros ship with an empty/minimal package catalog. I strongly recommend regularly updating your package catalog, and upgrading your installed packages using your distro’s preferred package manager. On Debian/Ubuntu, you use apt:
Windows does not automatically update or upgrade your Linux distro(s): This is a task that the Linux users prefer to control themselves.
Install the WSL and Bash on Windows
In case you have used the WSL before applying the creators update, you may still have the trusty version (14.04) of Ubuntu for Windows installed. However, you need to upgrade to xenial (16.04). To check which version is actually installed, start an instance of bash and run lsb_release -a. The output should look like
If it shows an older version, you have to uninstall and then reinstall bash on windows from the windows command line as follows Warning: This will delete all of your existing data in WSL. Make a backup first
Since WSL is based on ubuntu, you can follow the official ros installation guide for ubuntu by the word.
If you want to source ros lunar automatically for ever bash session, then
About
All the steps to use Robot Operating System(ROS) in windows 10.
Майкрософт создал операционную систему Windows 10 для роботов
В 2018 году на Рос-коне (англ. ROSCon) в Мадриде, компания «Microsoft» анонсировала выход операционной системы Windows для роботов (ОСР). Оптимизированная сборка ОСР оснащена искусственным интеллектом и облачными службами.
В последние годы наблюдается невероятный скачок в отрасли робототехники. Ожидается, что к 2025 году прибыль в этой области будет достигать почти 500 миллиардов долларов, и, судя по недавним раундам финансирования, инвесторы с оптимизмом смотрят в будущее. В начале сентября компания по производству роботизированных складских систем «GreyOrange» (ГрейОрандж) привлекла $140 млн. для своей платформы; в июле, компания-ведущий разработчик роботов «Bossa Nova» (Босса-Нова) заработала $29 млн на роботизированной системе для инвентаризации склада, а компания, разрабатывающая беспилотные роботизированные наземные транспортные средства «Starship Technologies» (Старшип Текнолоджис) получила 25 миллионов долларов от продаж беспилотных роботов для доставки товаров.
Все эти изобретения современных компаний объединяет операционная система для роботов (ОСР), промежуточное программное обеспечение робототехники с открытым исходным кодом, поддерживаемое исследовательской лабораторией «Willow Garage» (Вилоу Гэраж) и лабораторией искусственного интеллекта в Стэнфорде, что обеспечивает низкоуровневое управление устройством, аппаратную абстракцию и другие полезные услуги. Раньше ОСР (ROS) экспериментально поддерживалась сообществом Windows. Но сегодня компания Microsoft представила официальную сборку Windows 10.
Новость была приурочена к Рос-кону 2018 года в Мадриде, Испания.
«Люди всегда восхищаются роботами. На сегодняшний день, передовые роботы дополняют нашу жизнь на рабочем месте и дома», – пишет в своем блоге главный разработчик ПО Windows IoT Лу Амадио. «Вместе с роботами развиваются и средства их разработки. Мы рассматриваем робототехнику с искусственным интеллектом как универсально доступную технологию для повышения человеческих способностей… и это развитие приведет к управляемости и безопасности Windows 10 IoT Enterprise к инновационной экосистеме ОСР».
Это первый релиз ОРС (англ. ROS) Windows, получившей название ROS1. Она эффективно интегрируется с Visual Studio, интегрированной средой разработки программного обеспечения, которая предоставляет такие услуги, как аппаратно-ускоренное Windows Machine Learning (машинное обучение), компьютерное зрение, когнитивные и облачные сервисы платформы Azure.
Чтобы продемонстрировать некоторые из этих возможностей, разработчики компании в Сиэтле выпустили робота ROBOTIS Turtlebot 3 под управлением Windows 10 IoT Enterprise, ОС для роботов Melodic Morenia и узел ROS. Данное устройство использует аппаратное ускорение Windows Machine Learning, работающее на основе процессора Intel Coffee Lake NUC. Используя компьютерное зрение, робот может распознать человека, который находится поблизости, и направиться в его сторону.
Компания также продемонстрировала среду моделирования ОСР, работающую на платформе Azure, и «показали большое количество роботов» в виртуальном мире, организованном и контролируемом через Azure IoT Hub.
Компания Microsoft заявила, что в дополнение к распространению сборок ОСР, оптимизированных для Windows, она работает с Open Robotics и Промышленным консорциумом ОСР для «расширения возможностей» ОС, для производства и «повышения производительности и возврата инвестиций» промышленных роботов.
«Складские роботы будут доставлены на следующий день после онлайн-покупки, и многие владельцы домашних животных выбирают роботизированные пылесосы, чтобы полы их дома оставались чистыми», – пишет Амадио. «Преимущества роботов применимы к различным отраслям, таким как промышленность, транспорт, здравоохранение и недвижимость».
Файлы и документация для ROS1 доступны уже сейчас, а ROS2 появится в доступе в ближайшее время.
Возможности Windows 10 теперь доступны в Robot Operating System
Автор – Лу Амадио, Principal Software Engineer, Windows IoT
Люди всегда восхищались роботами. Сегодня они дополняют нашу жизнь на работе и дома. Складские роботы помогают доставлять товар на следующий день после его покупки в интернет-магазине, а многие владельцы домашних животных используют роботы-пылесосы, чтобы поддерживать чистоту в доме. Роботов можно с выгодой использовать в обрабатывающей промышленности, транспорте, здравоохранении, сфере недвижимости и других отраслях. По мере развития роботов развивались и средства их разработки. Мы рассматриваем робототехнику с искусственным интеллектом как универсально доступную технологию для расширения человеческих способностей.
Microsoft приняла участие в конференции ROSCon 2018, проходящей в Испании, в Мадриде, и мы рады представить экспериментальный выпуск Robot Operating System [ROS1] для Windows. ROS — это набор библиотек и инструментов, помогающих создавать сложных роботов, используемых во многих передовых робототехнических проектах по всему миру. Представленная разработка позволяет перенести управляемость и безопасность Windows 10 IoT Enterprise в инновационную экосистему ROS.
Windows еще несколько десятилетий назад стала надежной основой роботизированных и промышленных систем. Благодаря ROS для Windows, разработчики смогут использовать знакомые инструменты Visual Studio и богатый набор облачных сервисов и инструментов на основе искусственного интеллекта. Мы стремимся перенести в робототехнику возможности интеллектуальных устройств, используя такие передовые технологии, как аппаратно ускоренное машинное обучение Windows, компьютерное зрение, службы Azure Cognitive Services, облачные сервисы Azure IoT и другие технологии Microsoft для домашних, образовательных, коммерческих и промышленных роботов.
Производители хотят, чтобы роботы лучше ориентировались в своем окружении, легче программировались и были безопаснее. Правительства, производители и ученые во всем мире инвестируют в промышленность следующего поколения, которую иногда называют «Промышленность 4.0». Microsoft сотрудничает с Open Robotics и Промышленным консорциумом ROS (ROS Industrial Consortium), чтобы перенести Robot Operating System на платформу Windows. Microsoft присоединилась к Промышленному консорциуму ROS, который работает над расширением передовых возможностей ROS для промышленности, повышением производительности и ускорением возврата инвестиций в промышленных роботов.
На ROSCon 2018 в Мадриде Microsoft демонстрирует робота ROBOTIS Turtlebot 3, использующего версию ROS под названием Melodic Morenia. Этот робот распознает ближайшего человека и направляется к нему. Работает он под управлением Windows 10 IoT Enterprise на платформе Intel Coffee Lake NUC и использует новый узел ROS с аппаратно ускоренным машинным обучением Windows.
Microsoft также представила среду моделирования ROS на основе Azure, в которой запущено множество роботов, работающих в виртуальном мире, соединенных с управляющей системой и контролируемых через Azure IoT Hub.