System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及无人驾驶车辆,具体而言,涉及一种用于无人清扫车的横向误差补偿方法及装置。
技术介绍
1、无人清扫车的导航装置天线安装误差或是定位算法所使用激光雷达安装误差,导致清扫车运行过程中存在固定的车辆偏航角偏差,转向轮的中位标定误差使得清扫车运行过程中存在固定的航向偏离误差,这两种误差都会造成无人清扫车自动驾驶中会存在稳定的横向误差,影响清扫车贴边清扫效果。目前针对上述两种因素导致的稳定横向偏差,现有的解决方法中多采用优化算法进行误差补偿,具体的,可以以横向误差作为输入,对车辆航向角和车轮中位偏移角进行补偿,达到一种自适应实时再标定的效果,实现对稳态误差的消除。
2、然而,由于这些方法需要动态快速调整,所以其输出频率较高,极易与本身车辆的横向控制算法的结果发生干涉,造成行驶不稳定、走s弯以及车头摆动的情形。因此,如何对无人清扫车进行横向误差补偿,且不影响无人清扫车正常行驶,成为一个亟待解决的技术问题。
技术实现思路
1、本申请提供了一种用于无人清扫车的横向误差补偿方法及装置,以对无人清扫车进行横向误差补偿,且不影响无人清扫车正常行驶。具体的技术方案如下。
2、第一方面,本申请实施例提供一种用于无人清扫车的横向误差补偿方法,所述方法包括:
3、确定所述无人清扫车的累计行驶量,并判断所述累计行驶量是否大于或等于预设阈值;所述累计行驶量包括累计行驶距离或累计控制周期;
4、当所述累计行驶量大于或等于所述预设阈值时,计算所述无人清扫车在所述累
5、获取预先制定的横向误差标定表,根据所述横向误差标定表确定所述当前平均横向误差对应的当前角度补偿值,并将所述累计行驶量置零;所述横向误差标定表中包括各平均横向误差与角度补偿值的对应关系;
6、确定所述无人清扫车横向控制算法输出的前轮转角值,并根据所述前轮转角值和所述当前角度补偿值,确定输出至所述无人清扫车底盘的转向控制量。
7、可选的,所述计算所述无人清扫车在所述累计行驶量内的当前平均横向误差的步骤包括:
8、计算所述无人清扫车在所述累计行驶量内各时刻的即时横向误差;
9、计算每个所述即时横向误差的平均值,作为所述无人清扫车在所述累计行驶量内的平均横向误差。
10、可选的,所述计算所述无人清扫车在所述累计行驶量内各时刻的即时横向误差的步骤包括:
11、针对所述无人清扫车在所述累计行驶量内的每个时刻,根据以下公式计算该时刻所述无人清扫车的即时横向误差lat_error:
12、lat_error=cos(yaw)dy-sin(yaw)dx
13、dy=ym-y
14、dx=xm-x
15、其中,yaw为所述无人清扫车在该时刻的偏航角,(x,y)为所述无人清扫车在该时刻的实际位置,(xm,ym)为参考轨迹上与(x,y)距离最近的匹配点。
16、可选的,所述根据所述横向误差标定表确定所述当前平均横向误差对应的当前角度补偿值的步骤包括:
17、在所述横向误差标定表中查找是否存在所述当前平均横向误差;
18、当所述横向误差标定表中存在所述当前平均横向误差时,在所述横向误差标定表中查找所述当前平均横向误差对应的角度补偿值,作为所述当前平均横向误差对应的当前角度补偿值;
19、当所述横向误差标定表中不存在所述当前平均横向误差时,获取根据所述横向误差标定表拟合得到的横向误差与角度补偿值的关系曲线,根据所述关系曲线确定所述当前平均横向误差对应的当前角度补偿值。
20、可选的,所述根据所述前轮转角值和所述当前角度补偿值,确定输出至所述无人清扫车底盘的转向控制量的步骤包括:
21、将所述前轮转角值和所述当前角度补偿值之和,确定为输出至所述无人清扫车底盘的转向控制量。
22、可选的,所述横向误差标定表的制定过程包括:
23、确定所述无人清扫车在未加角度补偿值执行预定自动驾驶任务后对应的初始平均横向误差;所述预定自动驾驶任务包括所述无人清扫车在预设任务场景中行驶预定距离;所述预设任务场景至少包括:直线行驶、转弯、倒车、避让障碍物;
24、依次对所述无人清扫车加入不同的角度补偿值,确定所述无人清扫车执行所述预定自动驾驶任务后对应的目标平均横向误差;
25、针对每个所述角度补偿值,将该角度补偿值对应的目标平均横向误差与所述初始平均横向误差的差值,作为该角度补偿值对应的平均横向误差,并构建包括各所述角度补偿值和平均横向误差对应关系的横向误差标定表。
26、可选的,所述针对每个所述角度补偿值,将该角度补偿值对应的目标平均横向误差与所述初始平均横向误差的差值,作为该角度补偿值对应的平均横向误差之后,所述方法还包括:
27、获取预定的平均横向误差阈值;
28、针对每个所述角度补偿值,当该角度补偿值对应的平均横向误差大于或等于所述平均横向误差阈值时,清除该角度补偿值以及对应的平均横向误差。
29、第二方面,本申请实施例提供一种用于无人清扫车的横向误差补偿装置,所述装置包括:
30、累计行驶量确定模块,用于确定所述无人清扫车的累计行驶量,并判断所述累计行驶量是否大于或等于预设阈值;所述累计行驶量包括累计行驶距离或累计控制周期;
31、横向误差计算模块,用于当所述累计行驶量大于或等于所述预设阈值时,计算所述无人清扫车在所述累计行驶量内的当前平均横向误差;
32、角度补偿值确定模块,用于获取预先制定的横向误差标定表,根据所述横向误差标定表确定所述当前平均横向误差对应的当前角度补偿值,并将所述累计行驶量置零;所述横向误差标定表中包括各平均横向误差与角度补偿值的对应关系;
33、转向控制模块,用于确定所述无人清扫车横向控制算法输出的前轮转角值,并根据所述前轮转角值和所述当前角度补偿值,确定输出至所述无人清扫车底盘的转向控制量。
34、可选的,所述横向误差计算模块,包括:
35、即时横向误差计算子模块,用于计算所述无人清扫车在所述累计行驶量内各时刻的即时横向误差;
36、平均横向误差计算子模块,用于计算每个所述即时横向误差的平均值,作为所述无人清扫车在所述累计行驶量内的平均横向误差。
37、可选的,所述即时横向误差计算子模块,具体用于:
38、针对所述无人清扫车在所述累计行驶量内的每个时刻,根据以下公式计算该时刻所述无人清扫车的即时横向误差lat_error:
39、lat_error=cos(yaw)dy-sin(yaw)dx
40、dy=ym-y
41、dx=xm-x
42、其中,yaw为所述无人清扫车在该时刻的偏航角,(x,y)为所述无人清扫车在该时刻的实际位置,(xm,ym)为参考轨迹上与(x,本文档来自技高网...
【技术保护点】
1.一种用于无人清扫车的横向误差补偿方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述计算所述无人清扫车在所述累计行驶量内的当前平均横向误差的步骤包括:
3.根据权利要求2所述的方法,其特征在于,所述计算所述无人清扫车在所述累计行驶量内各时刻的即时横向误差的步骤包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述横向误差标定表确定所述当前平均横向误差对应的当前角度补偿值的步骤包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述前轮转角值和所述当前角度补偿值,确定输出至所述无人清扫车底盘的转向控制量的步骤包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述横向误差标定表的制定过程包括:
7.根据权利要求6所述的方法,其特征在于,所述针对每个所述角度补偿值,将该角度补偿值对应的目标平均横向误差与所述初始平均横向误差的差值,作为该角度补偿值对应的平均横向误差之后,所述方法还包括:
8.一种用于无人清扫车的横向误差补偿装置,其特征在于,所述装置
9.根据权利要求8所述的装置,其特征在于,所述横向误差计算模块,包括:
10.根据权利要求9所述的装置,其特征在于,所述即时横向误差计算子模块,具体用于:
...【技术特征摘要】
1.一种用于无人清扫车的横向误差补偿方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述计算所述无人清扫车在所述累计行驶量内的当前平均横向误差的步骤包括:
3.根据权利要求2所述的方法,其特征在于,所述计算所述无人清扫车在所述累计行驶量内各时刻的即时横向误差的步骤包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述横向误差标定表确定所述当前平均横向误差对应的当前角度补偿值的步骤包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述前轮转角值和所述当前角度补偿值,确定输出至所述无人清扫车底盘的...
【专利技术属性】
技术研发人员:梁爽,窦凤谦,陶鑫,白云龙,
申请(专利权)人:云创智行科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。