Цель проекта заключалась в разработке системы, которая позволяла бы автомобилю двигаться автономно и находить свой путь с помощью минимального количества датчиков для оптимизации работы системы. Обнаружение было выполнено с использованием Ray-Casting, который предоставляет входные данные в виде расстояния столкновения в определенном направлении. Затем эти входные данные передаются в нейронную сеть, которая дает выходные данные для вождения и управления автомобилем, для обучения сетевого генетического программирования был принят подход, который объединяет несколько искусственных нейронных сетей (ИНС) в порядке их производительности. В результате получается лучшая сеть.

Технологический поток

Автомобиль был настроен с четырьмя лучами, направленными в разные стороны. Эти лучи рассчитывают расстояние столкновения в левом и правом направлениях. Используя два луча, идущих впереди, он вычисляет угол поворота вперед, а также расстояние лобового столкновения. взяв оба их средние значения. Эти значения вместе с текущей скоростью автомобиля затем передаются в нейронную сеть с прямой связью с одним скрытым слоем с 25 нейронами и выходным слоем, дающим 2 значения: коэффициент рулевого управления и коэффициент ускорения. Чтобы обучить эту нейронную сеть, несколько случайно сгенерированных сетей проверяются на соответствие функции пригодности, включающей среднюю скорость, умноженную на расстояние, для повышения скорости. Эти сети выбираются с помощью алгоритма колеса рулетки для кроссовера и мутации. Результатом процесса является новая партия или поколение нейронных сетей, которые, как ожидается, будут работать лучше, чем предыдущие. Каждое поколение содержит 10 нейронных сетей и количество запусков для одной сети. Можно запустить полное создание нейронных сетей одновременно, но это еще не реализовано.

Результат

Система, способная самообучаться с помощью машинного обучения, в результате чего получается автономный автомобиль, способный безупречно ездить по трассе, видео ниже.

Исходный код и бинарники доступны на GitHub Здесь

Первоначально опубликовано на www.yashkaushal.com.