
Как обеспечить передвижение беспилотного аппарата в лесистой местности без задевания деревьев? Как роботу удаётся захватить болт и установить его в деталь, не нарушая при этом работу конвейера? Наша способность находить ответы на эти вопросы напрямую связана с планированием траектории движения, что станет ключевым фактором для разработки нового поколения роботов, способных функционировать в любой среде.
На первый взгляд, задача планирования перемещения кажется тривиальной. Ведь каждый из нас постоянно решает подобные задачи, зачастую даже не задумываясь об этом! Не требуется сознательного обдумывания при маневрировании рукой для извлечения банки с напитком из задней части холодильника, переполненного продуктами, чтобы ничего не уронить. Этот процесс происходит автоматически. К сожалению, планирование движения является примером задачи, которую люди решают легко и непринужденно, но которая представляет значительные трудности для компьютеров. В большинстве случаев, современным системам машинного планирования требуется до нескольких секунд для решения подобных задач.
Ключевая сложность заключается в обнаружении препятствий и поиске способов их обхода. При формировании новых маршрутов перемещения робот должен оценивать вероятность столкновения с объектами, находящимися в окружающей среде. Современные планировщики движения генерируют тысячи или даже миллионы коротких перемещений, которые вместе составляют полный цикл траектории, подвергаемый контролю на предмет вероятности столкновений.
Однако человеческий мозг редко выстраивает действия последовательно, шаг за шагом. Он способен осуществлять массированную параллельную обработку информации, используя огромное количество нейронов для одновременного решения сложных вычислительных задач. Исследователи из Университета Дьюка в США решили использовать аналогичный подход, создав специальный процессор с использованием множества цепей, функционирующих параллельно, вместо традиционных нейронов. Эти цепи процессора осуществляют параллельную обработку вероятности столкновений.
Предлагаемый метод базируется на подходе к планированию движений, который получил название «дорожная карта». Процесс планирования перемещений робота при использовании дорожной карты можно сравнить с построением маршрута путешествия по географической карте: городские районы соединены между собой улицами. При этом целью является определение оптимальной последовательности доступных для проезда участков, позволяющей добраться из отправной точки в пункт назначения.
В контексте метода дорожной карты, используемого в робототехнике, каждая «площадь» представляет собой позицию робота – например, положение манипулятора. А участок, соединяющий две «площади», символизирует движение робота между этими позициями. Задача планирования заключается в поиске траектории от исходной позиции к целевой, исключающей столкновения с находящимися поблизости препятствиями.
Обычно алгоритмы планирования движений создают дорожные карты, содержащие десятки тысяч или даже сотни тысяч возможных положений робота. Более крупные дорожные карты обеспечивают лучшую производительность, но требуют больше вычислительных ресурсов, поскольку каждое движение должно быть проверено на предмет потенциальных столкновений с окружающей средой.
Ранее для построения дорожной карты, содержащей тысячи движений, существующие методы, работавшие на обычных процессорах, требовали нескольких секунд и потребляли десятки ватт электроэнергии. Даже высокопроизводительные графические ускорители справлялись с этой задачей примерно за секунду, при этом затрачивая более сотни ватт энергии. Новый процессор осуществляет планирование движений менее чем за 100 микросекунд, используя менее 10 Вт электроэнергии.
Улучшенные показатели производительности и энергоэффективности предоставляют роботам и автономным транспортным средствам широкий спектр новых перспектив. К примеру, в перспективе ваш домашний помощник сможет приготовить завтрак, даже если продукты не всегда расположены на привычных местах, включая ситуацию, когда молоко находится в холодильнике, параметры которого не были учтены разработчиками робота. Автономные автомобили смогут успешно объезжать неожиданно возникающие преграды, например, коробку, выпавшую из грузовика, движущегося впереди. При этом они будут учитывать все вероятные траектории движения других транспортных средств на дороге.
Возможно, что для управления роботами будущего не потребуется использование мощных вычислительных устройств. Их архитектура будет напоминать машины со сложной системой специализированных электрических цепей, предназначенных для оптимизации решения задач, связанных с обследованием пространства и перемещением. Подобно тому, как функционирует человеческий мозг.