用于两轮平衡车车身平衡控制的PID参数整定方法及产品与流程

文档序号:17183730发布日期:2019-03-22 21:09阅读:1954来源:国知局
用于两轮平衡车车身平衡控制的PID参数整定方法及产品与流程

本发明涉及自动控制技术领域,特别涉及一种用于两轮平衡车车身平衡控制的pid参数整定方法及产品。



背景技术:

现如今,随着现代科技的高速发展,人们的出行活动变得越来越频繁,对出行工具的需求也越来越高。在众多的出行工具中,电动平衡车,这种代步工具的出现,凭借着体形小便于携带、绿色环保的独特优势,成功的吸引了众人的眼球,迎合了大量80、90后对现代出行方式的需求,形成较好的市场反应。

在对平衡车控制系统的设计过程中,比较关键的就是对两轮平衡车车身平衡的控制。一个好的车身平衡系统不仅能够提高用户体验,还能提高用户在使用过程中的安全系数,有效减少意外的发生。

目前,市面上比较广泛的是根据车身的姿态传感器反馈的车身倾角信息作为反馈信号,采用pid闭环控制的方法来设计控制平衡车的车身平衡控制系统。pid控制系统包含了三个控制环节,分别为比例环节、积分环节、微分环节。

在设计pid控制系统过程中,最关键的就是对pid的比例、积分、微分三个控制环节的权重比参数进行调节,简称pid参数整定。目前比较广泛pid参数整过程定是基于在调试过程中根据控制系统的输出波形变化情况来进行调整。这就要求调试者需要有一定的调试经验。除了上述方法,还有一种pid参数整定方法叫做ziegler-nichols整定法,它的主要方法是仅在比例作用下将系统调节到临界震荡状态,得到临界增益和震荡周期,根据这两个量进行相应的计算便得到相对合适的pid参数。上述ziegler-nichols整定法被广泛运用到pid调节中,但也存在临界状态难以把握的缺点。同时,该方法具有一般性,不能对不同控制系统在实际应用中的差异性作出弥补。

因此,如何提供一种用于两轮平衡车车身平衡控制的pid整定方案,能够方便、快捷地对两轮平衡车车身平衡控制的pid参数进行整定,是本领域技术人员亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种用于两轮平衡车车身平衡控制的pid参数整定方法及产品,能够方便、快捷地对两轮平衡车车身平衡控制的pid参数进行整定。其具体方案如下:

第一方面,本发明提供一种用于两轮平衡车车身平衡控制的pid参数整定方法,包括:

a1:获取n组初始pid参数样本,以择一作为当前pid参数;

a2:利用当前pid参数样本,获取当前pid参数样本输入两轮平衡车后车身的实时倾角值;

a3:判断实时倾角值是否小于预设倾角阈值;

a4:如果否,则从n组初始pid参数样本确定当前pid参数,并进入步骤a2,直到获取n组所述初始pid参数样本对应的实时倾角值;

a5:根据n组所述初始pid参数样本及其对应的实时倾角值,拟合实时倾角值关于pid参数的当前关系式;

a6:利用当前关系式,求取使得实时倾角值最接近所述预设倾角阈值的当前理论最小pid参数;

a7:利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值;

a8:判断实时倾角值是否小于预设倾角阈值;

a9:如果否,则将当前理论最小pid参数及其对应的实时倾角值与n组所述初始pid参数样本及其对应的实时倾角值中实施倾角值与预设倾角阈值相差最大的初始pid参数样本做替换,得到替换后的n组pid参数样本及其对应的实时倾角值,并拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,确定该当前理论最小pid参数为最终整定pid参数。

优选地,

所述获取所述初始pid参数样本输入两轮平衡车后车身的实时倾角值,包括:

将pid参数输入两轮平衡车控制系统;

测取pid参数输入两轮平衡车控制系统后,m个预设时刻的实时倾角值;其中,所述m为正整数。

优选地,

所述拟合实时倾角值关于pid参数的当前关系式,包括:

根据所述实时倾角值与所述预设倾角阈值,计算两者的均方误差;

拟合所述均方误差关于pid参数的当前关系式。

优选地,

所述获取n组初始pid参数样本,包括:

获取pid参数的参数区间;

随机在所述参数区间内生成n组pid参数作为初始pid参数样本。

第二方面,本发明提供一种用于两轮平衡车车身平衡控制的pid参数整定系统,包括:

参数样本获取模块,用于实现a1:获取n组初始pid参数样本,以择一作为当前pid参数;

实时倾角获取模块,用于实现a2:利用当前pid参数样本,获取当前pid参数样本输入两轮平衡车后车身的实时倾角值;

倾角阈值判断模块,用于实现a3:判断实时倾角值是否小于预设倾角阈值;

参数样本循环模块,用于实现a4:如果否,则从n组初始pid参数样本确定当前pid参数,并进入步骤a2,直到获取n组所述初始pid参数样本对应的实时倾角值;

关系拟合模块,用于实现a5:根据n组所述初始pid参数样本及其对应的实时倾角值,拟合实时倾角值关于pid参数的当前关系式;

理论参数求取模块,用于实现a6:利用所述当前关系式,求取使得实时倾角值最接近所述预设倾角阈值的当前理论最小pid参数;

理论倾角获取模块,用于实现a7:利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值;

倾角阈值判断模块,用于实现a8:判断实时倾角值是否小于预设倾角阈值;

拟合循环模块,用于实现a9:如果否,则将当前理论最小pid参数及其对应的实时倾角值与n组所述初始pid参数样本及其对应的实时倾角值中实施倾角值与预设倾角阈值相差最大的初始pid参数样本做替换,得到替换后的n组pid参数样本及其对应的实时倾角值,并拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到得到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,该当前理论最小pid参数即为最终整定pid参数。

优选地,

所述实时倾角获取模块,包括:

pid参数输入单元,用于将pid参数输入两轮平衡车控制系统;

实时倾角测取单元,用于测取pid参数输入两轮平衡车控制系统后,m个预设时刻的实时倾角值;其中,所述m为正整数。

优选地,

所述参数样本获取模块,包括:

参数区间获取单元,用于获取pid参数的参数区间;

参数样本随机模块,用于随机在所述参数区间内生成n组pid参数作为初始pid参数样本。

第三方面,本发明提供一种两轮平衡车,应用于上述第一方面所述的用于两轮平衡车车身平衡控制的pid参数整定方法,包括:

参数样本获取模块,用于获取当前pid参数样本;

参数样本控制模块,用于利用所述当前pid参数样本,控制所述两轮平衡车;

实时倾角获取单元,用于获取当前pid参数样本输入两轮平衡车后车身的实时倾角值。

第四方面,本发明提供一种用于两轮平衡车车身平衡控制的pid参数整定计算机设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述第一方面所述的用于两轮平衡车车身平衡控制的pid参数整定方法的步骤。

第五方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述用于两轮平衡车车身平衡控制的pid参数整定方法的步骤。

本发明提供一种用于两轮平衡车车身平衡控制的pid参数整定方法,包括:a1:获取n组初始pid参数样本,以择一作为当前pid参数;a2:利用当前pid参数样本,获取当前pid参数样本输入两轮平衡车后车身的实时倾角值;a3:判断实时倾角值是否小于预设倾角阈值;a4:如果否,则从n组初始pid参数样本确定当前pid参数,并进入步骤a2,直到获取n组所述初始pid参数样本对应的实时倾角值;a5:根据n组所述初始pid参数样本及其对应的实时倾角值,拟合实时倾角值关于pid参数的当前关系式;a6:利用当前关系式,求取使得实时倾角值最接近所述预设倾角阈值的当前理论最小pid参数;a7:利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值;a8:判断实时倾角值是否小于预设倾角阈值;a9:如果否,则将当前理论最小pid参数及其对应的实时倾角值与n组所述初始pid参数样本及其对应的实时倾角值中实施倾角值与预设倾角阈值相差最大的初始pid参数样本做替换,得到替换后的n组pid参数样本及其对应的实时倾角值,并拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,确定该当前理论最小pid参数为最终整定pid参数。本发明提供的用于两轮平衡车车身平衡控制的pid参数整定方法,能够根据两轮平衡车的在输入pid参数后的输出值,对pid参数样本进行判定,而且利用拟定输入、输出之间的关系,利用理论pid参数与实际输出之间的关系,对最终整定的pid参数进行确定,在实施方程中,不需要人为操作,能够方便、快捷地对两轮平衡车车身平衡控制的pid参数进行整定。

本发明提供的一种用于两轮平衡车车身平衡控制的pid参数整定系统、两轮平衡车、计算机设备、计算机可读存储介质也具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明一种具体实施方式所提供的一种用于两轮平衡车车身平衡控制的pid参数整定方法的流程图;

图2为本发明一种具体实施方式所提供的实时倾角值获取方法的流程图;

图3为本发明一种具体实施方式所提供的一种关系式拟合方式的流程图;

图4为本发明一种具体实施方式所提供的一种初始pid参数样本的获取流程图;

图5为本发明一种具体实施方式所提供的一种用于两轮平衡车车身平衡控制的pid参数整定方法的流程图;

图6为本发明一种具体实施方式所提供的一种两轮平衡车的硬件组成示意图;

图7为本发明一种具体实施方式所提供的一种两轮平衡车的pid调节示意图;

图8为本发明又一种具体实施方式中所提供一种用于两轮平衡车车身平衡控制的pid参数整定系统的组成示意图;

图9为本发明一种具体实施方式所提供的两轮平衡车的组成结构示意图;

图10为本发明又一种具体实施方式所提供的计算机设备的结构示意图.

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明一种具体实施方式所提供的一种用于两轮平衡车车身平衡控制的pid参数整定方法的流程图。

在本发明一种具体实施方式中,本发明实施例提供一种用于两轮平衡车车身平衡控制的pid参数整定方法,包括:

步骤a1:获取n组初始pid参数样本,以择一作为当前pid参数;

在本发明实施例中,首先需要获取初始pid参数样本,在该初始pid参数样本的基础上,进行一系列的处理,例如在实际中,可以根据经验,设定pid参数,也就是对kp、ki、kd三个参数的范围进行设定,可以在三个参数范围内进行均匀的取值,例如kp可以取值kp1、kp2……kpn,一共n个取值,;而ki有m个取值、kd有q个取值,n、m、q为大于1的整数对这些取值进行任意可能的组合。并且选择一个组合作为当前pid参数,以进行下一步处理。当然,也可以采取其他的方式进行初始pid参数样本的获取。

步骤a2:利用当前pid参数样本,获取当前pid参数样本输入两轮平衡车后车身的实时倾角值;

在获取当前pid参数样本后,需要知道当前pid参数样本的输入两轮平衡车后的效果,因此,可以利用当前pid参数样本去输入到两轮平衡车,并且利用当前pid参数样本去控制两轮平衡车,对于车站的平衡,可以选定一个基准,例如可以选定竖直方向作为基准,来测定车身踏板法线方向的角度,作为实时倾角值,当然,也可以选择车身踏板与水平方向的夹角值作为实时倾角值。值得说明的是,该实时倾角值,可以为一个数值,也可以为一组数值,也就是说,在将当前pid参数样本输入到两轮平衡车后,可以测取车身在一组预设时刻的每个实时倾角值。

步骤a3:判断实时倾角值是否小于预设倾角阈值;

步骤a4:如果否,则从n组初始pid参数样本确定当前pid参数,并进入步骤a2,直到获取n组所述初始pid参数样本对应的实时倾角值;

对于实时倾角值,一般有一个预判,希望该实时倾角值不要太大,以免影响使用者的安全,因为可以设定一个预设倾角阈值,该预设倾角阈值对于两轮平衡车的使用者来说,应该是安全的,如果当前pid参数小于预设倾角阈值,那么可以判定该当前pid参数可以作为最终整定pid参数。如果当前pid参数大于或等于预设倾角阈值,那么可以判定该当前pid参数不可以作为最终整定pid参数,则应该继续在pid参数样本中,选定当前pid参数样本进行循环处理,如果所有的pid参数样本都不符合要求,那么可以获取n组所述初始pid参数样本对应的实时倾角值。当然,如果存在符合要求的pid参数样本,那么可以确定该pid参数样本为最终整定pid参数。

步骤a5:根据n组所述初始pid参数样本及其对应的实时倾角值,拟合实时倾角值关于pid参数的当前关系式;

如果所有的pid参数样本都不符合要求,那么可以获取n组所述初始pid参数样本对应的实时倾角值,对于这些输入和输出可以进行拟合,从而得到输出与输入之间的关系式。

步骤a6:利用当前关系式,求取使得实时倾角值最接近所述预设倾角阈值的当前理论最小pid参数;

对于该关系式,可以通过数学方法求取使得输出值最小的当前理论最小pid参数。

步骤a7:利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值;

在获取当理论最小pid参数后,还要输入到两轮平衡中进行严重,也就是说,需要利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值。

步骤a8:判断实时倾角值是否小于预设倾角阈值;

步骤a9:如果否,则将当前理论最小pid参数及其对应的实时倾角值与n组所述初始pid参数样本及其对应的实时倾角值中实施倾角值与预设倾角阈值相差最大的初始pid参数样本做替换,得到替换后的n组pid参数样本及其对应的实时倾角值,并拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,确定该当前理论最小pid参数为最终整定pid参数。

并且验证该实时倾角值是否符合要求,如果还不符合要求,那么可以将此事的当前理论最小pid参数及对应的实时倾角值作为一组输入输出,替换掉原本的n组初始pid参数样本所对应的输入中输出误差最大的一组,从而拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,确定该当前理论最小pid参数为最终整定pid参数。

请参考图2,图2为本发明一种具体实施方式所提供的实时倾角值获取方法的流程图。

进一步地,为了获取所述初始pid参数样本输入两轮平衡车后车身的实时倾角值,具体地可以:

a21:将pid参数输入两轮平衡车控制系统;

a22:测取pid参数输入两轮平衡车控制系统后,m个预设时刻的实时倾角值;其中,所述m为正整数。

请参考图3,图3为本发明一种具体实施方式所提供的一种关系式拟合方式的流程图。

也就是说,本发明是将pid参数样本实际输入到真实的需要控制的两轮平衡车中去,而不是采用的模拟两轮车系统,从而可以的得到更加符合实际的输入输出值的对应关系。进一步地,为了拟合实时倾角值关于pid参数的当前关系式,具体地,可以:

a51:根据所述实时倾角值与所述预设倾角阈值,计算两者的均方误差;

a52:拟合所述均方误差关于pid参数的当前关系式。

请参考图4,图4为本发明一种具体实施方式所提供的一种初始pid参数样本的获取流程图。

在上述具体实施方式的基础上,本具体实施方式中,为了获取n组初始pid参数样本,可以采用随机取值的方式,增加获取初始pid参数的快捷性。具体地可以采用以下步骤:

a11:获取pid参数的参数区间;

a12:随机在所述参数区间内生成n组pid参数作为初始pid参数样本。

本发明提供一种用于两轮平衡车车身平衡控制的pid参数整定方法,,能够根据两轮平衡车的在输入pid参数后的输出值,对pid参数样本进行判定,而且利用拟定输入、输出之间的关系,利用理论pid参数与实际输出之间的关系,对最终整定的pid参数进行确定,在实施方程中,不需要人为操作,能够方便、快捷地对两轮平衡车车身平衡控制的pid参数进行整定。

请参考图5、图6、图7,图5为本发明一种具体实施方式所提供的一种用于两轮平衡车车身平衡控制的pid参数整定方法的流程图;图6为本发明一种具体实施方式所提供的一种两轮平衡车的硬件组成示意图;图7为本发明一种具体实施方式所提供的一种两轮平衡车的pid调节示意图。

在本发明的又一种具体实施方式中,本发明实施例可以利用matlab分析系统对pid参数的kp、ki、kd进行自动整定。

本发明包括:两个系统,一个是两轮平衡车的硬件控制系统,包括了车身结构、mcu控制器,车轮与驱动电机、倾角检测传感器、电机转速传感器以及通讯接口;软件系统包括了基于mcu控制器的车身平衡控制系统与基于matlab的参数分析系统。车身平衡控制系统与matlab参数分析系统之间的数据传输用usb转ttl模块进行通讯。通讯方式可以采用uart方式。

车身平衡控制的硬件控制系统信息如下:

使用stm32f4103c8t6作为主控芯片,通过iic接口读出mpu6050的平衡角速度和平衡角加速度,获取车身的倾角信息,最终通过pid输出pwm电机控制信号,由驱动完成对电机的控制。

pid参数自整定步骤如下:

车身平衡控制系统运行步骤如下:

1、完成车身平衡系统的初始化并等待接收matlab分析系统命令,转步骤2;

2、若接收到参数设定命令,则根据参数设置kp、ki、kd,设置完成之后向matalb分析系统发送设置成功应答;

3、若收到启动测试命令,则启动电机,进行车身平衡测试,并采用定时中断方式,每隔100ms通过mpu6050获取车身倾角数据,将数据传输至matlab参数分析系统,测试过程持续10s,测试完成转步骤4;

4、测试完成之后停止电机输出,等待接收matlab命令;

matlab的参数分析系统运行步骤如下:

1.完成matlab参数分析系统初始化并与车身平衡控制系统建立通讯连接,转步骤2;

2.给定pid参数初始区间,设kp的参数区间为、ki的参数区间为、kd的参数区间为,设定样本集的个数为n,在参数区间内随机生成n个参数作为初始输入样本集x,

设定期望倾角;设定期望均方误差指标;对输入样本集的每组参数进行实际测试,转步骤3;

3.将待测试参数样本xi发送至车身控制系统,待接收到车身平衡控制系统的应答信号之后发送启动测试命令,并实时接收车身平衡控制系统反馈倾角信息gj,测试完成之后获得车身倾角集g,也就是在将pid参数样本输入到两轮平衡车进行pid控制后,一个预设时刻组(100个时刻)苏哦对应的车身倾角值,也就是实时倾角值:

将集g与期望倾角(也就是预设倾角阈值)比较计算测试期望均方误差作为样本输出值yi

a.若不大于指标,则输出最终整定参数,参数自整定过程完成;

b.否则转至步骤4

4.此时获得一个完整的输入输出样本;加入到测试样本集去,判断样本集个数,

a.若个数没达到设定值n,则说明初始参数输入样本还未全部完成,则将下一个待测试参数发送到车身控制系统,转步骤3;

b.若样本集个数达到n,则跳转至步骤5

c.若样本个数达到n+1,则将新的输入输出样本代替原先样本集中样本输出值y最大的样本,转至步骤5;

5.开始拟合模型:

建立模型:

利用matlab软件的lsqcurvefit()函数对n个样本集进行参数估计,求出之后获得数学模型f;

根据样本集x各个参数的最大最小值重新设定kp,ki,kd的约束条件:

求三元函数模型f在约束条件下使得最小值点xi,过程如下:

求f函数一次偏导方程组的解,代入公式:,

求出的值,

若大于0则令,

若小于0则在约束条件边界取使成立,令

将xi作为待测试参数,转至步骤3;

依次循环进行直至步骤3.a,则整个参数自整定过程完成。

发明实施例提供一种基于matlab软件对控制系统的pid参数进行自动调节的方法,整个pid参数整定过程中无需人为干预即可完成。在参数自整定过程中,对实际的车身平衡控制系统不断进行实验测试,直到平衡指标达到要求为止,从而得到与当前实际的车身平衡控制系统契合度最佳的pid参数,即kp、ki、kd。

请参考图8,图8为本发明又一种具体实施方式中所提供一种用于两轮平衡车车身平衡控制的pid参数整定系统的组成示意图。

在本发明又一种具体实施方式中,本发明实施例提供一种用于两轮平衡车车身平衡控制的pid参数整定系统800,包括:

参数样本获取模块810,用于实现a1:获取n组初始pid参数样本,以择一作为当前pid参数;

实时倾角获取模块820,用于实现a2:利用当前pid参数样本,获取当前pid参数样本输入两轮平衡车后车身的实时倾角值;

倾角阈值判断模块830,用于实现a3:判断实时倾角值是否小于预设倾角阈值;

参数样本循环模块840,用于实现a4:如果否,则从n组初始pid参数样本确定当前pid参数,并进入步骤a2,直到获取n组所述初始pid参数样本对应的实时倾角值;

关系拟合模块850,用于实现a5:根据n组所述初始pid参数样本及其对应的实时倾角值,拟合实时倾角值关于pid参数的当前关系式;

理论参数求取模块860,用于实现a6:利用所述当前关系式,求取使得实时倾角值最接近所述预设倾角阈值的当前理论最小pid参数;

理论倾角获取模块870,用于实现a7:利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值;

倾角阈值判断模块880,用于实现a8:判断实时倾角值是否小于预设倾角阈值;

拟合循环模块890,用于实现a9:如果否,则将当前理论最小pid参数及其对应的实时倾角值与n组所述初始pid参数样本及其对应的实时倾角值中实施倾角值与预设倾角阈值相差最大的初始pid参数样本做替换,得到替换后的n组pid参数样本及其对应的实时倾角值,并拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到得到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,该当前理论最小pid参数即为最终整定pid参数。

优选地,

所述实时倾角获取模块,包括:

pid参数输入单元,用于将pid参数输入两轮平衡车控制系统;

实时倾角测取单元,用于测取pid参数输入两轮平衡车控制系统后,m个预设时刻的实时倾角值;其中,所述m为正整数。

优选地,

所述参数样本获取模块,包括:

参数区间获取单元,用于获取pid参数的参数区间;

参数样本随机模块,用于随机在所述参数区间内生成n组pid参数作为初始pid参数样本。

请参考图9,图9为本发明一种具体实施方式所提供的两轮平衡车的组成结构示意图。

在本发明一种具体实施方式中,本发明实施例提供一种两轮平衡车900,应用于上述任一种具体实施方式中所述的用于两轮平衡车车身平衡控制的pid参数整定方法,包括:

参数样本获取模块910,用于获取当前pid参数样本;

参数样本控制模块920,用于利用所述当前pid参数样本,控制所述两轮平衡车;

实时倾角获取单元930,用于获取当前pid参数样本输入两轮平衡车后车身的实时倾角值。

请参考图10,图10为本发明又一种具体实施方式所提供的计算机设备的结构示意图。

在本发明的又一种具体实施方式中,本发明实施例提供一种计算机设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种具体实施方式所述的用于两轮平衡车车身平衡控制的pid参数整定方法的步骤。

下面参考图10,其示出了适于用来实现本申请实施例的计算机设备的结构示意图。图10示出的计算机设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图10所示,计算机系统1000包括处理器(cpu)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。在ram1003中,还存储有系统1000操作所需的各种程序和数据。

cpu1001、rom1002以及ram1003通过总线1004彼此相连。输入/输出(i/o)接口1003也连接至总线1004。

以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1007。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器(cpu)1001执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。

在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

作为本发明的又一具体实施方式,本发明实施例提供一种计算机可读存储介质所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意具体实施方式中的用于两轮平衡车车身平衡控制的pid参数整定方法的步骤。

该计算机可读介质可以是上述实施例中描述的计算机或终端设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:a1:获取n组初始pid参数样本,以择一作为当前pid参数;a2:利用当前pid参数样本,获取当前pid参数样本输入两轮平衡车后车身的实时倾角值;a3:判断实时倾角值是否小于预设倾角阈值;a4:如果否,则从n组初始pid参数样本确定当前pid参数,并进入步骤a2,直到获取n组所述初始pid参数样本对应的实时倾角值;a5:根据n组所述初始pid参数样本及其对应的实时倾角值,拟合实时倾角值关于pid参数的当前关系式;a6:利用当前关系式,求取使得实时倾角值最接近所述预设倾角阈值的当前理论最小pid参数;a7:利用当前理论最小pid参数,获取当前理论最小pid参数样本输入两轮平衡车后车身的实时倾角值;a8:判断实时倾角值是否小于预设倾角阈值;a9:如果否,则将当前理论最小pid参数及其对应的实时倾角值与n组所述初始pid参数样本及其对应的实时倾角值中实施倾角值与预设倾角阈值相差最大的初始pid参数样本做替换,得到替换后的n组pid参数样本及其对应的实时倾角值,并拟合实时倾角值关于pid参数的当前关系式,进入步骤a6,直到当前理论最小pid参数对应的实时倾角值小于预设倾角阈值,确定该当前理论最小pid参数为最终整定pid参数。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种用于两轮平衡车车身平衡控制的pid参数整定方法及产品进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1