一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于小车的车轮编码器标定方法和系统与流程

2022-06-01 10:52:41 来源:中国专利 TAG:


1.本技术涉及编码器标定技术领域,特别涉及一种用于小车的车轮编码器标定方法和系统。


背景技术:

2.相关方案中,通过红外激光测距的原理(又称激光的定位)监测agv的移动情况,进而根据所监测到的移动情况标定与编码器输出结果的对应关系。完成标定后,即可在实际使用中根据编码器的输出结果计算出agv当前移动情况。
3.但是,以红外激光测距的原理对agv进行监测容易受到光线、温度等的影响而不能较准确地反映agv实际运动情况,导致标定不准确,进而导致计算出的agv当前运动情况误差较大。


技术实现要素:

4.为解决以上识别结果错误率较高的技术问题,本发明提供一种能够显著提高识别正确率的车轮编码器标定方法,包括:
5.控制小车原地转动多次;所述小车设有同轴的左轮和右轮;
6.通过视觉定位模块采集所述小车上的标记点在所述小车每次转动后的位姿变化信息,并获取所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度;
7.根据所述标记点在所述小车每次转动后的位姿变化信息、及所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系,以对所述车轮编码器进行标定。
8.进一步地,所述根据所述标记点在所述小车每次转动后的位姿变化信息、及所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系,包括:
9.根据所述标记点在所述小车每次转动后的位姿变化信息,计算所述小车每次转动后的车体转动角度;
10.根据所述小车每次转动后的车体转动角度、所述小车每次转动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮的转动角度、所述右轮的转动角度和所述小车的转动角度之间的对应关系。
11.进一步地,根据所述小车每次转动后的车体转动角度、所述小车每次转动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮的转动角度、所述右轮的转动角度和所述小车的转动角度之间的对应关系,包括:
12.建立表示所述小车多次转动后所述左轮的转动角度和所述右轮的转动角度的二列多行矩阵、以及表示所述小车多次转动后车体转动角度的列矩阵;
13.将所述列矩阵除以所述二列多行矩阵得到表示所述左轮的转动角度、所述右轮的转动角度和所述小车的转动角度对应关系的二行列矩阵。
14.进一步地,所述标记点至少有三个;三个所述标记点不在同一条直线上,且三个所述标记点中每个标记点与其余两个标记点之间的距离不等;所述根据所述标记点在所述小车每次转动后的位姿变化信息,计算所述小车每次转动后的车体转动角度,包括:
15.根据所述标记点之间的距离区分不同的标记点,并得出每次转动后不同标记点的位置关系;
16.将每次转动后不同标记点的位置关系与每次转动前不同标记点的位置关系相比对,得出所述车体转动角度。
17.进一步地,根据所述标记点之间的距离区分不同的标记点,并得出每次转动后不同标记点的位置关系,包括:
18.根据每次转动后三个所述标记点的坐标,计算每次转动后三个所述标记点中不同标记点之间的距离;
19.根据每次转动后三个所述标记之间的距离,确定每次转动后不同标记点的位置关系。
20.进一步地,所述车轮编码器标定方法还包括:
21.控制小车直线移动多次;
22.获取所述小车每次移动后的位移、以及所述小车每次移动后所述左轮的转动角度和所述右轮的转动角度;
23.根据所述车轮转动角度与小车转动角度的对应关系、所述小车每次移动后的位移、以及所述小车每次移动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮和所述右轮之间的距离。
24.进一步地,根据所述车轮转动角度与小车转动角度的对应关系、所述小车每次移动后的位移、以及所述小车每次移动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮和所述右轮之间的距离,包括:
25.建立包括横轴和纵轴的覆盖所述小车移动区域的平面直角坐标系;
26.使用所述车轮转动角度与小车转动角度的对应关系、所述左轮和所述右轮之间的距离表示、以及所述小车每次移动后所述左轮转动角速度、所述右轮转动角速度、所述小车的移动时长以及所述小车的移动方向与所述横轴的夹角,分别表示出所述小车每次移动后沿所述横轴的移动距离和沿所述纵轴的移动距离;
27.令表示出的所述小车每次移动后沿所述横轴的移动距离和沿所述纵轴的移动距离所构成的数组,与根据所述视觉定位模块获得的所述小车每次移动后沿所述横轴的移动距离和沿所述纵轴的移动距离所构成的数组相等,通过最小二乘法计算出所述左轮和所述右轮之间的距离。
28.进一步地,根据所述车轮转动角度与小车转动角度的对应关系、所述小车每次移动后的位移、以及所述小车每次移动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮和所述右轮之间的距离之后,所述方法还包括:
29.根据所述车轮转动角度与小车转动角度的对应关系以及所述左轮和所述右轮之间的距离,标定所述左轮的半径和所述右轮的半径。
30.进一步地,通过视觉定位模块采集所述小车上的标记点在所述小车每次转动后的位姿变化信息,并获取所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角
度,包括:
31.获取所述左轮的转动角速度和对应的转动时间、以及所述右轮的转动角速度和对应的转动时间;
32.根据所述左轮的转动角速度和对应的转动时间计算所述左轮的转动角度,根据所述右轮的转动角速度和对应的转动时间计算所述右轮的转动角度。
33.本技术还提供一种车轮编码器标定系统,包括:
34.控制单元,用于控制小车原地转动多次;所述小车设有同轴的左轮和右轮;
35.获取单元,用于通过视觉定位模块采集所述小车上的标记点在所述小车每次转动后的位姿变化信息,并获取所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度;
36.标定单元,用于根据所述标记点在所述小车每次转动后的位姿变化信息、及所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系,以对所述车轮编码器进行标定。
37.由上述技术方案可知,本技术至少具有如下优点和积极效果:
38.本技术提供了一种用于小车的车轮编码器标定方法和系统,相对于现有的激光定位标定方法,不受环境光线和温度等影响,而且能够更为方便、准确地获取小车的位姿变化信息,进而对车轮编码器进行较为准确的标定。
附图说明
39.图1是本技术一实施例中车轮编码器标定方法的流程图。
40.图2是本技术一实施例中编码器标定以及精度评估的流程示意图。
41.图3是本技术一实施例中车轮编码器标定系统结构示意框图。
42.图4是本技术一实施例中电子设备的硬件结构示意图。
43.图5是本技术一实施例中存储介质外观结构示意图。
具体实施方式
44.体现本技术特征与优点的典型实施方式将在以下的说明中详细叙述。应理解的是本技术能够在不同的实施方式上具有各种的变化,其皆不脱离本技术的范围,且其中的说明及图示在本质上是当作说明之用,而非用以限制本技术。
45.在本技术的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
46.在附图所示的实施方式中,方向的指示(诸如上、下、左、右、前和后)用于解释本技术的各种元件的结构和运动不是绝对的而是相对的。当这些元件处于附图所示的位置时,这些说明是合适的。如果这些元件的位置的说明发生改变时,则这些方向的指示也相应地改变。
47.术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含
地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
48.在本技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
49.agv即自动导引运输车,也称无人搬运车,是装备有电磁或光学等自动导引装置,具有多种移载功能的运输车。通过车轮编码器可以检测车轮转动的速度,进而根据车轮半径、两轮间距等参数可以计算出agv的移动距离、转动角度等移动情况。
50.虽然在agv生产装配之前,车轮的半径、两轮的间距等参数已经预先设定,但是由于加工及装配误差、实际使用环境的热胀冷缩、使用过程中的磨损以及受到压力产生的微量结构变形等都会导致agv实际移动情况与按照设计参数和车轮转速所计算出的位移情况存在误差。
51.相关方案中,通过红外激光测距的原理(可称为激光定位)监测agv实际的位移情况,进而根据所监测到的位移情况作为参考进行标定相关参数,从而调整根据编码器检测到的车轮转速等计算出的agv当前运动情况。但是,以红外激光测距的原理对agv进行监测容易收到环境光线、温度的影响而不能很好地反映小车实际的位置,而且其标定的方法也是结合激光定位利用最近迭代点去计算两个位置之间的变换角度,这种定位和标定方法存在较大误差。
52.下面将以具体的实施例对本技术所提出的用于小车的车轮编码器标定方法和系统进行详细描述。
53.请参阅图1,图1是根据一示例性实施例示出的一种车轮编码器标定方法的流程图。
54.本示例中,小车的车体上固定设置有多个标记点。小车设有至少两个同轴的左轮和右轮。左轮和右轮分别设有对应的编码器。小车具体可以是agv(自动导引运输车)。
55.该用于小车的车轮编码器标定方法至少包括步骤s1至步骤s3,详细介绍如下:
56.步骤s1,控制小车原地转动多次;所述小车设有同轴的左轮和右轮;
57.步骤s2,通过视觉定位模块采集所述小车上的标记点在所述小车每次转动后的位姿变化信息,并获取所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度;
58.步骤s3,根据所述标记点在所述小车每次转动后的位姿变化信息、及所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系,以对所述车轮编码器进行标定。
59.在上述步骤s1和步骤s2中,测试场地可以是平坦的地面。将小车放置在测试场地中,然后控制小车做多次不少于180
°
的原地转动,同时使用视觉定位模块根据小车上标记点的移动信息来捕捉小车每次的旋转运动。每次转动后小车上标记点的位姿变化信息,是由多个标记点的绕小车的转动中心点转动后所产生的位姿变化,获得了小车上标记点的位姿变化信息也即获得了小车的位姿变化信息。其中,位姿变化信息可以是在平面上的转动角度。同时,使用对应于左轮的车轮编码器的反馈信息获得小车每次转动后左轮的转动角
度,使用对应于右轮的车轮编码器的反馈信息获得小车每次转动后右轮的转动角度。
60.其中,获取小车每次转动后的所述左轮的转动角度和右轮的转动角度,具体可按如下步骤进行:
61.获取所述左轮的转动角速度和对应的转动时间、以及所述右轮的转动角速度和对应的转动时间;
62.根据所述左轮的转动角速度和对应的转动时间计算所述左轮的转动角度,根据所述右轮的转动角速度和对应的转动时间计算所述右轮的转动角度。
63.在以上步骤中,通过左轮的编码器可获取小车每次转动对应的左轮转动角速度,通过右轮的编码器可获取小车每次转动对应的右轮转动角速度。进而,将小车每次转动对应的左轮转动角速度乘以转动时间,可得出小车每次转动的左轮转动角度。将小车每次转动对应的右轮转动角速度乘以转动时间,可得出小车每次转动的右轮转动角度。
64.在上述步骤s3中,根据以上步骤中视觉定位模块所采集的小车每次转动后标记点的位姿变化信息,以及由车轮编码器反馈的信息所获得的小车每次转动后左轮的转动角度和右轮转动角度,即可标定出车轮转动角度与小车转动角度的对应关系。
65.其中车轮转动角度与小车转动角度的对应关系,也即左轮的转动角度、右轮的转动角度和小车转动角度的对应关系。标定出车轮转动角度与小车转动角度的对应关系后,就可以进行下一步的如左轮和右轮之间的距离、左轮的半径和右轮的半径等进行标定。
66.在一些实施例中,上述根据所述标记点在所述小车每次转动后的位姿变化信息、及所述小车每次转动后的所述左轮的转动角度和所述右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系,具体可按照以下步骤进行:
67.根据所述标记点在所述小车每次转动后的位姿变化信息,计算所述小车每次转动后的车体转动角度;
68.根据所述小车每次转动后的车体转动角度、所述小车每次转动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮的转动角度、所述右轮的转动角度和所述小车的转动角度之间的对应关系。
69.在以上步骤中,由于小车每次均是原地转动,每次转动后小车上标记点的位姿变化信息也就是是由多个标记点的绕小车的转动中心点转动后所产生的位置变化。进而,可通过各标记点的位置变化而计算出小车的转动角度。根据计算出的每次转动后小车的转动角度,结合对应的每次转动后左轮的转动角度和每次转动后右轮的转动角度,可标定出左轮的转动角度、右轮的转动角度和小车的转动角度的对应关系。
70.在一些实施例中,小车的车体上至少固定有三个标记点。三个标记点不在同一条直线上,且三个标记点中每个标记点与其余两个标记点之间的距离不等。其中,根据所述标记点在所述小车每次转动后的位姿变化信息,计算所述小车每次转动后的车体转动角度的步骤,包括:
71.根据所述标记点之间的距离区分不同的标记点,并得出每次转动后不同标记点的位置关系;
72.将每次转动后不同标记点的位置关系与每次转动前不同标记点的位置关系相比对,得出所述车体转动角度。
73.在以上步骤中,根据该至少的三个标记点的距离关系,可以区分出不同的标记点。
视觉定位模块本身不具备区别不同标记点的功能,但能采集到区域中标记点的位置坐标。本方案通过在小车上按特定规则固定布置多个标记点,达到区分不同标记点,进而实现对小车位姿监测。
74.具体地,可以按照以下步骤进行:
75.根据每次转动后三个所述标记点的坐标,计算每次转动后三个所述标记点中不同标记点之间的距离。在该步骤中,获取移动后三个标记点的坐标后,就可以计算出三个标记点之间的距离。
76.根据每次转动后三个所述标记之间的距离,确定每次转动后不同标记点的位置关系。因为固定在小车上的三个标记点之间的距离和位置关系不会发生变化,从而通过将移动后三个标记之间的距离与设定标记点之间的距离相比对可以判断出不同的标记点,进而确定移动后不同标记点的位置关系。
77.例如,a点和b点纵向(沿小车的前后方向)并列布置在小车上,a点和b点的距离为10cm。相对于小车本体,a点位于b点的正前方。b点和c点横向(沿小车的左右方向)并列布置在小车上,b点和c点的距离为5cm。相对于小车本体,c点位于b点的正右方。则,无论小车处于什么位姿状态,均可以在获取a、b、c三个标记点的位置坐标后,通过计算三个标记点之间的距离而区分三个不同的标记点,进而确定三个不同标记点的位置关系。
78.如以上步骤所述,转动后不同标记点的位置关系,反映了转动后小车的朝向。转动前不同标记点的位置关系,反映了转动前小车的朝向。在上述步骤中,确定了三个不同标记点的位置关系,也即确定了小车的位置和朝向。进而根据转动后小车朝向与转动前小车的朝向相对比,从而可以小车的车体转动角度。
79.在一些实施例中,上述根据所述小车每次转动后的车体转动角度、所述小车每次转动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮的转动角度、所述右轮的转动角度和所述小车的转动角度之间的对应关系的步骤,具体可按照如下步骤进行:
80.建立表示所述小车多次转动后所述左轮的转动角度和所述右轮的转动角度的二列多行矩阵、以及表示所述小车多次转动后车体转动角度的列矩阵;
81.将所述列矩阵除以所述二列多行矩阵得到表示所述左轮的转动角度、所述右轮的转动角度和所述小车的转动角度对应关系的二行列矩阵。
82.在上述步骤中,将小车每次转动后左轮的转动角度和右轮的转动角度作为多行矩阵其中的一行,进而可将小车多次转动后所得到的多对数值组成一个二列多行矩阵,例如:
83.将第一次转动后,左轮的转动角度记为θ
l0
,右轮的转动角度记为θ
r0

84.将第二次转动后,左轮的转动角度记为θ
l1
,右轮的转动角度记为θ
r1

85.依此类推,将第n 1次转动后,左轮的转动角度记为θ
ln
,右轮的转动角度记为θ
rn

86.则组成的表示小车每次转动后左轮的转动角度和右轮的转动角度的二列多行矩阵如下述式1所示:
[0087][0088]
将小车每次转动后车体的转动角度建立成与上述二列多行矩阵对应的列矩阵,例
如,小车每次转动后车体的转动角度依次为s
θ0
至s
θn
,则建立的列矩阵为如下述式2所示:
[0089][0090]
其中,二列多行矩阵中的每一行的数值与列矩阵中的对应行的数值,是在小车同一次转动中所获取的。
[0091]
如以上步骤所述,将所述列矩阵除以所述二列多行矩阵,即可得到表示左轮的转动角度、右轮的转动角度和小车的转动角度对应关系的二行列矩阵。可将表示左轮的转动角度、右轮的转动角度和小车的转动角度对应关系的二行列矩阵用由j
21
和j
22
构成的列矩阵来表示,也即,表示小车每次转动后左轮的转动角度和右轮的转动角度的二列多行矩阵、通过视觉定位模块捕捉的小车每次转动后车体的转动角度构成的列矩阵,以及由j
21
和j
22
构成的列矩阵的关系如下述式3所示:
[0092][0093]
从而,将小车每次转动获得的数据按照上述关系代入后,使用最小二乘方法进行求解,即可获得j
21
和j
22
,也即标定了左轮的转动角度、右轮的转动角度和小车的转动角度的对应关系。
[0094]
以上表示所述小车多次转动后所述左轮的转动角度和所述右轮的转动角度的二列多行矩阵和表示所述小车多次转动后车体转动角度的列矩阵的对应关系,可通过以下方法推导出来:
[0095]
将左轮和右轮之间的间距表示b。这里b等于左轮和右轮到达车体中心的两倍。将左轮的半径表示为r
l
。将右轮的半径表示为rr。将左轮的前进速度表示为v
l
。将右轮的前进速度表示为vr。将左轮的转动角速度表示为ω
l
。将右轮的转动角速度表示为ωr。将车体中心的前进速度表示为v。车体中心的前进速度v,可视为小车的前进速度。将车体的转动角速度表示为ω。
[0096]
可得式4和式5:
[0097][0098][0099]
根据式4和式5得如下式6:
[0100][0101]
将车体中心的前进速度和转动速度的变换矩阵记为j,
[0102]
可得式7
[0103]
结合式6和式7可得式8如下:
[0104][0105]
对小车的转动角速度进行积分,得到小车每一时刻的转动角度,即如式9所示:
[0106]
θ(t)=∫ω(t)dt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式9)
[0107]
由式7可得:
[0108][0109]
其中,j
21
表示j矩阵的第二行第一列数值,j
22
表示j矩阵的第二行第二列数值,j
11
表示j矩阵的第一行第一列数值,j
12
表示j矩阵的第一行第二列数值。
[0110]
进而可以将j
11
和j
12
分别用j
21
和j
22
进行表示,进而得到如下式11和式12:
[0111][0112][0113]
将ω
t
用ω
l
和ωr进行表示,得如下式13和式14:
[0114]
ω(t)=ω=j
21
ω
l
j
22
ωrꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式13)
[0115]
v(t)=v=j
11
ω
l
j
12
ωrꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式14)
[0116]
将式11和式12代入式14中,得如下所示的式15:
[0117][0118]
将式13代入式9,得:
[0119]
θ(t)=∫ω(t)dt=∫j
21
ω
l
j
22
ωrdt
[0120]
进而可得如下式16,
[0121]
将视觉定位模块得到的旋转角度表示为s
θ
。初始的j
21
和j
22
可由实际测量的两轮半径和两轮间距而得。
[0122]
由式16,结合左轮和右轮的转动角度,根据多组实验数组构建每次移动左轮的转动角度、右轮的转动角度和对应关系视觉定位模块得到的转动角度的对应关系,如以下式17所示:
[0123][0124]
其中,ω
l0
δt0表示小车第一次转动后左轮的转动角度,ω
r0
δt0表示小车第一次转动后右轮的转动角度,ω
l1
δt1表示小车第二次转动后左轮的转动角度,ω
r1
δt1表示小
车第二次转动后右轮的转动角度,依此类推。
[0125]
进而,根据获取的实验数据使用最小二乘方法对式17进行求解,即可获得j
21
和j
22
,也即标定了左轮的转动角度、右轮的转动角度和小车的转动角度的对应关系。
[0126]
标定了左轮的转动角度、右轮的转动角度和小车的转动角度的对应关系之后,在小车出厂后的实际使用中,即可根据左轮和右轮的转动参数计算出表示小车位姿的数据。
[0127]
继续参照图1,本技术一些实施例中,在标定了车轮转动角度与小车转动角度的对应关系之后,用于小车的车轮编码器标定方法还包括如下步骤:
[0128]
步骤s4,控制小车直线移动多次;
[0129]
步骤s5,获取所述小车每次移动后的位移、以及所述小车每次移动后所述左轮的转动角度和所述右轮的转动角度;
[0130]
步骤s6,根据所述车轮转动角度与小车转动角度的对应关系、所述小车每次移动后的位移、以及所述小车每次移动后所述左轮的转动角度和所述右轮的转动角度,标定所述左轮和所述右轮之间的距离。
[0131]
在上述步骤s4和步骤s5中,测试场地可以是平坦的地面。将小车放置在测试场地中,然后控制小车做多次直线移动。使用视觉定位模块根据小车上标记点的移动信息来捕捉小车每次的移动,从而获得每次移动后小车的位移。通过左轮的编码器反馈的小车每次移动的左轮转动角速度和转动时间,可以获得小车每次移动对应的左轮转动角度。通过右轮的编码器反馈的小车每次移动的右轮转动角速度和转动时间,可以获得小车每次移动对应的右轮转动角度。
[0132]
在上述步骤s6中,根据已经标定的车轮转动角度与小车转动角度的对应关系,以及通过步骤s4和步骤s5所获取的小车每次移动后的位移、以及小车每次移动后左轮的转动角度和右轮的转动角度,就可以标定出左轮和右轮之间的距离。
[0133]
在一些实施例中,标定左轮和右轮之间的距离的具体步骤如下:
[0134]
建立包括横轴和纵轴的覆盖所述小车移动区域的平面直角坐标系;
[0135]
使用所述车轮转动角度与小车转动角度的对应关系、所述左轮和所述右轮之间的距离表示、以及所述小车每次移动后所述左轮转动角速度、所述右轮转动角速度、所述小车的移动时长以及所述小车的移动方向与所述横轴的夹角,分别表示出所述小车每次移动后沿所述横轴的移动距离和沿所述纵轴的移动距离;
[0136]
令表示出的所述小车每次移动后沿所述横轴的移动距离和沿所述纵轴的移动距离所构成的数组,与根据所述视觉定位模块获得的所述小车每次移动后沿所述横轴的移动距离和沿所述纵轴的移动距离所构成的数组相等,通过最小二乘法计算出所述左轮和所述右轮之间的距离。
[0137]
如上述步骤所述,建立一个包括横轴和纵轴的覆盖小车移动区域的平面直角坐标系,从而小车再区域内的位移情况均可在该直角坐标系中表现出来。
[0138]
在上述步骤中,使用已标定的车轮转动角度与小车转动角度的对应关系、左轮和右轮之间的距离表示、以及小车每次移动后左轮转动角速度、右轮转动角速度、小车的移动时长以及小车的移动方向与横轴的夹角,可以分别表示出小车每次移动后沿横轴的移动距离和沿纵轴的移动距离,具体过程如下:
[0139]
在以x轴作为横轴和y轴作为纵轴构成的直角坐标系中,对小车每一时刻的前进速
度进行积分,得到:
[0140]
小车沿x轴方向的位移如式18所示:
[0141]
x(t)=∫v(t)cosθ(t)dt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式18)
[0142]
将以上实施例中式1代入本实施例式18,得如下式19
[0143][0144]
其中,c
x
代表式19中已知的或可以获取的量。
[0145]
小车沿y轴方向的位移如式20所示:
[0146]
y(t)=∫v(t)sinθ(t)dt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式20)
[0147]
将以上实施例中式15代入本实施例式20,得式21如下:
[0148][0149]
其中,cy代表式21中已知的或可以获取的量。
[0150]
在上述步骤中,具体可将视觉定位模块获得的小车在x轴方向和y轴方向上的位移分别表示为s
x0
和s
y0
。令表示出的小车每次移动后沿横轴的移动距离和沿纵轴的移动距离所构成的数组,与根据视觉定位模块获得的小车每次移动后沿横轴的移动距离和沿纵轴的移动距离所构成的数组相等。根据多组实验数据构建对应关系如以下式22所示:
[0151][0152]
使用最小二乘法对式22求解,得到b,从而完成对左轮和右轮之间的距离的标定。
[0153]
继续参照图1,本技术一些实施例中,完成车轮转动角度与小车转动角度的对应关系的标定以及左轮和右轮之间的距离的标定后,所述用于小车的编码器的标定方法还包括:
[0154]
步骤s7,根据车轮转动角度与小车转动角度的对应关系以及左轮和右轮之间的距离,标定左轮的半径和右轮的半径。具体如下:
[0155]
从以上实施例中的公式组10可得出如下式23:
[0156]rl
=-j
21
b rr=j
22bꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式23)
[0157]
由此可根据标定出的j
21
和j
22
和b计算得到r
l
和rr。
[0158]
至此,小车左轮半径r
l
和右轮半径rr以及两轮间距b都已标定完成。
[0159]
参照图2,一些实施例中,完成对两轮间距b和车轮半径r放入标定后,还可以标定精度进行评估,具体方法如下。
[0160]
评估车轮编码器标定的直线精度:
[0161]
控制小车在平坦地面上做一定距离的直线运动,同时使用视觉定位模块捕捉该直线运动,并从车轮编码器获取小车左轮转动角速度ω
l
和右轮转动角速度ωr。重复以上步骤,得到多组数据。然后,使用标定完成的两轮间距b和车轮半径r计算小车从开始到停止所
行驶的距离sv。由视觉定位模块获取小车行驶的距离sm,即小车实际行驶经过的距离。将由编码器计算得到的行驶距离sv和由视觉定位模块得到的行驶距离距离sm对比分析误差,从而可得到车轮编码器标定的直线行驶精度。具体评估公式如下式24:
[0162][0163]
其中,s
v0
至s
vn
表示多次实验中,按照标定和左右轮转动角速度计算出来的多个行驶距离。s
m0
至s
mn
表示多次实验中,由视觉定位模块获取的多个行驶距离。e
l0
至e
ln
表示每次实验的误差。若误差在允许的范围内,则可认为标定精度满足使用要求。若误差超过一定的范围,则可认为标定精度没能满足使用要求。标定精度不能满足使用要求的情况下,可以更换精度更高的编码器,重新进行标定。
[0164]
评估车轮编码器标定的旋转精度:
[0165]
控制小车在平坦地面上做不低于180
°
的原地旋转运动,同时使用视觉定位模块捕捉该旋转运动,并从车轮编码器获取小车左轮转动角速度ω
l
和右轮转动角速度ωr。重复以上步骤得到多组数据。然后,使用标定完成的两轮间距b和车轮半径r计算小车从开始到停止所转过的角度θv。由视觉定位模块获取小车转过的角度θm,即小车实际转过的角度。将由编码器计算得到的角度θv和视觉定位模块得到的角度θm对比分析误差,从而可得到车轮编码器的标定的旋转角度精度。具体评估公式如下式25:
[0166][0167]
其中,θ
m0
至θ
mn
表示多次实验中,按照标定和左右轮转动角速度计算出来的多个行驶距离。s
v0
至s
vn
表示多次实验中,由视觉定位模块获取的多个行驶距离。e
w0
至e
wn
表示每次实验的误差。若误差在允许的范围内,则可认为标定精度满足使用要求。若误差超过一定的范围,则可认为标定精度没能满足使用要求。标定精度不能满足使用要求的情况下,可以更换精度更高的编码器,重新进行标定。
[0168]
其中,图2示出了本技术方案编码器标定以及对标定精度进行评估的整个过程:
[0169]
控制小车做多次原地转动,编码器1通过流程2获取每次旋转的左轮转速ω
l
和右轮转速ωr,然后根据每次转动的左轮转速ω
l
和右轮转速ωr在流程3中表示出小车每次转动车体转动的角度。运动捕捉系统4的视觉定位模块通过流程5捕捉小车每次的原地旋转运动,获得捕捉到的车体每次转动的角度。在流程6中,根据流程3中表示出的小车每次转动的车体转动角度以及流程5中由运动捕捉系统4捕捉到的车体每次的转动的角度得出j
21
和j
22
,也即标定了左轮的转动角度、右轮的转动角度和小车的转动角度的对应关系。
[0170]
控制小车做多次直线运动,编码器1通过流程7获取每次直线运动中小车的左轮转速ω
l
和右轮转速ωr,然后根据每次直线运动的左轮转速ω
l
和右轮转速ωr在流程8中表示
出小车每次直线运动中车体所走过的距离。运动捕捉系统4的视觉定位模块通过流程9捕捉小车每次的直线运动,获得捕捉到的车体每次直线运动的位移/距离。在流程10中,根据流程8中表示出的小车每次直线运动的车体所走过的距离以及流程9中由运动捕捉系统4捕捉到的车体每次的直线运动所走过的距离,可计算出小车左轮和右轮的距离b,也即完成车轮距离的标定。
[0171]
在流程11中,根据在流程6标定好的j
21
和j
22
,以及流程10中标定好的左轮和右轮的距离b,可以计算出左轮半径r
l
和右轮半径rr,从而完成对左轮半径和右轮半径的标定。完成以上各项标定后,在流程12中,对标定精度进行评估。
[0172]
编码器标定好后,即使各项标定精度均能够满足使用要求,但在小车使用一段时间后,车轮可能会产生磨损,左轮和右轮的间距也可能会发生变化。因而,需要定期或根据使用情况不定期地对标定精度进行重新评估。对标定精度进行重新评估时,可按照以上实施例中的方法,在小车上固定设置多个标记点后,通过视觉定位模块,配合编码器输出数据,对标定精度进行重新评估。若发现精度已经无法满足使用要求,则可按照以上实施例中的方法,对编码器进行重新标定。
[0173]
参照图3,本技术还提供一种车轮编码器标定系统,系统包括控制单元810、获取单元820和标定单元830。
[0174]
控制单元810用于控制小车原地转动多次。在一些实施例中,控制单元810也可以用于控制小车沿直线移动或控制小车沿曲线移动。
[0175]
其中,小车设有同轴的左轮和右轮。小车具体可以是agv(自动导引运输车)。
[0176]
获取单元820用于通过视觉定位模块采集小车上的标记点在小车每次转动后的位姿变化信息,并获取小车每次转动后的左轮的转动角度和右轮的转动角度。在一些实施例中,获取单元820也可用于通过视觉定位模块采集小车上的标记点在小车每次直线移动或曲线移动后的位姿变化信息,并获取小车每次转动后的左轮的转动角度和右轮的转动角度。
[0177]
获取单元820具体可以包括视觉定位模块以及获取模块。通过视觉定位模块可以感测小车上标记点的位姿变化,从而来获取每次转动或移动后小车上标记点的位姿变化信息。每次转动或移动后小车上标记点的位姿变化信息可在小车每次转动或移动过程中获取,也可在多次转动或移动后,通过每次转动或移动的记录来一次性获取对应每次转动或移动的位姿变化信息。标记点的位姿变化信息具体可包括标记点的位移、转动角度等信息。获取模块则用来根据每次转动或移动时车轮编码器检测到的左轮的角速度、右轮的角速度以及对应的转动时间来获取左轮的转动角度和右轮的转动角度。
[0178]
标定单元830用于根据标记点在小车每次转动后的位姿变化信息、及小车每次转动后的左轮的转动角度和右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系,以对车轮编码器进行标定。
[0179]
标定单元830可根据获取单元获得的每次转动后标记点的位姿变化信息,结合每次转动后左轮的转动角度和每次转动后右轮的转动角度,标定车轮转动角度与小车转动角度的对应关系。小车转动角度可通过小车上标记点的位姿变化信息来获取。其中,车轮转动角度与小车转动角度的对应关系,也即左轮的转动角度、右轮的转动角度和小车转动角度的对应关系。对应关系可通过以上小车多次转动获得的数据/信息通过矩阵进行表示。
[0180]
标定单元830也可根据每次移动后标记点的位姿变化信息、每次移动后左轮的转动角度和每次移动后右轮的转动角度,标定左轮与右轮的距离。例如,根据每次移动后标记点的位移、每次移动后左轮的转动角度和每次移动后右轮的转动角度,结合已知的或预先标定的左轮的转动角度、右轮的转动角度和小车转动角度的对应关系,则可以对左轮与右轮的距离进行标定。标定的左轮与右轮的距离也可通过矩阵表示。
[0181]
一实施例中,本技术还提供一种电子设备,包括存储器和处理器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所述的用于小车的车轮编码器标定方法。
[0182]
图4是根据一示例性实施例所示出的一种电子设备的硬件结构示意图。
[0183]
需要说明的是,该电子设备只是一个适配于本技术的示例,不能认为是提供了对本技术的使用范围的任何限制。该电子设备也不能解释为需要依赖于或者必须具有图4中示出的示例性的电子设备中的一个或者多个组件。
[0184]
该电子设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图4所示,电子设备包括:电源910、接口930、至少一存储器950、以及至少一中央处理器(cpu,central processing units)970。
[0185]
其中,电源910用于为电子设备上的各硬件设备提供工作电压。
[0186]
接口930包括至少一有线或无线网络接口931、至少一串并转换接口933、至少一输入输出接口935以及至少一usb接口937等,用于与外部设备通信。
[0187]
存储器950作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统951、应用程序953或者数据955等,存储方式可以是短暂存储或者永久存储。
[0188]
其中,操作系统951用于管理与控制电子设备上的各硬件设备以及应用程序953,以实现中央处理器970对海量数据955的计算与处理,其可以是windows servertm、mac os xtm、unixtm、linuxtm等。应用程序953是基于操作系统951之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图4中未示出),每个模块都可以分别包含有对电子设备的一系列计算机可读指令。数据955可以是存储于磁盘中的http协议数据等。
[0189]
中央处理器970可以包括一个或多个以上的处理器,并设置为通过总线与存储器950通信,用于运算与处理存储器950中的海量数据955。
[0190]
如上面所详细描述的,适用本技术的电子设备将通过中央处理器970读取存储器950中存储的一系列计算机可读指令的形式来完成前述实施例所述的用于小车的车轮编码器标定方法。
[0191]
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本技术,因此实现本技术并不限于任何特定硬件电路、软件以及两者的组合。
[0192]
参照图5,在一实施例中,本技术还提供一种计算机可读存储介质1000,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所述的用于小车的车轮编码器标定方法。
[0193]
虽然已参照几个典型实施方式描述了本技术,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本技术能够以多种形式具体实施而不脱离本技术的精神或实质,所以应当理解,上述实施方式不限于任何前述的细节,而应在随附权利要求所限定
的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献