一种模块化自动驾驶算法开发验证系统和验证方法与流程

文档序号:23954342发布日期:2021-02-18 17:07阅读:53来源:国知局
一种模块化自动驾驶算法开发验证系统和验证方法与流程

[0001]
本发明涉及自动驾驶领域,尤其涉及一种模块化自动驾驶算法开发验证系统和验证方法。


背景技术:

[0002]
目前城市汽车保有量越来越大,城市交通问题逐渐凸显出来,包括交通拥堵,空气污染等,自动驾驶作为未来汽车发展模式,被认为是解决上述问题的有效手段。自动驾驶技术通过车联网获取周围车辆和云端信息,可以实现更高效的车辆调度,缓解了车辆数目过多带来的交通拥堵问题,同时自动驾驶技术可以解放人类司机,因此吸引了众多算法开发者前往自动驾驶研究的浪潮。
[0003]
然而,目前自动驾驶算法开发存在以下问题:
[0004]
1、自动驾驶系统是一个涉及计算科学,自动化,电子信息科学,车辆学等学科的复杂系统,在复杂系统的开发阶段,需要不断进行算法验证,目前的算法验证平台主要是实际车辆,步骤复杂,成本较高,迭代较慢。
[0005]
2、对于自动驾驶软件算法开发者来说,往往缺少硬件平台来部署编写的算法,以验证自动驾驶算法的可行性。
[0006]
因此,对于自动驾驶软件算法开发者来说,缺少硬件平台来验证自动驾驶算法可行性,限制了算法开发的进度。


技术实现要素:

[0007]
针对现有技术中的不足,本发明提供了一种模块化自动驾驶算法开发验证系统和验证方法,该系统可以为软件算法开发者提供一个价格适中的自动驾驶算法验证平台,以验证算法可行性,同时降低了自动驾驶开发者的入门门槛。该验证方法易操作,安全性高,可将在验证系统中调试的算法直接迁移到实际测试车辆上。
[0008]
本发明所采用的的技术方案如下:
[0009]
本发明的其中一个目的在于提供一种模块化自动驾驶算法开发验证系统,包括:
[0010]
四轮底盘车体,其包括两个动力后轮和两个转向前轮,前轮和后轮之间的距离为0.5m-1m;所述动力后轮由动力电机控制,转向前轮由转向舵机控制;
[0011]
传感器模块,其用于感知周围环境信息,包括摄像头、激光雷达、惯性测量单元和轮速计;所述摄像头、激光雷达安装在车体的前端,惯性测量单元安装在车体中部,轮速计安装在四轮底盘车体的后轮上;
[0012]
算法验证模块,其用于分区存储并运行待验证的自动驾驶算法,包括slam算法单元、pid控制算法单元和轨迹跟踪算法单元;
[0013]
计算模块,其安装在四轮底盘车体上,与算法验证模块中的slam算法单元相连,用于获取传感器模块测得的周围环境信息并解析出四轮底盘车体的位置信息;
[0014]
控制模块,其安装在四轮底盘车体上,与算法验证模块中的pid控制算法单元和轨
迹跟踪算法单元连接,用于接收计算模块输出的位置信息,并根据预设目标速度和位置解析出转角和加速度数据,控制四轮底盘车体前进和转向;
[0015]
电源模块:其用于为系统供电;
[0016]
安全模块,其用于为四轮底盘车体的调试提供紧急停车指令;
[0017]
参数迁移模块,其用于将自动驾驶算法的调试参数以及传感器模块的布置参数迁移到实际自动驾驶车辆上。
[0018]
本发明的另一个目的在于提供一种上述验证系统的验证方法,包括以下步骤:
[0019]
步骤1:将待验证的slam算法、控制算法和轨迹跟踪算法分别部署在算法验证模块中的slam算法单元、pid控制算法单元和轨迹跟踪算法单元上,完成算法验证模块的算法封装;并将算法验证模块安装在四轮底盘车体上,使得slam算法单元与摄像头、激光雷达连接,pid控制算法单元和轨迹跟踪算法单元与计算模块的输出端口连接;
[0020]
步骤2:开启自动驾驶算法开发验证系统,slam算法单元实时获取通过摄像头采集的双目视觉点云数据、以及通过激光雷达采集的激光点云数据,进行同步定位与地图构建,并以0.1s的时间间隔输出位置信息;
[0021]
同时,通过惯性测量单元获取车体加速度信息和角速度信息,通过轮速计获取轮速信息,计算模块根据实时加速度、角速度和轮速信息估计相邻0.1s之间的位置信息,输出连续的位置估计;
[0022]
步骤3:通过控制模块设置目标位置和目标速度;
[0023]
轨迹跟踪算法单元获取目标位置和当前时刻的位置估计,得到车体的转向控制信号传输至转向舵机;
[0024]
pid控制算法单元获取计算模块输出的连续的位置估计,得到车体的当前速度,结合当前速度和目标速度得到车辆的速度控制信号传输至动力电机;
[0025]
步骤4:重复步骤3,直至调试结束,固定调试好的算法参数;
[0026]
步骤5:通过参数迁移模块将自动驾驶算法的调试参数以及传感器模块的布置参数迁移到实际自动驾驶车辆上;
[0027]
在参数迁移过程中,slam算法单元和轨迹跟踪算法单元中的算法参数保持不变;pid控制算法单元中的p控制参数根据车辆的前后轴距离进行等比缩放,缩放倍数为其中,l为四轮底盘车体的前后轴距离,l

为实际自动驾驶车辆的前后轴距离;转角幅度根据实际自动驾驶车辆的转角阈值与四轮底盘车体的转角阈值倍数关系进行等比缩放;
[0028]
激光雷达安装高度和摄像头内外参数根据实际自动驾驶车辆重新标定。
[0029]
本发明的有益效果是:
[0030]
(1)本发明提供了一种模块化自动驾驶算法开发验证系统和验证方法,采用小型的四轮底盘车体作为实验车体,利用了小型车体便于控制的优势,方便及时发现问题,为自动驾驶算法的验证提供了可靠的平台。其中部署在车体上的算法验证模块可以同时将自动驾驶算法拷贝封装在特定的算法单元中进行调试,在算法调试时更新算法参数,验证算法的可行性,优化算法参数。
[0031]
(2)本发明系统中的参数迁移模块能够将测试结束后优化得到的算法参数直接迁
移至实际车辆中,既利用了小型车体的优势,又使得实验中的参数在实际车辆中应用的可行性。
[0032]
(3)本发明系统中的安全模块能够保证测试人员和实验车体的安全。
附图说明
[0033]
图1为算法开发验证系统的整体设计图。
[0034]
图2为计算模块的工作流程图。
[0035]
图3位迁移模块的工作示意图。
具体实施方式
[0036]
下面结合附图对本发明做进一步的解释说明。
[0037]
本发明的一种模块化自动驾驶算法开发验证系统和验证方法如图1所示,主要包括以下模块:
[0038]
四轮底盘车体,其包括两个动力后轮和两个转向前轮,前轮和后轮之间的距离为0.5m-1m;所述动力后轮由动力电机控制,转向前轮由转向舵机控制;
[0039]
传感器模块,其用于感知周围环境信息,为计算模块提供环境感知信息。主要包括摄像头、激光雷达、惯性测量单元和轮速计;所述摄像头、激光雷达安装在车体的前端,惯性测量单元安装在车体中部,轮速计安装在四轮底盘车体的后轮上;
[0040]
算法验证模块,其用于分区存储并运行待验证的自动驾驶算法,包括slam算法单元、pid控制算法单元和轨迹跟踪算法单元;
[0041]
计算模块,其安装在四轮底盘车体上,与算法验证模块中的slam算法单元相连,用于获取传感器模块测得的周围环境信息并解析出四轮底盘车体的位置信息;
[0042]
控制模块,其安装在四轮底盘车体上,与算法验证模块中的pid控制算法单元和轨迹跟踪算法单元连接,用于接收计算模块输出的位置信息,并根据预设目标速度和位置解析出转角和加速度数据,驱动车体转向和前进;
[0043]
电源模块:其用于为系统供电;
[0044]
安全模块,其用于为四轮底盘车体的调试提供紧急停车指令;
[0045]
参数迁移模块,其用于将自动驾驶算法的调试参数以及传感器模块的布置参数迁移到实际自动驾驶车辆上。
[0046]
本发明采用的四轮底盘车体为小型车体,在本实施例中,车体的长1m,宽0.5m,高0.3m,两个后轮作为动力轮驱动车辆前进,前轮由电机模块的舵机驱动用于车辆转弯,车体承载前述的传感器模块、控制模块、电源模块、计算模块、安全模块和电机模块。小型车体具备体积小、便于调控、方便发现问题的优势。
[0047]
在本发明的一项具体实施中,所述的电源模块由动力供电电池和通用供电电池两部分组成,所述的动力供电电池用于为四轮底盘车体上安装的转向舵机和动力电机供电;通用供电电池用于为系统其他模块供电。
[0048]
所述的传感器模块用于为算法验证提供数据输入,其中,激光雷达使用velodyne-16线激光雷达,产生360环绕扫描的激光点云数据;摄像头使用stereolabs-zed双目摄像机,获取双目视觉点云数据,并通过视差图得到像素点距离;惯性测量单元使用razor_imu_
9dof,测量车辆本体的加速度和车身角速度信息;轮速计使用霍尔传感器,产生车轮速度信息。
[0049]
计算模块采用nvidia jetson tx2计算板,使用机器人操作系统ros作为通讯中间件,需要验证的自动驾驶算法部署在该计算板上,包括slam算法、pid控制算法和轨迹跟踪算法。传感器模块获取得到的点云数据、双目视觉点云数据、加速度信息、车身角速度信息和轮速度信息作为待测试算法的输入。例如,在本发明的一项具体实施中,激光点云数据和双目视觉点云数据使用基于ndt-slam算法得到车辆当前的预估三维位置信息,以每0.1s的时刻进行输出位置信息,加速度信息和车身角速度信息以及轮速度信息用于的估算0.1s之间的位置估算,计算出的车辆三维位置信息。
[0050]
所述的控制模块解析计算模块发来的车辆三维位置信息,结合车辆预设的目标点的位置信息,基于轨迹跟踪算法,输出车辆的横向转向控制信息。同时,根据连续的车辆位置信息估算车辆当前速度,结合车辆预设的目标速度,基于模糊pid算法,获得车辆的速度控制信息。横向控制信息和速度控制信息传输给转向舵机和动力电机。
[0051]
本发明的车体上安装在电极和舵机可集成在一个电机模块上,电机模块还包括一块控制板。其中,控制板接收控制模块传输的转向控制信息和速度控制信息,进行一定的比例放大或缩小,以及阈值限幅,输出pwm控制波给动力电机和转向舵机。舵机直接连接控制模块舵机信号线,动力电机由电子调速器控制,电子调速器连接控制单元的动力信号线和动力电池的正负电源线,输出三相交流电机信号。
[0052]
所述的安全模块包括断电继电器和遥控开关两部分,其中遥控开关和断电继电器之间通过蓝牙4.0进行通讯,通过按下遥控开关紧急停车按钮发出紧急停车信号,断电继电器接收紧急停车指令后将信息发给控制模块,控制模块向电机输出紧急停车指令。此外,当在车辆调试过程中,若激光雷达检测得到障碍物需紧急避障时,控制模块也会向动力电机发送紧急停车指令。
[0053]
本发明采用的参数迁移模块是基于参数迁移的方法,用于将在本发明的算法验证平台测试得到的算法参数迁移到实际自动驾驶车辆中。如图3所示,首先对于计算模块内部的参数在迁移过程中保持不变,其次对于控制模块内部的参数在迁移过程中需要调整。
[0054]
在本发明的一项具体实施中,待调整的参数包括激光雷达实际安装高度、摄像头内外参参数、实际车辆转角阈值、以及模糊pid的控制参数。激光雷达实际安装高度通过实际测量进行更新,摄像头内外参参数通过传感器标定来进行完成,传感器标定方法可以采用张正友标定法。对于车辆转角阈值,通过测试实际车辆转角阈值和验证平台车辆的转角阈值的倍数关系,将控制信息输出的转向角进行等比例放缩。对于待调整的模糊pid控制信息,结合车辆的前后轴距离进行调整,其中p参数可以参照以下公式(l)为车辆的前后轴距离)进行初步大约估计,然后再不断精细调整,直到到达最优效果。
[0055]
p参数的一般计算式为:
[0056][0057]
在进行参数迁移时,p控制参数的缩放倍数为其中,l为四轮底盘车体的前后轴距离,l

为实际自动驾驶车辆的前后轴距离;
[0058]
本本发明的一项具体实施中,采用上述的模块化自动驾驶算法开发验证系统对待测试的算法进行验证,如图2所示,需要注意的是,图2中的ndt-slam算法是待验证的slam算法,其余两个模糊pid和纯轨迹跟踪算法也是待验证的算法。
[0059]
具体验证方法为:
[0060]
步骤1:将待验证的slam算法、控制算法和轨迹跟踪算法分别部署在算法验证模块中的slam算法单元、pid控制算法单元和轨迹跟踪算法单元上,完成算法验证模块的算法封装;并将算法验证模块安装在四轮底盘车体上,使得slam算法单元与摄像头、激光雷达连接,pid控制算法单元和轨迹跟踪算法单元与计算模块的输出端口连接;
[0061]
步骤2:开启自动驾驶算法开发验证系统,slam算法单元实时获取通过摄像头采集的双目视觉点云数据、以及通过激光雷达采集的激光点云数据,进行同步定位与地图构建,并以0.1s的时间间隔输出位置信息;
[0062]
同时,通过惯性测量单元获取车体加速度信息和角速度信息,通过轮速计获取轮速信息,计算模块根据实时加速度、角速度和轮速信息估计相邻0.1s之间的位置信息,输出连续的位置估计;
[0063]
步骤3:通过控制模块设置目标位置和目标速度;
[0064]
轨迹跟踪算法单元获取目标位置和当前时刻的位置估计,得到车体的转向控制信号传输至转向舵机;
[0065]
pid控制算法单元获取计算模块输出的连续的位置估计,得到车体的当前速度,结合当前速度和目标速度得到车辆的速度控制信号传输至动力电机;
[0066]
步骤4:重复步骤3,直至调试结束,固定调试好的算法参数;
[0067]
步骤5:通过参数迁移模块将自动驾驶算法的调试参数以及传感器模块的布置参数迁移到实际自动驾驶车辆上;
[0068]
在参数迁移过程中,slam算法单元和轨迹跟踪算法单元中的算法参数保持不变;pid控制算法单元中的p控制参数根据车辆的前后轴距离进行等比缩放,缩放倍数为其中,l为四轮底盘车体的前后轴距离,l

为实际自动驾驶车辆的前后轴距离;转角幅度根据实际自动驾驶车辆的转角阈值与四轮底盘车体的转角阈值倍数关系进行等比缩放;
[0069]
激光雷达安装高度和摄像头内外参数根据实际自动驾驶车辆重新标定。
[0070]
在车辆调试过程中,若激光雷达检测得到障碍物需紧急避障时,控制模块向动力电机发送紧急停车指令。在车辆调试过程中,测试人员可通过遥控开关控制车体停止,由断电继电器接收到停止信号后将信号发送给控制模块,控制模块向动力电机发送紧急停车指令。
[0071]
以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1