汽车模拟器使用模糊控制系统、遗传算法和粒子群优化来模拟自动驾驶汽车在地图上的运动。它还支持 VR 设备,详细信息请参见此处。
输入包含小车的三个距离传感器(前部、左右45度),可以从定义的运动方程、小车的位置以及小车与水平轴之间的角度获得。输出是方向盘的旋转角度。
目标是在不遇到墙壁的情况下到达终点线,并将运动轨迹(包括每个时间点的位置、传感器值和方向盘的旋转角度)输出为文本文件,然后显示在图形界面上。
模拟小车的运动方程如下:
模糊控制系统使用自定义的七个模糊规则和离散重心去模糊器。详情请参阅此处。
汽车模拟器使用实值遗传算法(GA)来训练径向基函数网络(RBFN),并通过RBFN来控制汽车。基因被定义为混合维度向量的RBFN(w,m,σ)的三个参数。适应度函数是数据集的期望输出与特定输入情况下的RBFN输出的均值方差。最低适应度值是最佳 RBFN 参数。
径向基函数网络的结构如下:
汽车模拟器还可以使用粒子群优化(PSO)来训练RBFN。 PSO坐标定义为混合维度向量的RBFN(w,m,σ)的三个参数。适应度函数是数据集的期望输出与特定输入情况下的RBFN输出的均值方差。最低适应度值是最佳 RBFN 参数。
https://jasonnor.github.io/Car-Simulator/
汽车模拟器也支持VR设备,请打开此页面。
InputA1 InputB1 InputC1 Output1
InputA2 InputB2 InputC2 Output2
...
其中InputA是中心距离传感器的值,InputB是右距离传感器的值,InputC是左距离传感器的值,输出是方向盘的旋转角度。可以在此处找到默认数据集。
InputA1 InputB1 InputC1 InputD1 InputE1 Output1
InputA2 InputB2 InputC2 InputD1 InputE1 Output2
...
其中InputA为小车的X坐标,InputB为小车的Y坐标,InputC为中心距离传感器的值,InputD为右距离传感器的值,InputE为左距离传感器的值,输出为方向盘的旋转角度。可以在此处找到默认数据集。
如果您有兴趣解决问题并直接为代码库做出贡献,请随意使用它。
汽车模拟器是在 MIT 许可下发布的。有关详细信息,请参阅许可证文件。