CN111634356B - 自平衡机器人控制方法、系统、自平衡机器人及介质 - Google Patents
自平衡机器人控制方法、系统、自平衡机器人及介质 Download PDFInfo
- Publication number
- CN111634356B CN111634356B CN202010517343.0A CN202010517343A CN111634356B CN 111634356 B CN111634356 B CN 111634356B CN 202010517343 A CN202010517343 A CN 202010517343A CN 111634356 B CN111634356 B CN 111634356B
- Authority
- CN
- China
- Prior art keywords
- self
- balancing
- speed
- momentum wheel
- balancing robot
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 239000011159 matrix material Substances 0.000 claims abstract description 187
- 230000033001 locomotion Effects 0.000 claims abstract description 152
- 238000004364 calculation method Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 44
- 230000008859 change Effects 0.000 claims description 25
- 230000005484 gravity Effects 0.000 claims description 15
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 79
- 230000003068 static effect Effects 0.000 description 25
- 230000014509 gene expression Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000011217 control strategy Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 229940060587 alpha e Drugs 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005381 potential energy Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 1
- 208000036758 Postinfectious cerebellitis Diseases 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62K—CYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
- B62K11/00—Motorcycles, engine-assisted cycles or motor scooters with one or two wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62K—CYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
- B62K21/00—Steering devices
- B62K21/12—Handlebars; Handlebar stems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M6/00—Rider propulsion of wheeled vehicles with additional source of power, e.g. combustion engine or electric motor
- B62M6/40—Rider propelled cycles with auxiliary electric motor
- B62M6/45—Control or actuating devices therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/60—Other road transportation technologies with climate change mitigation effect
- Y02T10/72—Electric energy management in electromobility
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Combustion & Propulsion (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Chemical & Material Sciences (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Transportation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
公开了一种自平衡机器人控制方法、系统、自平衡机器人及介质,自平衡机器人包括前把转向系统及动量轮系统,前把转向系统包括前把及用于控制前把的转向角速度的前把控制器,动量轮系统包括动量轮及用于向动量轮提供转动转矩的动量轮控制器,该方法包括:获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度;确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵;基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人的转向角速度及转动转矩;以及通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
Description
技术领域
本发明涉及人工智能及机器人领域,更具体地涉及一种自平衡机器人控制方法、系统、自平衡机器人及介质。
背景技术
随着人工智能及机器人技术在民用和商用领域的广泛应用,基于人工智能及机器人技术的自平衡机器人在智能交通、智能家居等领域起到日益重要的作用,也面临着更高的要求。
目前的自平衡机器人中通常包括前把转向系统和动量轮系统,该前把转向系统包括前把及前把控制器,该动量轮系统包括动量轮及动量轮控制器。在对自平衡机器人进行自平衡控制时,通常根据该自平衡机器人为静止状态或运动状态采用不同的控制逻辑,应用不同的控制器实现控制。具体地,当自平衡机器人处于运动状态(例如圆周运动)时,通过前把控制器调节自平衡机器人的前把转向角来控制自平衡机器人实现目标自平衡状态;当自平衡机器人处于静止状态时,通过动量轮控制器控制动量轮以实现目标自平衡状态。然而,一方面,针对静止状态和运动状态单独设置的自平衡控制策略仅能够实现特定状态下的局部自平衡,其鲁棒性及稳定性较差;另一方面,当自平衡车在静止状态和运动状态之间变化时,需要在不同的控制策略之间来回切换并应用不同的控制器来实现控制,对于不同参数的自平衡机器人,进行切换的时间需要通过大量实验确定,费时费力;且在不同控制器的来回切换过程中,自平衡机器人的自平衡状态无法保证,其可靠性及控制精度较差。
因此,需要一种在自平衡机器人在静止状态及运动状态下良好实现自平衡的基础上,当自平衡机器人在静止状态及运动状态之间切换时仍能够控制该自平衡机器人具有良好自平衡状态,且无需在不同控制器之间来回切换,实现灵活且高精度自平衡控制的自平衡控制方法,且该方法具有良好的可靠性及稳定性,且具有较高的鲁棒性。
发明内容
针对以上问题,本发明提供了一种自平衡机器人控制方法、自平衡机器人控制系统、自平衡机器人及介质。利用本发明提供的自平衡机器人控制方法在实现自平衡机器人良好自平衡的基础上,当自平衡机器人在静止状态及运动状态之间切换时仍能够控制该自平衡机器人具有良好自平衡状态,且无需在不同控制器之间来回切换,实现灵活且高精度自平衡控制的自平衡控制方法,且该方法具有良好的可靠性及稳定性,且具有较高的鲁棒性。
根据本公开的一方面,提出了一种自平衡机器人控制方法,其中,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,且该方法包括:获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度;确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵;基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩;以及通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
在一些实施例中,所述目标自平衡状态包括目标侧倾角、目标侧倾角速度、目标动量轮转动速度及目标前把转向角中的至少一部分,所述当前自平衡状态包括当前侧倾角、当前侧倾角速度、当前动量轮转动速度及当前的前把转向角中的至少一部分。
在一些实施例中,确定该当前运动速度所对应的速度档位并基于该速度档位及当前运动速度确定预测增益控制矩阵包括:确定该当前运动速度所对应的速度档位,其中该速度档位对应于档位最小速度值及档位最大速度值组成的速度范围;确定该速度档位所对应的预测增益计算函数;基于该预测增益计算函数及当前运动速度,确定该自平衡机器人的预测增益控制矩阵。
在一些实施例中,基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩包括:
根据状态反馈控制函数,基于该预测增益控制矩阵及该自平衡机器人的当前自平衡状态确定该自平衡机器人的前把转向角速度及动量轮控制器电压,以及根据该自平衡机器人动量轮控制器物理模型,基于该动量轮控制器电压生成转动转矩;
所述状态反馈函数为:
u=-Ka_pre(Vp)*(x-x0),
其中,Ka_pre(Vp)为该自平衡机器人的预测增益控制矩阵,u为状态反馈向量,x为自平衡机器人的当前自平衡状态向量,x0为自平衡机器人的目标自平衡状态向量,Vp为该自平衡机器人的当前运动速度。且其中:
其中,Um为动量轮控制器电压,为自平衡机器人的前把转向角速度,θ为该自平衡机器人的当前侧倾角,为该自平衡机器人的当前侧倾角速度,为该自平衡机器人的当前动量轮转动角速度,δ为该自平衡机器人的当前的前把转向角,θeq为该自平衡机器人的目标侧倾角;
所述动量轮控制器物理模型为:
其中,Um为动量轮控制器电压,Ke为动量轮控制器的反电磁力,为动量轮控制器的角速度,Lm和Rm分别为动量轮控制器的电枢线圈电感和电阻,i为动量轮控制器的电流,t为时间,Tm为动量轮控制器产生的扭矩,Kt为动量轮控制器扭矩常数,Ng为动量轮控制器与动量轮之间的传动比,Tr为动量轮控制器提供的转动转矩。
在一些实施例中,所述预测增益计算函数是基于该速度档位的档位最小速度值及档位最大速度值确定的,且其中,所述确定该速度档位所对应的预测增益计算函数包括:基于增益控制函数,确定该档位最小速度值所对应的最小速度实际增益控制矩阵;基于增益控制函数,确定该档位最大速度值所对应的最大速度实际增益控制矩阵;基于该档位最小速度值、最小速度实际增益控制矩阵、档位最大速度值、最大速度实际增益控制矩阵,确定该预测增益计算函数。
在一些实施例中,所确定的预测增益计算函数为:
其中,Vp为该自平衡机器人的当前运动速度,Ka_pre(Vp)为该自平衡机器人的预测增益控制矩阵,基于该预测增益计算函数及当前运动速度Vp,确定该自平衡机器人的预测增益控制矩阵Ka_pre(Vp);其中,Vmax为当前运动速度的速度档位中的档位最大速度值,Ka(Vmax)为最大速度实际增益控制矩阵,Vmin为当前运动速度的速度档位中的档位最小速度值,Ka(Vmin)为最小速度实际增益控制矩阵。
在一些实施例中,所述增益控制函数是基于所述自平衡机器人的动力学特性及运动特性而确定的,其中,所述增益控制函数的确定包括:基于所述自平衡机器人的动力学特性及运动特性,构造该自平衡机器人的线性动态模型;基于所述线性动态模型,确定该自平衡机器人的增益权重矩阵;基于所述增益权重矩阵,确定用于该自平衡机器人自平衡控制的增益控制函数。
在一些实施例中,所述增益控制函数为:
Ka=R-1BTP
其中,Ka为实际增益控制矩阵,P为过程矩阵,其为ATP+PA+Q+PLP=0的解,L=BR- 1BT,R为增益权重矩阵,Q为正定矩阵,A为状态矩阵,B为输入矩阵,
且其中:
其中,V为自平衡机器人的运动速度,r11=10,r22=20,γ=4,∈为无穷小量,Ng为动量轮控制器与动量轮之间的传动比,Kt为动量轮控制器的扭矩常数,Ke为动量轮控制器的反电磁力,Rm为动量轮控制器的电枢线圈电阻,H为自平衡机器人的重心高度,L为自平衡机器人的前轮和地面的接触点与后轮和地面的接触点沿车身方向的直线距离,d为自平衡机器人的后轮与地面的接触点沿车身方向距离该自平衡机器人重心在车身方向上的投影点的水平距离,L1为自平衡机器人除动量轮之外的主体部分的重心高度,L2为动量轮的重心高度,m1为该自平衡机器人的主体部分的质量,m2为该自平衡机器人的动量轮的质量,I1为自平衡机器人主体部分的转动惯量,I2为自平衡机器人动量轮的转动惯量,g为重力加速度。
在一些实施例中,所述速度档位是基于所述自平衡机器人的动力学特性及运动特性而确定的,其中,所述确定该当前运动速度所对应的速度档位包括:确定自平衡机器人运动的上限速度值及下限速度值,得到速度变化范围;确定预设步长;基于该预设步长,从该速度变化范围中划分多个速度区段,将每一个速度区段作为一个预设速度档位,并且对所述多个预设速度档位中的每一个预设速度档位,确定该预设速度档位是否为可预测速度档位;且其中,若所述多个预设速度档位中的每一个预设速度档位均被确定为可预测速度档位,则将该预设步长确定为目标步长,并将该预设速度档位确定为速度档位。
在一些实施例中,对所述多个预设速度档位中的每一个预设速度档位,确定该预设速度档位是否为可预测速度档位包括:对于该预设速度档位中的每一个速度值,基于该速度值及该预设速度档位,确定该自平衡机器人的预测增益控制矩阵;对于该预设速度档位中的每一个速度值,基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩,并基于该转向角速度及转动转矩对该自平衡机器人进行控制;其中,若对该预设速度档位中的每一个速度值,基于预测增益控制矩阵确定的转向角速度及转动转矩均能够控制该自平衡机器人处于目标自平衡状态,则将该预设速度档位确定为可预测速度档位。
根据本公开的另一方面,提出了一种自平衡机器人控制系统,其中,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,该系统包括:目标自平衡状态获取模块,其被配置为获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度;预测增益控制矩阵确定模块,其被配置为确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵;控制量确定模块,其被配置为基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩;以及自平衡控制模块,其被配置为通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
在一些实施例中,所述目标自平衡状态包括目标侧倾角、目标侧倾角速度、目标动量轮转动速度及目标前把转向角中的至少一部分,所述当前自平衡状态包括当前侧倾角、当前侧倾角速度、当前动量轮转动速度及当前的前把转向角中的至少一部分。
在一些实施例中,所述预测增益控制矩阵确定模块包括:速度档位确定模块,其被配置为确定该当前运动速度所对应的速度档位,其中该速度档位对应于档位最小速度值及档位最大速度值组成的速度范围;预测增益计算函数确定模块,其被配置为确定该速度档位所对应的预测增益计算函数;预测增益控制矩阵确定模块,其被配置为基于该预测增益计算函数及当前运动速度,确定该自平衡机器人的预测增益控制矩阵。
根据本公开的另一方面,提出了一种自平衡机器人,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,且其中,该自平衡机器人包括如前所述的自平衡机器人控制系统,且其通过如前所述的自平衡机器人控制方法来实现对所述前把的控制以及对所述动量轮的控制。
根据本公开的另一方面,提出了一种计算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行如前所述的方法。
利用本发明提供的自平衡机器人控制方法、系统、自平衡机器人及介质,可以很好的实现自平衡机器人的自平衡,特别地,当自平衡机器人在静止状态及运动状态之间切换时,无需在不同控制器之间来回切换,且该方法具有良好的可靠性及稳定性,且具有较高的鲁棒性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在没有做出创造性劳动的前提下,还可以根据这些附图获得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本发明的主旨。
图1A示出了根据本发明实施例的一种自平衡机器人100A的示意图;
图1B示出了根据本公开实施例的自平衡机器人控制方法100B的示例性流程图;
图1C示出了根据本公开实施例的自平衡机器人100C的示例性框图;
图2示出了根据本公开实施例确定预测增益控制矩阵的过程S102示例性流程图;
图3示出了根据本公开实施例确定预测增益计算函数的过程300的示例性流程图;
图4A示出了根据本公开实施例确定用于自平衡机器人控制的增益控制函数的过程400的示例性流程图;
图4B示出了根据本公开的实施例构造自平衡机器人的线性动态模型的过程S401的示例性流程图;
图5A示出了根据本公开实施例的自平衡车的正视图;
图5B示出了根据本公开实施例的自平衡车侧倾角为0时的侧视图;
图5C示出了根据本公开实施例的自平衡车侧倾角不为0时的侧视图;
图6A示出了根据本公开实施例确定自平衡机器人速度档位的过程600的示例性流程图;
图6B示出了根据本公开实施例确定该预设速度档位是为可预测速度档位的过程S603的示例性流程图;
图7A示出了根据本公开实施例的自平衡车在静态状态下进行自平衡测试的结果的示意图;
图7B示出了根据本公开实施例的自平衡车处于运动状态时进行自平衡测试的结果的示意图;
图7C示出了根据本公开的实施例的自平衡车在静止状态与运动状态的切换过程中进行自平衡测试的结果的示意图;
图8示出了根据本发明实施例的自平衡机器人控制系统800的示例性框图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显而易见地,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,也属于本发明保护的范围。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
本申请涉及一种人工智能在自平衡控制方面的应用,具体地,本申请提出了一种基于人工智能的自平衡机器人控制方法,其中综合考虑到动量轮和前把在自平衡控制中的应用,应用该自平衡控制方法,使得在自平衡机器人的运动过程中,特别是当该自平衡机器人在静止状态及运动状态之间来回切换时,该自平衡控制方法无需在不同控制器之间反复切换,从而能够实现自平衡控制的全局稳定,且能够实现对该自平衡机器人自平衡状态的灵活高效控制。
本申请所述的自平衡机器人旨在表征具有动态自平衡能力的设备,其例如可以为自平衡滑板车、自平衡自行车或其他类型的设备。本公开的实施例不受所述自平衡机器人的具体类型及其组成的限制。
图1A示出了根据本发明实施例的一种自平衡机器人100A的示意图,其中所述自平衡机器人为自平衡车。接下来将以图1A所示出的自平衡车为例对于自平衡机器人进行简要说明。
参照图1A,当所述自平衡机器人100A为自平衡车时,其例如可以包括车架、动量轮系统、前把转向系统、后轮驱动系统和外壳。
其中,所述动量轮系统主要由联轴器14、动量轮15、动量轮轴16、动量轮控制器(电机)13、U型架17和可调丝杠18组成,其为独立模块。
所述前把转向系统主要由前轮1、前把2、前把轴承4、前把控制器(电机)5和前把套筒6组成,其为独立模块,只需调整前把套筒6单一零件结构即可调整前把转轴与水平面之间的夹角。
所述后轮驱动系统主要由后轮11、后轮电机12和后轮架10组成,为独立模块。
所述外壳包括前轮外壳3、车身骨架7、车身外壳8、后轮外壳9。其旨在形成自平衡机器人车体的整体框架及外部结构。
该自平衡机器人利用后轮驱动系统驱动自平衡机器人前进。当自平衡机器人静止时,若车体发生倾斜,利用动量轮系统产生的回复力可实现自平衡机器人的静态平衡。当自平衡机器人处于低速直线运动状态时,若车体发生倾斜,也能够利用动量轮系统产生的回复力实现自平衡机器人的动态平衡;当自平衡机器人处于曲线或圆运动状态(此时自平衡机器人的前把具有转向角),若车体发生倾斜,利用前把转向系统产生的回复力实现自平衡机器人的动态平衡。
目前对自平衡机器人进行控制时,通常根据该自平衡机器人为静止状态或运动状态采用不同的控制逻辑,并应用不同的控制器实现控制。具体地,当自平衡机器人处于运动状态(例如圆周运动)时,通过前把控制器调节该自平衡机器人的前把转向角来控制自平衡机器人处于目标自平衡状态;当自平衡机器人处于静止状态时,通过该动量轮控制器控制该动量轮以实现目标自平衡状态。
然而,采用这样的控制方法时,一方面,针对静止状态和运动状态单独设置的自平衡控制策略仅能够实现特定状态下的局部自平衡,其鲁棒性及稳定性较差;另一方面,当自平衡车在静止状态和运动状态之间变化时,需要在不同的控制策略之间来回切换以应用不同的控制器来实现控制,对于不同的自平衡机器人,进行切换的最佳时间需要通过大量实验确定,费时费力;且在静止状态与运动状态的来回切换过程中,可能出现需要多个控制器协同控制以实现目标自平衡状态的情况,此时仅通过在多个控制器之间来回切换将无法保证自平衡机器人的自平衡状态,其可靠性及控制精度较差。
基于如上所述的自平衡机器人,本申请中提出了一种自平衡控制方法,该方法在自平衡机器人在静止状态及运动状态下均能良好实现自平衡,且当自平衡机器人在静止状态及运动状态之间来回切换时仍能够控制该自平衡机器人具有良好自平衡状态,且无需在不同控制器之间来回切换,实现灵活且高精度自平衡控制的自平衡控制。图1B示出了根据本公开实施例的自平衡机器人控制方法100B的示例性流程图。
根据本发明实施例的自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩。参照图1B,首先,在步骤S101中,获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度。
所述目标自平衡状态旨在表征该自平衡机器人的期望自平衡状态。所述自平衡机器人的当前自平衡状态表征该自平衡机器人当前所具有的自平衡状态。
应了解,当前自平衡状态及该目标自平衡状态中的参数能够为用户预先确定的或系统基于实际需求选取的,该当前自平衡状态及该目标自平衡状态中参数的个数及类型也能够基于实际需要选取,本公开的实施例不受该目标自平衡状态及当前自平衡状态的具体组成、内容及设定方式的限制。
例如,当采用目标侧倾角表征目标自平衡状态时,该目标侧倾角例如可以为系统预先设定或用户直接输入的数值,也可以为基于该自平衡车的实际需求计算得到的数值,或者还可以为基于用户的输入数值进行预处理或校正之后的数值,即,该目标自平衡侧倾角可以为直接输入的目标侧倾角,也可以为校正后的目标侧倾角。
所述当前运动速度旨在表征该自平衡机器人在当前时刻所具有的速度。该自平衡机器人处于静止状态时,其当前运动速度的数值例如可以为0m/s,当该自平衡机器人以匀速前进时,其当前运动速度例如为其前进速度,例如可以是5m/s,或者也可以为3m/s,本公开的实施例不受该当前运动速度的具体数值的限制。
其后,在步骤S102中,确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵。
其中,所述速度档位,旨在表征当前运动速度所位于的速度档位。其旨在划分不同的速度范围。本公开不受该速度档位的具体组成的限制。
所述预测增益控制矩阵,旨在表征基于当前运动速度及速度档位预测的增益控制控制矩阵,其例如可以为2*4维(两行四列)矩阵,或者也可以具有其他的维数。本公开的实施例不受该预测增益控制矩阵具体内容的限制。
在一些实施例中,例如可以将该当前运动速度、该速度档位的档位最小速度值及档位最大速度值代入预设计算公式或公式组,经由计算得到该速度的预测增益控制矩阵。然而,然而本公开的实施例不限于此,还可以通过其他方式来计算预测增益控制矩阵。
计算得到该预测增益控制矩阵后,在步骤S103中,自平衡控制基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩。
例如,可以基于预设公式或公式组,基于该预测增益控制矩阵、自平衡机器人的当前自平衡状态及目标自平衡状态进行计算,并输出转向角速度及转动转矩。
所述转向角速度旨在表征为实现目标自平衡状态,该自平衡机器人的前把的转向角速度;所述转动转矩旨在表征为实现目标自平衡状态,该自平衡机器人动量轮控制器需要向动量轮提供的转动转矩。
其后,基于该转向角速度及转动转矩,在步骤S104中,通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
基于上述,通过综合考虑前把转向角与动量轮的转动运动对于自平衡机器人的自平衡状态的影响,在对自平衡机器人进行自平衡控制时,基于当前速度确定其速度档位,并据此进一步确定该自平衡机器人的预测增益控制矩阵,基于该预测增益控制矩阵计算得到该自平衡机器人的转向角速度及转动转矩,并由此进行自平衡控制,相较于在静态状态及动态状态下分别设置控制策略并调用不同的控制器实现自平衡控制,本申请中提出的方法能够实现动态和静态状态,特别是静态与动态状态切换时的高精度高稳定性控制,同时无需来回切换多种控制器。提高了自平衡机器人自平衡控制的灵活度及可靠性,且其具有较高的鲁棒性。
在一些实施例中,所述目标自平衡状态包括目标侧倾角、目标侧倾角速度、目标动量轮转动速度及目标前把转向角中的至少一部分,所述当前自平衡状态包括当前侧倾角、当前侧倾角速度、当前动量轮转动速度及当前的前把转向角中的至少一部分。通过设置该目标自平衡状态当前自平衡状态包括以上一个或多个参数量,使得能够全面且良好地反映出其目标自平衡状态及当前自平衡状态。
在一些实施例中,确定该当前运动速度所对应的速度档位并基于该速度档位及当前运动速度确定预测增益控制矩阵的过程S102例如能够更具体地描述。图2示出了根据本公开实施例确定预测增益控制矩阵的过程S102示例性流程图。
参照图2,首先,在步骤S1021中,确定该当前运动速度所对应的速度档位,其中该速度档位对应于档位最小速度值及档位最大速度值组成的速度范围。
所述档位最小速度值旨在表征该速度档位中的最小速度值,所述档位最大速度值旨在表征该速度档位中的最大速度值。本公开的实施例不受该档位最小速度值及档位最大速度值的具体数值的限制。
例如,若该自平衡机器人为自平衡车,且该自平衡速度档位包括三个档位,分别为:第一速度档位[0m/s,0.5m/s]、第二速度档位[0.5m/s,1m/s]、第三速度档位[1m/s,1.5m/s]。若当前运动速度为1.2m/s,则能够确定当前运动速度处于第三速度档位,且能够获得该档位的档位最小速度值为1m/s,档位最大速度值为1.5m/s。
基于该速度档位,在步骤S1022中,确定该速度档位所对应的预测增益计算函数。所述预测增益计算函数旨在表征用于计算预测增益控制矩阵的函数。
计算该预测增益计算函数后,在步骤S1023中,基于该预测增益计算函数及当前运动速度,确定该自平衡机器人的预测增益控制矩阵。
基于上述,基于自平衡机器人的当前运动速度,通过获取其所处的速度档位,并进一步得到该速度档位所对应的预测增益计算函数,能够基于该预测增益计算函数及当前运动速度简单便捷地计算得到预测增益控制矩阵,有利于后续进一步基于该预测增益控制矩阵求取转向角速度及转动转矩。
在一些实施例中,所述预测增益计算函数是基于该速度档位的档位最小速度值及档位最大速度值确定的,且其中,所述确定该速度档位所对应的预测增益计算函数能够更具体地描述。图3示出了根据本公开实施例确定预测增益计算函数的过程300的示例性流程图。
参照图3,首先,在步骤S301中,基于增益控制函数,确定该档位最小速度值所对应的最小速度实际增益控制矩阵。
所述增益控制函数旨在表征用于计算实际增益控制矩阵的函数。其例如可以基于该自平衡机器人的运动特性确定,例如为公式或公式组的形式。本公开的实施例不受该增益控制函数的具体表示形式的限制。
其后,在步骤S302中,基于增益控制函数,确定该档位最大速度值所对应的最大速度实际增益控制矩阵。
计算得到该最小速度值实际增益控制矩阵、最大速度值实际增益控制矩阵后,在步骤S303中,基于该档位最小速度值、最小速度实际增益控制矩阵、档位最大速度值、最大速度实际增益控制矩阵,确定该预测增益计算函数。
基于上述,通过计算该速度档位中档位最小速度值的最小速度值实际增益控制矩阵、档位最大速度值的最大速度值实际增益控制矩阵,并据此确定预测增益计算函数,使得对于处于该档位最小速度值及档位最大速度值之间的任一速度值,均能够计算得到其预测增益控制矩阵。一方面,无需为每一个速度值经由复杂增益控制函数计算来求取其实际增益控制矩阵,有效地精简了运算量并提高了运算速度;另一方面,所计算得到的预测增益控制矩阵也能够良好地贴近该速度的实际增益控制矩阵,从而实现良好的自平衡控制。
在一些实施例中,所述预测增益计算函数为:
其中,Vp为该自平衡机器人的当前运动速度,Ka_pre(Vp)为该自平衡机器人的预测增益控制矩阵,基于该预测增益计算函数及当前运动速度Vp,确定该自平衡机器人的预测增益控制矩阵Ka_pre(Vp)。
其中,Vmax为当前运动速度的速度档位中的档位最大速度值,Ka(Vmax)为最大速度实际增益控制矩阵,Vmin为当前运动速度的速度档位中的档位最小速度值,Ka(Vmin)为最小速度实际增益控制矩阵。
例如,基于上述公式,在确定该自平衡机器人的各个速度档位后,获取该速度档位的档位最大速度值及档位最小速度值,并进一步地计算得到最大速度实际增益控制矩阵及最小速度实际增益控制矩阵,据此即能够预先确定对应于每一个速度档位的增益控制函数。有利于简便快速地计算该预测增益控制矩阵。
应了解,上述仅给出了一种预测增益计算函数的示例性表示形式,该预测增益计算函数的表示形式不限于此。基于实际需要,该预测增益计算函数还能够具有其他的表示形式。
返回图1B,在一些实施例中,基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态确定自平衡机器人前把的转向角速度及动量轮的转动转矩的过程例如能够更具体地描述。例如,首先根据状态反馈控制函数,基于该预测增益控制矩阵及该自平衡机器人的当前自平衡状态确定该自平衡机器人的前把转向角速度及动量轮控制器电压;其后,基于该动量轮控制器电压生成转动转矩。
接下来,将以自平衡车为例,给出一种确定自平衡机器人前把转向角速度及转动转矩的示例性过程。例如,对于自平衡车,当设置其目标自平衡状态包括其目标侧倾角θeq,且基于前述公式计算得到该自平衡车的预测增益控制矩阵为Ka_pre(Vp),例如能够经由如下公式计算得到该自平衡车的转向角速度及动量轮控制器电压:
u=-Ka_pre(Vp)*(x-x0) 2)
且其中,Ka_pre(Vp)为该自平衡车的预测增益控制矩阵,u为状态反馈向量,x为自平衡车的当前自平衡状态向量,x0为自平衡车的目标自平衡状态向量,Vp为该平衡车的当前运动速度。且其中:
其中,Um为该为动量轮控制器电压,为自平衡车的前把转向角速度,θ为该自平衡车的当前侧倾角,为该自平衡车的当前侧倾角速度,为该自平衡车的当前动量轮转动角速度,δ为该自平衡车的当前转向角,θeq为该自平衡车的目标侧倾角。
据此,能够计算得到该动量轮控制器电压及前把转向角速度,且根据该动量轮控制器电压值能够进一步计算得到该动量轮控制器的转动转矩(例如经由下文中给出的动量轮控制器的物理模型方程组7)来计算),进而基于该转动转矩实现对于动量轮的控制,并基于该前把转向角速度能够实现对该前把的控制,由此使得该自平衡车处于目标自平衡状态。
基于上述,本申请中,基于上述公式2),使得能够根据该自平衡机器人的预测增益矩阵简单便捷地确定该自平衡机器人的动量轮控制器电压及前把转向角速度,从而能够进一步生成动量轮的转向转矩,实现对该自平衡机器人的前把及动量轮的控制,以实现自平衡,其能够简化计算量,且具有较高的控制精度。
在一些实施例中,参照图3,在基于增益控制函数计算实际增益控制矩阵的过程中,该增益控制函数是基于所述自平衡机器人的动力学特性及运动特性而确定的。且确定所述增益控制函数的过程例如能够更具体的描述。图4A示出了根据本公开实施例确定用于自平衡机器人自平衡控制的增益控制函数的过程400的示例性流程图。
参照图4A,首先,在步骤S401中,基于所述自平衡机器人的动力学特性及运动特性,构造该自平衡机器人的线性动态模型。
所述自平衡机器人的动力学特性旨在表征该自平衡机器人所具有的动力学特征。所述自平衡机器人的运动特性旨在表征该自平衡机器人在运动过程中所具有的特征,例如其运动方式、运动速度、当前运动加速度等。本公开实施例不受该自平衡机器人的动力学特性及运动特性的具体组成的限制。下文中,将参照图4B详细地说明构造该自平衡机器人的线性动态模型S401的具体过程。
接下来,在步骤S402中,基于所述线性动态模型,确定该自平衡机器人的增益权重矩阵。
增益权重矩阵旨在用于生成该增益控制函数,且在一些实施例中,该自平衡机器人的运动速度例如为该增益权重矩阵中的一个参数量或为一个参数量的组成部分,该增益权重矩阵将受到该自平衡机器人的运动速度的影响而变化。
然后,在步骤S403中,基于所述增益权重矩阵,确定用于该自平衡机器人自平衡控制的增益控制函数。
基于上述,本申请中通过基于该自平衡机器人实际运动特性及动力学特性构造其线性动态模型,并进一步地,通过该线性动态模型,基于自平衡机器人运动速度确定增益权重矩阵,并进一步确定增益控制函数,使得该增益控制函数能够良好地贴合该自平衡机器人的运动特性,使得后续经由该增益控制函数的计算结果计算的当前自平衡机器人的预测增益控制矩阵也能够良好地贴合该自平衡机器人的运动特性,从而实现高精度且高灵活度的控制。
在一些实施例中,当所述自平衡机器人为自平衡车时,所述动量轮控制器例如为动量轮电机。此时,上述构造该自平衡机器人的线性动态模型的过程例如能够更具体地描述。图4B示出了根据本公开的实施例构造自平衡机器人的线性动态模型的过程S401的示例性流程图。
参照图4B,首先,在步骤S4011中,根据该自平衡机器人的动力学特性及运动特性,构造该自平衡机器人的动力学模型。
所述自平衡机器人动力学模型旨在表征该自平衡机器人所具有的动力学特性及运动特性,其例如可以基于单摆模型、或倒立摆模型等模型建立。本公开的实施例不受所述自平衡机器人动力学模型的具体建立方式的限制。
构造动力学模型后,在步骤S4012中,基于所述动量轮电机的物理特征,构造动量轮电机物理模型。
所述动量轮电机的物理模型旨在表征该动量轮电机的物理运动属性及参数,其例如可以基于该动量轮电机自身的电流、转矩、转速关系建立,或者也可以基于所述动量轮电机的其他组成参数或者该动量轮电机与自平衡机器人中的其他部件的关系建立。本公开的实施例不受所述动量轮电机的物理模型建立的具体方式的限制。
在得到该自平衡机器人的动力学模型和动量轮电机物理模型后,在步骤S4013中,根据所述动力学模型和动量轮电机物理模型,生成该自平衡机器人的线性动态模型。
基于上述,通过基于所述自平衡机器人的动力学特性构造自平衡机器人动力学模型,基于所述动量轮电机的物理特征构造动量轮电机物理模型,并基于所述自平衡机器人动力学模型和所述动量轮电机物理模型构造该自平衡机器人的线性动态模型,使得该线性动态模型能够兼顾该自平衡机器人的运动特性及自身结构特性,从而有利于基于该线性动态模型实现自平衡机器人增益控制函数的确定,提高自平衡控制的精确度。
接下来,将参照图5A-图5C对上述构造自平衡机器人的自平衡机器人线性动态模型并基于该线性动态模型确定增益控制函数的过程进行更具体地说明。其中,图5A示出了根据本公开实施例的自平衡车的正视图;图5B示出了根据本公开实施例的自平衡车侧倾角为0时的侧视图;图5C示出了根据本公开实施例的自平衡车侧倾角不为0时的侧视图。
参照图5A,其中示出了根据本公开的实施例的自平衡车的正视图。且其中,该自平衡车的重心为P,其重心高度为H,自平衡车的前轮和地面的接触点与后轮和地面的接触点沿车身方向的直线距离为L,自平衡车后轮与地面的接触点沿车身方向距离该自平衡车重心P在车身方向上的投影点的水平距离为d。进一步地,参照图5B及图5C,例如能够将该自平衡车划分为主体部分和动量轮两部分。其中,该主体部分旨在表征该自平衡车动量轮之外的部分。且该自平衡车主体部分的重心的高度为L1,动量轮的重心的高度为L2,该自平衡车的车架相对于垂直方向的侧倾角为θ,该自平衡车动量轮的旋转角为
且例如设置:该自平衡车的前把转向角为δ,前把转向角速度为动量轮控制器提供给动量轮的转动转矩为Tr,该自平衡车的运动速度为V,该自平衡车的主体部分(除动量轮之外的部分)的质量为m1,该自平衡车的动量轮质量为m2,则该自平衡车的总质量为m=m1+m2,自平衡车主体部分的转动惯量为I1,自平衡车动量轮的转动惯量为I2,重力加速度g,其例如可以取为9.8N/kg。
再次参照图4B,当对于该自平衡车构造线性动态模型的过程S401时,首先,如上述步骤S4011所述,根据该自平衡机器人的动力学特性及运动特性,构造该自平衡机器人的动力学模型。例如,可以将所述自平衡车的动量轮及除动量轮以外的自平衡车主体部分视为两个刚体,且该自平衡车可以视为多刚体系统。
且在当前的多刚体系统中,所述拉格朗日(Lagrange)算子L例如可以为该多刚体系统的动能T与势能U之差。具体地:
L=KE-PE
其中,L为Lagrange算子,KE为该自平衡车的动能,PE为该自平衡车的势能。进一步地,基于自平衡机器人的动力学特征,例如可以对于该系统应用如下所述的Lagrange方程:
其中,L为Lagrange算子;q为二维角度向量并且包括两个子元素:自平衡车的侧倾角θ和动量轮的转动角度qi表征三维向量q中的第i个子元素(第i维),i为大于等于1且小于等于2的正整数;τ为外部作用力并且为二维向量,τi表征转矩向量τ中对应于二维角度向量的第i个子元素的转矩,i为大于等于1且小于等于2的正整数。
且基于该自平衡车的多刚体动力学模型,该自平衡车的动能KE和势能PE能够分别表示为:
PE=(m1L1+m2L2)gcosθ
且在θ较小的情况下,应用sinθ≈θ对上述公式4)进行线性化,据此能够得到如下公式:
计算得到的上述公式6)及上述公式5)共同组成了该自平衡车的动力学模型,即:
返回图4B,在构造该自平衡机器人的动力学模型后,进一步地,在步骤S4012中,基于所述动量轮电机的物理特征,构造动量轮电机物理模型。
上述构造动量轮电机物理模型的过程例如可以更具体地描述如下。例如可以基于动量轮电机的物理特性及其内部参数关系得到动量轮电机的物理特征方程组,并将该物理特性方程组作为该动量轮电机物理模型,其具体如下:
其中,Um为动量轮电机电压,Ke为动量轮电机的反电磁力,为动量轮电机的角速度,Lm和Rm分别为动量轮电机的电枢线圈电感和电阻,i为动量轮电机的电流,t为时间,Tm为动量轮电机产生的扭矩,Kt为电机扭矩常数,Ng为动量轮电机与动量轮之间的传动比。Tr表征在忽略摩擦力条件下动量轮电机提供的转动转矩。
确定电机物理模型及自平衡车的动力学模型后,参照图4B,接下来在步骤S4013中,根据所述动力学模型和动量轮电机物理模型,生成该自平衡机器人的线性动态模型。具体地,已知状态空间的标准表达式为:
则例如可以基于该动量轮电机的物理模型的表达式8)、动力学模型表达式5)-6),根据该状态空间的标准表达式9)得到对应于该自平衡车的状态空间表达式,即该自平衡车的线性动态模型:
其中,x为当前自平衡状态向量,u为输入向量(也即后文在状态反馈后得到的状态反馈向量),y为系统输出向量。其中,当前自平衡状态向量x及输入向量u分别为:且其中,A为状态矩阵,B为输入矩阵,C为输出矩阵,D为前馈矩阵,且其分别定义如下:
且其中:
b=(m1L1+m2L2)g,
据此,得到了该自平衡车的线性动态模型。且基于该线性动态模型可知,该线性动态模型综合考虑到了自平衡车的前把转向角(或前把转向角速度)及动量轮的转动角度对于该自平衡车的自平衡过程的影响。且通过设置该线性动态模型10)中的自平衡车运动速度V为0,即能够得到仅使用动量轮实现该自平衡车的自平衡控制的情况;类似地,通过将上述线性动态模型中的动量轮转动角度设置为0,即能够得到仅通过自平衡车前把实现该自平衡车的自平衡的情况。
基于此可知,本申请所建立的线性动态模型为综合了前把转向及动量轮转动的综合模型,前述提及的仅采用动量轮的自平衡车静态状态和仅仅采用前把转向的自平衡车动态状态均为本申请所构建的线性动态模型的一种极端情况。
应了解,上述仅给出了一种线性动态模型的示例,在一些实施例中,如果难以识别电动机的内部参数Kt,Ke,Rm,则也可以忽略动量轮电机的内部物理模型,仅将动量轮电机的输入转矩Tr视为与驱动电流i之间存在线性关系的参数量,并可以对上述模型进行相应调整。本公开的线性动态模型不限于上述的表示形式。
完成了线性动态模型的构造后,接下来,将基于该线性动态模型设计控制器(例如包括前把控制器、动量轮控制器)实现对该自平衡车的自平衡控制。
本申请中,基于上述线性动态模型的表达式可知,当自平衡车的运动速度V为常数时,上述线性动态模型为线性时不变的;但是,由于在实际使用过程中,自平衡车的运动速度V将会随着时间发生变化,因此该线性动态模型将由于自平衡车运动速度V的变化而呈现线性时变特性。
基于此,传统的线性时不变控制器将无法对该线性动态模型实现良好控制。为了进一步解决该问题,本申请中,利用状态反馈控制方法,并基于增益调度的思想进行控制器的设计。首先,对于该状态反馈控制方法及增益控制原理进行简单说明。
在上述自平衡车线性动态模型中,由于该自平衡车系统的状态空间方程(即其线性动态模型)随时间而变化,因此可以考虑采用更一般的形式来定义该系统,例如采用参数α来表示该变化的参数(即上述系统中的自平衡车运动速度V),则该系统为线性多输入多输出(MIOI)参数变化系统,其在时间t>0时存在:
此处,在时间t>0时,状态向量输入向量输出量且在时间t>0时,参数且所有的α∈I,且系数矩阵且输入数量ni≤n,且对于所有的α∈I,矩阵B(α)为完整的列秩。其中各参数的含义如其在数学领域的通用含义。
基于此,假使参数α是时间t的连续且有界的函数,且t>0时,其为连续可导有界可测量参数,且对于所有α∈I,上述方程组11)所描述的系统均是完全可控的。此时例如应用状态反馈控制法,例如采用如下的状态反馈量表达式:
且其中,矩阵K(α)为增益控制矩阵,此时u(t)状态反馈量。基于此,对于每一个具体的参数α(也即本申请中的自平衡车运动速度V),均能够通过线性控制设计该状态反馈量来保证系统(即自平衡车系统)的稳定性。
且该增益调度设计策略例如能够描述如下:通过选择参数α有限数量的固定参数值,对于每一个固定参数值经由线性控制策略来计算其状态反馈量,并对位于该固定参数值之间的其他参数值经由拟合获得其所具有的预测状态反馈量(线性差值),使得能够兼顾系统的线性时变特性的同时,简化计算量,并确保具有全局的稳定性。
例如,可以经由线性二次调节器(LQR)实现增益控制矩阵的设计。接下来将简述其原理并给出其设计示例。
如前所述,例如采用矩阵K(α)为增益控制矩阵,则例如令K(αl)和K(αl+1)分别表示状态反馈控制表达式12)中I中两个相邻点αl和αl+1的增益控制矩阵,则在参数α∈[αl,αl+1]的参数值中,例如能够将该增益控制矩阵K(α)设置为K(αl)和K(αl+1)中的线性插值,也就是说,令:
直观地,通过选择适当的数量的αl∈I,只要α的变化率足够小,就可以满足系统11)的设计标准。下文中,我们将经由推导以详细地对其进行证明。
为便于后文的说明,定义经由状态反馈后得到的闭环系统的系统矩阵为Ac(α),且其能够表示为:
Ac(α)=A(α)-B(α)K(α) 14)
当α=αl时,此时该闭环系统的极点的集合σ(Ac(αl))能够表示为:
σ(Ac(αl)):=σl 15)
且该集合中的每一个元素都由如下公式表示:
本申请的目标是在每个α∈I处选择增益矩阵K(α),以便对于每个k=1,…,n,闭环系统λc,k(α)∈Nk的极点都位于σl小邻域中,即:
其中,Nk为一个集合,集合中包含多个列复数点,满足复数点位于复数平面的左半平面,同时λl,k与集合中的任何一个复数点的距离小于一个远远小于1的数∈。
在上述假设的基础上,进一步考虑具有状态反馈量表达式12)的系统11),则在点αl∈I处,通过LQR策略计算增益控制矩阵K(αl),这导致集合σl中具有稳定的闭环极点;在点αl+1=αl+h处,其中h是步长(例如速度预设步长),增益控制矩阵K(αl+1)也由LQR计算。则对于所有α∈[αl,αl+1],令K(α)由13)计算给出。基于此,对于任何给定的η∈(0,λ],m≥1,在t≥0且的情况下,使得||x(t)||2≤me-ηt||x0||2成立。
接下来,将以自平衡车为例,更具体地说明确定该增益控制矩阵的设计过程。参照图4B,生成该自平衡机器人的线性动态模型后,在步骤S402中,基于所述线性动态模型,确定该自平衡机器人的增益权重矩阵。
例如,对于自平衡车而言,若构造的线性动态模型具有前述方程组10)的形式,且例如使用LQR控制器设计策略,考虑该自平衡车系统的运动极限情况及实际物理限制,例如能够根据该自平衡机器人的运动速度V设计如下增益权重矩阵R:
其中,V为该自平衡车的运动速度,r11、r22、γ为根据实际需要选取的参数,∈为无穷小量,其在实际应用过程中能够忽略。且其中γ为大于1的数值。
在一些实施例中,综合考虑到自平衡车的前把和后轮的相互作用,例如能够设置该参数r11=10,参数r22=20,参数γ=4,以实现良好的自平衡控制。且参照上述矩阵18)可知,该自平衡车的增益权重矩阵R中的参数量将随速度变化。
确定该自平衡车的增益权重矩阵后,参照图4B,在步骤S403中,基于所述增益权重矩阵,确定用于该自平衡机器人自平衡控制的增益控制函数。
例如,对于如前所述的自平衡车而言,基于该增益权重矩阵R,例如能够确定所述增益控制函数为:
Ka=R-1BTP 19)
其中,Ka为基于该增益控制函数计算得到的增益控制矩阵(即实际增益控制矩阵),P为过程矩阵,且其为方程式ATP+PA+Q+PLP=0的解,L=BR-1BT,且其中,R为增益权重矩阵,Q为正定矩阵,A为状态矩阵,B为输入矩阵,A、B、R的具体表达式如前所述。基于此,对于自平衡车,能够得到其增益控制函数,并能够由此计算增益控制矩阵。
在一些实施例中,所述速度档位是基于所述自平衡机器人的动力学特性及运动特性而确定的,且其中,所述确定该当前运动速度所对应的速度档位过程例如能够更具体地描述。图6A示出了根据本公开实施例确定自平衡机器人速度档位的过程600的示例性流程图。
参照图6A,首先,在步骤S601中,确定自平衡机器人运动的上限速度值及下限速度值,得到速度变化范围。
所述运动的上限速度值及下限速度值旨在表征根据实际需求和该自平衡机器人的物理条件,该自平衡机器人的运动的上限及下限速度。其例如可以根据实际需要由用户预先设定,或者其也可以基于预设计算公式进行计算得到。本公开的实施例不受该自平衡机器人的上限速度值和下限速度值的具体数值的限制。
所述速度变化范围即为以上限速度值及下限速度值为边界得到的速度范围。例如该自平衡机器人的上限速度值为15m/s,下限速度值为0m/s,则其速度变化范围为0m/s至15m/s。
确定速度变化范围后,在步骤S602中,确定预设步长。
所述预设步长旨在表征预先设置的速度增量值。其例如可以为用户或系统直接设定的数值,或者其也可以为根据用户或系统预先设定的数值进行进一步处理得到的速度增量值。本公开的实施例不受该速度增量值的具体确定方式的限制。
例如,可以预先设定需要将该速度变化范围均分为m段,因此即能够经由下述公式计算得到预设步长的数值:
其中,Vr1为该自平衡车的上限速度值,Vr2为该自平衡车的下限速度值。m为预设的均分段数,h为该自平衡车的预设步长。
确定预设步长后,在步骤S603中,基于该预设步长,从该速度变化范围中划分多个速度区段,将每一个速度区段作为一个预设速度档位,并且对所述多个预设速度档位中的每一个预设速度档位,确定该预设速度档位是否为可预测速度档位。
基于该预设步长从该速度变化范围中划分出多个速度区段的过程,例如可以利用该预设步长切分该速度变化范围,从而得到多个速度区段,例如,若该自平衡机器人的速度变化范围为0m/s至1.5m/s,且预设步长为0.5m/s,则经由该预设步长能够将该速度变化范围分割为三个速度区段(及预设速度档位):0m/s至0.5m/s,0.5m/s至1m/s,1m/s至1.5m/s。
所述可预测速度档位,旨在表征当自平衡车处于该速度档位中的所有速度值时,基于所确定的预测增益控制矩阵(例如经由前述的预测增益计算函数来确定)能够控制该自平衡车处于目标自平衡状态,而无需对于每一个速度值计算其实际增益控制矩阵。
且其中,若所述多个预设速度档位中的每一个预设速度档位均被确定为可预测速度档位,则将该预设步长确定为目标步长,并将该预设速度档位确定为速度档位。若所述多个预设速度档位中的至少一个速度档位未能被确定为可预测速度档位,则将调整该预设步长并重新进行上述步骤S601至S603的过程。
基于此,通过确定该自平衡车的速度变化范围,并根据预设步长切分该速度变化范围得到多个预设速度档位,且在每一个预设速度档位均为可预测速度档位时,将其确定为速度档位,使得能够良好高效地划分速度档位,既精简了自平衡控制的运算量,同时也能够保证良好的自平衡控制效果,兼顾了自平衡控制的小运算量及高控制精度。
在一些实施例中,判断该预设速度档位是否为可预测速度档位的过程例如能够更具体地说明。图6B示出了根据本公开实施例确定该预设速度档位是为可预测速度档位的过程S603的示例性流程图。
参照图6B,对所述多个预设速度档位中的每一个预设速度档位,确定该预设速度档位是否为可预测速度档位时:首先,在步骤S6031中,对于该预设速度档位中的每一个速度值,基于该速度值及该预设速度档位,确定该自平衡机器人的预测增益控制矩阵。
所述预测增益矩阵旨在表征根据该预设速度档位的最小速度值、最大速度值、最小速度实际增益控制矩阵、最大速度实际增益控制矩阵及该当前速度所拟合得到的增益矩阵的预测值,其例如可以通过如前所述的预测增益计算函数来实现。
例如,可以经由上述增益控制函数19)来计算该预设速度档位中最小速度实际增益控制矩阵及最大速度实际增益控制矩阵。之后,基于前述的预测增益计算函数1),基于该速度值生成预测增益控制矩阵。
所述实际增益控制矩阵,旨在表征基于该速度值,基于增益控制函数(例如上述方程式19))计算得到的增益控制矩阵。
其后,在步骤S6032中,对于该预设速度档位中的每一个速度值,基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩,并基于该转向角速度及转动转矩对该自平衡机器人进行控制。
例如,若该预设速度档位中的每一个速度值,基于其预测增益控制矩阵计算出的前把的转向角速度及动量轮的转动转矩均能够控制该自平衡车处于目标自平衡状态,则旨在表征该预测增益控制矩阵与其实际增益控制矩阵的偏差均在预设阈值范围内。
其后,在步骤S6033中,若对该预设速度档位中的每一个速度值,基于预测增益控制矩阵确定的转向角速度及转动转矩均能够控制该自平衡机器人处于目标自平衡状态,则将该预设速度档位确定为可预测速度档位。
基于上述,通过对该预设速度档位中每一个速度值,验证计算得到的预测增益控制矩阵均能够良好地控制该自平衡机器人处于目标自平衡状态,使得确保本申请中通过预测增益计算函数拟合得到预测增益控制矩阵能够良好地跟随实际增益控制矩阵,从而能够保证本申请中自平衡控制的可靠性及稳定性。
在一些实施例中,若所述多个预设速度档位中的至少一个速度档位未能被确定为可预测速度档位时调整该预设步长的过程例如能够更具体地描述。
例如,例如在第一次设置该预设步长h时,设置指标参数p=0,则当该预设步长未能满足要求时,例如将该指标参数p的数值增加1,并且取:
其中,λabsmin为集合σl+j(σ的表达式如前述公式16))中的第k个特征根,λabsmin为所有特征根中的每一个特征根λl+j,k的绝对值的最小值与的乘积。且此时,例如能够将预设的均分段数m更新为:
在一些实施例中,当用户对该自平衡机器人进行控制时,对于用户发送的左转或右转指示,例如能够经由动态反转策略,基于用户发送的左转或右转的参考移动方向,计算得到其等效的目标侧倾角,并基于该目标侧倾角对该自平衡机器人进行控制,从而使得能够基于前述的自平衡控制方法,根据该目标侧倾角(目标自平衡状态)对该自平衡机器人进行控制,从而实现其转向过程。
基于上述,通过将参考移动方向转换为等效的目标侧倾角,使得能够更好地实现自平衡机器人运动过程中的自平衡控制,且能够进一步提高该自平衡控制的精确度。
在一些实施例中,例如还设置有该自平衡机器人的前把转向角速度阈值,当基于该自平衡控制方法计算得到的前把转向角速度小于该前把转向角速度阈值时,将计算得到的该前把转向角速度设置为0,且令该前把不进行相应转动;当该自平衡控制方法计算得到的前把转向角速度大于该前把转向角速度阈值时,则通过该前把控制器控制该前把处于计算得到的前把转向角速度。
基于上述,通过设置前把转向角速度阈值,使得当自平衡机器人由于外部影响而产生轻微晃动时,不会频繁地控制该前把进行转向,从而有利于更好地控制该自平衡机器人的自平衡状态。
在一些实施例中,例如还设置该自平衡机器人的动量轮转动转矩阈值,当基于该自平衡控制方法计算得到的动量轮转动转矩小于该动量轮转动转矩阈值时,将计算得到的动量轮转动转矩设置为0,且令该动量轮不进行转动;当该自平衡控制方法计算得到的动量轮转动转矩大于该动量轮转动转矩阈值时,则通过该动量轮控制器将该转动转矩提供给动量轮。
基于上述,通过设置动量轮转动转矩阈值,使得当自平衡机器人由于外部影响而产生轻微晃动时,不会频繁地控制该动量轮进行转动,从而有利于更好地控制该自平衡机器人的自平衡状态。
基于如上所述的自平衡机器人控制方法,接下来将从理论推导和实验测试两个方面,对其自平衡控制效果进行说明。
首先,在理论推导层面,将以经由LQR设计策略进行控制器设计为例,证明状态反馈量表达式u=-Kx(其中K=R-1BTP)使得成本函数J最小化,其中P=PT>0为黎卡提(Riccati)方程的解:
AT(α)P(α)+P(α)A(α)+Q+P(α)L(α)P(α)=0 21)
且其中,L=BR-1BT,同样地,该Riccati方程在α+h处也成立,即:
且知A(α+h)的泰勒展开式为A(α+h)=A(α)+o(h),o(h)表征高阶无穷小量;同样地,B(α+h)的泰勒展开式为B(α+h)=B(α)+o(h),则对于L=BR-1BT,其数值取决于R的选择。若选择R使得R-1(α+h)=R-1(α)+o(h),则L(α+h)=L(α)+o(h),因此上式22)的泰勒展开式为:
从上述公式23)中减去公式21),则能够得到:
且将其两边同时除以h(h大于0),能够得到:
且其中:
进一步地,使用X来表示参数P对α的导数:
且当该参数h为0时,上述公式25)能够具有如下形式:
AT(α)X+XA(α)+XΛ+Ω=0 27)
且其中:
常数C1和C2分别是A(α+h)和L(α+h)的泰勒扩展的一阶系数。因此,X是(27)的解。因此,P(α)的导数相对于α存在并有界,也就是说:
P(αl+1)=P(αl)+o(h) 28)
应用K=R-1BTP,则:
K(αl+1)=K(αl)+o(h) 29)
K(α)=K(αl)+o(h) 30)
对于所有α∈[αl,αl+1],元素A和B是α的解析函数;因此,对于足够小的h,对于所有α∈[αl,αl+1],A(α)=A(αl)+o(h)且B(α)=B(αl)+o(h),由此:
Ac(α)=A(α)-B(α)K(α)=Ac(αl)+o(h) 31)
由此我们能够知道,对于足够小的h:
λc,k(α)=λl,k+o(h) 32)
对于所有k=1,...,n和所有α∈[αl,αl+1],前述系统中因此存在常数m≥1和λ>0,使得对于所有t≥0和τ≥0,条件||x(t)||2≤me-ηt||x0||2成立(x0为状态x的初始值,即初始状态;x(t)为当前时刻t下的状态x),即表明该闭环系统是稳定的。
接下来,将结合图7A至图7C,对于自平衡机器人为自平衡车时的自平衡控制过程及其效果进行更具体地描述。
首先,对该自平衡车处于静止状态时的自平衡控制进行测试。图7A示出了根据本公开实施例的自平衡车在静态状态下进行自平衡测试的结果的示意图。接下来将参照图7A对其进行进一步说明。
具体地,参照图7A中的(a)图,示出了该自平衡车的目标侧倾角θeq随时间的变化,由于此时在静止状态下已设定其自平衡状态表征侧倾角为0的状态,因此,其目标侧倾角始终保持在0度。图7A中的(b)图示出了自平衡车的侧倾角θ随时间的变化,从中可以看出,在5s和32s时存在两个扰动,其扰动作用力大小相等方向相反。图7A中的(c)图示出了自平衡车的前把转向角δ随时间的变化,由于此时该自平衡车处于静止状态,因此其前把转向角δ始终保持为0度。在图7A中的(d)图中示出了基于本申请上述自平衡机器人自平衡控制方法计算得到的该自平衡车的动量轮的转动转矩Tr,参照图7A可知,对应于在5s和32s时存在的两个扰动,在5s和32s时,分别施加转动转矩至动量轮,使得动量轮产生反作用扭矩以维持该自平衡车的自平衡。且从图7A中的(e)图中示出了该自平衡车动量轮的角速度随时间的变化,可知响应于该转矩Tr,该动量轮的角速度在5s和32s附近出现峰值,并最终收敛到零。且参照图7A中的(f)图可知,该自平衡车的运动速度V始终处于0m/s附近,旨在表征该自平衡车处于静止状态。
此外,对照图7A中的(b)图、(d)图及(e)图可知,该自平衡车的侧倾角在受到外部扰动的影响时,动量轮控制器给出了超过10Nm的峰值扭矩。该扭矩值远远超出了该电机的额定扭矩。但是,它仅在很短的时间内发生,因此不会烧毁电动机。由于该转矩指令,动量轮的旋转角速度在控制过程中也发生了变化。经由本申请中的自平衡机器人控制方法,通过计算动量轮的转动转矩,经由该动量轮控制器控制该动量轮转动,使得该动量轮能够调整该自平衡车的侧倾角,并令侧倾角最终收敛至0。
首先,对该自平衡车处于运动状态时的自平衡控制进行测试,其中加速和制动被视为平衡控制的外部干扰。图7B示出了根据本公开实施例的自平衡车处于运动状态时进行自平衡测试的结果的示意图。接下来将参照图7B对其进行进一步说明。
参照图7B,具体地,图7B中的(f)图示出了该自平衡车的前进速度V随时间的变化,基于此可知,该自平衡车经历了先加速,在加速至峰值速度时进行制动并最终停止的运动过程。图7B中的(a)图示出了该自平衡车的目标侧倾角θeq随时间的变化,由于此时在静止状态下已设定其自平衡状态表征侧倾角为0的状态,因此,其目标侧倾角θeq始终保持在0度。图7B中的(b)图示出了自平衡车的侧倾角θ随时间的变化,从中可以看出,在自平衡车进行加速直线运动随后制动停止的过程中,其侧倾角θ在0度附近小幅度波动,并最终收敛于0度。图7B中的(c)图示出了自平衡车的前把转向角δ随时间的变化,在自平衡车启动时,前把的转向角δ发生了变化,以便在开机后纠正初始转向角数值的静态误差,随后其将保持在校正后的转向角度上。在图7B中的(d)图中示出了基于本申请上述自平衡车控制策略计算得到的该自平衡车的动量轮的转动转矩Tr,参照图7B可知,在该自平衡车进行加速直线运动过程中,随着速度增加,基于该自平衡车的实际运动情况,将相应地施加转动转矩Tr至动量轮,使得动量轮产生反作用扭矩以维持该自平衡车的自平衡。且图7B中的(e)图中示出了该自平衡车动量轮的角速度随时间的变化,可知响应于该转矩,该动量轮的角速度相应地进行变化以产生加速及减速力矩,并最终收敛到零。
此外,对照图7B中的(b)图、(d)图及(f)图可知,该自平衡车在进行加速和制动过程时将会产生一些干扰,使得该自平衡车的侧倾角由0度左右偏移,呈现出短暂的非自平衡状态,此时该自平衡控制方法计算得到的自平衡车的动量轮转矩将会相应地发生变化,从而使得该自平衡车到达侧倾角为0的目标自平衡状态,且该动量轮的转速最终能够收敛到0。
基于上述可知,在该自平衡车进行加速直线运动或制动过程中,经由本申请中的自平衡机器人控制方法,通过计算得到的动量轮的转动转矩,经由该动量轮控制器控制该动量轮转动,使得该动量轮能够调整该自平衡车的侧倾角,并令侧倾角最终收敛至0。且该自平衡控制收敛速度较快,控制效果较佳,具有较好的灵活性。
接下来,将对该自平衡车从静止状态至运动状态的运动过程进行测试。图7C示出了根据本公开的实施例的自平衡车在静止状态与运动状态的切换过程中进行自平衡测试的结果的示意图。接下来将参照图7C对其进行进一步说明。
参照图7C,例如使该自平衡车从静态平衡开始运动,加速并沿直线前进。然后,操作员使用遥控器发出指令,将移动曲线更改为圆周。在圆周运动约70秒后,在制动信号将其减速之前,给出了将曲线更改回直线的指令。基于此,首先,图7C中的(f)图示出了该自平衡车的前进速度V随时间的变化,基于此可知,该自平衡车经历了先加速,在加速至峰值速度后保持该速度进行匀速运动最终制动并停止的运动过程。参照图7C中(a)图,可知该自平衡车的目标侧倾角θeq初始为0(静态平衡的目标自平衡状态),随后处于约-0.02rad的角度(圆周运动的目标自平衡状态),最后回到0度(直线及静止状态的目标自平衡状态)。且参照其(b)图,可知其实际侧倾角θ良好地跟随了目标侧倾角,即其在全局实现了良好的自平衡控制。具体地,综合参照图7C中(c)图、(d)图及(e)图,可知在该运动场景下,特别在该自平衡车从直线运动转变为圆周运动、从圆周运动转变为直线运动的过程中,经由该自平衡车的前把控制器控制前把的转向角速度进而控制器转向角δ,并经由动量轮控制器提供给动量轮相应的转向转矩Tr,使得前把及动量轮协同实现自平衡控制,从而令该自平衡车处于目标自平衡状态。
基于上述测试结果可知,通过应用本申请提出的自平衡控制算法对该自平衡车的自平衡状态进行控制,能够良好地贴合其运动特性,使得在该自平衡车处于静止状态、运动状态、静止状态及运动状态之间的变化状态时,均能够实现高精度、高灵敏度的自平衡控制,且该自平衡控制的灵活性及鲁棒性较高。
根据本公开的另一方面,提出了一种自平衡机器人控制系统。其中,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,该系统包括。图8示出了根据本发明实施例的自平衡机器人控制系统800的示例性框图。
如图8所示的自平衡机器人控制系统800包括目标自平衡状态获取模块810,预测增益控制矩阵确定模块820、控制量确定模块830及自平衡控制模块840。
所述目标自平衡状态获取模块810被配置为获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度。
所述目标自平衡状态旨在表征该自平衡机器人的期望自平衡状态。所述自平衡机器人的当前自平衡状态表征该自平衡机器人当前所具有的自平衡状态。
应了解,当前自平衡状态及该目标自平衡状态中的参数能够为用户预先确定的或系统基于实际需求选取的,该当前自平衡状态及该目标自平衡状态中参数的个数及类型也能够基于实际需要选取,本公开的实施例不受该目标自平衡状态及当前自平衡状态的具体组成、内容及设定方式的限制。
所述当前运动速度旨在表征该自平衡机器人在当前时刻所具有的速度。本公开的实施例不受该当前运动速度的具体数值的限制。
所述预测增益控制矩阵确定模块820被配置为确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵。
其中,所速度档位,旨在表征当前运动速度所位于的速度档位。其旨在划分不同的速度范围。本公开不受该速度档位的具体组成的限制。
所述预测增益控制矩阵,旨在表征基于当前运动速度及速度档位预测的增益控制控制矩阵,其例如可以为2*4维(两行四列)矩阵,或者也可以具有其他的维数。本公开的实施例不受该预测增益控制矩阵具体内容的限制。
所述控制量确定模块830被配置为基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩。
例如,可以基于预设公式或公式组,基于该预测增益控制矩阵及自平衡机器人的当前自平衡状态进行计算,并输出转向角速度及转动转矩。
所述转向角速度旨在表征为实现目标自平衡状态,该自平衡机器人的前把的转向角速度;所述转动转矩旨在表征为实现目标自平衡状态,该自平衡机器人动量轮控制器需要向动量轮提供的转矩。
所述自平衡控制模块840被配置为通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
基于上述,通过综合考虑前把转向角与动量轮的转动运动对于自平衡机器人的自平衡状态的影响,在对自平衡机器人进行自平衡控制时,基于当前速度确定其速度档位,并据此进一步确定该自平衡机器人的预测增益控制矩阵,基于该预测增益控制矩阵计算得到该自平衡机器人的转向角速度及转动转矩,并由此进行自平衡控制,相较于在静态状态及动态状态下分别设置控制策略并调用不同的控制器实现自平衡控制,本申请中的自平衡控制系统能够实现动态和静态状态,特别是静态与动态状态切换时的高精度高稳定性控制,同时无需来回切换多种控制器。提高了自平衡机器人自平衡控制的灵活度及可靠性,且其具有较高的鲁棒性。
在一些实施例中,所述目标自平衡状态包括目标侧倾角、目标侧倾角速度、目标动量轮转动速度及目标前把转向角中的至少一部分,所述当前自平衡状态包括当前侧倾角、当前侧倾角速度、当前动量轮转动速度及当前的前把转向角中的至少一部分。
通过设置该目标自平衡状态当前自平衡状态包括以上一个或多个参数量,使得能够全面且良好地反映出其目标自平衡状态及当前自平衡状态。
在一些实施例中,所述预测增益控制矩阵确定模块820包括:速度档位确定模块821、预测增益计算函数确定模块822、预测增益控制矩阵确定模块823。
所述速度档位确定模块821被配置为执行图2中步骤S1021的操作,确定该当前运动速度所对应的速度档位,其中该速度档位对应于档位最小速度值及档位最大速度值组成的速度范围。
所述档位最小速度值旨在表征该速度档位中的最小速度值,所述档位最大速度值旨在表征该速度档位中的最大速度值。本公开的实施例不受该档位最小速度值及档位最大速度值的具体数值的限制。
所述预测增益计算函数确定模块822被配置为执行图2中步骤S1022的操作,确定该速度档位所对应的预测增益计算函数。
所述预测增益计算函数旨在表征用于计算预测增益控制矩阵的函数。
预测增益控制矩阵确定模块823被配置为执行图2中步骤S1023的操作,基于该预测增益计算函数及当前运动速度,确定该自平衡机器人的预测增益控制矩阵。
基于上述,基于自平衡机器人的当前运动速度,通过获取其所处的速度档位,并进一步得到该速度档位所对应的预测增益计算函数,能够基于该预测增益计算函数及当前运动速度简单便捷地计算得到预测增益控制矩阵,有利于后续进一步基于该预测增益控制矩阵求取转向角速度及转动转矩。
在一些实施例中,所述自平衡机器人控制系统能够执行如前所述的方法,具有如前所述的功能。
根据本发明的另一方面,还提出了一种自平衡机器人。图1C示出了根据本公开实施例的自平衡机器人100C的示例性框图。参照图1C,其中,该自平衡机器人100C例如包括前把转向系统110、动量轮系统120及自平衡机器人控制系统130。
所述前把转向系统包括前把111及前把控制器112,该前把控制器112用于控制所述前把111的转向角速度,所述动量轮系统120包括动量轮121及动量轮控制器122,所述动量轮控制器122用于向所述动量轮121提供转动转矩。
且其中,该自平衡机器人具有本申请所述的自平衡控制系统,能够执行如前所述的自平衡控制方法,实现本申请所述的自平衡控制功能,使得该自平衡机器人能够处于目标自平衡状态。
此外,该自平衡机器人还可以包括总线、存储器、传感器组件、控制器、通信模块和输入输出装置等。
总线可以是将该自平衡机器人的各部件互连并在各部件之中传递通信信息(例如,控制消息或数据)的电路。
传感器组件可以用于对物理世界进行感知,例如包括摄像头、红外传感器超声波传感器等。此外,传感器组件还可以包括用于测量自平衡机器人当前运行及运动状态的装置,例如霍尔传感器、激光位置传感器、或应变力传感器等。
控制器用于对自平衡机器人的操作进行控制,例如以人工智能的控制方式。
所述控制器例如包括处理装置。处理装置可以包括微处理器、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、现场可编程门阵列、状态机或用于处理从传感器线接收的电信号的其他处理器件。这种处理器件可以包括可编程电子设备,例如PLC,可编程中断控制器(“PIC”)、可编程逻辑器件(“PLD”)、可编程只读存储器(“PROM”)、电子可编程只读存储器等。
通信模块例如可以通过有线或无效与网络连接,以便于与物理世界(例如,服务器)通信。通信模块可以是无线的并且可以包括无线接口,例如IEEE 802.11、蓝牙、无线局域网(“WLAN”)收发器、或用于接入蜂窝电话网络的无线电接口(例如,用于接入CDMA、GSM、UMTS或其他移动通信网络的收发器/天线)。在另一示例中,通信模块可以是有线的并且可以包括诸如以太网、USB或IEEE 1394之类的接口。
输入输出装置可以将例如从用户或任何其他外部设备输入的命令或数据传送到机器人的一个或多个其他部件,或者可以将从自平衡机器人的一个或多个其他部件接收的命令或数据输出到用户或其他外部设备。
多个能够实现自平衡的机器人可以组成机器人系统以协同地完成一项任务,该多个机器人通信地连接到服务器,并且从服务器接收协同机器人指令。
根据本发明的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如前所述的方法。
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
本申请使用了特定词语来描述本申请的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。
Claims (15)
1.一种自平衡机器人控制方法,其中,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,且该方法包括:
获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度;
确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵;
基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩;以及
通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
2.如权利要求1所述的自平衡机器人控制方法,其中,所述目标自平衡状态包括目标侧倾角、目标侧倾角速度、目标动量轮转动速度及目标前把转向角中的至少一部分,所述当前自平衡状态包括当前侧倾角、当前侧倾角速度、当前动量轮转动速度及当前的前把转向角中的至少一部分。
3.如权利要求1所述的自平衡机器人控制方法,其中,确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵包括:
确定该当前运动速度所对应的速度档位,其中该速度档位对应于档位最小速度值及档位最大速度值组成的速度范围;
确定该速度档位所对应的预测增益计算函数;
基于该预测增益计算函数及当前运动速度,确定该自平衡机器人的预测增益控制矩阵。
4.如权利要求1所述的自平衡机器人控制方法,其中,基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩包括:
根据状态反馈控制函数,基于该预测增益控制矩阵及该自平衡机器人的当前自平衡状态确定该自平衡机器人的前把转向角速度及动量轮控制器电压,以及基于该动量轮控制器电压生成转动转矩;
且所述状态反馈函数为:
u=-Ka_pre(Vp)*(x-x0),
其中,Ka_pre(Vp)为该自平衡机器人的预测增益控制矩阵,u为状态反馈向量,x为自平衡机器人的当前自平衡状态向量,x0为自平衡机器人的目标自平衡状态向量,Vp为该自平衡机器人的当前运动速度,且其中:
5.如权利要求3所述的自平衡机器人控制方法,其中,所述预测增益计算函数是基于该速度档位的档位最小速度值及档位最大速度值确定的,且其中,所述确定该速度档位所对应的预测增益计算函数包括:
基于增益控制函数,确定该档位最小速度值所对应的最小速度实际增益控制矩阵;
基于增益控制函数,确定该档位最大速度值所对应的最大速度实际增益控制矩阵;
基于该档位最小速度值、最小速度实际增益控制矩阵、档位最大速度值、最大速度实际增益控制矩阵,确定该预测增益计算函数。
7.如权利要求5所述的自平衡机器人控制方法,其中,所述增益控制函数是基于所述自平衡机器人的动力学特性及运动特性而确定的,其中,所述增益控制函数的确定包括:
基于所述自平衡机器人的动力学特性及运动特性,构造该自平衡机器人的线性动态模型;
基于所述线性动态模型,确定该自平衡机器人的增益权重矩阵;
基于所述增益权重矩阵,确定用于该自平衡机器人自平衡控制的增益控制函数。
8.如权利要求5所述的自平衡机器人控制方法,其中,所述增益控制函数为:
Ka=R-1BTP,
其中,Ka为实际增益控制矩阵,P为过程矩阵,其为ATP+PA+Q+PLP=0的解,L=BR-1BT,R为增益权重矩阵,Q为正定矩阵,A为状态矩阵,B为输入矩阵
且其中:
其中,V为自平衡机器人的运动速度,r11=10,r22=20,γ=4,∈为无穷小量,Ng为动量轮控制器与动量轮之间的传动比,Kt为动量轮控制器的扭矩常数,Ke为动量轮控制器的反电磁力,Rm为动量轮控制器的电枢线圈电阻,H为自平衡机器人的重心高度,L为自平衡机器人的前轮和地面的接触点与后轮和地面的接触点沿车身方向的直线距离,d为自平衡机器人的后轮与地面的接触点沿车身方向距离该自平衡机器人重心在车身方向上的投影点的水平距离,L1为自平衡机器人除动量轮之外的主体部分的重心高度,L2为动量轮的重心高度,m1为该自平衡机器人的主体部分的质量,m2为该自平衡机器人的动量轮的质量,I1为自平衡机器人主体部分的转动惯量,I2为自平衡机器人动量轮的转动惯量,g为重力加速度。
9.如权利要求1所述的自平衡机器人控制方法,其中,所述速度档位是基于所述自平衡机器人的动力学特性及运动特性而确定的,其中,所述确定该当前运动速度所对应的速度档位包括:
确定自平衡机器人运动的上限速度值及下限速度值,得到速度变化范围;
确定预设步长;
基于该预设步长,从该速度变化范围中划分多个速度区段,将每一个速度区段作为一个预设速度档位,并且对所述多个预设速度档位中的每一个预设速度档位,确定该预设速度档位是否为可预测速度档位;
且其中,若所述多个预设速度档位中的每一个预设速度档位均被确定为可预测速度档位,则将该预设步长确定为目标步长,并将该预设速度档位确定为速度档位。
10.如权利要求9所述的自平衡机器人控制方法,其中,对所述多个预设速度档位中的每一个预设速度档位,确定该预设速度档位是否为可预测速度档位包括:
对于该预设速度档位中的每一个速度值,基于该速度值及该预设速度档位,确定该自平衡机器人的预测增益控制矩阵;
对于该预设速度档位中的每一个速度值,基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩,并基于该转向角速度及转动转矩对该自平衡机器人进行控制;
其中,若对该预设速度档位中的每一个速度值,基于预测增益控制矩阵确定的转向角速度及转动转矩均能够控制该自平衡机器人处于目标自平衡状态,则将该预设速度档位确定为可预测速度档位。
11.一种自平衡机器人控制系统,其中,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,该系统包括:
目标自平衡状态获取模块,其被配置为获取该自平衡机器人的目标自平衡状态、当前自平衡状态及当前运动速度;
预测增益控制矩阵确定模块,其被配置为确定该当前运动速度所对应的速度档位,并基于该速度档位及当前运动速度确定预测增益控制矩阵;
控制量确定模块,其被配置为基于该预测增益控制矩阵、该自平衡机器人的当前自平衡状态及目标自平衡状态,确定该自平衡机器人前把的转向角速度及动量轮的转动转矩;以及
自平衡控制模块,其被配置为通过所述前把控制器控制该前把以该转向角速度转动,通过所述动量轮控制器将该转动转矩提供给动量轮。
12.如权利要求11所述的自平衡机器人控制系统,其中,所述目标自平衡状态包括目标侧倾角、目标侧倾角速度、目标动量轮转动速度及目标前把转向角中的至少一部分,所述当前自平衡状态包括当前侧倾角、当前侧倾角速度、当前动量轮转动速度及当前的前把转向角中的至少一部分。
13.如权利要求11所述的自平衡机器人控制系统,其中,所述预测增益控制矩阵确定模块包括:
速度档位确定模块,其被配置为确定该当前运动速度所对应的速度档位,其中该速度档位对应于档位最小速度值及档位最大速度值组成的速度范围;
预测增益计算函数确定模块,其被配置为确定该速度档位所对应的预测增益计算函数;
预测增益控制矩阵确定模块,其被配置为基于该预测增益计算函数及当前运动速度,确定该自平衡机器人的预测增益控制矩阵。
14.一种自平衡机器人,所述自平衡机器人包括前把转向系统及动量轮系统,所述前把转向系统包括前把及前把控制器,该前把控制器用于控制所述前把的转向角速度,所述动量轮系统包括动量轮及动量轮控制器,所述动量轮控制器用于向所述动量轮提供转动转矩,且其中,
该自平衡机器人包括如前述权利要求11-13中任一项所述的自平衡机器人控制系统,且其通过如权利要求1-10中任一项所述的自平衡机器人控制方法来实现对所述前把的控制以及对所述动量轮的控制。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时,执行上述权利要求1-10中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010517343.0A CN111634356B (zh) | 2020-06-09 | 2020-06-09 | 自平衡机器人控制方法、系统、自平衡机器人及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010517343.0A CN111634356B (zh) | 2020-06-09 | 2020-06-09 | 自平衡机器人控制方法、系统、自平衡机器人及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111634356A CN111634356A (zh) | 2020-09-08 |
CN111634356B true CN111634356B (zh) | 2023-04-25 |
Family
ID=72326213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010517343.0A Active CN111634356B (zh) | 2020-06-09 | 2020-06-09 | 自平衡机器人控制方法、系统、自平衡机器人及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111634356B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965509B (zh) * | 2021-02-09 | 2022-10-18 | 内蒙古大学 | 一种两轮自平衡机器人的控制方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120391B2 (en) * | 2010-05-06 | 2018-11-06 | Dong Li | Self-balancing enclosed motorcycle |
CN104925164A (zh) * | 2015-03-13 | 2015-09-23 | 青岛科技大学 | 一种利用双动量轮平衡的两轮汽车 |
CN106080941B (zh) * | 2016-08-04 | 2018-12-18 | 清华大学 | 一种实现变速平衡控制的无人驾驶自行车 |
CN107728635B (zh) * | 2017-11-13 | 2020-10-09 | 北京赛曙科技有限公司 | 一种摩托车型机器人的自动平衡装置及方法 |
CN110733592B (zh) * | 2019-11-01 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 双轮行驶系统、动量轮组件、动量轮平衡调节方法及介质 |
CN110929351B (zh) * | 2019-11-25 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 自平衡设备及其动量轮安装位置确定方法、装置、设备 |
CN110888444B (zh) * | 2019-12-04 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 自平衡行驶装置及其控制方法 |
-
2020
- 2020-06-09 CN CN202010517343.0A patent/CN111634356B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111634356A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wen et al. | Elman fuzzy adaptive control for obstacle avoidance of mobile robots using hybrid force/position incorporation | |
CN102385342B (zh) | 虚拟轴机床并联机构运动控制的自适应动态滑模控制方法 | |
CN106020124B (zh) | 伺服马达控制装置以及碰撞检测方法 | |
CN105116729A (zh) | 一种两轮自平衡机器人自适应滑模变结构控制方法及系统 | |
CN111258216B (zh) | 一种适用于四旋翼飞行器的滑模重复控制器 | |
Xiong et al. | The simulation of double inverted pendulum control based on particle swarm optimization LQR algorithm | |
US20180093868A1 (en) | Anti-sway crane control method with a third-order filter | |
CN111634356B (zh) | 自平衡机器人控制方法、系统、自平衡机器人及介质 | |
CN110941242B (zh) | 电动机控制装置 | |
CN111547176B (zh) | 自平衡机器人控制方法、系统、自平衡机器人及介质 | |
CN111547177B (zh) | 自平衡机器人控制方法、系统、自平衡机器人及介质 | |
Zhou et al. | An improved fuzzy neural network compound control scheme for inertially stabilized platform for aerial remote sensing applications | |
Yao | Robust adaptive finite-time attitude tracking control of a 3D pendulum with external disturbance: numerical simulations and hardware experiments | |
CN111399500B (zh) | 一种两轮自平衡车集中式编队控制方法 | |
CN110929351B (zh) | 自平衡设备及其动量轮安装位置确定方法、装置、设备 | |
Insperger et al. | Increasing the accuracy of digital force control process using the act-and-wait concept | |
CN111712399A (zh) | 可移动平台的控制方法、装置、设备及存储介质 | |
Zhang et al. | Adaptive friction compensation robust control for permanent magnet spherical actuator under compound disturbance | |
Wen et al. | Continuous non‐singular terminal sliding‐mode control of permanent magnet spherical actuator for trajectory tracking based on a modified nonlinear disturbance observer | |
Yue et al. | Dynamic motion planning and adaptive tracking control for a class of two-wheeled autonomous vehicle with an underactuated pendular suspension | |
Salem | Mechatronics motion control design of electric machines for desired deadbeat response specifications, supported and verified by new matlab built-in function and simulink model | |
Rong-Xia | Design of Mobile Control system for wheeled Mobile Robot based on embedded ARM Technology | |
Wang et al. | Research on trajectory planning and tracking of hexa-copter | |
Nie et al. | Multi-node calibration motion control system of three-wheel omnidirectional mobile robot | |
Luo et al. | Research of Modeling and Sliding Mode Advanced Control for Four Rotor Aircraft |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027488 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |