Способность гольфиста совершить удар на 300 ярдов и более может привести болельщиков в восторг, но надежная игра на грине возле лунки часто является тем, что отделяет профессионала от любителя. Немецкие исследователями разработали робота Golfi способного закатить мячик в лунку, используя разумное сочетание классической техники управления и машинного обучения.
На турнирах по гольфу игроки часто изучают поля за день до начала игры, чтобы продумать, как они будут выполнять свои удары, говорит Анника Юнкер, докторант Падерборнского университета в Германии. Поэтому она и ее коллеги решили проверить, сможет ли робот загонять мяч в лунку из любой точки грина без помощи человека.
По словам Юнкер, цель проекта не в том, чтобы создать робота способного выиграть турнир, а в том, чтобы продемонстрировать возможности гибридных подходов к управлению роботами. «Мы пытаемся объединить методы, основанные на данных и физике, и мы искали хороший пример, который каждый сможет легко понять, — говорит она. — Для нас это всего лишь игрушка, но мы надеемся увидеть некоторые преимущества нашего подхода для промышленного применения».
Пока что исследователи проверили свой подход только на небольшом макете зеленого поля в своей лаборатории. Робот, описание которого содержится в статье, которая будет представлена на Международной конференции по робототехнике IEEE в Италии в следующем месяце, передвигается по пространству площадью 2 кв.м. на четырех колесах. Оказавшись на месте, он с помощью зубчатого вала с ременным приводом и прикрепленным к его концу клюшкой наносит удар по мячу в направлении лунки.
Однако сначала ему нужно определить, какой удар нужно сделать, учитывая положение мяча. Исследователи начали с использования 3D-камеры Microsoft Kinect, установленной на потолке, чтобы получить карту глубины грина. Затем эти данные вводятся в основанную на физике модель, наряду с другими параметрами, такими как сопротивление газона, вес мяча и его начальная скорость, чтобы смоделировать три тысячи ударов с различных начальных точек.
Эти данные используются для обучения нейронной сети, которая может предсказать, как сильно и в каком направлении нужно ударить по мячу, чтобы он попал в лунку. Хотя эту проблему можно решить, объединив модель с классической оптимизацией, говорит Юнкер, это требует гораздо больших вычислительных затрат. Обучение робота на имитации ударов в гольфе занимает всего пять минут, в то время как при сборе данных о реальных ударах на это ушло бы около 30-40 часов, добавляет она.
Однако прежде чем сделать удар, робот сначала должен правильно выровнять свою клюшку с мячом, для чего ему необходимо определить, где на грине находятся он сам и мяч. Для этого он использует нейронную сеть, которая была обучена определять мячи для гольфа, и алгоритм обнаружения объектов, который выбирает точки на верхней части робота, чтобы определить его ориентацию. Эти данные позиционирования затем объединяются с физической моделью робота и поступают в алгоритм оптимизации, который анализирует, как управлять двигателями колес для навигации к мячу.
Юнкер признает, что этот подход не безупречен. По ее словам, нынешняя система основана на наблюдении с высоты птичьего полета, что трудно воспроизвести на реальном поле для гольфа, а переход на камеры на роботе создаст серьезные проблемы. Исследователи также не указали в своей работе, как часто Golfi успешно закатывает мяч в лунку, поскольку цифры были искажены тем фактом, что робот иногда проезжал над мячом, сбивая его с позиции. Однако, по словам Юнкера, когда этого не происходило, машина была успешной в 6-7 случаях из 10, а с тех пор как они представили работу, их коллега переделал навигационную систему так, чтобы она избегала столкновения с мячом.
Источник: robogeek.ru