Car Simulator использует нечеткую систему управления, генетический алгоритм и оптимизацию роя частиц для имитации движения автономного автомобиля на карте. Он также поддерживает устройство VR, подробности см. здесь.
Входные данные содержат три датчика расстояния автомобиля (спереди, 45 градусов влево и вправо), которые можно получить из определенного уравнения движения, положения автомобиля и угла между автомобилем и горизонтальной осью. Выходные данные — угол поворота рулевого колеса.
Цель состоит в том, чтобы достичь конечной линии, не столкнувшись со стеной, и вывести траекторию движения (включая положение каждого момента времени, значение датчика и угол поворота рулевого колеса) в виде текстового файла, а затем отобразить его в графическом интерфейсе.
Уравнение движения моделируемого автомобиля выглядит следующим образом:
Система нечеткого управления использует семь пользовательских нечетких правил и дискретный дефаззификатор центра тяжести. Подробности смотрите здесь.
Car Simulator использует генетический алгоритм с действительным знаком (GA) для обучения сети радиальных базовых функций (RBFN), и автомобиль будет управляться с помощью RBFN. Ген определяется как три параметра RBFN (w, m, σ) вектора смешанной размерности. Функция пригодности — это средняя дисперсия ожидаемого выходного сигнала набора данных и выходного сигнала RBFN в конкретном входном случае. Наименьшее значение пригодности является лучшим параметром RBFN.
Структура радиальной сети базовых функций выглядит следующим образом:
Car Simulator также может использовать оптимизацию роя частиц (PSO) для обучения RBFN. Координата PSO определяется как три параметра RBFN (w, m, σ) вектора смешанной размерности. Функция пригодности — это средняя дисперсия ожидаемого выходного сигнала набора данных и выходного сигнала RBFN в конкретном входном случае. Наименьшее значение пригодности является лучшим параметром RBFN.
https://jasonnor.github.io/Car-Simulator/
Car Simulator также поддерживает устройство VR. Откройте эту страницу.
InputA1 InputB1 InputC1 Output1
InputA2 InputB2 InputC2 Output2
...
Где вход A — значение датчика межосевого расстояния, вход B — значение правого датчика расстояния, вход C — значение левого датчика расстояния, а выход — угол поворота рулевого колеса. Наборы данных по умолчанию можно найти здесь.
InputA1 InputB1 InputC1 InputD1 InputE1 Output1
InputA2 InputB2 InputC2 InputD1 InputE1 Output2
...
Где InputA — координата X автомобиля, InputB — координата Y автомобиля, InputC — значение датчика центрального расстояния, InputD — значение правого датчика расстояния, InputE — значение левого датчика расстояния, а выход — угол поворота рулевого колеса. Наборы данных по умолчанию можно найти здесь.
Пожалуйста, не стесняйтесь использовать его, если вы заинтересованы в устранении проблем и внесении непосредственного вклада в базу кода.
Car Simulator выпущен под лицензией MIT. Подробности смотрите в файле ЛИЦЕНЗИИ.