双舵轮参数标定方法、装置、设备及存储介质与流程

专利2023-02-18  91



1.本技术涉及移动机器人技术领域,提供一种双舵轮参数标定方法、装置、设备及存储介质。


背景技术:

2.自动导向车(automated guided vehicle,agv),通常也称为agv小车,其驱动方式可以分为差动轮驱动、单舵轮驱动和双舵轮驱动。双舵轮相对单舵轮而言,在复杂动态环境中作业更加灵活,基于双舵轮的agv小车实现高精度伺服移动规划控制的其中一个关键即为双舵轮的参数标定。
3.目前,在双舵轮标定过程中,通过控制前舵轮和后舵轮处于设定的旋转角度,并以相同的转速向前运动或向后运动,如果车体的运动轨迹顺时针偏转,则以相同的角度逆时针调整前后舵轮的旋转角度,如果车体的运动轨迹逆时针偏转,则以相同的角度顺时针调整前后舵轮的旋转角度,直至运动轨迹无偏转后,以舵轮各自的当前位置作为零点进行前后舵轮的调偏。但是,该方法基于车体顺时针偏,逆时针调整舵轮的方法无法泛化,是一种基于经验进行调偏的方法,并且该方法仅仅标定了双舵轮的舵轮零偏,而舵轮半径等参数无法通过该方法进行标定。
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.对所述等式进行求解,获得所述第二轴距和所述第二舵轮的半径。
40.一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
41.一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
42.一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。
43.本技术实施例中,通过将目标车辆包括的第二舵轮置于零位,并在目标车辆按照预设轨迹行驶过程中,获取第一舵轮的编码器检测的第一位姿数据、第二舵轮的编码器检测的第二位姿数据和导引装置检测的第三位姿数据,进而基于第一位姿数据与第三位姿数据之间的相关性,确定第一舵轮的各待标定参数值以及导引装置相对于万向轮中心的外参,以及基于第一舵轮的各待标定参数值,以及第一位姿数据与第二位姿数据之间的相关性,确定第二舵轮的各待标定参数值。本技术实施例中,通过将第二舵轮置于零位,从而无需标定第二舵轮的零偏角,提升了标定的效率,并且,该种方式巧妙的将整个双舵轮标定转换为了单舵轮标定,进而可以求解第一舵轮的参数后通过前后舵轮之间的位姿数据的相关性,求解第二舵轮的参数,以实现双舵轮的参数标定。
附图说明
44.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
45.图1为本技术实施例提供的应用场景示意图;
46.图2为本技术实施例提供的目标车辆的车体模型示意图;
47.图3为本技术实施例提供的双舵轮参数标定的流程示意图;
48.图4为本技术实施例提供的一种可能的运动轨迹的示意图;
49.图5为本技术实施例提供的求解第二舵轮的相关参数的原理示意图;
50.图6为本技术实施例提供的标定过程的流程示意图;
51.图7为本技术实施例提供的双舵轮参数标定装置的结构示意图;
52.图8为本技术实施例提供的计算机设备的结构示意图;
53.图9为本技术实施例提供的另一种计算机设备的结构示意图。
具体实施方式
54.为使本技术的目的、技术方案和优点更加清楚明白,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
55.为便于理解本技术实施例提供的技术方案,这里先对本技术实施例使用的一些关键名词进行解释:
56.agv小车:或称移动机器人,可以包括装备有电磁或光学等自动导航装置,能够沿规定的导航路径行驶,具有安全保护以及各种移载功能的运输小车。
57.舵轮:或称驱动轮,用于驱动车体运动。一般而言,agv小车的驱动方式可以包括差动轮驱动、单舵轮驱动以及双舵轮驱动这几种驱动方式,相较于单舵轮驱动方式,双舵轮由于自由度更高,模型更为复杂,因而参数标定更为复杂。以双舵轮为例,其包含两个舵轮,其可以根据需求进行双舵轮位置的部署,例如可以部署于车体的斜对角位置,如左上角和右下角,在后续的使用中,需要基于这两个舵轮的参数来对车体的运动进行控制,因而需要准确的进行参数的标定。
58.下面对本技术实施例的设计思想进行简要介绍:
59.目前,在双舵轮标定过程中,可以通过控制前舵轮和后舵轮处于设定的旋转角度,并以相同的转速向前运动或向后运动,如果车体的运动轨迹顺时针偏转,则以相同的角度逆时针调整前后舵轮的旋转角度,如果车体的运动轨迹逆时针偏转,则以相同的角度顺时针调整前后舵轮的旋转角度,直至运动轨迹无偏转后,以舵轮各自的当前位置作为零点进行前后舵轮的调偏。但是,该方法基于车体顺时针偏,逆时针调整舵轮的方法无法泛化,是一种基于经验进行调偏的方法,并且该方法仅仅标定了双舵轮的舵轮零偏,而舵轮半径等参数无法通过该方法进行标定。
60.基于此,本技术实施例提供一种双舵轮参数标定方法,在该方法中,通过将目标车辆包括的第二舵轮置于零位,并在目标车辆按照预设轨迹行驶过程中,获取第一舵轮的编码器检测的第一位姿数据、第二舵轮的编码器检测的第二位姿数据和导引装置检测的第三位姿数据,进而基于第一位姿数据与第三位姿数据之间的相关性,确定第一舵轮的各待标定参数值以及导引装置相对于万向轮中心的外参,以及基于第一舵轮的各待标定参数值,以及第一位姿数据与第二位姿数据之间的相关性,确定第二舵轮的各待标定参数值。本技术实施例中,通过将第二舵轮置于零位,从而无需标定第二舵轮的零偏角,提升了标定的效率,并且,该种方式巧妙的将整个双舵轮标定转换为了单舵轮标定,进而可以求解第一舵轮的参数后通过前后舵轮之间的位姿数据的相关性,求解第二舵轮的参数,以实现双舵轮的参数标定。
61.此外,本技术实施例中,在进行第一舵轮的参数和导引装置的外参标定时,可以先通过旋转约束求解第一舵轮的零偏角,进而再基于平移约束求解第一舵轮的半径和轴距,以及导引装置的外参。最后,结合已标定的参数,基于第一舵轮和第二舵轮之间的位移约束,求解第二舵轮的参数,以实现整个双舵轮的参数标定。
62.下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
63.本技术实施例提供的方案可以适用于大多数基于双舵轮的车辆参数标定场景中,例如上述提及的agv小车的双舵轮参数标定等。
64.如图1所示,为本技术实施例提供的一种应用场景示意图,在该场景中,可以包括标定设备101和待标定车辆102。
65.标定设备101可以为任何具备一定计算能力的计算机设备,例如可以为手机、平板电脑(pad)、笔记本电脑、台式电脑、智能电视、智能车载设备、智能可穿戴设备以及服务器等。服务器例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、即内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。待标定车辆102为采用双舵轮驱动方式的任意车辆,其上至少包含两个舵轮和导引装置。
66.需要说明的是,本技术实施例中的双舵轮标定方法可以由标定设备101或待标定车辆102单独执行,也可以由待标定车辆102和标定设备101共同执行。例如,由待标定车辆102将自身包括的第二舵轮置于零位,并按照预设轨迹行驶过程,并采集第一舵轮的编码器检测的第一位姿数据、第二舵轮的编码器检测的第二位姿数据和导引装置检测的第三位姿数据,从而基于采集的数据采用本技术实施例的方法进行参数标定。或者,由标定设备101执行,例如可以有标定设备101控制待标定车辆102将第二舵轮置于零位,并按照预设轨迹向待标定车辆102发送行驶参数,以及接收待标定车辆102发送的第一位姿数据、第二位姿数据和第三位姿数据,从而基于采集的数据采用本技术实施例的方法进行参数标定。再或者,由待标定车辆102将自身包括的第二舵轮置于零位,并按照预设轨迹行驶过程,并采集第一位姿数据、第二位姿数据和第三位姿数据,并发送给标定设备101,由标定设备101基于这些数据进行计算求解过程。本技术在此不做具体限定,下文主要是以标定设备101执行为例进行举例说明的。
67.以标定设备101执行上述步骤为例,标定设备101可以包括一个或多个处理器、存储器以及与终端交互的i/o接口等。其中,存储器中还可以存储本技术实施例提供的双舵轮参数标定方法的程序指令,这些程序指令被处理器执行时能够用以实现本技术实施例提供的双舵轮参数标定方法的步骤,以实现双舵轮的参数标定过程。
68.本技术实施例中,标定设备101和待标定车辆102之间可以通过一个或者多个网络103进行直接或间接的通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(wireless-fidelity,wifi)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。
69.需要说明的是,图1所示只是举例说明,实际上待标定车辆102的数量不受限制,在
本技术实施例中不做具体限定。
70.下面结合上述描述的应用场景,参考附图来描述本技术示例性实施方式提供的双舵轮参数标定方法,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。
71.在介绍方法流程之前,首先对本技术实施例所需标定目标车辆的车体模型进行介绍。参见图2所示,为目标车辆的车体模型示意图,这里具体是以左上角和右下角为舵轮为例进行示出的,即a1为前向舵轮,a2为后向舵轮,但实际场景中对于两个舵轮的位置并不进行限定。
72.对于双舵轮来说,首先要定义车体的前进方向,参见图2所示,定义前进方向为舵轮重置时第二舵轮,即a2舵轮的方向,wa2线段(这里是指a2的中心点与万向轮中心w之间的线段)垂直于a2的前进方向,前向舵轮中心a1与w的连线垂直于wa2,由上述两个条件可确定w的位置和唯一性。车体里程中心o为wa1和wa2中垂线的交点。图2中laser表示导引装置,这里具体是以激光导航作为导引装置来示出的,下述的实施例中也具体以激光导航为例进行说明,但需要说明的是,在实际的应用中也可以采用其他可能的导引装置,本技术实施例对此不做限制。
73.因此,本技术实施例中,双舵轮所需标定的量依次为:
74.(1)舵轮a1的半径r
a1

75.(2)舵轮a1归0时相对于前进方向的零偏角θ
offa1

76.(3)舵轮a1距离万向轮中心w的轴距b。
77.(4)舵轮a2的半径r
a2

78.(5)舵轮a2距离万向轮中心w的轴距a。
79.(6)激光相对于万向轮w中心的外参(x
o_l y
o_l θ
o_l
),x
o_l
和y
o_l
为导引装置相对于万向轮w中心的坐标,θ
o_l
为导引装置相对于万向轮w中心的角度。
80.需要注意的是,本技术实施例中,由定义可得舵轮a2归0时相对于前进方向的零偏为0,因此无需标定。当b和a已知时,激光相对于w的外参可以转换到相对于里程中心o的坐标系中的参数,因此只需要标定处激光相对于w的外参即可。
81.参见图3所示,为本技术实施例提供的双舵轮参数标定方法的流程示意图,该方法的具体实施流程如下:
82.步骤301:将目标车辆包括的第二舵轮a2置于零位,并在目标车辆按照预设轨迹行驶过程中,获取第一舵轮a1的编码器检测的第一位姿数据、第二舵轮a2的编码器检测的第二位姿数据和导引装置检测的第三位姿数据。
83.其中,预设轨迹为非直线轨迹,换句话说,预设轨迹包括相对于前进方向发生旋转的路径,前进方向为第二舵轮置于零位时指向的方向。
84.在一种可能的实施方式中,预设轨迹可以采用如图4所示的运动轨迹,其具体包括三段路径:
85.(1)第一段路径,即将第一舵轮a1沿第一方向调整第一角度后行进第一时长所得到的轨迹,第一方向为顺时针或逆时针中的任意一种。
86.示例性的,参见图4所示,则可以在将第二舵轮a2归于0位,将第一舵轮a1调整为左打45度,行进一段时长后,得到图4中绕o1的弧线轨迹ab。
87.(2)第二段路径,即将第一舵轮a1从第一角度归零后,行进第二时长所得到的轨迹。
88.示例性的,参见图4所示,即将第一舵轮a1从左打45度调整为归0,行进一段时长后,得到图4中的直线轨迹bc。
89.(3)第三段路径,即将第一舵轮a1沿第二方向调整第一角度后行进第一时长,第二方向为第一方向的反方向,例如,第一方向为逆时针方向,则第二方向可以为顺时针方向。
90.示例性的,参见图4所示,即将第一舵轮a1调整为右打45度,行进一段时长后,得到图4中的绕o2的弧线轨迹cd。
91.在一种可能的实施方式中,可以预先将预设轨迹中每一时刻时舵轮的角度以及行进速度等参数发送给目标车辆,进而目标车辆可以按照给定的预参数进行运动,并通过舵轮的编码器以及激光采集该过程中相应的位姿数据。
92.在另一种可能的实施方式中,还可以实时向目标车辆下发参数。例如,可以采用发送开环速度的方式使目标车辆按图4的方式进行3段行走,且由于是开环的速度,因此并不需要严格的跟踪目标车俩的轨迹。
93.需要说明的是,图4所示的运动轨迹仅为一种可能的示例,在实际场景中可以根据需求进行轨迹的设置,本技术实施例对此不做限制。
94.本技术实施例中,第一舵轮和第二舵轮的编码器均可以采用码盘来实现,并且这两者所采集的位姿数据类似,均可以包括如下数据:
95.(1)在各个检测时刻时的转速,即舵轮实时的转速,为区分第一舵轮和第二舵轮的编码器所采集的位姿数据,第一舵轮的转速以第一转速表示,第二舵轮的转速以第二转速表示。
96.(2)在各个检测时刻时的转角,即舵轮实时的转角,即相对于码盘的初始位置转过的角度,同样的,为区分第一舵轮和第二舵轮的编码器所采集的位姿数据,第一舵轮的转角以第一转角表示,第二舵轮的转角以第二转角表示。
97.本技术实施例中,导引装置为激光时,则其采集的第三位姿数据可以包括如下数据:
98.(1)各个检测时刻时的偏转角,即激光检测的目标车辆的实时偏转角,偏转角可以是指在激光坐标系中,目标车辆相对于基准角度偏转的角度,或者可以是基于该角度转换之后的角度。
99.(2)各个检测时刻的位置信息,即激光检测的目标车辆的实时位置,可以以激光坐标系中的坐标进行表示。
100.步骤302:基于第一位姿数据与第三位姿数据之间的相关性,确定第一舵轮的各待标定参数值以及导引装置相对于万向轮中心的外参,万向轮中心基于第一舵轮和第二舵轮在目标车辆中的位置所确定。
101.本技术实施例中,由于导引装置和第一舵轮均安装在目标车辆上,且相对于目标车辆通常不会发生移动,因而这两者检测的位姿数据都能够反映目标车辆的状态,因而实质上存在一定的相关性,从而可以根据这种相关性来求解第一舵轮和导引装置相关的待标定参数。
102.参见图3所示,步骤302可以包括如下两个过程:
103.步骤3021:利用旋转约束求解第一舵轮的零偏角。
104.本技术实施例中,考虑到舵轮和激光安装之后,都是跟随目标车辆进行运动,因而基于两者检测值所确定的旋转角度应是相同的,因而可以以此为约束,来确定第一舵轮的零偏角,即以第一舵轮对应的第一旋转角度与导引装置对应的第三旋转角度之间的相关性为约束,基于第一转速、第一转角与偏转角,确定第一舵轮的零偏角。
105.具体的,以激光为例,可以采用最近点迭代(iterated closest points,ipc)方法,基于激光检测的偏转角,确定导引装置在每两个相邻时刻之间的第三旋转角度,并以第一旋转角度与第三旋转角度相等为约束,基于第一转速、第一转角以及第三旋转角度,确定零偏角。其中,需要说明的是,这里的偏转角并不是简单的一个值,而是一种过程状态量,其表达了目标车辆的实际偏转角的可能性。
106.在一种可能实现方式中,采用icp求解可以得到激光ti至t
i+1
的第三旋转角度可以表示为δθ
l
(icp求解),ti表示上述行驶轨迹中的第i个时刻;第一舵轮a1编码器ti至t
i+1
的第一旋转角度为δθo,则按照旋转约束在二维平面的约束可退化为:
107.δθ
l
=δθo108.写成矩阵形式为
[0109][0110]
k1=r
·
cosθ
offa1
/b
[0111]
k2=r
·
sinθ
offa1
/b
[0112]
其中,nw为第一舵轮的第一转速,θw为第一舵轮的第一转角,求解上述线性方程组可得k,则舵轮a1零偏为:
[0113][0114]
步骤3022:利用平移约束求解舵轮a1距离万向轮中心w的轴距b,激光相对于万向轮w中心的外参(x
o_l y
o_l θ
o_l
),舵轮a1的半径r
a1

[0115]
同理,舵轮和激光安装之后,都是跟随目标车辆进行运动,因而基于两者检测值所确定的位移量也应是相同的,因而可以基于平移约束,来确定第一舵轮的零偏角,即以第一舵轮对应的位移向量与导引装置对应的位移向量之间的相关性为约束,确定第一舵轮与万向轮中心之间的第一轴距、半径以及导引装置的外参。
[0116]
具体的,以激光为例,同样可以采用最近点迭代(iterated closest points,ipc)方法,基于每两个相邻检测时刻对应的位置信息,确定导引装置检测的每两个相邻检测时刻之间的位移向量,进而基于获得的各个位移向量与第一舵轮对应的位移向量之间的相关性,确定第一舵轮与万向轮中心之间的第一轴距,以及导引装置的外参;并基于轴距与零偏角,确定第一舵轮的半径。同样需要说明的是,这里的位置信息也并不是简单的一个值,而是一种过程状态量,其表达了目标车辆的实际位置的可能性。
[0117]
具体的,可以采用icp求解可以得到激光ti至t
i+1
平移向量为:
[0118]
[0119]
由于激光的位置信息是已知的,因而该平移向量为已知观测量。
[0120]
此外,第一舵轮a1的编码器对应的ti至t
i+1
平移向量为:
[0121][0122]
其中,由于第一因舵轮的半径未知,因而该平移向量为未知观测量。
[0123]
在一种可能的实施方式中,基于手眼标定算法ax=xb可以得到如下结果:
[0124][0125][0126]
其中,b为第一舵轮a1距离万向轮中心w的轴距,(x
o_l y
o_l θ
o_l
)为激光相对于万向轮w中心的外参。
[0127]
在另一种可能的实施方式中,可以以基于激光获得的位移向量与第一舵轮对应的位移向量相等为约束,基于激光获得的位移向量来构建基于轴距和外参的最小二乘等式,并对最小二乘等式进行求解,以获得第一轴距和外参。
[0128]
具体的,平移约束在二维平面可表示为如下式:
[0129][0130]
其中,θo对应第一舵轮,编码器的平移向量可进一步表示为:
[0131][0132]
其中[c
x cy]
t
可通过积分求得,因而上述平移约束的表达式可以化简为如下形式:
[0133][0134]
基于上述公式,构建如下有约束的最小二乘方程:
[0135][0136][0137]
m=∑q
kt
qk[0138][0139][0140]
求解该最小二乘方程,则可以得到:
[0141][0142][0143]
进一步的,可以采用如下公式求解第一舵轮的半径:
[0144][0145]
步骤303:基于第一舵轮的各待标定参数值,以及第一位姿数据与第二位姿数据之间的相关性,确定第二舵轮的各待标定参数值。
[0146]
本技术实施例中,通过上述的步骤,能够获取第一舵轮的相关参数,进而能够获知第一舵轮其行走的里程,由于第二舵轮与第一舵轮都是随着目标车辆移动,因而理论上行走的里程是相同的,进而可以根据二者之间的相关性,来确定第二舵轮的相关参数。从而,可以基于第一转速、第一转角和第一舵轮的半径,以及第二转角,以第一舵轮行走的里程与第二舵行走的里程相等为约束,确定第二舵轮的半径与第二舵轮与万向轮中心之间的第二轴距。
[0147]
具体的,针对预设轨迹中的任意两个相邻检测时刻,这里以ti至t
i+1
为例,执行如下操作:
[0148]
基于这两个相邻检测时刻时的第一转速、第一转角以及第一舵轮的半径,确定第一舵轮在两个相邻检测时刻之前的位移量;基于第一轴距以及第一舵轮在两个相邻检测时刻中前一时刻的旋转角度,确定第一舵轮在两个相邻检测时刻时的旋转半径;基于获得的位移量以及旋转半径之间的比值,确定第一舵轮对应的位移量变化率;基于获得的位移量变化率、第一轴距以及第二转角,构建基于第二轴距和第二舵轮的半径的等式;对等式进行求解,获得第二轴距和第二舵轮的半径。
[0149]
参见图5所示,为求解第二舵轮的相关参数的原理示意图。其中,δl表示第一舵轮a1的编码器ti至t
i+1
的位移量,即n1n2的弧线距离,n1和n2分别表示了两个时刻第一舵轮的位置,即ti至t
i+1
两个时刻对应的位置,n1n2形成的弧线即为该时段内舵轮的移动轨迹,由于第一舵轮a1的半径在上面已求解,因此δl为已知观测量,第一舵轮a1当时的角度为δ,第一舵轮a1距离万向轮中心w的轴距b已求解为已知量,因而存在如下等式:
[0150][0151]
其中,b/sin(δ)即为第一舵轮a1的旋转半径。
[0152]
在一种可能的实施方式中,可以利用最小二乘法求解第二舵轮a2的半径r
a2
和第二舵轮a2距离万向轮中心w的轴距a,则可以存在如下方程等式:
[0153][0154]
上述方程的左边为第一舵轮a1行走的里程,方程的右边为第二舵轮a2行走的里程,θ
f2
为第二舵轮a2对应的第二旋转角度。
[0155]
将dθ代入上述方程式,则可以得到最终方程如下:
[0156][0157][0158]
进而,对上述方程进行求解,则可以得到a和r
a2
,至此完成目标车辆有关于双舵轮的所有参数标定。
[0159]
下面,以一个具体的实施例,来对本技术实施例的标定过程进行介绍。参见图6所示,为标定过程的流程示意图。
[0160]
步骤601:定义前进方向为舵轮重置时第二舵轮a2的方向,并将第二舵轮归零。
[0161]
步骤602:将第一舵轮a1分别摆到向左45
°
、归零和向右45
°
,并发送开环速度进行3段路径行走。
[0162]
步骤603:利用旋转约束进行求解,得到第一舵轮a1的零偏角。
[0163]
步骤604:利用平移约束进行求解,得到第一舵轮a1距离万向轮中心w的第一轴距,第一舵轮a1的半径和激光的外参。
[0164]
步骤605:利用前后舵轮之间的位移相等方程求解,得到第二舵轮a2距离万向轮中心w的第二轴距和第二舵轮a2的半径。
[0165]
综上所述,本技术实施例提供了一种双舵轮模型的编码器内参和激光外参联合标定求解方法,将双舵轮问题巧妙的转换为单舵轮标定,求出部分量后再通过前后舵轮走过距离相等的方程求解剩下的量。具体而言,让双舵轮沿着特定的3段路径行走,采集激光与编码器的数据,通过先将整个双舵轮转换一个单舵轮标定,标定出前向舵轮a1的半径r
a1
,前向舵轮的零偏θ
offa1
,前向舵轮相对万向轮中心的轴距b,以及激光的外参(x
o_l y
o_l
θ
o_l
),再通过这些标定出的量构建后面舵轮的方程以标定出后面舵轮的半径r
a2
,后面舵轮a2距离万向轮中心w的轴距a。
[0166]
请参见图7,基于同一发明构思,本技术实施例还提供了一种双舵轮参数标定装置70,该装置包括:
[0167]
数据获取单元701,用于将目标车辆包括的第二舵轮置于零位,并在所述目标车辆按照预设轨迹行驶过程中,获取第一舵轮的编码器检测的第一位姿数据、所述第二舵轮的编码器检测的第二位姿数据,以及所述目标车辆上的导引装置检测的第三位姿数据;其中,所述预设轨迹为非直线轨迹;
[0168]
第一计算单元702,用于基于所述第一位姿数据与所述第三位姿数据之间的相关性,确定所述第一舵轮的各待标定参数值以及所述导引装置相对于万向轮中心的外参,所述万向轮中心基于所述第一舵轮和所述第二舵轮在所述目标车辆中的位置所确定;
[0169]
第二计算单元703,用于基于所述第一舵轮的各待标定参数值,以及所述第一位姿数据与所述第二位姿数据之间的相关性,确定所述第二舵轮的各待标定参数值。
[0170]
可选的,所述预设路径包括:
[0171]
第一段路径,所述第一段路径为将所述第一舵轮沿第一方向调整第一角度后行进第一时长,所述第一方向为顺时针或逆时针中的任意一种;
[0172]
第二段路径,所述第二段路径为将所述第一舵轮从所述第一角度归零后,行进第二时长;
[0173]
第三段路径,所述第三段路径为将所述第一舵轮沿第二方向调整第一角度后行进第一时长,所述第二方向为所述第一方向的反方向。
[0174]
可选的,所述第一位姿数据包括所述第一舵轮在各个检测时刻时的第一转速和第一转角,所述第三位姿数据包括在各个检测时刻时的偏转角和各个检测时刻的位置信息;
[0175]
则所述第一计算单元702,具体用于:
[0176]
以所述第一舵轮对应的第一旋转角度与所述导引装置对应的第三旋转角度之间的相关性为约束,基于所述第一转速、所述第一转角与所述偏转角,确定所述第一舵轮的零偏角;
[0177]
基于每两个相邻检测时刻对应的位置信息,确定所述导引装置检测的每两个相邻检测时刻之间的位移向量;
[0178]
基于获得的各个位移向量与所述第一舵轮对应的位移向量之间的相关性,确定所述第一舵轮与所述万向轮中心之间的第一轴距,以及所述导引装置的外参;
[0179]
基于所述轴距与所述零偏角,确定所述第一舵轮的半径。
[0180]
可选的,所述第一计算单元702,具体用于:
[0181]
采用最近点迭代方法,基于所述偏转角,确定所述导引装置在每两个相邻时刻之间的第三旋转角度;
[0182]
以所述第一旋转角度与所述第三旋转角度相等为约束,基于所述第一转速、所述第一转角以及所述第三旋转角度,确定所述零偏角。
[0183]
可选的,所述第一计算单元702,具体用于:
[0184]
以所述各个位移向量与所述第一舵轮对应的位移向量相等为约束,基于所述位移向量,构建基于所述轴距和所述外参的最小二乘等式;
[0185]
对所述最小二乘等式进行求解,以获得所述第一轴距和所述外参。
[0186]
可选的,所述第一位姿数据包括所述第二舵轮在各个检测时刻时的第二转角;
[0187]
则所述第二计算单元703,具体用于:
[0188]
基于所述第一转速、所述第一转角和所述第一舵轮的半径,以及所述第二转角,以所述第一舵轮行走的里程与所述第二舵行走的里程相等为约束,确定所述第二舵轮的半径与所述第二舵轮与所述万向轮中心之间的第二轴距。
[0189]
可选的,所述第二计算单元703,具体用于:
[0190]
针对所述预设轨迹中的任意两个相邻检测时刻,执行如下操作:
[0191]
基于两个相邻检测时刻时的所述第一转速、所述第一转角以及所述第一舵轮的半径,确定所述第一舵轮在两个相邻检测时刻之前的位移量;
[0192]
基于所述第一轴距以及所述第一舵轮在所述两个相邻检测时刻中前一时刻的旋转角度,确定所述第一舵轮在所述两个相邻检测时刻时的旋转半径;
[0193]
基于获得的位移量以及旋转半径之间的比值,确定所述第一舵轮对应的位移量变化率;
[0194]
基于获得的位移量变化率、所述第一轴距以及所述第二转角,构建基于所述第二轴距和所述第二舵轮的半径的等式;
[0195]
对所述等式进行求解,获得所述第二轴距和所述第二舵轮的半径。
[0196]
通过上述装置,将双舵轮问题巧妙的转换为单舵轮标定,求出部分量后再通过前
后舵轮走过距离相等的方程求解剩下的量。该装置可以用于执行本技术各实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考前述实施例的描述,不多赘述。
[0197]
请参见图8,基于同一技术构思,本技术实施例还提供了一种计算机设备。在一种实施例中,该计算机设备可以为图1对应实施例部分提及的服务器,该计算机设备如图8所示,包括存储器801,通讯模块803以及一个或多个处理器802。
[0198]
存储器801,用于存储处理器802执行的计算机程序。存储器801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0199]
存储器801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器801也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器801可以是上述存储器的组合。
[0200]
处理器802,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器802,用于调用存储器801中存储的计算机程序时实现上述双舵轮参数标定方法。
[0201]
通讯模块803用于与终端设备和其他服务器进行通信。
[0202]
本技术实施例中不限定上述存储器801、通讯模块803和处理器802之间的具体连接介质。本技术实施例在图8中以存储器801和处理器802之间通过总线804连接,总线804在图8中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线804可以分为地址总线、数据总线、控制总线等。为便于描述,图8中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
[0203]
存储器801中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的双舵轮参数标定方法。处理器802用于执行上述各实施例的双舵轮参数标定方法。
[0204]
在另一种实施例中,计算机设备也可以是其他计算机设备,如图1对应实施例部分提及的终端设备。在该实施例中,计算机设备的结构可以如图9所示,包括:通信组件910、存储器920、显示单元930、摄像头940、传感器950、音频电路960、蓝牙模块970、处理器980等部件。
[0205]
通信组件910用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(wireless fidelity,wifi)模块,wifi模块属于短距离无线传输技术,计算机设备通过wifi模块可以帮助用户收发信息。
[0206]
存储器920可用于存储软件程序及数据。处理器980通过运行存储在存储器920的软件程序或数据,从而执行终端设备的各种功能以及数据处理。存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器920存储有使得终端设备能运行的操作系统。本技术中存储器920可以存储操作系统及各种应用程序,还可以存储执行本技术实施例双舵轮参数标定
方法的代码。
[0207]
显示单元930还可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元930可以包括设置在终端设备正面的显示屏932。其中,显示屏932可以采用液晶显示器、发光二极管等形式来配置。显示单元930可以用于显示本技术实施例中的各种界面,例如目标车辆的控制界面、双舵轮参数标定结果页面以及目标车辆的实时行驶界面。
[0208]
显示单元930还可用于接收输入的数字或字符信息,产生与终端设备的用户设置以及功能控制有关的信号输入,具体地,显示单元930可以包括设置在终端设备正面的触摸屏931,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
[0209]
其中,触摸屏931可以覆盖在显示屏932之上,也可以将触摸屏931与显示屏932集成而实现终端设备的输入和输出功能,集成后可以简称触摸显示屏。本技术中显示单元930可以显示应用程序以及对应的操作步骤。
[0210]
摄像头940可用于捕获静态图像,用户可以将摄像头940拍摄的图像通过应用发布评论。摄像头940可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器980转换成数字图像信号。
[0211]
终端设备还可以包括至少一种传感器950,比如加速度传感器951、距离传感器952、指纹传感器953、温度传感器954。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
[0212]
音频电路960、扬声器961、传声器962可提供用户与终端设备之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出。终端设备还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出至通信组件910以发送给比如另一终端设备,或者将音频数据输出至存储器920以便进一步处理。
[0213]
蓝牙模块970用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块970与同样具备蓝牙模块的可穿戴计算机设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
[0214]
处理器980是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器920内的软件程序,以及调用存储在存储器920内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器980可包括一个或多个处理单元;处理器980还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器980中。本技术中处理器980可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例的双舵轮参数标定方法。另外,处理器980与显示单元930耦接。
[0215]
在一些可能的实施方式中,本技术提供的双舵轮参数标定方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代
码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的双舵轮参数标定方法中的步骤,例如,计算机设备可以执行各实施例的步骤。
[0216]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0217]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算装置上运行。然而,本技术的程序产品不限于此,在本技术件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0218]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0219]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0220]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
[0221]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0222]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0223]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
[0224]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0225]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:
1.一种双舵轮参数标定方法,其特征在于,所述方法包括:将目标车辆包括的第二舵轮置于零位,并在所述目标车辆按照预设轨迹行驶过程中,获取第一舵轮的编码器检测的第一位姿数据、所述第二舵轮的编码器检测的第二位姿数据,以及所述目标车辆上的导引装置检测的第三位姿数据;其中,所述预设轨迹为非直线轨迹;基于所述第一位姿数据与所述第三位姿数据之间的相关性,确定所述第一舵轮的各待标定参数值以及所述导引装置相对于万向轮中心的外参,所述万向轮中心基于所述第一舵轮和所述第二舵轮在所述目标车辆中的位置所确定;基于所述第一舵轮的各待标定参数值,以及所述第一位姿数据与所述第二位姿数据之间的相关性,确定所述第二舵轮的各待标定参数值。2.如权利要求1所述的方法,其特征在于,所述预设路径包括:第一段路径,所述第一段路径为将所述第一舵轮沿第一方向调整第一角度后行进第一时长,所述第一方向为顺时针或逆时针中的任意一种;第二段路径,所述第二段路径为将所述第一舵轮从所述第一角度归零后,行进第二时长;第三段路径,所述第三段路径为将所述第一舵轮沿第二方向调整第一角度后行进第一时长,所述第二方向为所述第一方向的反方向。3.如权利要求1所述的方法,其特征在于,所述第一位姿数据包括所述第一舵轮在各个检测时刻时的第一转速和第一转角,所述第三位姿数据包括在各个检测时刻时的偏转角和各个检测时刻的位置信息;则基于所述第一位姿数据与所述第三位姿数据之间的相关性,确定所述第一舵轮的参数以及所述导引装置的外参,包括:以所述第一舵轮对应的第一旋转角度与所述导引装置对应的第三旋转角度之间的相关性为约束,基于所述第一转速、所述第一转角与所述偏转角,确定所述第一舵轮的零偏角;基于每两个相邻检测时刻对应的位置信息,确定所述导引装置检测的每两个相邻检测时刻之间的位移向量;基于获得的各个位移向量与所述第一舵轮对应的位移向量之间的相关性,确定所述第一舵轮与所述万向轮中心之间的第一轴距,以及所述导引装置的外参;基于所述轴距与所述零偏角,确定所述第一舵轮的半径。4.如权利要求3所述的方法,其特征在于,以所述第一舵轮对应的第一旋转角度与所述导引装置对应的第三旋转角度之间的相关性为约束,基于所述第一转速、所述第一转角与所述偏转角,确定所述第一舵轮的零偏角,包括:采用最近点迭代方法,基于所述偏转角,确定所述导引装置在每两个相邻时刻之间的第三旋转角度;以所述第一旋转角度与所述第三旋转角度相等为约束,基于所述第一转速、所述第一转角以及所述第三旋转角度,确定所述零偏角。5.如权利要求3所述的方法,其特征在于,基于获得的各个位移向量与所述第一舵轮对应的位移向量之间的相关性,确定所述第一舵轮与所述万向轮中心之间的轴距,以及所述
导引装置的外参,包括:以所述各个位移向量与所述第一舵轮对应的位移向量相等为约束,基于所述位移向量,构建基于所述轴距和所述外参的最小二乘等式;对所述最小二乘等式进行求解,以获得所述第一轴距和所述外参。6.如权利要求3-5任一所述的方法,其特征在于,所述第一位姿数据包括所述第二舵轮在各个检测时刻时的第二转角;则基于所述第一舵轮的各待标定参数值,以及所述第一位姿数据与所述第二位姿数据之间的相关性,确定所述第二舵轮的各待标定参数值,包括:基于所述第一转速、所述第一转角和所述第一舵轮的半径,以及所述第二转角,以所述第一舵轮行走的里程与所述第二舵行走的里程相等为约束,确定所述第二舵轮的半径与所述第二舵轮与所述万向轮中心之间的第二轴距。7.如权利要求3-5任一所述的方法,其特征在于,基于所述第一转速、所述第一转角和所述第一舵轮的半径,以及所述第二转速和所述第二转角,以所述第一舵轮行走的里程与所述第二舵行走的里程相等为约束,确定所述第二舵轮的半径与所述第二舵轮与所述万向轮中心之间的第二轴距,包括:针对所述预设轨迹中的任意两个相邻检测时刻,执行如下操作:基于两个相邻检测时刻时的所述第一转速、所述第一转角以及所述第一舵轮的半径,确定所述第一舵轮在两个相邻检测时刻之前的位移量;基于所述第一轴距以及所述第一舵轮在所述两个相邻检测时刻中前一时刻的旋转角度,确定所述第一舵轮在所述两个相邻检测时刻时的旋转半径;基于获得的位移量以及旋转半径之间的比值,确定所述第一舵轮对应的位移量变化率;基于获得的位移量变化率、所述第一轴距以及所述第二转角,构建基于所述第二轴距和所述第二舵轮的半径的等式;对所述等式进行求解,获得所述第二轴距和所述第二舵轮的半径。8.一种双舵轮参数标定装置,其特征在于,所述装置包括:数据获取单元,用于将目标车辆包括的第二舵轮置于零位,并在所述目标车辆按照预设轨迹行驶过程中,获取第一舵轮的编码器检测的第一位姿数据、所述第二舵轮的编码器检测的第二位姿数据,以及所述目标车辆上的导引装置检测的第三位姿数据;其中,所述预设轨迹为非直线轨迹;第一计算单元,用于基于所述第一位姿数据与所述第三位姿数据之间的相关性,确定所述第一舵轮的各待标定参数值以及所述导引装置相对于万向轮中心的外参,所述万向轮中心基于所述第一舵轮和所述第二舵轮在所述目标车辆中的位置所确定;第二计算单元,用于基于所述第一舵轮的各待标定参数值,以及所述第一位姿数据与所述第二位姿数据之间的相关性,确定所述第二舵轮的各待标定参数值。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。10.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。11.一种计算机程序产品,包括计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。

技术总结
本申请公开了一种双舵轮参数标定方法、装置、设备及存储介质,涉及移动机器人技术,通过将目标车辆包括的第二舵轮置于零位,并在目标车辆按照预设轨迹行驶过程中,获取第一舵轮的编码器检测的第一位姿数据、第二舵轮的编码器检测的第二位姿数据,以及目标车辆上的导引装置检测的第三位姿数据;基于第一位姿数据与第三位姿数据之间的相关性,确定第一舵轮的各待标定参数值以及导引装置相对于万向轮中心的外参,万向轮中心基于第一舵轮和第二舵轮在目标车辆中的位置所确定;基于第一舵轮的各待标定参数值,以及第一位姿数据与第二位姿数据之间的相关性,确定第二舵轮的各待标定参数值,以实现对双舵轮的各项参数进行标定。以实现对双舵轮的各项参数进行标定。以实现对双舵轮的各项参数进行标定。


技术研发人员:余冬冬 高炳舒 李承远 卢维
受保护的技术使用者:浙江华睿科技股份有限公司
技术研发日:2022.07.05
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1029.html

最新回复(0)