
1.本技术涉及差速轮组底盘的运动控制技术领域,特别是涉及一种控制差速轮组底盘运动的方法、装置、设备及介质。
背景技术:2.随着科技和社会的发展,自动引导运输车(automated guided vehicle,agv)得到了快速发展和广泛应用。该自动引导运输车一般应用四对差速轮组底盘。其中,每套差速轮组中一般含有两个单轮,且每个单轮均含一个电机,用于实现差速轮组的控制以及其运动。现有的差速轮组底盘只对每套差速轮组中的单轮进行运动的控制,而不对整体的差速轮组底盘进性考虑,这样的方式,在每个单轮上产生的功率会随时跳变,忽高忽低,不具有稳定性。同时现有的舵轮的控制方法,只能控制在进行旋转的时候,只能通过先直行后横移的方式移动,这样的移动方式导致舵轮在旋转时,占用较大的旋转空间。
3.鉴于上述存在的问题,寻求一种不使用遥控或者换挡器控制差速轮组底盘运动是本领域技术人员竭力解决的问题。
技术实现要素:4.本技术的目的是提供一种控制差速轮组底盘运动的方法、装置、设备及介质,用于自动化控制agv的运动,以此避免了使用遥控或者换挡器出现的适应性差、工作不稳定、使用寿命短、增加驾驶员的劳动强度的问题。
5.为解决上述技术问题,本技术提供一种控制差速轮组底盘运动的方法,应用于agv,包括:
6.确定差速轮组底盘的运动路径;
7.控制差速轮组底盘按照运动路径以整体速度和整体角速度运动,其中差速轮组底盘的整体速度和整体角速度为根据刚体运动学关系得到各差速轮组的速度矢量。
8.优选地,控制差速轮组底盘按照运动路径以整体速度和整体角速度运动包括:
9.根据刚体线速度和角速度的关系,确定整体速度和整体角速度在各差速轮组的线速度和转向角度;
10.根据差速轮组的线速度和转向角度确定各差速轮组的各单个轮子的线速度;
11.根据各单个轮子的线速度,得到各差速轮组的线速度和转向角度,以实现差速轮组底盘按照运动路径以整体速度和整体角速度运动。
12.优选地,根据各单个轮子的线速度,得到各差速轮组的线速度和转向角度包括:
13.获取各差速轮组所在位置构成的矩形的半长值和半宽值;
14.根据半长值和半宽值及刚体运动学关系确定各差速轮组的线速度和各差速轮组的转向角度。
15.优选地,在根据半长值和半宽值及刚体运动学关系确定各差速轮组的线速度和各差速轮组的转向角度之后,还包括:
16.获取各差速轮组的当前线速度和当前转向角度;
17.根据转向角度和当前转向角度确定角度差值;
18.利用pi反馈控制,根据角度差值确定当前转向角速度;
19.根据各差速轮组的线速度和当前转向角速度确定各差速轮组中各单个轮子的线速度。
20.优选地,在控制差速轮组底盘按照运动路径以整体速度和整体角速度运动之后,还包括:
21.获取差速轮组底盘的纵向位置偏差、横向位置偏差和角度偏差,横向位置偏差为表征差速轮组底盘实际位置在运动方向与运动路径的距离差值,纵向位置偏差为表征差速轮组底盘实际位置在运动法线方向与运动路径的距离差值,角度偏差为差速轮组底盘的当前运动方向与运动路径方向之间的夹角;
22.根据纵向位置偏差、横向位置偏差和角度偏差确定纠偏速度和纠偏角速度;
23.依据纠偏速度和纠偏角速度对差速轮组底盘进行纠偏处理。
24.优选地,在控制差速轮组底盘按照运动路径以整体速度和整体角速度运动之后,还包括:
25.根据整体速度和整体角速度调节各差速轮组的速度矢量,并配置各差速轮组中的各单个轮子的速度。
26.优选地,在控制差速轮组底盘按照运动路径以整体速度和整体角速度运动之后,根据整体速度和整体角速度调节各差速轮组的速度矢量,并配置各差速轮组中的各单个轮子的速度之前,还包括:
27.获取各差速轮组中的各单个轮子的功率,并得到各差速轮组内的平均功率;
28.根据各差速轮组内的平均功率,得到差速轮组的整体平均功率,以便于实现功率均衡。
29.优选地,根据整体速度和整体角速度调节各差速轮组的速度矢量,并配置各差速轮组中的各单个轮子的速度包括:
30.根据整体平均功率和平均功率确定差速轮组的功率偏差;
31.根据功率偏差和整体平均功率确定各单个轮子的功率确定功率偏差;
32.根据pid反馈控制和功率偏差确定差速轮组进行功率均衡后的运动速度;
33.依据运动速度调节各差速轮组的速度以及各差速轮组中的各单个轮子的速度。
34.优选地,当差速轮组底盘处于原地旋转状态时,还包括:
35.获取差速轮组的目标角度和反馈角度;
36.确定目标角度和反馈角度的差值;
37.判断差值是否大于预设角度阈值;
38.若是,则降低整体速度,直到差值不大于预设角度阈值时再次以整体速度运动;
39.若否,则控制差速轮组底盘以整体速度运动。
40.为解决上述技术问题,本技术还提供了一种控制差速轮组底盘运动的装置,应用于上述提及的控制差速轮组底盘运动的方法包括:
41.确定模块,用于确定差速轮组底盘的运动路径;
42.控制模块,用于控制差速轮组底盘按照运动路径以整体速度和整体角速度运动,
其中差速轮组底盘的整体速度和整体角速度为根据刚体运动学关系得到各差速轮组的速度矢量。
43.为解决上述技术问题,本技术还提供了一种控制差速轮组底盘运动的设备,包括:
44.存储器,用于存储计算机程序;
45.处理器,用于执行计算机程序时实现上述控制差速轮组底盘运动的方法的步骤。
46.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述控制差速轮组底盘运动的方法的步骤。
47.本技术所提供的控制差速轮组底盘运动的方法,应用于agv,通过如下步骤:确定差速轮组底盘的运动路径;控制差速轮组底盘按照运动路径以整体速度和整体角速度运动,其中整体速度为各差速轮组运动速度的矢量和,整体角速度为各差速轮组角速度的矢量和;根据整体速度和整体角速度调节各差速轮组的速度以及各差速轮组中的各单个轮子的速度,实现了通过方法自动化控制agv的运动,以此避免了每套差速轮组中的单轮上产生的功率会随时跳变,忽高忽低,不具有稳定性的问题,同时由于舵轮的控制方法,不能是舵轮原地自旋,且相比于舵轮的控制方法,差速轮组能够实现原地自旋,解决了占用较大的旋转空间的问题。
48.本技术还提供了一种控制差速轮组底盘运动的装置,效果同上。
附图说明
49.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1为本技术实施例所提供的一种控制差速轮组底盘运动的方法流程图;
51.图2为本技术实施例所提供的一种控制差速轮组底盘运动的装置结构图;
52.图3为本技术实施例所提供的一种控制差速轮组底盘运动的设备结构图。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
54.本技术的核心是提供一种控制差速轮组底盘运动的方法、装置、设备及介质,其能够自动化控制agv的运动,以此避免了使用遥控或者换挡器出现的适应性差、工作不稳定、使用寿命短、增加驾驶员的劳动强度的问题。
55.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
56.图1为本技术实施例所提供的一种控制差速轮组底盘运动的方法流程图。如图1所示,该控制差速轮组底盘运动的方法,应用于agv,包括:
57.s10:确定差速轮组底盘的运动路径。
58.差速轮组底盘的运动路径可以存在多种形式,例如:直线运动、曲线运动、原地自旋、绕点旋转、直曲结合、急速转弯等等。首先需要确定的是,差速轮组底盘要以什么样的路径运动,才能确定其控制方式。可以理解的是,差速轮组底盘的运动路径可以是一种,也可以是两种或两种以上的结合,在本实施例中,对于运动路径的类别以及其长短均不作限定,可根据具体实施场景确定其实施方式。
59.s11:控制差速轮组底盘按照运动路径以整体速度和整体角速度运动。
60.当差速轮组底盘在运动过程中,首先考虑到的一定是整体的底盘是以什么速度运动以及当其处于需要转弯的路径时,其运动的角速度是什么速度。因此,要求其中整体速度与整体角速度可由各差速轮组的速度矢量耦合得到。确定了整体速度和整体角速度的大小的同时也能知道整体速度和整体角速度的方向。
61.其中,在控制差速轮组底盘按照运动路径以整体速度和整体角速度运动之后,还包括:
62.根据整体速度和整体角速度调节各差速轮组的速度矢量,并配置各差速轮组中的各单个轮子的速度。
63.由于本技术应用于agv,其本身的轮组也为差速轮组。以一个差速轮组底盘设置有4对差速轮组,且每个差速轮组中有两个轮子为例。当每个差速轮组中有两个轮子时,也就意味着有两个电机与轮子对应,电机用于控制轮子的运动速度。所谓差速,即为一个差速轮组中,两个轮子在运动过程中的运动速度不同,以此会在一个轮组的轮子之间产生速度差,实现差速轮组相对车体的转向角和轮组线速度的改变,以此实现整个差速轮组底盘按照各种运动路径运动。
64.以差速轮组底盘运动正前方为x方向,根据右手定则确定差速轮组底盘的y方向。将整体速度在各方向进行矢量分解,得到v
x
和vy。其中,v
x
为差速轮组底盘在x方向上的运动速度,vy为差速轮组底盘在y方向上的运动速度。
65.在上述实施例的基础上,作为一种更优选的实施例,控制差速轮组底盘按照运动路径以整体速度和整体角速度运动包括:
66.根据刚体线速度和角速度的关系,确定整体速度和整体角速度在各差速轮组的线速度和转向角度;
67.根据差速轮组的线速度和转向角度确定各差速轮组的各单个轮子的线速度;
68.根据各单个轮子的线速度,得到各差速轮组的线速度和转向角度,以实现差速轮组底盘按照运动路径以整体速度和整体角速度运动。
69.将整体速度的矢量分量与整体角速度确定的相对速度矢量分量相加,其中,第一个差速轮组得到以下参数:
[0070][0071][0072][0073][0074]
第二个差速轮组得到以下参数:
[0075][0076][0077][0078][0079]
第三个差速轮组得到以下参数:
[0080][0081][0082][0083][0084]
第四个差速轮组得到以下参数:
[0085][0086][0087][0088][0089]
其中,v1为第一个差速轮组的运动速度,v2为第二个差速轮组的运动速度,v3为第三个差速轮组的运动速度,v4为第四个差速轮组的运动速度;为第一个差速轮组的配置角度,为第二个差速轮组的配置角度,第三个差速轮组的配置角度,为第四个差速轮组的配置角度。根据各单个轮子的线速度,得到各差速轮组的线速度和转向角度包括:
[0090]
获取各差速轮组所在位置构成的矩形的半长值l和半宽值h;
[0091]
根据半长值和半宽值及刚体运动学关系确定各差速轮组的线速度和各差速轮组的转向角度。其中,为第一个差速轮组的运动速度在x方向上的运动速度,为第一个差速轮组的运动速度在y方向上的运动速度;为第二个差速轮组的运动速度在x方向上的运动速度,为第二个差速轮组的运动速度在y方向上的运动速度;为第三个差速轮组的运动速度在x方向上的运动速度,为第三个差速轮组的运动速度在y方向上的运动速度;为第四个差速轮组的运动速度在x方向上的运动速度,为第四个差速轮组的运动速度在y方向上的运动速度。
[0092]
在上述实施例的基础上,作为一种更优选的实施例,在根据半长值和半宽值及刚体运动学关系确定各差速轮组的线速度和各差速轮组的转向角度之后,还包括:
[0093]
获取各差速轮组的当前线速度和当前转向角度;
[0094]
根据转向角度和当前转向角度确定角度差值;
[0095]
利用pi反馈控制,根据角度差值确定当前转向角速度;
[0096]
根据各差速轮组的线速度和当前转向角速度确定各差速轮组中各单个轮子的线速度。
[0097]
将当前轮组速度记为v,当前角度记为将在上述实施例中提及的按照运动路径运动的单个轮子在运动路径上的目标速度记为v',当前角度记为角度差值为差速轮组当前运动方向与运动路径方向之间的夹角。利用pi反馈控制,得出如下参数:
[0098]
v=v'
[0099][0100]
其中,ω为当前角速度,p和i为相应的控制参数。根据各差速轮组的速度和当前角速度通过如下计算得出各单个轮子的速度,
[0101]vtemp
=ω*0.5*d
[0102]vl
=(v
i-v
temp
)*factor
[0103]vr
=(vi+v
temp
)*factor
[0104]
其中,v
temp
为两轮差速的一半,vi为各差速轮组的速度,d为两单个轮子之间的距离,factor为轮子线速度到电机转速的转换量纲,转速的单位为rpm,factor=60/(radius*2*π),radius为轮子半径。
[0105]
在上述实施例的基础上,作为一种更优选的实施例,在控制差速轮组底盘按照运动路径以整体速度和整体角速度运动之后,还包括:
[0106]
获取差速轮组底盘的纵向位置偏差、横向位置偏差和角度偏差,横向位置偏差为表征差速轮组底盘实际位置在运动方向与运动路径的距离差值,纵向位置偏差为表征差速轮组底盘实际位置在运动法线方向与运动路径的距离差值,角度偏差为差速轮组底盘的当前运动方向与运动路径方向之间的夹角;
[0107]
根据纵向位置偏差、横向位置偏差和角度偏差按照以下方式确定纠偏速度和纠偏角速度;
[0108][0109][0110]kv
=|v
x
|
[0111]
其中,py为横向纠偏控制的比例系数,iy为横向纠偏控制的积分系数,y
err
为横向纠偏控制的横向误差,为角度纠偏控制的比例系数,为角度纠偏控制的积分系数,为角度纠偏控制的角度误差,kv为纠偏系数,对kv设置上限制和下限值,其范围为(0.2,1.0),这样能保证速度过小时仍然具有纠偏效果,速度较大时纠偏不至于太大,上限制和下限值的取值一般根据控制精度要求进行选取。其中,根据|v
x
|设置下限值时是有条件的,当|v
x
|《0.1,kv增加一倍,|v
x
|《0.01,kv增加两倍。
[0112]
依据纠偏速度和纠偏角速度对差速轮组底盘进行纠偏处理。
[0113]
在上述实施例的基础上,作为一种更优选的实施例,在控制差速轮组底盘按照运动路径以整体速度和整体角速度运动之后,根据整体速度和整体角速度调节各差速轮组的速度矢量,并配置各差速轮组中的各单个轮子的速度之前,还包括:
[0114]
获取各差速轮组中的各单个轮子的功率,并得到各差速轮组内的平均功率。
[0115]
控制单个轮子的运动速度的电机的功率即为单个轮子的功率,通过公式pi=ni·ai
计算。将组内平均功率记为且
[0116]
根据各差速轮组内的平均功率,得到差速轮组的整体平均功率,以便于实现功率均衡。将整体平均功率记为且
[0117]
其中,根据整体速度和整体角速度调节各差速轮组的速度矢量,并配置各差速轮组中的各单个轮子的速度包括:
[0118]
根据整体平均功率和平均功率确定差速轮组的功率偏差;
[0119]
根据功率偏差和整体平均功率确定各单个轮子的功率确定功率偏差;
[0120]
根据pid反馈控制和功率偏差确定差速轮组进行功率均衡后的运动速度;该速度通过以下公式表示:
[0121]
v=v+v
err
=v+p
·
p
err-i
·
∫p
err
[0122]
其中,pi为电机功率,ni为电机转速,ai为电流,v为电机前馈速度,p为比例系数,i为积分系数。考虑到进行功率均衡时不对电机速度有太大影响,避免对差速轮组底盘的运动产生影响,因此p一般取值不超过0.02,i一般取值不超过0.01。
[0123]
依据运动速度调节各差速轮组的速度以及各差速轮组中的各单个轮子的速度。
[0124]
此外,在上述实施例的基础上,作为一种更优选的实施例,当差速轮组底盘处于原地旋转状态时,还包括:
[0125]
获取差速轮组的目标角度和反馈角度;
[0126]
确定目标角度和反馈角度的差值;
[0127]
判断差值是否大于预设角度阈值;
[0128]
若是,则降低整体速度,直到差值不大于预设角度阈值时再次以整体速度运动;
[0129]
若否,则控制差速轮组底盘以整体速度运动。
[0130]
需要说明的是,上述步骤还可以应用于差速轮组之间由于轮子处于打滑或浮空状态时。具体以差速轮组底盘的运行状态由直行横移和旋转之间切换时为例。此时需要先将四个轮组角度调整到位然后差速轮组底盘才能开始移动。比如差速轮组底盘由直行切换到横移,需要将四个轮组的速度转到90
°
,这个时候由于打滑,有且仅有其中的一个轮组不能转到目标角度,则允许差速轮组底盘以一个很小的整车速度运动,相当于爬行,同时边走边调整打滑的轮组,直到差速轮组底盘离开当前不平整地面位置,打滑的轮组恢复到正常的角度,差速轮组底盘才能恢复正常行驶速度。
[0131]
在上述实施例中,对于控制差速轮组底盘运动的方法进行了详细描述,本技术还提供控制差速轮组底盘运动的装置对应的实施例。图2为本技术实施例所提供的一种控制差速轮组底盘运动的装置结构图。如图2所示,本技术还提供了一种控制差速轮组底盘运动的装置,包括:
[0132]
确定模块20,用于确定差速轮组底盘的运动路径;
[0133]
控制模块21,用于控制差速轮组底盘按照运动路径以整体速度和整体角速度运动,其中差速轮组底盘的整体速度和整体角速度为根据刚体运动学关系得到各差速轮组的速度矢量。
[0134]
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0135]
图3为本技术实施例所提供的一种控制差速轮组底盘运动的设备结构图。在上述实施例的基础上,如图3所示,本技术还能应用于控制差速轮组底盘运动的设备包括:
[0136]
存储器30,用于存储计算机程序;
[0137]
处理器31,用于执行计算机程序时实现如上述实施例中所提到的控制差速轮组底盘运动的方法的步骤。
[0138]
本实施例提供的控制差速轮组底盘运动的设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
[0139]
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(central processing unit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以集成有图像处理器(graphics processing unit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括人工智能(artificial intelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0140]
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任意一个实施例公开的控制差速轮组底盘运动的方法的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据可以包括但不限于控制差速轮组底盘运动的方法等。
[0141]
在一些实施例中,控制差速轮组底盘运动的设备还可包括有显示屏、输入输出接口、通信接口、电源以及通信总线。
[0142]
本领域技术人员可以理解,上述实施例中示出的结构并不构成对控制差速轮组底盘运动的设备的限定,可以包括比上述实施例提及的更多或更少的组件。
[0143]
本技术实施例提供的控制差速轮组底盘运动的设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现控制差速轮组底盘运动的方法。
[0144]
最后,本技术还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
[0145]
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(randomaccess memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0146]
以上对本技术所提供的一种控制差速轮组底盘运动的方法、装置、设备及介质进
行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
[0147]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。