Привет!
Есть один факт в современной истории картографического сервиса HERE, который мало кому известен: согласно собственному плану мирового господства, компания создала целую армию роботов с лазерами.
А теперь, когда мы привлекли ваше внимание, позвольте нам объяснить под катом, что мы имели ввиду.
Когда старший инженер Майкл Прадос (Michael Prados) только пришел в HERE, его первой задачей стало улучшение системы установок мобильного картографирования True View. Это именно те комплексы, которые установлены на крышах и в салонах сотен спецавтомобилей из нашего автопарка, выполняющие сложнейшие задачи по созданию карт HERE.
Система True View традиционно представляет собой сочетание камер, специальных лазеров (или LIDAR’ов, блоков GPS и нескольких компьютеров, которые отвечают за «интеллектуальный» сбор данных для последующей обработки в штаб-квартире HERE.
Приступая к работе, Майкл отметил, что благодаря такой технической архитектуре, программное обеспечение, которое требуется для управления этой системой очень похоже на то, что используется для управления роботами.
Именно это натолкнуло его на мысль обратиться к разработанной фондом Open Source Robotics Foundation операционной системе Robot Operating System или ROS.
Она не похожа на современные операционные системы вроде Windows или Linux и представляет собой некий фреймворк, предоставляющий функциональность для распределённой работы. ROS обеспечивает стандартные службы операционной системы, такие как: аппаратную абстракцию, низкоуровневый контроль устройств, реализацию часто используемых функций, передачу сообщений между процессами, и управление пакетами.
ROS основан на архитектуре графов, где обработка данных происходит в узлах, которые могут получать и передавать сообщения между собой.
ROS имеет две основные «стороны»: стороны операционной системы ros и ros-pkg — стеки, отвечающие за реализацию той или иной функции: SLAM, планирование, восприятие, моделирование и др.
В рамках системы True View, ROS соединяет в один общий массив получаемые со всех устройств данные, и сохраняет их в удобном для последующей обработки виде.
В целом «компьютерная» часть системы больше напоминает сервер: у основного компьютера нет ни клавиатуры, ни экрана. Следовательно, такой системе не нужен и отдельный оператор — за ее функционирование в случае с автомобилями HERE отвечает водитель. Благодаря установленному на центральной панели планшету со специальным администраторским приложением водитель всегда может получить отчет или провести диагностику.
В результате эксплуатации системы под управлением ROC, Майку и команде открылся ряд положительных сторон данной системы с открытым кодом. Помимо отсутствия лицензионных выплат, разработчики по достоинству оценили возможность «глубокой» настройки системы, которая была недоступна, когда команда использовала решения «из коробки».
Еще одним важным, если не самым главным плюсом ROC для HERE стала высокая модульность. Это означает, что разработчики могут действительно быстро и легко проинспектировать каждый из компонентов («узлов») и в случае выявления проблем просто изолировать его не отключая всю систему в целом. Аналогичным образом, если команда решает начать использовать новое оборудование, скажем, другую камеру, то им не придется начинать с нуля — достаточно изменить, как правило, только один узел.
Помимо всего прочего, разработчики отмечают и зрелость продукта: система имеет много различных дополнений и расширений, даже для довольно необычных устройств. Так для ряда новых для HERE датчиков и камер уже были готовые решения и ПО от сообщества разработчиков.
В дальнейшем в HERE планирует развивать True View за счет увеличения количества компьютеров с ROC в каждом из спецавтомобилей. Стандартный протокол TCP / IP обеспечивает еще большую гибкость в настройке системы в целом. И в следующем поколении автомобилей HERE (которое уже увидело свет), ROS узлы будут разбиты сразу на несколько устройств, что в несколько раз увеличит пропускную способность всей системы.
Автор: nokiaman