Engineer Spotlight: Брайан Герки из Open Robotics Talks ROS и робототехника
AAC Chantelle Dubois поговорила с Брайаном Герки из «Открытой робототехники», чтобы рассказать о многих (а иногда и неожиданных) применениях робототехники, о том, как ROS сделала это в пространстве и революции с открытым исходным кодом.
В этом году исполняется 10 лет со дня создания Robotic Operating System (ROS) - платформы для робототехники с открытым исходным кодом, которая используется во всем мире в исследовательских, промышленных и развлекательных целях. Помещение ROS прост: упростить и стандартизировать роботизированное программирование, позволяющее быстрее развивать роботизированные системы в духе сотрудничества с открытым исходным кодом.
21 и 22 сентября Open Robotics (ранее Фонд Open Source Robotics) в пятый раз соберется для ROSCon 2017. Делегаты от студентов, исследователей, представителей промышленности и любителей / энтузиастов будут встречаться, обсуждать и представлять на спектр тем, связанных с разработкой ROS. Несмотря на то, что ROSCon по-прежнему является относительно молодым событием, с каждым годом он продолжает расти как по количеству участников, так и по спонсорам.
В ожидании ROSCon 2017 All About Circuits получила возможность поговорить с генеральным директором Фонда Open Source Robotics, Брайаном Герки, о ROS, ROSCon и будущем робототехники.

Брайан Герки, генеральный директор OSRF. Изображение предоставлено Open Robotics
AAC: ROS была создана в 2007 году. С тех пор произошли успехи и изменения в технологии, особенно в области робототехники. Есть ли что-то особенно удивительное в том, как ROS эволюционировала с новыми изменениями в технологии, поскольку была установлена «text-align: center», >

Робот PR2 от Willow Garage в Maker Faire 2011. Изображение предоставлено Timothy Vollmer
AAC: Похоже, что ROS 2.0 разрабатывается с учетом большего количества промышленных приложений с функциями связи и работы в режиме реального времени в неидеальных сетях. Есть ли какие-то особенности, которые, по вашему мнению, будут сменой игры для роботов с открытым исходным кодом?
BG: Вы совершенно правы. Когда мы начали дизайн ROS 2.0, мы основывали эти усилия на отзывах, которые мы получили от людей на протяжении многих лет, и поэтому, несмотря на ряд успехов, подобных тому, что я только что упомянул (с Джоном Диром), ряд компании используют ROS серьезно в производстве.
Есть и другие случаи, когда людей нет, и они сдерживаются по целому ряду причин, которые я мог бы лучше всего обобщить, поскольку некоторые из них являются техническими, некоторые из них более качественны, - но есть общее мнение, что, возможно, ROS не является " t готов к развертыванию в чем-то вроде автономного автомобиля в производственной среде. Я бы сказал, что это довольно распространенное мнение. И поскольку мы видим много возможностей для ROS в критически важных средах, таких как автономные автомобили, мы хотим построить ROS 2.0 таким образом, чтобы люди вообще не колебались, используя его в таких средах.
Таким образом, это повлияло на наши решения, например, сделать базовую систему сообщений стандартным стандартом промежуточного программного обеспечения, называемым DDS (Служба распространения данных), которая является системой, которая уже развернута и показана как эффективная в различных критически важных средах. Мы уделяем большое внимание безопасным вычислениям в режиме реального времени, чтобы вы могли делать то, что соответствует срокам, если вы правильно используете систему.
Мы хотим поддерживать очень маленькие встроенные системы, поэтому мы работаем в сотрудничестве с ARM. Они являются главным разработчиком более мелкой встроенной системы без ОС со всей линейкой микроконтроллеров Cortex M, где мы считаем, что есть некоторые существенные части ROS, которые могут быть помещены в те среды, где у вас есть намного больше контроля над тем, как обработка случается. В этом случае несколько проще создавать критически важные для безопасности системы.
Я думаю, что все это вместе, а также другие изменения процесса, которые мы сделали, с точки зрения того, как мы разрабатываем проектно-сметную документацию и объясняем, что мы делаем и почему. Я думаю, что все это вместе сделало ROS 2.0 еще более неизменным для производственных сред, чем ROS 1.0.
AAC: Какое вам было самое инновационное или интересное использование ROS, которое вы видели на сегодняшний день?
BG: Я думаю, что один (пример), который я не могу не возвратить, - это NASA, использующее ROS на своих гуманоидных роботах. Они начали использовать ROS с Robonaut 2 несколько лет назад для разработки на местах. Они сделали обновление до Robonaut 2, который находится на Международной космической станции, так что робот фактически запускает ROS. Чтобы быть ясным, это исследовательская платформа - это не часть операций станции критически. Они все еще пытаются понять, что мы можем сделать с системой, но у нас на самом деле есть ROS на космической станции, которая, по моему мнению, довольно крутая. Я отправился в Космический лагерь в 8-м классе, и это будет так близко, как я когда-либо доберусь до места в космосе: код, который мы написали, на самом деле находится на роботе на космической станции, и это довольно круто.
На протяжении многих лет мы проводили ряд проектов с НАСА - мы просто завернули Space Space Robotics Challenge, в котором мы имитировали новый робот-гуманоид, раньше это была Валькирия, и теперь она называется R5, которую они построили с DARPA Robotics Challenge. Мы также работаем на местном уровне с группой здесь, в Исследовательском центре NASA Ames, чтобы имитировать новый ровер, который они разрабатывают, называемый Resource Prospector, который они собираются приземлиться на одном из полюсов Луны, чтобы посмотреть на недра ледяная вода. Это система, в которой мы помогаем им разрабатывать и моделировать использование Gazebo и создавать для нее систему управления с использованием ROS. Итак, это все области космических приложений, которые я просто не могу не волноваться.
В противном случае я говорю, что вы приводите эти примеры, как тот, о котором я упоминал в Blue River Technologies. Кто знал, что ROS найдет место в сельском хозяйстве? Это, я думаю, просто правильная проблема для решения, и это действительно инновационное применение автоматизации. Это действительно здорово видеть, что ROS там был полезен.
AAC: Интересно видеть, что ROS используется во множестве различных приложений, которые являются неожиданными, например, в космосе и сельском хозяйстве.
BG: Это что-то вроде open source - вы выпускаете что-то с открытым исходным кодом, и вы не представляете, что люди собираются с ним делать, и это одна из забавных вещей. Мы используем либо BSD, либо лицензию Apache 2, которые я называю разрешительными лицензиями с открытым исходным кодом, которые в основном говорят, что вы можете взять программное обеспечение, включить его в свой продукт, изменить его, делать все, что вам нравится больше или меньше, а вы «Мне нужно рассказать об этом или попросить разрешения.
С одной стороны, это (может) означать, что программное обеспечение будет использоваться таким образом, о котором мы никогда не узнаем. С другой стороны, когда мы это выясняем, его часто используют удивительными способами (где), если мы действительно вставляем себя где-то и говорим: эй, вы должны спросить нас или использовать какое-либо разрешение, тогда это не будет быть поднятым, и он не получит масштаб, который имеет ROS.
AAC: Где еще вы видите ROS?
BG: Я думаю, что там, где есть огромная возможность роста для ROS, есть в автомобилях. В настоящее время прилагается много усилий для всего: от полного автономного вождения до сбора данных с транспортных средств.
Вот еще один пример, который меня удивил. Пару лет назад было подразделение Nokia под названием ЗДЕСЬ, и я знал одного из парней, и он связался со мной, чтобы сообщить мне, что они построили транспортные средства для сбора данных. Они не являются автономными автомобилями - человек их управляет, но они оснащены лазерами, камерами, GPS и другими датчиками, необходимыми для сбора данных, которые вы использовали для построения карт уличного уровня. Он хотел сообщить нам, что он построил все, используя ROS, и у них есть флот из них на всех шести континентах, проезжая семь дней в неделю.
Это случай, когда традиционно не робот в том смысле, что он принимает решение, а затем решает, куда идти в мире. Человек управляет им, но это одна половина робота - сторона восприятия - и они обнаружили, что ROS - лучший способ создать систему сбора и хранения данных, которую они разрабатывают. У них также был успешный выход. Nokia продала это подразделение группе немецких автомобильных компаний, консорциуму, за 2, 5 миллиарда долларов.

NASA Robonaut2. Изображение предоставлено NASA
AAC: Какова была ваша мотивация для развития разработки программного обеспечения с открытым исходным кодом и совместного использования?
BG: Мотивация - забавная вещь. Для меня лично я занялся этой работой, когда был в аспирантуре в USC в конце 90-х. Я был в лаборатории робототехники, и, как и любой аспирант по информатике, я должен был заниматься научными проблемами и разрабатывать проект для написания диссертации.
То, что я обнаружил в то время, заключалось в том, что на самом деле не было действительно инфраструктуры программного обеспечения, которая вам действительно нужна, чтобы делать науку, которую мы должны были делать. Случилось то, что в каждой лаборатории кто-то принимал на себя задачу написать инструменты. Все от драйверов устройств до графических интерфейсов - все, что вам нужно, прежде чем вы сможете сделать любую полезную работу. Итак, с несколькими коллегами в лаборатории мы начали то, что стало проектом Stage Stage Project, который представляет собой набор инструментов с открытым исходным кодом для программирования и моделирования роботов. Это фактически породило симулятор Gazebo, который мы все еще развиваем здесь.
Мы поставили его на Sourceforge, люди начали его использовать, и я обнаружил, что это гораздо более приятно. Поставить программное обеспечение там и увидеть, как люди используют его (было более удовлетворительно), чем то, что я должен был делать, что отвечало на важные научные вопросы и написание документов. Я тоже это сделал, но лично я получаю больше удовлетворения, размещая эти платформы там и видя, что с ними делают люди.
AAC: Глядя на программу ROSCon на 2017 год, существует довольно много презентаций и дискуссий о приложениях и разработках ROS. Есть ли что-то особенно новое, что вы видите в этом году, возможно, удивительная новая тенденция, которая выделяется из предыдущего ROSCon?
BG: Первой тенденцией, которую я бы назвал, является развитие автомобилей. Первым делом в этом году станет Шинпей Като о системе Autoware, которую он и его команда разработали в Японии - это полностью автономный штатный накопитель на основе ROS. Вы можете взять программное обеспечение, поместить его на свой автомобиль, который был оснащен, чтобы проехать по проводам с соответствующими датчиками, и за относительно короткий период времени достигнет достаточно способного автономного транспортного средства. Это не продукт, который вы можете продать или который был сертифицирован каким-либо образом, но это отправная точка для того, что бы вы ни делали с автономным вождением. Это все с открытым исходным кодом. Помимо этого, у нас есть один из Daimler AG, а некоторые из группы в Швейцарии (ETH Zurich и AMZ) говорят об автономной работе автомобиля, которую они делают.
В противном случае я бы сказал, что в эти дни большое внимание уделяется симуляции. Разработка приложений для робототехники сложна, поскольку в ней есть все элементы программных проблем, но вы также имеете дело с физическим миром. Вы также часто разрабатываете программное обеспечение одновременно с разработкой оборудования. Наличие доступа к хорошему симулятору действительно важно для того, чтобы эффективно разрабатывать системы. Мы поговорим о том, что мы сделали с задачей NASA Space Robotics Challenge, которая представляет собой класс проблем с использованием робота NASA Valkyrie или R5 (и есть также) Грег Дудек и его группа из Университета Макгилла, используя Gazebo, чтобы имитировать подводный робот, с которым они проводят эксперименты.
(Также есть презентация) из нашей группы по использованию Gazebo для моделирования городского автомобиля. Итак, это своего рода точка кроссовера, где это одно из приложений моделирования, особенно в автомобильной области, где, я думаю, нам понадобится много действительно хороших симуляционных технологий, чтобы убедить себя в том, что создаваемые автономные автомобильные продукты на самом деле достаточно безопасны для использования.

Робот PR2 в симуляции Gazebo. Изображение предоставлено ROS
Позвольте мне назвать еще одну тенденцию: безопасность. Это то, что исторически мы не уделяли много внимания. Фактически, мы разработали ROS вначале с явно отсутствием функций безопасности и (не включали) функции безопасности в ROS, потому что мы не эксперты по безопасности, а вам нужно знать, как развернуть систему в безопасной среде. Вам нужно использовать VPN, физическую безопасность и тому подобное.
Но теперь, когда ROS выкачивается в продукты и серьезно используется в кучу правительственных программ, гораздо больше внимания уделяется безопасности. Итак, в этом году у нас есть две беседы, одна из нашей группы - одна из другой группы, по разным способам добавления функций безопасности в ROS, чтобы вы могли получить более многоуровневый подход, который более подходит для использования в полевой системе.
AAC: Является ли это еще одним принципом в ROS 2.0, что безопасность зависит от пользователя, а не от разработки ROS?
BG: Нет, это на самом деле то, что мы принципиально изменили в ROS 2.0. Ранее я упоминал, что ROS 2.0 основан на стандарте промышленного промежуточного программного обеспечения под названием DDS. Этот стандарт имеет расширение, которое было ратифицировано в прошлом году под названием DDS Security, и в нем указывается, как это сделать на основе безопасности проводки во всем: от аутентификации до шифрования, вплоть до контроля доступа и нескольких других функций. Итак, это то, что мы явно используем в ROS 2.0.
На некотором уровне он все еще зависит от пользователя. Вы должны решить, как использовать его, вы должны знать, как его настроить, и вы должны понимать его достаточно хорошо, чтобы использовать его надежным способом. Но теперь он построен с нуля, а не после того, как он был добавлен позже, что все, что мы можем сделать с ROS 1.0, как оно существует сегодня. Поскольку это 10-летний код, есть только так много навязчивых изменений, которые вы можете разумно сделать.
AAC: Есть ли какие-либо заблуждения или неточности в отношении ROS, которые продолжают появляться, что вы хотите исправить?
BG: Я бы сказал, что самое большое (заблуждение) состоит в том, что ROS не подходит для использования в продуктах, и это может быть тривиально доказано как пример. Вы можете посмотреть Blue River Technologies, тогда у вас есть компании, такие как Fetch, Clearpath, Locust, Six River и Savios, которые продают или арендуют продукты на основе ROS, которые поставляются в самых разных средах. И есть много других примеров. Это, наверное, самый большой, который я хотел бы оспаривать.
Другое (заблуждение) состоит в том, что вы не можете (добиваться) контроля в реальном времени с помощью ROS. Это становится немного более техническим, и даже это не совсем верно. С ROS 1.0, как он существует сегодня, существует множество примеров смешивания ROS с безопасной системой в режиме реального времени. Это немного сложнее, чем нужно, но даже в те времена, когда мы строили PR2, у него был компонент управления в реальном времени, который надежно работает на частоте 1 кГц, чтобы (добиваться) стабильного контроля весь механизм. И что мы построили с кучей инфраструктуры, поэтому вам нужно использовать разные API, но он хорошо сочетается с системой ROS. Так что это абсолютно можно сделать, и многие группы делают это, но часто люди смотрят на него и говорят, что вы не можете делать в реальном времени, и это не так.
AAC: Есть компании, использующие платформы с открытым исходным кодом, такие как ROS, в своих продуктах. Каковы ваши мысли о монетизации ROS и как вы думаете, что платформы с открытым исходным кодом, такие как ROS и защита интеллектуальной собственности, могут сосуществовать?
BG: Это хорошая пара вопросов. Итак, во-первых, как можно с открытым исходным кодом и защитой интеллектуальной собственности сосуществовать - я думаю, это легко. Мы решили лицензировать наше программное обеспечение под лицензией BSD (для предыдущего кода), а в этот день для нового кода мы используем лицензию Apache 2. Это лицензии, которые очень ясны в том, что они позволяют, и то, что они не позволяют. Некоторые люди, если они не настолько хорошо осведомлены о нюансах с открытым исходным кодом, они (могут полагать, что они) не могут использовать открытый исходный код в своих продуктах, потому что тогда им придется отдать свой IP-адрес, и это просто не так вообще. Вы можете абсолютно использовать программное обеспечение, которое мы используем, вы можете создать его в своем продукте, и вы можете его продать. И вы не должны нам ничего, и вам не нужно ничего менять о вашем IP.
Поэтому я считаю, что существует постоянное образование, которое необходимо сделать, чтобы люди понимали, что существуют лицензии с открытым исходным кодом - фактически, подавляющее большинство лицензий с открытым исходным кодом - разрешает такое использование.
Монетизация немного сложнее. Конечно, есть компании, которые монетизируют приложения и продукты, основанные на ROS, поэтому они строят продукты и услуги и продают их, и это довольно хорошо понятый путь вперед.
AAC: Как вы думаете, будущее робототехники будет - особенно робототехника с открытым исходным кодом?
Б. Г.: Я думаю, что будущее робототехники очень яркое. Я думаю, что мы, наконец, находимся в точке, где за углом мы увидим, что роботы и роботизированные технологии широко используются.
Люди используют роботы на автомобильных заводах с 60-х годов, но мы долгое время приходили к нам, чтобы на самом деле испытывать роботов в нашей повседневной жизни. Я думаю, что мы наконец-то там. Я думаю, что мы усложнили сложные алгоритмические проблемы, связанные с локализацией и навигацией. Мы все еще работаем над манипуляциями, но мы доберемся туда.
Попутно мы получили достаточные успехи в разработке датчиков и исполнительных механизмов, а также всем поддерживающим программным обеспечением с открытым исходным кодом, что теперь просто начать работу с компанией, спроектировать продукт и получить его на рынке относительно короткий заказ. Я думаю, что это побуждает больше людей прийти на поле.
Как я уже говорил ранее, мы никогда не знаем, кто использует наши инструменты или кто использует другую систему с открытым исходным кодом, но я считаю справедливым сказать, что подавляющее большинство людей, действующих в этой области, сейчас используют ROS и / или Gazebo в каким-то образом в рамках их процесса разработки. Поэтому я думаю, что мы увидим все больше продуктов на основе ROS и все больше и больше программного обеспечения для моделирования Gazebo.
Благодарю вас за ваше время, Брайан!