一、场景地图制作
小车的行驶依赖于模型的训练,因此需要设计一张地图,用于小车行驶的模型训练过程和推理结果验证。
1.1、行驶场景:
直线行驶场景,小车保持直线行驶。一条道路上有两条相向的车道,并用黄色虚线分隔开来。车道两侧有黄白双色的车道线作为指示。
弯道转向场景,小车根据转向方位指示标行驶。
自动停车场景,小车在停车标识处,自动泊车至车位。
十字路口场景,小车在人行道处可进行目标检测,是否有行人通过,进而判断前进或停车等待。
1.2.制作要求
小车的外观尺寸应与道路的宽度匹配。使用表面不太光滑的材质,如果地图表面过于光滑则容易使小车打滑,难以精确地控制小车。另外光滑的表面会产生强烈的反光,影响小车通过摄像头采集的画面质量,进而干扰各个图像识别的任务。
二、自动驾驶
2.1.循迹驾驶原理
2.2.自动泊车实现
Yolo系列网络原理
自动泊车实现原理
2.3.目标追踪实现
三、ROS2
3.1.介绍
在开发多传感器融合的样例时,ROS就可以很好做到一个通信桥梁的作用,规整各个传感器与话题、服务,内置多种插件,可以适用到多种不同的场景,还包含了不同的SLAM (Simultaneous Localization and Mapping) 功能包,gmapping, hector slam, Cartographer等
3.2.SLAM算法
(1)基于滤波,比如扩展卡尔曼滤波 (EKF: Extended KalmanFilter) 、粒子滤波(PF: Particle Filter)等ROS中的gmapping、hector_slam算法都是基于滤波实现的。
(2)基于图优化,先通过传感器进行构图,然后对图进行优化目前比较主流的是图优化的方法,Cartographer就是基于图优化实现的。图优化相对于滤波,不用实时的进行计算,效率更高消耗的资源更少,所以在实际场景中使用的更多
3.3. Cartographer算法
Cartographer是Google开源的一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图(SLAM)的系统。