从20世纪70年代开始,美国、英国和德国等发达国家开始进行自动驾驶汽车的研究,在可行性和实用化方面都取得了突破性的进展。中国从20世纪80年代开始进行自动驾驶汽车的研究。2005年,首辆城市自动驾驶汽车在上海交通大学研制成功,世界上最先进的自动驾驶汽车已经测试行驶近500 000 km,其中最后80 000 km是在没有任何人为安全干预措施下完成的。目前,美国、德国、日本等国家的自动驾驶产业正处于快速发展阶段,相关的法律法规也在不断完善。自动驾驶已是汽车行业发展的必然趋势,中国政府也发布了《中国制造2025》,自动驾驶也提升到了国家战略的高度,国内自动驾驶产业将进入加速发展阶段。
研究意义
车辆定位技术是自动驾驶车辆的关键技术之一,本文研究低成本车辆定位技术,该技术的成功解决将能为行驶在道路中的车辆从当前位置到达目的位置提供非常有力的技术保障。传统的GPS定位技术已经不能满足自动驾驶的需求。GPS信号会产生漂移(精度不准),车辆在行驶过程中难免会通过隧道、涵洞、桥洞、高楼林立的街道及地下停车场等,这些地方GPS信号会衰弱甚至没有信号,从而导致定位失效,无法导航。
基于自包含传感器的导航定位技术也是实现自动驾驶车辆导航定位的一种重要技术,自包含传感器主要包括:里程计、加速度计和陀螺仪等惯性传感器等,在GPS无法工作时,将低成本的惯性传感器应用于车辆导航中,实现导航定位。
本文设计使用里程计和陀螺仪的组合导航定位方案,通过多次实车验证,本文的低成本定位系统能够在GPS信号较弱、甚至没有GPS信号的情况下,也能完成越野环境中车辆的定位,为越野环境中车辆的导航定位提供有力支持。
方案选择及定位传感器
在“跨越险阻”项目中,对定位系统的技术要求如表1所示。定位系统目标成本为800元。目前常见的定位方案对比如表2所示。
基于项目对精度的需求以及成本考虑,上述主流的定位技术不能满足需求,本文基于车辆自身的里程计以及陀螺仪,组合低成本的ublox(即粗略定位的GPS),设计定位方案,经过多次实车试验,不断改进定位算法,最终设计出满足项目定位技术要求的定位系统。
表 1 定位系统技术要求
表 2 常用定位方案对比
定位系统硬件结构如图1所示,在定位系统中,ublox天线接收GPS卫星信号,提供车辆初始坐标信息,即经纬度信息;CAN-NET接收车辆PCAN提供的车轮脉冲数据(里程计数据)、车速和横摆角速度等车辆信息。
图1 定位系统硬件结构
里程计信息主要用于辅助标定轮速单脉冲的距离,通过多次测量车辆行驶固定的距离,以及产生的脉冲数,标定车辆的轮速脉冲距离,用于后续定位算法中,推算车辆航迹。在本项目中,标定的单位脉冲距离为5.65 cm。
工控机根据ublox提供的初始经纬度计算得出车辆初始的高斯坐标;根据从自车陀螺仪得到的初始航向角、横摆角速度和标定的里程计单位脉冲距离,通过航迹推算算法计算得出当前车辆坐标,即车辆当前的定位信息。
软件结构及算法研究与验证
1.基于里程计的定位技术研究
在车辆行进过程当中,通过标定的单位脉冲的距离,我们可以得到单位时间内左右轮行进的距离,依据积分原理,一定时间内(本项目以10 ms为周期)车辆左右轮行进的距离相减之后的距离差、轮轴之间近似形成一个直角三角形。根据反正切函数arctan计算出航向角的变化角度Δθ。我们把Δθ累计起来,就可以得到我们想要的车辆当前航向角θ;并在车辆原来坐标的基础上,通过一定的算法,计算得到车辆的当前坐标(X,Y),完成车辆当前定位的推算。系统结构如图2所示。
图 2 基于里程计的定位系统结构
在该定位算法中,首先要进行单位脉冲距离的标定,通过多次测量固定距离内的脉冲个数来标定单位脉冲的距离,试验中某车型单位脉冲距离为5.65 cm。在车辆行进中,通过左右轮脉冲个数来计算左右轮行进的轨迹距离差。算法原理如图3所示。
图 3 基于里程计的定位算法
根据积分基本原理,在极短时间内,左右轮行进的轨迹距离差近似为直线,Z为后轮轮距1 588 mm,根据图3的几何关系可得出如下结论:
从而得到航向角偏移量:
进一步得到时间点Ti的航向角以及坐标如下:
实车试验采集数据,测试总距离1 102 m,运用matlab分析,车辆行驶轨迹如图4所示:红色localpose定位轨迹与蓝色GPS轨迹距离最大误差约达500 m/1 000 m,航向角最大误差达到90°。
图 4 基于里程计的定位算法车辆行驶轨迹
经过分析,本算法存在如下问题:第一,航向角的初始值为近似值,即定位系统的输入参数误差较大,引起后续的推算结果误差很大;第二,算法本身是积分原理,误差随着时间的累积不断累积,导致航向角θ偏差逐步增大,最终推算得到的车辆位置轨迹和GPS得到的轨迹误差过大。
由于上面两点问题,车辆定位误差过大,不能满足项目中提出的表1的技术要求。由于该算法最大误差输入来自初始近似推算的航向角,故在此基础上引入陀螺仪,从陀螺仪得到较为精确的航向角,即通过降低输入误差,提高定位精度。
2.系统改进——基于里程计和陀螺仪的定位技术研究
车辆行驶过程中,惯导能够给出车辆的姿态信息,包括东向北向行驶速度,X/Y/Z方向加速度以及我们需要的航向角。依据初始航向角、初始坐标以及使用里程计给出的脉冲数计算出的ΔT内车辆行驶距离。根据积分原理,可以计算出极短时间ΔT内车辆的坐标位移,从而得出Ti时刻车辆的位置坐标以及航向角。系统结构如图5所示,其中脉冲数和陀螺仪作为定位系统的输入,分别提供脉冲数和车辆姿态信息。
图 5 基于里程计和陀螺仪的定位系统
在该定位算法中,需要使用上一节标定的车辆的单位脉冲的距离,试验中某车型单位脉冲距离为5.65 cm。基于里程计和陀螺仪的算法如图6所示。
图 6 基于里程计和陀螺仪的定位算法
弧度AA'是ΔT时间内车辆行驶的轨迹,在极短时间ΔT内,根据积分原理近似为直线。
A点为时间i-1点的位置(Xi-1,Yi-1,θi-1),A'点是时间i点的位置(Xi,Yi,θi)。时间ΔT内行使的距离约为:
AA'=脉冲×单位脉冲的距离 (1)
航向角差值为:Δθ = θi - θi-1 (2)
式中,θi = ωi Ti ,角速度ωi由惯导的陀螺仪输出。接下来,计算ΔT时间内坐标位移,
由该坐标位移,结合图6几何关系,得出Ti时间点的车辆坐标:
至此,得到A'点的位置以及航向角(Xi,Yi,θi)。
根据采集的实车试验数据,测试总距离1 280 m,运用Matlab工具分析,车辆行驶轨迹结果如图7所示。红色Localpose轨迹与蓝色GPS轨迹基本吻合,但是依然存在一定的误差。Matlab分析距离误差结果如图8所示,红色Localpose轨迹与蓝色GPS轨迹距离误差最大为5 m(10 m以内为可接受误差),且GPS轨迹误差较大。
图 7 基于里程计和陀螺仪的定位算法车辆行驶轨迹
图 8 Localpose 轨迹与 GPS 轨迹距离差
蓝色GPS轨迹与实际行车轨迹的误差比红色LocalPose轨迹与实际行车轨迹的误差要大一些,红色基本为直线,与实际行车情况基本相符,蓝色为不规律曲线,与实际行车情况误差要大一些,这是由于样车惯导质量的原因,本身误差较大。车辆行驶航向角结果如图9所示,红色LocalPose航向角与蓝色GPS航向角曲线基本吻合,最大航向角误差如图10所示,红色LocalPose航向角与蓝色GPS航向角最大偏差为2.5°,在项目技术要求范围内(航向角最大偏差小于5°)。
图 9 车辆行驶航向角
图 10 航向角误差图
根据上述结果,得出实车试验数据分析结论:基于里程计的定位算法航向角最大误差达90°,轨迹距离最大误差500 m,基于里程计和陀螺仪的定位算法航向角最大误差2.5°,轨迹距离最大误差5 m,可以看出,基于里程计和陀螺仪的定位算法得到的车辆行驶轨迹更加贴近实际轨迹,相比基于纯里程计的定位技术精度大大提高,可用于越野环境自动驾驶。搭载该定位系统的自动驾驶车辆在陆军装备部某比赛(越野环境)中取得良好的成绩。
总结
通过分析,本文得出如下研究成果:第一,定位方案对比,结合各种定位方案的特点,最终根据项目实际技术要求及成本需求,提出低成本定位系统方案。第二,提出基于里程计的定位算法,通过实车试验和Matlab分析,该算法航向角误差太大,因此考虑引入陀螺仪,辅助车辆航向角的计算。第三,提出基于里程计和陀螺仪的定位算法,通过实车试验和Matlab分析,该算法得出的车辆实际行驶轨迹与GPS轨迹本身非常相符,能够很好地为自动驾驶车辆提供定位支持。第四,用Matlab分析实验数据,否定了基于里程计的定位算法,确定基于里程计和陀螺仪的组合定位算法为越野环境下自动驾驶车辆定位系统的核心算法。第五,该定位系统运用在自动驾驶越野车自动驾驶系统中,参加陆军装备部组织的某比赛,在比赛中获取良好成绩。
2024-10-29
2024-10-29
2024-11-01
2024-10-29
2024-10-29
2024-10-29
评论
加载更多