首页/文章/ 详情

算法处在自动驾驶仿真环节中的什么位置?

1年前浏览9598
大家好,我是李慢慢。我又来献丑了。


最近一直在自己琢磨自动驾驶的算法是怎么接入仿真环节中的,略有所得,特写出来,请高士指正。


为什么要思考这个问题呢?


我在此前的一篇文章中,将自己学到的自动驾驶仿真的案例拿出来分享,如下所示:


如何让小车自己识别车道线自动前行?


我后来发现,在这个案例中,我竟然直接就实现了LKA的仿真,似乎根本就不需要算法工程师来进行路径规划了,那我就奇怪了,我这个仿真模型到底在测试什么呢!


按照我的理解,一个仿真模型的存在,就是为了对某种算法进行测试的。


比如,算法工程师研究出一种特殊的路径规划策略,想先在仿真模型中进行测试,但在我以上分享的仿真方法中,竟然根本就不需要他的算法。因为,例子中我自己竟然直接在一个程序中把所有流程都做了,包括算法。(例子中具体的算法是根据车道线拟合出一个理论的二次曲线,根据目前的车辆速度和方向,预测车辆接下来的路径和这个理论二次曲线之间的误差,用这个误差判断接下来的转向轮应该有多少的转角,从而保证车辆保持在车道之间。)


这个案例,此刻想来,不算是一个好的仿真案例,原因很简单,它没有外部接口,算法部分的接口。虽然算法内部自己搞定了,但这不应该是一个正确的流程。我所理解的正确的流程似乎更类似于以下这种



自动驾驶的仿真有三要素:场景库、仿真平台、结果评价,这些都是仿真工程师该做的事。

1、完备各种各样的场景就能形成场景库(标准化的场景库是当今一个很大的课题);

2、仿真平台则主要用来演示。它可能是不同的软件,比如PreScan、比如VTD等。这些软件需要预留接口,一是输出各种传感器产生的数据(比如图像)给外部的处理器,二是等候外部的处理器根据特有的算法得到相应的控制指令(比如转向指令),这个控制信号将直接指挥仿真车辆的运动;(输入输出并不那么直接,数据格式的转换、编译等都需要额外的代码来完成。)

3、最后则是对仿真中的车辆运动参数进行评价;


在公 众 号【自动驾驶仿真】中看到这样一段文字,对我帮助很大:

数据流从各种传感器硬件里奔涌而来
带着对世界的感知
或侧重于形状
或侧重于距离
或侧重于自身的观察
数据流有急有缓,有大有小
它们统一被ADU捕获,时空同步了

算法模块拿起瓢了,各自饮自己的水
多个线程启动着
沙子做成的CPU进行着复杂庞大但有序的工作

一系列精妙又鲁棒地配合之后
控制信号被计算出来
向下传给了线控系统

引擎发出轰鸣声
转向系统丝滑地启动
车辆加速,减速,转向
传感器看到的世界随之变化

单对这个系统而言
一次新生就此开始 



本文完。
来源:车路慢慢
理论PreScan自动驾驶控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-21
最近编辑:1年前
李慢慢
硕士 自动驾驶仿真工程师一枚
获赞 11粉丝 71文章 122课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈