CN112965509B - 一种两轮自平衡机器人的控制方法及系统 - Google Patents

一种两轮自平衡机器人的控制方法及系统 Download PDF

Info

Publication number
CN112965509B
CN112965509B CN202110177317.2A CN202110177317A CN112965509B CN 112965509 B CN112965509 B CN 112965509B CN 202110177317 A CN202110177317 A CN 202110177317A CN 112965509 B CN112965509 B CN 112965509B
Authority
CN
China
Prior art keywords
balancing robot
quasi
wheeled self
variable parameter
parameter model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110177317.2A
Other languages
English (en)
Other versions
CN112965509A (zh
Inventor
师宝
赵国亮
黄沙日娜
蔡圣烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inner Mongolia University
Original Assignee
Inner Mongolia University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inner Mongolia University filed Critical Inner Mongolia University
Priority to CN202110177317.2A priority Critical patent/CN112965509B/zh
Publication of CN112965509A publication Critical patent/CN112965509A/zh
Application granted granted Critical
Publication of CN112965509B publication Critical patent/CN112965509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0891Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles

Abstract

本发明实施例的方法中提出了一种两轮自平衡机器人的控制方法。该方法在基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型后,对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;然后将准线性变参数模型转换成线性矩阵不等式,并基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;最后通过设置该最优参数对两轮自平衡机器人进行控制。通过上述方法往往可以获得最优解,可以提高两轮自平衡机器人控制的准确性。

Description

一种两轮自平衡机器人的控制方法及系统
【技术领域】
本发明涉及自动控制技术领域,尤其涉及一种两轮自平衡机器人的控制方法及系统。
【背景技术】
现有技术的两轮机器人控制方法中,通过使用TPDC(Tensor Product Transfor-mation based Parallel Distribution Compensator,张量积并行分布补偿控制器)来设计线性矩阵不等式,通过求可行解得到TPDC的增益参数从而实现两轮机器人的控制。但是通过上述方法往往无法达到最优解甚至次优解,严重影响两轮机器人控制的准确性。
【发明内容】
有鉴于此,本发明实施例提供了一种两轮自平衡机器人的控制方法及系统。
一方面,本发明实施例提供了一种两轮自平衡机器人的控制方法,该方法包括:
S1、基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型;
S2、对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;
S3、将准线性变参数模型转换成线性矩阵不等式;
S4、基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;
S5、通过设置该最优参数对两轮自平衡机器人进行控制。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述S1之前,所述方法还包括:
建立基于两轮自平衡机器人的测试平台;
所述测试平台包括驱动器、控制器、工控机、两个车轮、陀螺仪和触摸屏,所述驱动器和控制器通过工控机进行连接,两个所述车轮使用同轴直流伺服电机连接,所述陀螺仪与控制器连接以控制两轮自平衡机器人系统的俯仰状态,所述触摸屏用于显示状态数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述准线性变参数模型具体包括:
假设1:忽略车轮的阻尼扭矩和干扰力;
假设2:车体和车轮为“T”形体;
假设3:fdRL=fdRR=fdp=0,其中,fdRL为车体左轮与地面之间的摩擦力,fdRR为车体右轮与地面之间的摩擦力,fdp为两个车轮和机器人本体之间的摩擦力;
构建系统的准线性变参数模型具体如下:
Figure GDA0003834018480000021
a1=(-3gcosx2 sinc(x2/π))/(4h1)
a2=Lh2/h1
a3=(3/(4L)+9cos2 x2/(16Lh1))gsinc(x2/π)
a4=-3h2 cosx2/(4h1)
b1=(3Rcosx2+4L)/(4LRMph1)
b2=-(3h3 cosx2/(4h1L)+3/(4MpL2))
b3=6/((Mp+9Mr)DR)
h1=1+3Mr/Mp-3cos2 x2/4
h2=x5 sinx2
h3=1/(MpR)+3cosx2/(4MpL)
其中,状态变量x=[x1,x2,x3,x4,x5,x6],x1、x2、x3、x4、x5、x6分别为两轮自平衡机器人系统的位移、俯仰角、偏航角、速度、俯仰角速度和偏航角速度,输入状态u=[u1,u2],u1,u2分别为两轮自平衡机器人系统的左车轮和右车轮的输入,Mr为车轮质量,Mp为机体质量,R为车轮半径,L为底盘和机体重心的距离,D为左车轮和右车轮的直径。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述准线性变参数模型还包括:
将准线性变参数模型的大小设置为m×n,参数依赖数组的大小设置为m×n×2,网格的尺寸1×1,网格步长的大小设置为1×1,变量数设置为n,主要元素索引设置为Mi,因子维数设置为s,转换变量设置为Pi
准线性变参数模型的输出为张量和增益矩阵。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S2具体包括:
S21、基于网格尺寸对准线性变参数模型的输出进行等距采样;
S22、基于数论方法和定量策略生成Hammersley的感测点,并在内积空间中测量序列的差异,其中,生成函数定为:
Figure GDA0003834018480000031
Figure GDA0003834018480000032
qi∈N+且为质数;
S23、将生成函分解为升序多项式:
Figure GDA0003834018480000033
后,再将其分散到单位立方体[0,1]k中;其中,d=0,1,…,Nham-1,Nham为感测点的总点数,q1<q2<…<qk-1
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S3具体包括:
S31、在Hammersley采样张量S0上使用高阶奇异分解生成核心张量Sc和凸包U,用张量积模型转换生成逼近法线类型的加权函数;
S32、加载核心张量Sc,并定义线性矩阵不等式参数范围,将准线性变参数模型转换成线性矩阵不等式。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S4具体包括:
S41、设置最大代理数和迭代次数后,初始化种群数量;
S42、逐个获取搜索代理的适应程度,获取线性矩阵不等式的可行解feas,定义现有的最小可行解为feas1,最优搜索代理为X*;
S43、若feas≤feas1或t≥tmax,则执行S46,若feas>feas1且t<tmax,则执行S44;
S44、逐个更新搜索代理的j、J、G、l、z;
S45a、若z<0.5且|J|<1,通过第一公式计算当前搜索代理位置,则执行S46;
S45b、若|J|≥1,选择随机代理后,通过第二公式计算当前搜索代理位置,则执行S46;
S45c、若z≥0.5,通过第三公式计算当前搜索代理位置,则执行S46;
S46、查询并修改存在的超出搜索范围的搜索代理,逐个获取搜索代理的适应值,若出现更优代理则更新X*;
S47、令t=t+1,返回S43;
S48、输出X*和最小可行解时的参数值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一公式为:
Figure GDA0003834018480000041
其中,t为当前迭代次数,
Figure GDA0003834018480000042
Figure GDA0003834018480000043
为系数向量,X*为当前最优解的位置向量,
Figure GDA0003834018480000044
为位置向量;
所述第二公式为:
Figure GDA0003834018480000051
其中,
Figure GDA0003834018480000052
随机代理对应的位置向量;
所述第三公式为:
Figure GDA0003834018480000053
其中,l为[0,1]之间的随机数。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S5具体包括:
以最小可行解时的参数值作为最优参数值,计算出增益矩阵和输入状态u,将输入状态u输入到准线性变参数模型中对两轮自平衡机器人进行控制。
另一方面,本发明实施例提供了一种两轮自平衡机器人的控制系统,该系统包括:
构建模块,用于基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型;
采样模块,用于对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;
转换模块,用于将准线性变参数模型转换成线性矩阵不等式;
计算模块,用于基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;
控制模块,用于通过设置该最优参数对两轮自平衡机器人进行控制。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例的方法中提出了一种两轮自平衡机器人的控制方法。该方法在基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型后,对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;然后将准线性变参数模型转换成线性矩阵不等式,并基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;最后通过设置该最优参数对两轮自平衡机器人进行控制。通过上述方法往往可以获得最优解,可以提高两轮自平衡机器人控制的准确性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种两轮自平衡机器人的测试平台的构架图;
图2是本发明实施例提供的一种两轮自平衡机器人的控制方法的流程示意图;
图3是本发明实施例提供的两轮自平衡机器人的硬件结构图;
图4是本发明实施例提供的一种两轮自平衡机器人的控制系统的模块示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其为本发明实施例提供的一种两轮自平衡机器人的测试平台的构架图,如图所示,本发明首先应建立基于两轮自平衡机器人的测试平台,该测试平台包括驱动器、控制器、工控机、两个车轮、陀螺仪和触摸屏;驱动器和控制器通过工控机进行连接,两个车轮使用同轴直流伺服电机连接,两个电机同向转动,控制机器人的前进和后退,两个电机通过控制转矩差来实现机器人的偏航;陀螺仪与控制器连接以控制两轮自平衡机器人系统的俯仰状态;触摸屏用于显示状态数据。
请参考图3,图3是本发明实施例提供的两轮自平衡机器人的硬件结构图。实施例基于Matlab工具箱中的vrbuild2,对模型进行3D建模,首先进行模型搭建,模型总共分为:头部、颈部、主体、底座、电机、左轮和右轮七个部分。平面直角坐标系以2D为准,水平向右作为x轴,垂直于x轴竖直向上作为y轴,将垂直于x-y平面的轴作为z轴。使用Insert Box作为方体的堆积,构建机器人的主体、电机以及底座等。使用Insert Indexed Face Set作为不规则形状的建设,其中Crease Angle(CA)负责折角设置,比如模型中的左、右轮。使用scale(Sc)设置模型的缩放,rotation(Ro)作为旋转的角度设置,这里需要注意的是旋转时围绕的轴需要设置为1,旋转的角度以度数为单位,translation(Tr)作为移动距离的设定,还需对参数进行设置。
为了使3D模型更加接近实物,在模型搭建完毕之后需要进行贴图,首先在建模过程中增加场景图,可以按照不同的方向增加不同的场景图。其次是使用texture对不同的组成部分增加不同的效果图。模型定义两个输入接口,一个rotation接口负责旋转,一个translation接口负责移动。
模块WTPDC表示WOA算法优化下的TPDC控制方法,模块GTWSBR表示GTWSBR的准线性变参数模型,模块VR Sink负责3D模型的加载,将模型导入VR Sink中后,选用建模时预留的rotation和translation接口,分别接GTWS BR的偏航和位移状态。
请参考图2,图2是本发明实施例提供的一种两轮自平衡机器人的控制方法的流程示意图,该法包括以下步骤:
S1、基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型;
S2、对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;
S3、将准线性变参数模型转换成线性矩阵不等式;
S4、基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;
S5、通过设置该最优参数对两轮自平衡机器人进行控制。
本发明实施例的方法中提出了一种两轮自平衡机器人的控制方法。该方法在基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型后,对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;然后将准线性变参数模型转换成线性矩阵不等式,并基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;最后通过设置该最优参数对两轮自平衡机器人进行控制。通过上述方法往往可以获得最优解,可以提高两轮自平衡机器人控制的准确性。
具体的,S1中的准线性变参数模型具体包括:
首先,该模型基于以下三个假设进行建立:
假设1:忽略车轮的阻尼扭矩和干扰力;
假设2:车体和车轮为“T”形体;
假设3:fdRL=fdRR=fdp=0,其中,fdRL为车体左轮与地面之间的摩擦力,fdRR为车体右轮与地面之间的摩擦力,fdp为两个车轮和机器人本体之间的摩擦力;
构建系统的准线性变参数模型具体如下:
Figure GDA0003834018480000091
a1=(-3gcosx2sinc(x2/π))/(4h1)
a2=Lh2/h1
a3=(3/(4L)+9cos2 x2/(16Lh1))gsinc(x2/π)
a4=-3h2 cosx2/(4h1)
b1=(3Rcosx2+4L)/(4LRMph1)
b2=-(3h3cosx2/(4h1L)+3/(4MpL2))
b3=6/((Mp+9Mr)DR)
h1=1+3Mr/Mp-3cos2 x2/4
h2=x5 sinx2
h3=1/(MpR)+3cosx2/(4MpL)
其中,状态变量x=[x1,x2,x3,x4,x5,x6],x1、x2、x3、x4、x5、x6分别为两轮自平衡机器人系统的位移、俯仰角、偏航角、速度、俯仰角速度和偏航角速度,输入状态u=[u1,u2],u1,u2分别为两轮自平衡机器人系统的左车轮和右车轮的输入,Mr为车轮质量,Mp为机体质量,R为车轮半径,L为底盘和机体重心的距离,D为左车轮和右车轮的直径。
准线性变参数模型还应进行如下设置:
将准线性变参数模型的大小设置为m×n,参数依赖数组的大小设置为m×n×2,网格的尺寸1×1,网格步长的大小设置为1×1,变量数设置为n,主要元素索引设置为Mi,因子维数设置为s,转换变量设置为Pi
准线性变参数模型的输出为张量和增益矩阵。
将准线性变参数模型表示为:
Figure GDA0003834018480000092
Figure GDA0003834018480000093
其中,x(t)是系统的状态变量,u(t)是系统的输入状态值,wn是奇异值,pn(t)是p(t)的单元值。本实施例中,选用单元值p1(t)=x2(t),p2(t)=x5(t),且满足(x2(t),x5(t))∈[-π/6,π/6]×[-π,π],Ar和Br是TP模型中的状态矩阵。
所述S2具体包括:
S21、基于网格尺寸对准线性变参数模型的输出进行等距采样;
S22、基于数论方法和定量策略生成Hammersley的感测点,并在内积空间中测量序列的差异,其中,生成函数定为:
Figure GDA0003834018480000101
Figure GDA0003834018480000102
qi∈N+且为质数;
S23、将生成函分解为升序多项式:
Figure GDA0003834018480000103
后,再将其分散到单位立方体[0,1]k中;其中,d=0,1,…,Nham-1,Nham为感测点的总点数,q1<q2<…<qk-1
其中,S3具体包括:
S31、在Hammersley采样张量S0上使用高阶奇异分解生成核心张量Sc和凸包U,用张量积模型转换生成逼近法线类型的加权函数;
S32、加载核心张量Sc,并定义线性矩阵不等式参数范围,将准线性变参数模型转换成线性矩阵不等式。
需要说明的是,S4具体包括:
S41、设置最大代理数和迭代次数后,初始化种群数量;
S42、逐个获取搜索代理的适应程度,获取线性矩阵不等式的可行解feas,定义现有的最小可行解为feas1,最优搜索代理为X*;
S43、若feas≤feas1或t≥tmax,则执行S46,若feas>feas1且t<tmax,则执行S44;
S44、逐个更新搜索代理的j、J、G、l、z;
S45a、若z<0.5且|J|<1,通过第一公式计算当前搜索代理位置,则执行S46;
S45b、若|J|≥1,选择随机代理后,通过第二公式计算当前搜索代理位置,则执行S46;
S45c、若z≥0.5,通过第三公式计算当前搜索代理位置,则执行S46;
S46、查询并修改存在的超出搜索范围的搜索代理,逐个获取搜索代理的适应值,若出现更优代理则更新X*;
S47、令t=t+1,返回S43;
S48、输出X*和最小可行解时的参数值。
需要说明的是,
Figure GDA0003834018480000111
其中向量
Figure GDA0003834018480000112
在逐次迭代的过程中是从2线性减小到0,
Figure GDA0003834018480000113
代表[0,1]中的随机向量。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一公式为:
Figure GDA0003834018480000114
其中,t为当前迭代次数,
Figure GDA0003834018480000115
Figure GDA0003834018480000116
为系数向量,X*为当前最优解的位置向量,
Figure GDA0003834018480000117
为位置向量;
所述第二公式为:
Figure GDA0003834018480000118
其中,
Figure GDA0003834018480000119
随机代理对应的位置向量;
所述第三公式为:
Figure GDA00038340184800001110
其中,l为[0,1]之间的随机数。
需要说明的是,S5具体包括:
以最小可行解时的参数值作为最优参数值,计算出增益矩阵和输入状态,将输入状态输入到准线性变参数模型中对两轮自平衡机器人进行控制。
本实施例还给出了基于Matlab的硬件搭建过程。
在Matlab/Simulink中搭建仿真平台,六个模块分别为:“GetM1Pos”、“GetAngle”、“GetRate”、“GetM2Pos”、“VRMC_Vel”和“VRMC_YawRate”,分别对应的是控制器的六个输入量。两个模块“SetDac_L”和“SetDac_R”,分别对应的是控制算法的两个输出量。GetM1Pos、GetAngle、GetRate、GetM2Pos分别为左电机编码器、陀螺仪上角度传感器、右电机编码器反馈的实际数值,经状态转换模块转化成六个状态量:Pos、Vel、PitchAngle、PitchRate、YawAngle、YawRate。
六个状态量通过反馈进入控制器前,Pos和Vel叠加了由遥控器前进通道输入的速度偏移量。电压VMCR_Vel表示机器人的前进速度,经子系统1转换成机器人的前进速度后叠加到Vel信号,速度经积分后变成VMCR_Pos,表示机器人的前进位移,叠加到Pos信号。同理,YawAngle和YawRate叠加了由遥控器偏航通道输入的偏航角速度偏移量,电压VMCR_YawRate表示小车偏航的角速度,经子系统2转化为偏航通道偏航角速度后叠加到YawRate信号。角速度经积分后变成电压VMCR_YawAngle,表示小车偏航的角度,叠加到YawAngle信号。其中,子系统1和子系统2只是乘积因子不同,都是由不同的子模块构成,其中包括盲区、饱和以及限速器模块。各自的设置为:盲区:[-2,2];饱和区区间:[-5,5];限速器:[-0.1,0.1]。
其中状态转换满足:
Figure GDA0003834018480000131
Figure GDA0003834018480000132
Figure GDA0003834018480000133
Figure GDA0003834018480000134
Figure GDA0003834018480000135
叠加遥控信号的六个状态量分别经控制器运算得到俯仰和偏航的转矩Cθ和Cδ,与系统俯仰通道的阶跃输入量step、偏航通道的阶跃输入量step1相减得到Cθ和Cδ的误差信号。误差信号经过转矩转换转化为左、右两个电机的转矩CL和CR,即满足关系:Cθ+Cδ=CL,Cθ-Cδ=CR。左、右轮电机输入电压和转矩之间的转换满足K倍关系,即
Figure GDA0003834018480000136
其中,最大电压为10V,最大电压对应的最大电流为6A,电机转矩系数为0.1,减速机的减速比为8,增设一个饱和模块,范围为±10V。
根据上述搭建Matlab/Simulink仿真平台,运用Level-2 MATLAB S-Function模块编辑控制器程序。具体模块中的参数定义可以参照Matlab帮助文档。使用Matlab Coder将编辑好的控制器程序转成C程序,因为C语言具有快速性,这样可以增加控制器的响应速度。使用S-Function Builder模块调用C文件,需要把C文件中的头文件和函数文件都添加到S-Function Builder,这样可以在S-Function Builder模块中直接调用C文件中的函数,具体S-Function Builder模块函数的使用可以参照Matlab的帮助文档。
需要注意以下4点:
1、在转换时,需要按照C语言的格式定义输入类型,但是Level-2MATLAB S-Function中的block属于结构体,没法直接构建成C语言形式,可以直接将Level-2 MATLABS-Function的输出部分编辑成C函数;
2、在Matlab中使用load加载mat数据,在转换是无法使用load语句,load属于Matlab独有的函数,转换程序时需要使用coder.load加载mat数据集,并赋值给一个新变量供后续调用;
3、如果在Level-2 MATLAB S-Function中需要调用外部m文件的函数,需要保证各个函数之间没有公用的变量名,因为在转换时,C语言中会对所有的变量名进行定义,如果A函数中使用的变量名和B函数中使用的一样,但是类型不一样,会导致转换失败;
4、转换的C语言分为32位和64位,根据所需选择控制器位数。
本实施例也可以通过以下方法实现:
方法一:将产生的C文件使用Microsoft Visual Studio生成动态链接库,本文设计使用的是Microsoft VS 2008版本。将动态链接库添加到S-Function Builder模块中,可以直接调用C文件中封装的函数。
方法二:编译成C-Mex文件,在Simulink中调用控制器算法[20]。
方法三:使用S-Function模块调用C文件或者m文件,但是都需要配合TLC封装程序,否则在硬件编译时无法找到实时对象。
另一方面,本发明实施例提供了一种两轮自平衡机器人的控制系统,该系统包括:
构建模块410,用于基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型;
采样模块420,用于对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;
转换模块430,用于将准线性变参数模型转换成线性矩阵不等式;
计算模块440,用于基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;
控制模块450,用于通过设置该最优参数对两轮自平衡机器人进行控制。
由于本实施例中的各单元模块能够执行图2所示的方法,本实施例未详细描述的部分,可参考对图2的相关说明。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元或模块分别描述。当然,在实施本发明时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (8)

1.一种两轮自平衡机器人的控制方法,其特征在于,所述方法包括:
S1、基于两轮自平衡机器人两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型;
S2、对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;
S3、将准线性变参数模型转换成线性矩阵不等式;
S4、基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;
S5、通过设置该最优参数对两轮自平衡机器人进行控制;
所述S2具体包括:
S21、基于网格尺寸对准线性变参数模型的输出进行等距采样;
S22、基于数论方法和定量策略生成Hammersley的感测点,并在内积空间中测量序列的差异,其中,生成函数定为:
Figure FDA0003834018470000011
d∈N+
Figure FDA0003834018470000012
ai∈N+,qi∈N+且为质数;
S23、将生成函分解为升序多项式:
Figure FDA0003834018470000013
后,再将其分散到单位立方体[0,1]k中;其中,d=0,1,…,Nham-1,Nham为感测点的总点数,q1<q2<…<qk-1
所述S3具体包括:
S31、在Hammersley采样张量S0上使用高阶奇异分解生成核心张量Sc和凸包U,用张量积模型转换生成逼近法线类型的加权函数;
S32、加载核心张量Sc,并定义线性矩阵不等式参数范围,将准线性变参数模型转换成线性矩阵不等式。
2.根据权利要求1所述的两轮自平衡机器人的控制方法,其特征在于,在所述S1之前,所述方法还包括:
建立基于两轮自平衡机器人的测试平台;
所述测试平台包括驱动器、控制器、工控机、两个车轮、陀螺仪和触摸屏,所述驱动器和控制器通过工控机进行连接,两个所述车轮使用同轴直流伺服电机连接,所述陀螺仪与控制器连接以控制两轮自平衡机器人两轮自平衡机器人系统的俯仰状态,所述触摸屏用于显示状态数据。
3.根据权利要求1所述的两轮自平衡机器人的控制方法,其特征在于,所述准线性变参数模型具体包括:
假设1:忽略车轮的阻尼扭矩和干扰力;
假设2:车体和车轮为“T”形体;
假设3:fdRL=fdRR=fdp=0,其中,fdRL为车体左轮与地面之间的摩擦力,fdRR为车体右轮与地面之间的摩擦力,fdp为两个车轮和机器人本体之间的摩擦力;
构建系统的准线性变参数模型具体如下:
Figure FDA0003834018470000021
a1=(-3g cos x2 sin c(x2/π))/(4h1)
a2=Lh2/h1
a3=(3/(4L)+9cos2 x2/(16Lh1))g sin c(x2/π)
a4=-3h2 cos x2/(4h1)
b1=(3R cos x2+4L)/(4LRMph1)
b2=-(3h3 cos x2/(4h1L)+3/(4MpL2))
b3=6/((Mp+9Mr)DR)
h1=1+3Mr/Mp-3cos2 x2/4
h2=x5 sin x2
h3=1/(MpR)+3cos x2/(4MpL)
其中,状态变量x=[x1,x2,x3,x4,x5,x6],x1、x2、x3、x4、x5、x6分别为两轮自平衡机器人两轮自平衡机器人系统的位移、俯仰角、偏航角、速度、俯仰角速度和偏航角速度,输入状态u=[u1,u2],u1,u2分别为两轮自平衡机器人系统的左车轮和右车轮的输入,Mr为车轮质量,Mp为机体质量,R为车轮半径,L为底盘和机体重心的距离,D为左车轮和右车轮的直径。
4.根据权利要求3所述的两轮自平衡机器人的控制方法,其特征在于,所述准线性变参数模型还包括:
将准线性变参数模型的大小设置为m×n,参数依赖数组的大小设置为m×n×2,网格的尺寸1×1,网格步长的大小设置为1×1,变量数设置为n,主要元素索引设置为Mi,因子维数设置为s,转换变量设置为Pi
准线性变参数模型的输出为张量和增益矩阵。
5.根据权利要求1所述的两轮自平衡机器人的控制方法,其特征在于,所述S4具体包括:
S41、设置最大代理数和迭代次数后,初始化种群数量;
S42、逐个获取搜索代理的适应程度,获取线性矩阵不等式的可行解feas,定义现有的最小可行解为feas1,最优搜索代理为X*;
S43、若feas≤feas1或t≥tmax,则执行S46,若feas>feas1且t<tmax,则执行S44;
S44、逐个更新搜索代理的j、J、G、l、z;
S45a、若z<0.5且|J|<1,通过第一公式计算当前搜索代理位置,则执行S46;
S45b、若|J|≥1,选择随机代理后,通过第二公式计算当前搜索代理位置,则执行S46;
S45c、若z≥0.5,通过第三公式计算当前搜索代理位置,则执行S46;
S46、查询并修改存在的超出搜索范围的搜索代理,逐个获取搜索代理的适应值,若出现更优代理则更新X*;
S47、令t=t+1,返回S43;
S48、输出X*和最小可行解时的参数值。
6.根据权利要求5所述的两轮自平衡机器人的控制方法,其特征在于,所述第一公式为:
Figure FDA0003834018470000041
其中,t为当前迭代次数,
Figure FDA0003834018470000042
Figure FDA0003834018470000043
为系数向量,X*为当前最优解的位置向量,
Figure FDA0003834018470000044
为位置向量;
所述第二公式为:
Figure FDA0003834018470000045
其中,
Figure FDA0003834018470000046
随机代理对应的位置向量;
所述第三公式为:
Figure FDA0003834018470000047
其中,l为[0,1]之间的随机数。
7.根据权利要求6所述的两轮自平衡机器人的控制方法,其特征在于,所述S5具体包括:
以最小可行解时的参数值作为最优参数值,计算出增益矩阵和输入状态u,将输入状态u输入到准线性变参数模型中对两轮自平衡机器人进行控制。
8.一种两轮自平衡机器人的控制系统,其特征在于,所述系统包括:
构建模块,用于基于两轮自平衡机器人的各状态数据,构建系统的准线性变参数模型;
采样模块,用于对准线性变参数模型的输出进行等距采样后,通过Hammersley采样方法进行高维采样;
转换模块,用于将准线性变参数模型转换成线性矩阵不等式;
计算模块,用于基于鲸鱼算法对所述线性矩阵不等式进行优化求解,经过循环筛选后得出最优参数;
控制模块,用于通过设置该最优参数对两轮自平衡机器人进行控制;
所述采样模块具体用于执行:
S21、基于网格尺寸对准线性变参数模型的输出进行等距采样;
S22、基于数论方法和定量策略生成Hammersley的感测点,并在内积空间中测量序列的差异,其中,生成函数定为:
Figure FDA0003834018470000051
d∈N+
Figure FDA0003834018470000052
ai∈N+,qi∈N+且为质数;
S23、将生成函分解为升序多项式:
Figure FDA0003834018470000053
后,再将其分散到单位立方体[0,1]k中;其中,d=0,1,…,Nham-1,Nham为感测点的总点数,q1<q2<…<qk-1
所述转换模块具体用于执行:
S31、在Hammersley采样张量S0上使用高阶奇异分解生成核心张量Sc和凸包U,用张量积模型转换生成逼近法线类型的加权函数;
S32、加载核心张量Sc,并定义线性矩阵不等式参数范围,将准线性变参数模型转换成线性矩阵不等式。
CN202110177317.2A 2021-02-09 2021-02-09 一种两轮自平衡机器人的控制方法及系统 Active CN112965509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110177317.2A CN112965509B (zh) 2021-02-09 2021-02-09 一种两轮自平衡机器人的控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110177317.2A CN112965509B (zh) 2021-02-09 2021-02-09 一种两轮自平衡机器人的控制方法及系统

Publications (2)

Publication Number Publication Date
CN112965509A CN112965509A (zh) 2021-06-15
CN112965509B true CN112965509B (zh) 2022-10-18

Family

ID=76284487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110177317.2A Active CN112965509B (zh) 2021-02-09 2021-02-09 一种两轮自平衡机器人的控制方法及系统

Country Status (1)

Country Link
CN (1) CN112965509B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111634356A (zh) * 2020-06-09 2020-09-08 腾讯科技(深圳)有限公司 自平衡机器人控制方法、系统、自平衡机器人及介质
WO2020188595A1 (en) * 2019-03-15 2020-09-24 Tvs Motor Company Limited A vehicle stabilising system and method of operation thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2993376B1 (fr) * 2012-07-12 2014-07-25 Renault Sa Procede de controle de trajectoire d'un vehicule autonome a roues directrices
CN104181817B (zh) * 2014-09-12 2017-02-15 河海大学常州校区 一种两轮自平衡电动车系统控制器的设计方法
CN104316055B (zh) * 2014-09-19 2018-08-17 南京航空航天大学 一种基于改进的扩展卡尔曼滤波算法的两轮自平衡机器人姿态解算方法
US10252724B2 (en) * 2015-09-24 2019-04-09 P&N Phc, Llc Portable two-wheeled self-balancing personal transport vehicle
CN108563234A (zh) * 2018-05-09 2018-09-21 深圳市吉影科技有限公司 一种水下无人机自平衡控制方法及系统
CN109741378A (zh) * 2018-12-13 2019-05-10 华南理工大学 基于mrf模型的多模态医学图像配准方法、装置、平台及介质
US11210368B2 (en) * 2019-06-10 2021-12-28 State Street Corporation Computational model optimizations
CN110191330A (zh) * 2019-06-13 2019-08-30 内蒙古大学 基于双目视觉绿色作物视频流的深度图fpga实现方法与系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188595A1 (en) * 2019-03-15 2020-09-24 Tvs Motor Company Limited A vehicle stabilising system and method of operation thereof
CN111634356A (zh) * 2020-06-09 2020-09-08 腾讯科技(深圳)有限公司 自平衡机器人控制方法、系统、自平衡机器人及介质

Also Published As

Publication number Publication date
CN112965509A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
Limebeer et al. Optimal control of a formula one car on a three-dimensional track—Part 2: Optimal control
CN108762284B (zh) 一种基于lpv技术的航天器姿态跟踪控制方法与装置
CN109131351B (zh) 基于随机时滞的车辆稳定性评价方法
Zameroski et al. Rapid swing-free transport of nonlinear payloads using dynamic programming
Brüls et al. The generalized-α scheme as a linear multistep integrator: toward a general mechatronic simulator
Ramirez-Neria et al. Robust tracking in underactuated systems using flatness-based ADRC with cascade observers
Han et al. On‐line real‐time physics‐based predictive motion control with balance recovery
Braghin et al. Identification of tire model parameters through full vehicle experimental tests
Callejo et al. Comparison of semirecursive and subsystem synthesis algorithms for the efficient simulation of multibody systems
Liu et al. Distributed parameter modeling and boundary control of flexible manipulators
Funes et al. An efficient dynamic formulation for solving rigid and flexible multibody systems based on semirecursive method and implicit integration
Lot et al. A symbolic approach to the multibody modeling of road vehicles
Peng et al. Robust motion trajectory optimization of overhead cranes based on polynomial chaos expansion
CN112965509B (zh) 一种两轮自平衡机器人的控制方法及系统
Meghdari et al. Neural-network-based observer for real-time tipover estimation
Zheng et al. Varying Zonotopic tube RMPC with switching logic for lateral path tracking of autonomous vehicle
Bruschetta et al. Real-time nonlinear model predictive control of a virtual motorcycle
CN106021650A (zh) 一种图元结构剪取与贴合的基准融合方法
Saccon et al. A virtual rider for motorcycles: An approach based on optimal control and maneuver regulation
Petrov et al. On the problem of optimizing the door hinge of electro car by generative design methods
Sharp A method for predicting minimum-time capability of a motorcycle on a racing circuit
de Souza Mendes et al. Vehicle dynamics-Lateral: Open source simulation package for MATLAB
CN113419433B (zh) 一种自平衡电动轮椅欠驱动系统跟踪控制器的设计方法
CN112947069B (zh) 一种移动两轮机器人的控制方法
Kelly DirCol5i: Trajectory optimization for problems with high-order derivatives

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant