1.本发明涉及机器人运动控制领域,尤其涉及一种机器人运动控制方法、智能终端及存储介质。
背景技术:2.在可以移动机器人的控制领域中,运动控制是一个重要的研究领域,目前应用在移动机器人上的控制算法主要有纯跟踪pure pursuit算法。其中,纯跟踪算法的原理主要是在状态空间下构建机器人当前位置和预瞄点之间的关系,即计算出连接预瞄点和车辆位置的圆弧的曲率半径,结合圆弧的曲率半径和机器人的动力学模型计算出机器人的目标角速度,从而控制机器人跟踪该圆弧实现机器人的运动。
3.然而,pure pursuit控制算法的输出在高阻尼状态下容易引起振荡问题导致机器人行走异常,如:在重载状态下,机器人行走时角速度控制量出现振荡,导致机器人行走异常,降低了机器人行走的准确性和可靠性。
技术实现要素:4.为了克服现有技术的不足,本发明提出一种机器人运动控制方法、智能终端及存储介质,在通过纯跟踪算法计算得到机器人的目标角速度控制量后,利用目标角速度控制量对应的角速度误差生成补偿量,基于该补偿量修正目标角速度控制量计算机器人的实际角速度控制量,从而快速实现了对角速度控制量偏差的响应和修正,解决了高阻尼状态下的振荡问题,保证了机器人运动的准确性和稳定性。
5.为解决上述问题,本发明采用的一个技术方案为:一种机器人运动控制方法,所述机器人运动控制方法包括:s101:获取机器人当前的运动信息,根据所述运动信息计算连接当前位置与目标位置的圆弧的半径,并结合所述半径计算所述机器人的目标角速度控制量,其中,所述运动信息包括机器人当前位置与目标位置之间的距离、当前运动方向与所述目标位置的夹角、轴距以及当前线速度;s102:根据所述目标角速度控制量对应的角速度误差生成补偿量,根据所述角速度控制量、补偿量计算机器人的实际角速度控制量。
6.进一步地,所述根据所述运动信息计算连接当前位置与目标位置的圆弧的半径的步骤具体包括:通过公式计算圆弧的半径,其中,r为圆弧的半径,ld为机器人当前位置与目标位置之间的距离,α为所述夹角。
7.进一步地,所述结合所述半径计算所述机器人的目标角速度控制量的步骤具体包括:通过公式计算所述目标角速度控制量,其中,θ
pp
为所述目标角速度控制量,v为当前线速度,α为所述夹角,ld为机器人当前位置与目标位置之间的距离。
8.进一步地,所述根据所述目标角速度控制量对应的角速度误差生成补偿量的步骤具体包括:根据所述目标角速度控制量计算当前控制周期以及上一控制周期的角速度误差,根据所述角速度误差生成补偿量。
9.进一步地,根据所述目标角速度控制量计算当前控制周期的角速度误差的步骤具体包括:通过公式ei=θ
pp-α计算所述角速度误差,其中,α为当前控制周期机器人的角速度,θ
pp
为目标角速度控制量,ei为角速度误差。
10.进一步地,所述根据所述角速度误差生成补偿量的步骤具体包括:通过公式计算补偿量,其中,θ
pd
为补偿量,k
p
为p控制器系数,kd为d控制器系数,ei为当前控制周期的角速度误差,e
i-1
为上一控制周期的角速度误差,δt为控制周期的时间长度。
11.进一步地,所述通过所述角速度控制量、补偿量计算机器人的实际角速度控制量的步骤具体包括:根据公式θ=θ
pp
+θ
pd
计算实际角速度控制量,其中,θ为实际角速度控制量,θ
pp
为目标角速度控制量,θ
pd
为补偿量。
12.进一步地,所述根据所述运动信息计算连接当前位置与目标位置的圆弧的半径的步骤之后还包括:通过公式计算机器人的前轮转向角,其中,β为前轮转向角,α为当前运动方向与所述目标位置的夹角,lw为轴距,ld为当前位置与目标位置之间的距离。
13.基于相同的发明构思,本发明还提出一种智能终端,所述智能终端包括处理器、存储器,处理器与所述存储器通信连接,所述存储器存储有计算机程序,所述处理器根据所述计算机程序执行如上所述的机器人运动控制方法。
14.基于相同的发明构思,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有程序数据,所述程序数据被用于执行如上所述的机器人运动控制方法。
15.相比于现有技术,本发明的有益效果在于:在通过纯跟踪算法计算得到机器人的目标角速度控制量后,利用目标角速度控制量对应的角速度误差生成补偿量,基于该补偿量修正目标角速度控制量计算机器人的实际角速度控制量,从而快速实现了对角速度控制量偏差的响应和修正,解决了高阻尼状态下的振荡问题,保证了机器人运动的准确性和稳定性。
附图说明
16.图1为纯跟踪算法一实施例的原理图;
17.图2为本发明机器人运动控制方法一实施例的流程图;
18.图3为本发明机器人运动控制方法另一实施例的流程图;
19.图4为本发明智能终端一实施例的结构图;
20.图5为本发明计算机可读存储介质一实施例的结构图。
具体实施方式
21.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,通常在此处附图中描述和示出的各本
公开实施例在不冲突的前提下,可相互组合,其中的结构部件或功能模块可以以各种不同的配制来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
22.请参阅图1至图3,其中,图1为纯跟踪算法一实施例的原理图;图2为本发明机器人运动控制方法一实施例的流程图;图3为本发明机器人运动控制方法另一实施例的流程图。其中,图1中的虚线框代表机器人的车轮,黑色方框代表机器人,p
center
代表圆弧的圆心,p
now
代表当前位置,p
next
代表目标位置,结合图1至图3对本发明的机器人运动控制方法作详细说明。
23.在本实施例中,应用该机器人运动控制方法的设备为可移动机器人。
24.在一个具体的实施例中,可移动机器人为两轮差速移动式机器人。
25.在本实施例中,机器人运动控制方法包括:
26.s101:获取机器人当前的运动信息,根据运动信息计算连接当前位置与目标位置的圆弧的半径,并结合半径计算机器人的目标角速度控制量,其中,运动信息包括机器人当前位置与目标位置之间的距离、当前运动方向与目标位置的夹角、轴距以及当前线速度。
27.在本实施例中,计算机器人当前的运动信息之前,先计算机器人的路径信息、定位信息,根据该路径信息、定位信息确定机器人的跟踪误差,通过该跟踪误差对机器人进行调整后,再计算机器人当前的运动信息。
28.在本实施例中,根据运动信息计算连接当前位置与目标位置的圆弧的半径的步骤具体包括:通过公式计算圆弧的半径,其中,r为圆弧的半径,ld为机器人当前位置与目标位置之间的距离,α为夹角。
29.具体的,在计算机器人当前位置与目标位置之间的距离ld、机器人当前的运动方向与目标位置的夹角α、机器人的轴距lw以及机器人当前线速度v之后,可得公式进而根据该公式可知从而计算圆弧的半径r。
30.结合半径计算机器人的目标角速度控制量的步骤具体包括:通过公式计算目标角速度控制量,其中,θ
pp
为目标角速度控制量,v为当前线速度,α为夹角,ld为机器人当前位置与目标位置之间的距离。通过该公式计算两轮差速移动式机器人的目标角速度控制量。
31.其中,根据运动信息计算连接当前位置与目标位置的圆弧的半径的步骤之后还包括:通过公式计算机器人的前轮转向角,其中,β为前轮转向角,α为当前运动方向与目标位置的夹角,lw为轴距,ld为当前位置与目标位置之间的距离。
32.具体的,根据圆弧的半径r,轴距lw可得通过该公式以及可得利用该公式计算得到机器人的前轮转向角β。
33.s102:根据目标角速度控制量对应的角速度误差生成补偿量,根据角速度控制量、补偿量计算机器人的实际角速度控制量。
34.在高阻尼状态下,由于系统响应延迟过大,上文计算出的目标角速度控制量无法控制机器人很好地对目标路径进行跟踪,因此需要对控制量进行补偿。本发明采用pd控制器输出补偿量,其中,pd控制器包括p控制器、d控制器,p控制器的p控制器系数为k
p
,d控制器的控制器系数为kd。
35.根据目标角速度控制量对应的角速度误差生成补偿量的步骤具体包括:根据目标角速度控制量计算当前控制周期以及上一控制周期的角速度误差,通过角速度误差生成补偿量。
36.其中,根据目标角速度控制量计算当前控制周期的角速度误差的步骤具体包括:通过公式ei=θ
pp-α计算角速度误差,其中,α为当前控制周期机器人的角速度,θ
pp
为目标角速度控制量,ei为角速度误差。
37.也可以通过上述公式计算机器人在上一个控制周期的角速度误差。相应的,输入公式的角速度为上一个控制周期的角速度,目标角速度控制量也未上一个控制周期的目标角速度控制量。
38.其中,通过角速度误差生成补偿量的步骤具体包括:通过公式其中,通过角速度误差生成补偿量的步骤具体包括:通过公式计算补偿量,其中,θ
pd
为补偿量,k
p
为p控制器系数,kd为d控制器系数,ei为当前控制周期的角速度误差,e
i-1
为上一控制周期的角速度误差,δt为控制周期的时间长度。
39.在一个实施例中,将角速度误差分别输出给p控制器、d控制器,通过p控制器、d控制器分别得到第一补偿量θ
p
、第二补偿量θd,进而利用第一补偿量θ
p
、第二补偿量θd得到θ
pd
。
40.根据角速度控制量、补偿量计算机器人的实际角速度控制量的步骤具体包括:根据公式θ=θ
pp
+θ
pd
计算实际角速度控制量,其中,θ为实际角速度控制量,θ
pp
为目标角速度控制量,θ
pd
为补偿量。
41.有益效果:本发明的机器人运动控制方法在通过纯跟踪算法计算得到机器人的目标角速度控制量后,利用目标角速度控制量对应的角速度误差生成补偿量,基于该补偿量修正目标角速度控制量计算机器人的实际角速度控制量,从而快速实现了对角速度控制量偏差的响应和修正,解决了高阻尼状态下的振荡问题,保证了机器人运动的准确性和稳定性。
42.基于相同的发明构思,本发明还提出一种智能终端,请参阅图4,图4为本发明智能终端一实施例的结构图,结合图4对本发明的智能终端进行说明。
43.在本实施例中,智能终端包括处理器、存储器,处理器与存储器通信连接,存储器存储有计算机程序,处理器根据计算机程序执行如上所述的机器人运动控制方法。
44.在一些实施例中,存储器可能包括但不限于高速随机存取存储器、非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程功能器件、分立
门或者晶体管功能器件、分立硬件组件。
45.基于相同的发明构思,本发明还提出一种计算机可读存储介质,请参阅图5,图5为本发明计算机可读存储介质一实施例的结构图,结合图5对本发明的计算机可读存储介质做详细说明。
46.在本实施例中,计算机可读存储介质存储有程序数据,程序数据被用于执行如上述实施例所述的机器人运动控制方法。
47.其中,计算机可读存储介质可包括,但不限于,软盘、光盘、cd-rom(紧致盘-只读存储器)、磁光盘、rom(只读存储器)、ram(随机存取存储器)、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、磁卡或光卡、闪存或适于存储机器可执行指令的其他类型的介质/机器可读介质。该计算机可读存储介质可以是未接入计算机设备的产品,也可以是已接入计算机设备使用的部件。
48.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
49.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:1.一种机器人运动控制方法,其特征在于,所述机器人运动控制方法包括:s101:获取机器人当前的运动信息,根据所述运动信息计算连接当前位置与目标位置的圆弧的半径,并结合所述半径计算所述机器人的目标角速度控制量,其中,所述运动信息包括机器人当前位置与目标位置之间的距离、当前运动方向与所述目标位置的夹角、轴距以及当前线速度;s102:根据所述目标角速度控制量对应的角速度误差生成补偿量,根据所述角速度控制量、补偿量计算机器人的实际角速度控制量。2.如权利要求1所述的机器人运动控制方法,其特征在于,所述根据所述运动信息计算连接当前位置与目标位置的圆弧的半径的步骤具体包括:通过公式计算圆弧的半径,其中,r为圆弧的半径,l
d
为机器人当前位置与目标位置之间的距离,α为所述夹角。3.如权利要求1所述的机器人运动控制方法,其特征在于,所述结合所述半径计算所述机器人的目标角速度控制量的步骤具体包括:通过公式计算所述目标角速度控制量,其中,θ
pp
为所述目标角速度控制量,v为当前线速度,α为所述夹角,l
d
为机器人当前位置与目标位置之间的距离。4.如权利要求1所述的机器人运动控制方法,其特征在于,所述根据所述目标角速度控制量对应的角速度误差生成补偿量的步骤具体包括:根据所述目标角速度控制量计算当前控制周期以及上一控制周期的角速度误差,根据所述角速度误差生成补偿量。5.如权利要求4所述的机器人运动控制方法,其特征在于,根据所述目标角速度控制量计算当前控制周期的角速度误差的步骤具体包括:通过公式e
i
=θ
pp-α计算所述角速度误差,其中,α为当前控制周期机器人的角速度,θ
pp
为目标角速度控制量,e
i
为角速度误差。6.如权利要求5所述的机器人运动控制方法,其特征在于,所述根据所述角速度误差生成补偿量的步骤具体包括:通过公式计算补偿量,其中,θ
pd
为补偿量,k
p
为p控制器系数,k
d
为d控制器系数,e
i
为当前控制周期的角速度误差,e
i-1
为上一控制周期的角速度误差,δt为控制周期的时间长度。7.如权利要求1所述的机器人运动控制方法,其特征在于,所述根据所述角速度控制量、补偿量计算机器人的实际角速度控制量的步骤具体包括:根据公式θ=θ
pp
+θ
pd
计算实际角速度控制量,其中,θ为实际角速度控制量,θ
pp
为目标角速度控制量,θ
pd
为补偿量。8.如权利要求1所述的机器人运动控制方法,其特征在于,所述根据所述运动信息计算连接当前位置与目标位置的圆弧的半径的步骤之后还包括:通过公式计算机器人的前轮转向角,其中,β为前轮转向角,α为当
前运动方向与所述目标位置的夹角,l
w
为轴距,l
d
为当前位置与目标位置之间的距离。9.一种智能终端,其特征在于,所述智能终端包括处理器、存储器,处理器与所述存储器通信连接,所述存储器存储有计算机程序,所述处理器根据所述计算机程序执行如权利要求1-8任一项所述的机器人运动控制方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序数据,所述程序数据被用于执行如权利要求1-8任一项所述的机器人运动控制方法。
技术总结本发明提供一种机器人运动控制方法、智能终端及存储介质,该机器人运动控制方法包括:S101:获取机器人当前的运动信息,根据运动信息计算连接当前位置与目标位置的圆弧的半径,并结合半径计算机器人的目标角速度控制量,其中,运动信息包括机器人当前位置与目标位置之间的距离、当前运动方向与目标位置的夹角、轴距以及当前线速度;S102:根据目标角速度控制量对应的角速度误差生成补偿量,根据角速度控制量、补偿量计算机器人的实际角速度控制量。本发明快速实现了对角速度控制量偏差的响应和修正,解决了高阻尼状态下的振荡问题,保证了机器人运动的准确性和稳定性。了机器人运动的准确性和稳定性。了机器人运动的准确性和稳定性。
技术研发人员:龚志豪 李振
受保护的技术使用者:广州赛特智能科技有限公司
技术研发日:2022.05.19
技术公布日:2022/11/1