直升机显式模型预测控制中基于k‑d树的点定位方法技术

技术编号:17516072 阅读:75 留言:0更新日期:2018-03-21 00:43
本发明专利技术的直升机显式模型预测控制中基于k‑d树的点定位方法,提出一种基于k‑d树的树型存储结构和相应的控制律在线查找方法。该树型结构结合了搜索二叉树(BST)和k‑d树,“树根”部分由k‑d树构成,“树梢”部分由搜索二叉树(BST)构建而成。主要包含以下步骤:(1)建立Quanser三自由度直升机的状态空间模型和状态空间分区集;(2)离线计算,对状态分区集建立树型存储结构;(3)在线搜索当前状态点所在分区;(4)应用于Quanser三自由度直升机系统。

The helicopter empc K D tree point positioning method based on Control

The invention of the helicopter explicit model predictive control K location method based on D tree, this paper puts forward a k d tree tree storage structure and corresponding control method based on online search. The tree structure with two binary tree search (BST) and K D tree, \roots\ in part by the K D tree, \tree\ is composed of two binary tree search (BST) is constructed. It includes the following steps: (1) the state space model and the state space of Quanser three DOF helicopter partition set; (2) off-line calculation, on the set of state partition tree storage structure; (3) the current state of online search point division; (4) applied to the Quanser three degrees of freedom helicopter system.

【技术实现步骤摘要】
直升机显式模型预测控制中基于k-d树的点定位方法
本专利技术应用于三自由度直升机自动控制领域,为三自由度直升机显式模型预测控制中的点定位问题提供一种基于k-d树的控制律存储结构和相应的在线查找算法。
技术介绍
及意义自1907年载人直升机诞生以来,经过100多年的发展,常规直升机技术已经非常成熟。和有固定机翼的飞机不同,直升机能够在小面积场地垂直起降,在空中定点悬停,定点360°回转;直升机能够作任意方向飞行,可以低速贴近地面飞行,还可在机身外部吊挂货物。由于这些特点使得直升机在军用、民用等领域得到了极为广泛的应用。本专利技术使用加拿大Quanser公司开发的三自由度直升机系统作为研究对象。三自由度直升机系统是一个典型的多输入多输出系统,并且具有强耦合、非线性等特性,是自动控制领域比较棘手的一类被控目标,直升机的控制效果可以分别通过高度轴,俯仰轴和旋转轴三个自由度的控制效果来体现。对于Quanser三自由度直升机系统,采用显式模型预测控制对其进行实时控制。20世纪60年代初期发展起来并日趋完善的现代控制理论,具有最优的性能指标和系统而精确的理论设计方法,在航天航空、制导等领域中获得了卓越的成就。但是在应用于工业过程控制时却没有收到预期的效果。模型预测控制(ModelPredictiveControl,简称MPC)正是针对工业过程控制应运而生的控制算法,在石油、化工等过程工业领域获得了广泛应用。由于模型预测控制的反复在线优化计算特点,使得模型预测控制技术只能适用于系统的动态变化较慢的场合(如过程控制系统),难以适用于采样速率较高的系统和动态变化较快的系统如电机系统、电力系统、电力电子系统、机械振动控制、汽车电子控制等。显式模型预测控制(ExplicitModelPredictiveControl,简称EMPC)的出现减少了模型预测控制的在线计算时间,提高了在线计算速度和扩大了模型预测控制技术适用范围。EMPC分为离线计算和在线查找两个步骤,主要过程如图1所示。即:离线计算时,应用多参数规划(multi-parametricQuadraticProgram,mp-QP)理论对系统的状态区域(即参数区域)进行凸划分,并离线计算得到对应每个状态分区上的状态反馈最优控制律;在线计算时,只需通过查找运算确定系统当前的状态点处于其状态空间的哪个分区,并按照该分区上的最优控制律得到当前时刻的最优控制量。判断空间中的某一点处于哪个分区,在计算几何中被称为点定位问题(Point-locationProblem),解决这一问题的算法被称为点定位算法。显式模型预测控制实际在线控制过程的主要任务就是解决点定位问题,所采用的点定位算法的性能直接关系到显式模型预测控制的性能。衡量一个点定位算法的好坏,主要取决于在线查找的速度和数据存储中内存的需求量,即时间复杂度和空间复杂度。
技术实现思路
本专利技术要克服现有显式模型预测控制技术中的点定位问题,提出一种基于k-d树的树型存储结构和相应的在线查找方法。该k-d树型结构结合了搜索二叉树(BST)和k-d树,“树根”部分由k-d树构成,“树梢”部分由搜索二叉树(BST)构建而成。为了维持该构造树的平衡性,本专利技术在构建k-d树部分时,通过计算仿射控制率的数量作为参考超平面(CandidateHP)的选择标准,在树的每一层上,在平行于指定坐标轴的超平面中,选择将分区空间中的仿射控制率数量分为“大致相同”的两部分的超平面作为参考超平面。其中“大致相同”是指通过超平面j的划分后的两部分仿射控制率数量nj|1和nj|2,保证两个控制率数量和最小(即argminj(sum(nj|1+nj|2))),以及其中最大的那个数量保持最小(即argminj(max(nj|1+nj|2)))。通过在平行于指定坐标轴的超平面中选择参考超平面方法,可以大大减少超平面计算时间,提高离线计算效率,特别是应用于具有高维状态空间三自由度直升机。在构建构造树型结构的时候,本专利技术设置一个阈值作为判读当前节点是否需要再次划分的标准,如果当前节点对应的子空间里的仿射控制率数量小于阈值,该节点就作为构造BST的根节点,子空间中的仿射控制率将由BST构造;否则继续以k-d树的结构进行构造树。该方法主体部分通过k-d树进行构造,相对现有的直接查找法、BST树构造法等,大大减少了离线计算时间和在线查找速度。本专利技术的直升机显式模型预测控制中基于k-d树的点定位方法,包括如下步骤:步骤1建立直升机的状态空间模型和状态空间分区集;在分析直升机系统的受力原理的基础上,得到高度轴、俯仰轴和旋转轴的动力学模型、运动方程以及状态空间模型;根据得到的状态方程和状态空间模型,通过MPT工具箱,建立状态空间分区集;状态空间划分后得到的分区集合都是多胞形,它们都是欧氏空间中封闭有界的凸集;空间中分区的划分过程中会存在大量的同义分区,即具有相同仿射控制率的相邻的不同分区;为了减少分区数量,首先对这些同义分区进行合并,然而,产生的具有相同仿射控制律的区域往往是非凸的,将非凸的区域进一步分割,最后描述为两个或多个多胞形的集合;步骤2离线计算,对状态分区集建立树型存储结构;为了确保建立的树型存储结构能够尽可能保持平衡和最小高度,对状态分区进行划分的参考超平面的选择起到关键作用,算法1描述了基于k-d树的参考超平面选择策略;假设状态分区空间的维数是Nx维的,对应于每个节点,分别对应的一个坐标轴e轴,e=1,2,…,Nx,参考超平面将在平行于e轴的超平面中计算得到;算法1:计算参考超平面输入:待划分的多面体区域P,坐标轴序号e,超平面移动步长l;第S1步:设置起始超平面为平行于e轴的中间超平面,记为jk.;第S2步:计算被超平面j划分后的两个多面体区域(分别为jk+和jk-)的仿射控制率个数,记为f+和f-,fk表示为两个控制率个数最大值,即fk=max(f+,f-);并且jk=j;WHILE超平面j在多面体区域P中DOIFf+>f-THEN以步长为l移动超平面j到区域jk+中,并计算新的f+和f-;IFmax(f+,f-)<fkTHENfk=max(f+,f-),jk=j;ELSE退出while循环;ENDIFELSE以步长为l移动超平面j到区域jk-中,并计算新的f+和f-;IFmax(f+,f-)<fkTHENfk=max(f+,f-),jk=j;ELSE退出while循环;ENDIFENDIFENDWHILE第S3步:返回超平面jk.END构成树的每一个节点标识为Nk,使用一个链表U保存每个没有被探查过的节点的序号;一个没有被处探查过的非叶子节点由四部分构成{Ik,Jk,ik,jk},其中Jk表示从根节点N1到当前节点Nk用到的所有带符号的参考超平面序号,这些带符号的超平面可以表示一个多面体区域,表示为P(Jk),并且这些参考超平面是使用算法1计算得到的;Ik表示区域P(Jk)中的所有分区编号集合;ik表示与参考超平面平行的坐标轴序号;jk表示当前参考超平面的序号,没有计算前值为0;构造的树型结构由三部分构成,“叶子”,“树梢”部分的BST和“树干”部分的k-d树构成,何时采用BST树进行构造,通过子区域的仿射控制率数量|本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/54/201710932386.html" title="直升机显式模型预测控制中基于k‑d树的点定位方法原文来自X技术">直升机显式模型预测控制中基于k‑d树的点定位方法</a>

【技术保护点】
直升机显式模型预测控制中基于k‑d树的点定位方法,包括如下步骤:步骤1 建立直升机的状态空间模型和状态空间分区集;在分析直升机系统的受力原理的基础上,得到高度轴、俯仰轴和旋转轴的动力学模型、运动方程以及状态空间模型;根据得到的状态方程和状态空间模型,通过MPT工具箱,建立状态空间分区集;状态空间划分后得到的分区集合都是多胞形,它们都是欧氏空间中封闭有界的凸集;空间中分区的划分过程中会存在大量的同义分区,即具有相同仿射控制率的相邻的不同分区;为了减少分区数量,首先对这些同义分区进行合并,然而,产生的具有相同仿射控制律的区域往往是非凸的,将非凸的区域进一步分割,最后描述为两个或多个多胞形的集合;步骤2 离线计算,对状态分区集建立树型存储结构;为了确保建立的树型存储结构能够尽可能保持平衡和最小高度,对状态分区进行划分的参考超平面的选择起到关键作用,算法1描述了基于k‑d树的参考超平面选择策略;假设状态分区空间的维数是Nx维的,对应于每个节点,分别对应的一个坐标轴e轴,e=1,2,…,Nx,参考超平面将在平行于e轴的超平面中计算得到;算法1:计算参考超平面输入:待划分的多面体区域P,坐标轴序号e,超平面移动步长l;第S1步:设置起始超平面为平行于e轴的中间超平面,记为jk.;第S2步:计算被超平面j划分后的两个多面体区域(分别为jk...

【技术特征摘要】
1.直升机显式模型预测控制中基于k-d树的点定位方法,包括如下步骤:步骤1建立直升机的状态空间模型和状态空间分区集;在分析直升机系统的受力原理的基础上,得到高度轴、俯仰轴和旋转轴的动力学模型、运动方程以及状态空间模型;根据得到的状态方程和状态空间模型,通过MPT工具箱,建立状态空间分区集;状态空间划分后得到的分区集合都是多胞形,它们都是欧氏空间中封闭有界的凸集;空间中分区的划分过程中会存在大量的同义分区,即具有相同仿射控制率的相邻的不同分区;为了减少分区数量,首先对这些同义分区进行合并,然而,产生的具有相同仿射控制律的区域往往是非凸的,将非凸的区域进一步分割,最后描述为两个或多个多胞形的集合;步骤2离线计算,对状态分区集建立树型存储结构;为了确保建立的树型存储结构能够尽可能保持平衡和最小高度,对状态分区进行划分的参考超平面的选择起到关键作用,算法1描述了基于k-d树的参考超平面选择策略;假设状态分区空间的维数是Nx维的,对应于每个节点,分别对应的一个坐标轴e轴,e=1,2,…,Nx,参考超平面将在平行于e轴的超平面中计算得到;算法1:计算参考超平面输入:待划分的多面体区域P,坐标轴序号e,超平面移动步长l;第S1步:设置起始超平面为平行于e轴的中间超平面,记为jk.;第S2步:计算被超平面j划分后的两个多面体区域(分别为jk+和jk-)的仿射控制率个数,记为f+和f-,fk表示为两个控制率个数最大值,即fk=max(f+,f-);并且jk=j;WHILE超平面j在多面体区域P中DOIFf+&gt;f-THEN以步长为l移动超平面j到区域jk+中,并计算新的f+和f-;IFmax(f+,f-)&lt;fkTHENfk=max(f+,f-),jk=j;ELSE退出while循环;ENDIFELSE以步长为l移动超平面j到区域jk-中,并计算新的f+和f-;IFmax(f+,f-)&lt;fkTHENfk=max(f+,f-),jk=j;ELSE退出while循环;ENDIFENDIFENDWHILE第S3步:返回超平面jk.END构成树的每一个节点标识为Nk,使用一个链表U保存每个没有被探查过的节点的序号;一个没有被处探查过的非叶子节点由四部分构成{Ik,Jk,ik,jk},其中Jk表示从根节点N1到当前节点Nk用到的所有带符号的参考超平面序号,这些带符号的超平面可以表示一个多面体区域,表示为P(Jk),并且这些参考超平面是使用算法1计算得到的;Ik表示区域P(Jk)中的所有分区编号集合;ik表示与参考超平面平行的坐标轴序号;jk表示当前参考超平面的序号,没有计算前值为0;构造的树型结构由三部分构成,“叶子”,“树梢”部分的BST和“树干”部分的k-d树构成,何时采用BST树进行构造,通过子区域的仿射控制率数量|F|和阈值th的大小关系来判断;当|F|&gt;th,仍以k-d树的...

【专利技术属性】
技术研发人员:张聚修晓杰赵恺伦周俊田峥
申请(专利权)人:浙江工业大学之江学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1