轨迹算法

2024-09-27

轨迹算法(精选7篇)

轨迹算法 篇1

0 引言

与传统的轮式机器人相比, 球形机器人有其固有的优势:滚动中的球自然会选择阻力最小的路径, 因此球形可以令机器人在不同障碍或地形中运动[1]。在过去的几十年里提出过的一些典型球形机器人模型存在很多阻碍球形机器人大规模投入实用的问题, 其中最主要的就是运动控制的复杂性, 目前仍然没有有效的球形机器人控制方法。本文对BHQ-1球形机器人的轨迹跟踪问题[2]进行了探讨, 着眼于结构如BHQ-1的球形机器人轨迹跟踪控制的解决方法[3]。

1 球形机器人模型

1.1 物理系统描述

球形机器人BHQ-1的机械结构如图1所示, 它由电机1和2、空心轴3、重块4、摄像头5和一副球壳6组成。两个电机的转动可使机器人重心改变然后产生一个重力转矩驱动机器人运动, 因此可以通过控制两个电机来控制球形机器人的运动。

1.2 运动学模型

当球形移动机器人在平面上运动时, 球壳的运动模型可简化为如图2所示。其中ΣO{X, Y, Z}为惯性坐标系与地面固联, Σb{Xb, Yb, Zb}为球形移动机器人的载体坐标系, 其中Ob与机器人球壳的中心固联, 球壳的半径为R, 球壳与地面的接触点Pc在惯性坐标下的坐标为 (xc, yc) , φ、β、ψ分别为绕Xb、Yb、Zb旋转的角度, 采用ZYX欧拉角表示为 (ψ, β, φ) , τφ、τβ分别为绕Xb、Yb旋转的剪切应力。球形机器人的运动学方程可写成:

可见球形机器人系统运动学方程是一个2输入5输出的一阶非线性方程, 并且速度项不可积分, 针对轮式机器人提出的非完整性约束系统控制方法无法直接应用于球形移动机器人。

2 轨迹跟踪算法设计

2.1 动态轨迹跟踪

机器人的轨迹跟踪与路径跟随不同, 轨迹跟踪的理想轨迹是一条与时间呈一定关系的几何曲线f (xr (t) , yr (t) , θr (t) ) 。

机器人轨迹跟踪的误差模型如图3所示, 机器人的位姿坐标为 (x, y, θ) , 跟随目标的位姿坐标为 (xr, yr, θr) , 得到的误差模型可写成:

其中:de为目标参考点位置与机器人位置的绝对距离差;θe为目标参考点至机器人连线与此时航向角的差。

位置跟踪控制器的期望输入位移差为0, 当目标点与机器人的位移差增大, 则PID控制输出足够大的前进速度指令用于追赶目标点以缩小位移差。设ud为位置跟踪控制器的输出值:

其中:kp、kd、ki分别为比例、微分和积分系数。

航向跟踪控制器与位置跟踪控制器类似, 通过航向误差信号θe, 由控制器输出角速度控制指令用于修正机器人的航向角, 从而使机器人与目标点航向保持一致。设uθ为航向跟踪控制器的输出值:

由于PID控制器是一个参数敏感的控制方式, 其针对不同的输入变量在同一个参数的作用下并不能输出最优的控制策略, 尤其针对不同轨迹的跟踪将表现出不同的控制性能。普通的PID控制器并不能有效地抑制外界扰动, 当扰动过大甚至可能造成控制失效。为此对上述提出的轨迹跟踪算法提出如下的改进方式[4]。

2.2 模糊自适应控制方法

为了提高算法的自适应性及鲁棒性, 采用模糊数学方法将规则条件、控制策略用模糊集合表示, 并将这些模糊规则及策略存储在嵌入式控制系统中, 同时控制器根据外界实际的输入变量运用模糊推理在线对PID的参数进行自适应整定, 根据不同轨迹的输入变量自适应调节PID参数。自适应模糊PID控制器以误差e和误差的变化率ec作为输入, 可以实现在线根据不同e和ec情况对PID参数自整定[5]。

对于模糊控制器, 误差信号与微分信号的输入效果十分重要。为了更好地获得一个信号的最佳逼近同时获取该信号的微分, 本课题采用非线性跟踪微分器 (NTD) 来实现[6]。跟踪微分器的动态系统可描述为[7]:

其中:v (t) 为输入信号;输出信号x1为v (t) 的跟踪信号;x2为v (t) 的微分信号。

为了更好地实现嵌入式系统, 将其进行离散化处理, 得到:

其中:r为跟踪速度因子, 决定了跟踪效果的快慢, 当r值较大时跟踪速度越快;T为采样周期;fst[x1 (k) , x2 (k) , v (k) , r, T]为用于跟踪信号v (k) 的二阶导数, 其定义如下:

其中:δ为跟踪信号v (k) 的变化量;

根据各参数修正的模糊规则进行在线推理, 得到了相应的模糊输出子集, 由于被控对象只能接收一个精确的控制量, 无法接收这种模糊控制量, 因此必须经过清晰化处理将其转换为精确量, 本设计采用加权平均法进行去模糊处理。处理后的控制变量乘以一个量

化因子α后作用在相应的PID参数上, 即模糊自适应PID控制器的参数可表示为:

其中:Kp、Ki、Kd分别为去模糊处理后的修正比例、积分、微分系数;Kp0、Ki0、Kd0分别为上述系数的初始值。

3 仿真研究

为了验证设计算法的可行性, 以BHQ-1球形机器人为模型对象, 针对式 (1) 球形机器人运动学模型, 对直线轨迹下的轨迹跟踪问题进行了仿真, 球形机器人原始位姿为 (x=0, y=0, ψ=-π/2, β=0, φ=0) 。目标跟踪轨迹为x=0.2t, y=0, 即目标点跟踪速度为0.2m/s。普通和变参数PID控制器的仿真曲线分别如图4、图5所示。

采用了模糊自适应PID控制器后, 机器人能够迅速地跟踪上目标路径, 调节时间小于1s, 并且系统超调微小。

4 结论

虽然传统的动态轨迹跟踪算法对于非完整移动机器人具有良好的跟踪性能, 但仿真结果表明, 这并不适合2自由度摆球形机器人。采用经典PID控制策略虽然能够有效地跟踪上目标曲线, 但是由于各个PID参数固定, 针对不同路径的跟踪表现出的性能不尽相同。而模糊自适应PID控制器能够根据机器人与目标位置的误差信号实时调整PID参数, 使机器人的位姿得到最优的调整。

摘要:典型的动态轨迹跟踪算法针对非完整移动机器人提出了一种系统框架, 并且在模拟实验中展现了良好的跟踪性能。然而, 该算法在2自由度摆球形机器人系统中并未同时实现位置和姿态的收敛。讨论了一种实用的球形机器人轨迹跟踪控制算法, 着眼于位置与姿态的同时收敛。受跟踪引导模式的启发, 提出了一种适用于球形机器人轨迹跟踪控制的模糊自适应控制方案, 并通过MATLAB对提出的轨迹跟踪方法进行了有效性验证。

关键词:球形移动机器人,路径跟踪,模糊控制

参考文献

[1]Armour R H, Vincent J F V.Rolling in nature and robotics:a review[J].Journal of Bionic Engineering, 2006, 3:195-208.

[2]Zhan Q, Liu Z, Cai Y.A back-stepping based trajectory tracking controller for a non-chained nonholonomic spherical robot[J].Chinese Journal of Aeronautics, 2008, 21:472-480.

[3]Chen M, Zhan Q, Liu Z.Optimal trajectory planning based on Hamiltonian function of a spherical mobile robot[J].Chinese High Technology Letters, 2008, 14:289-293.

[4]曹承志.微型计算机控制新技术[M].北京:机械工业出版社, 2000.

[5]孙增圻, 邓志东, 张再兴.智能控制理论与技术[M].北京:清华大学出版社;南宁:广西科学技术出版社, 2006.

[6]韩京清, 王伟.非线性跟踪—微分器[J].系统科学与数学, 1994, 14 (2) :177-183.

[7]解永清, 郑恩让.带有微分-跟踪器的无模型自适应控制研究[J].电气自动化, 2009, 31 (2) :16-19.

用户浏览轨迹算法分析与应用 篇2

随着计算机网络的迅速发展, 越来越多的企业和机构都通过互联网树立形象、宣传产品。但在竞争日益激烈的网络经济中, 只有赢得用户, 才能最终赢得竞争的优势。作为一个企业网站的管理员或拥有者, 应该知道访问网站的用户都需要些什么, 知道网站哪些内容最为用户所喜爱, 哪些不受用户关注, 什么样的改动带来了显著的用户满意度提高, 什么样的改动反而丢失了用户等等。而基于WEB数据挖掘技术正能满足这些需求。

基于WEB数据挖掘, 就是利用数据挖掘技术自动地从网络文档以及服务中发现和抽取信息的过程。根据挖掘的对象不同可分为三大类:基于WEB内容的挖掘、基于WEB结构的挖掘以及基于WEB使用的挖掘。

本文所提出的算法, 属于基于WEB使用挖掘的范畴, 对包含用户访问网站时的点击行为的日志文件进行挖掘和归纳, 从而了解用户的行为数据所具有的意义。笔者认为, 传统上对用户点击行为的分析, 均从宏观的角度出发, 着眼于群体用户的点击行为分析, 往往不太重视对个体用户行为进行有效的分析, 并忽略了用户行为的时间特性。有鉴于此, 本文将着眼于个体用户的点击行为, 挖掘其点击序列, 并从多个序列中总结出共性, 分析出隐藏在点击行为后的浏览习惯, 并将分析结果用于网页内容的调整与自动推送。

2. 分析用户浏览轨迹前的准备

用户在进入网站浏览的过程中, 对网页上各种信息的点击按时间先后顺序形成点击序列, 称之为用户浏览轨迹。通过对用户浏览轨迹的分析, 我们可以发现用户浏览页面和网上行为之间的潜在关系。例如, 在多个确定的浏览轨迹中发现存在这样的一个共同规律:用户在访问某一户外运动产品 (例如登山包) 网页后, 有27%的用户接下来访问户外帐篷这一产品的页面, 有21%的用户访问望眼镜这一产品页面, 12%的用户访问了军刀这一产品页面, 另有40%的用户选择浏览其他网页或是离开该网站。根据这一发现, 可以重组网站内容, 将用户潜在的最有可能浏览的网页内容进行实时推送。

在进行具体分析前, 需要先考虑以下几个方面的问题:

2.1 用户识别

由于用户轨迹分析是建立在单用户粒度上的分析和统计, 所以如何识别单个用户的身份就显得尤为重要。由于代理服务器、防火墙、Internet服务提供商采用动态分配IP地址等问题, 使得用户识别变得复杂。目前识别用户常用的方法有:IP地址、嵌入Session ID、Cookies和注册等方法。由于本文研究对象是用户某一次浏览过程中的点击行为, 对于某一访问用户, 只需分析其从进入网站到离开网站之间的点击行为, 无论该用户是否注册, 其点击数据均具有研究价值, 故除已注册用户外, 需通过启发规则来识别用户, 即不同的IP地址代表不同的用户。

2.2 数据准备

实验环境下的用户行为和真实网络环境下的用户行为是有所差异的。为了研究真实网络用户的点击行为, 笔者在某一商品网站中加入日志采集功能, 收集到一段时间内的真实网络环境下的用户点击日志。日志表中包含用户名、用户IP、点击时间以及商品ID共计4个信息项。其中, 用户名是用户注册后, 系统区别用户的唯一标识, 通过它可以确保是对同一用户的日志信息进行聚集, 实现对同一个用户点击行为的分析研究;用户IP是系统区别非注册用户的身份标示, 作用与用户名相同;点击时间是用户发生点击操作时的时间, 是构成点击序列的重要依据, 通过对该网站历史访问量的分析, 决定将其精度定为秒;商品ID是商品的标示指用户点击某一页面时, 该页面所呈现。在用户身份确定的前提下, 商品ID按点击时间的排序就为该用户的浏览轨迹。

3. 用户浏览轨迹分析及应用

3.1 模型分析

通过数理模型的分析, 从用户点击日志表的大量数据中有针对性的获取以下信息:如在点击日志表的某个时间段内, 浏览某件商品的每一位用户接下来最喜欢浏览的商品是哪些, 这些商品在“接下来浏览”的行为中被浏览的次数是多少, 并对其浏览次数进行统计。其过程如图1所示:

统计数据可用于预测出最可能被用户浏览的商品信息, 并在用户浏览相应商品页面时, 将相应产品信息推送给该用户。

3.2 算法实现

以用户访问商品ID编号为17的页面为例, 描述该算法的详细实现过程。

(1) 当访问某件商品页面时, 由页面链接参数值得到该商品的ID值。以该ID值为关键字, 查询用户点击日志表内某段时间内所有关于该商品的访问记录, 并将查询到的所有记录存放到一个数组中。

(2) 通过判断点击记录中, 同一用户的点击时间间隔, 可以划分出用户的一次完整浏览过程, 即用户从进入网站到离开网站的过程。在用户点击日志表中查询该ID商品一段时间内的访问记录, 结果如表1所示:

(3) 将该数组的记录数作为循环次数, 进入循环。每次循环取出数组中一条记录, 记录中包括用户名称、用户IP、商品ID和访问时间。以前3个值为关键字, 以最后一个值的访问时间为范围限定, 从点击日志表中查询到在这条记录之后, 同一位用户浏览的下一个商品的访问行为的详细信息, 并记录在另外3个一维数组中, 3个数组分别记录用户名或IP、商品ID和访问时间。在查询操作中, 分为两种情况, 有用户名和用户名为空, 如果有用户名, 则以用户名作为查询关键字之一, 若无用户名, 则以IP作为查询关键字, 关键是要保证每次分析的是同一位用户的访问行为。

(4) 循环结束后, 3个一维数组中, 记录了每一位用户在离开当前访问的商品页面后, 访问的下一个商品的记录信息。此时得到如表2所示数据:

(5) 另外新定义一个二维数组, 以上一步的有效记录条数作为循环的次数, 通过嵌套循环的形式, 统计出每个商品被访问的记录, 将对应的商品ID和被访问次数存放在这个二维数组中。通过冒泡排序, 将二维数组中的元素, 按访问数由高至低排序。此时得到点击次数排列表。通过该表, 我们可以得到这样一个结论, 在一段时期内, 访问该网站的用户, 在浏览了id为17的商品后, 接下来最喜欢访问的产品id是28、27、11等等。由此, 对于访问商品id编号为17的页面的用户, 我们可以在他们访问页面时, 将表中排在前几位的商品信息同时推送到该页面内, 这样就能达到改善用户体验的目的。

4. 结束语

网络用户行为蕴含大量有价值的信息, 分析这些信息可以帮助了解客户的行为从而改进网站的结构。本文讨论了一种基于web使用挖掘技术的算法来了解用户的兴趣和爱好, 分析用户的浏览模式, 并根据用户的当前访问需要, 自动实时地为用户提供推荐页面。由于推送内容均是根据算法自动得出, 在实际的浏览中, 这些推送的内容对用户的吸引度如何?换而言之, 推送内容在用户的实际浏览点击命中率又是多少?如何根据这些命中率来改进该算法, 从而提高推送准确度, 将是以后的研究方向。

参考文献

[1]岑荣伟, 刘奕群, 张敏, 茹立云, 马少平.网络检索用户行为可靠性分析[J], 软件学报, 2010, (21)

[2]董富强.网络用户行为分析研究及其应用[D]西安电子科技大学, 2005

[3]刘立军, 周军, 梅红岩.Web使用挖掘的数据预处理[J]计算机科学, 2007, (05)

[4]王斓樾.用户行为分析在搜索引擎中的应用[D]沈阳工业大学, 2007

轨迹算法 篇3

关键词:Kinect,手势识别,黄金分割搜索,样本轨迹,算法

0引言

在人机交互中,手势具有直观性、自然性的特点,其已成为人机交互的一种重要手段[1,2]。手势轨迹是按照某种规则识别出挥动手臂所要表达的含义,手势轨迹信息应用有很强的可移植性和可扩展性。然而,基于视觉的手势轨迹识别的前期分割易受光照、背景、摄像头特性等因素影响,识别率不高。微软的Kinect体感设备 通过传感 器识别人体关节的位置坐标,获取有关数据,为手势轨迹识别提供了良好的基 础[3,4]。利用Kinect坐标信息 轨迹对深度图像进行手势分割和识别,不受光照、背景等因素的影响,从而提高了手势轨迹识别的稳定性和鲁棒性。

1基于样本的动作检测

假设动作可以被记录并序列化,如果当前动作是已发生动作中的一个,那么其就可以被检测出来。主要方式是快速比较两个动作的数据是否匹配[5,6]。动作是一系列坐标序列,通过坐标记录其到传感器的距离,因此需要研究数据比较算法,将规格化数据变换到一个统一的参考空间下。

假设:当前坐标序列为:

(1)生成具有特定数量的坐标点的动作。假设样本数量为M,定义采样间距Lavg= (n-1)/(M -1),pi-1与pi之间的距离为Li,i-1。在根据样本数量对坐标序列进行采样的过程中,需要重新计算采样点的新坐标。做法是遍历坐标序列的点,如当前点与前一个采样点的距离达不到采样间距,继续往前遍历,当达到或者超过采样间距时,则计算新的坐标点。定义遍历时累计的距离变量Lcur,当Lcur+LI,i-1>=Lavgcur 时,计算新的坐标点:

得到新的坐标序列:

(2)旋转坐标点,使得第一个点的方向角度为0。为使匹配的两个序列有统一的起点,将坐标序列旋转,从而使第一个坐标点的方向角度为0。计算坐标序列的中心坐标,并得到第一个坐标点相对于中心坐标的方向角。以此方向角为旋转角度,利用二维空间旋转矩阵得到新的坐标序列。

(3)将坐标值映射到[0,1]区间。如得到的坐标序列的数值范围不统一,将带来匹配的不准确性。为此,需要将坐标范围统一到[0,1]区间内。

(4)规格化动作序列点的原点。经过上述处理,动作轨迹的序列点具备了统一的方向和坐标,还需对原点进行处理,以便具有与样本相同的参考点。规格化步骤如图1所示。

经过规格化操作,即可进行匹配。将长度一样的坐标点序列规格化为统一的尺度、方向和中心。

黄金分割搜索(GoldenSectionSearch)[7]是一种通过不断缩小单调连续函数极值的范围,找到极值的方法。利用黄金分割搜索方法不需使用导数求取函数的极值,具有很强的实时性和便捷性。

假设函数f(x)在[a,b]上连续,并且是单调函数,即f(x)在[a,b]间只有一个极小值,或者只有一个极大值。使用对分方法,通过比较 函数值将 包含极值 的区间变小。所设计的算法 需满足两 个目标:一是在区 间检索中能够找到最优的区间 减小因子;二是减少 函数调用 的次数。

计算中间点m = (a+b)/2,求x1和x2,定义x1= m-δ/2,x2= m+δ/2,使得f(x1)≠f(x2)。如果f(x1)<f(x2),那么可以保留[a,x1],否则令[x2,b]为新的搜索区间。

图2为找出最小值的步骤。F(x)的函数值位于垂直坐标轴上,参数x位于水平坐标轴。可以看出,有3个位于函数f(x)上的值被计算出来:x1,x2和x3。可见f(x2)小于f(x1)和f(x3),所以很明显的,最小值处于x1和x3之间。

接下来的步骤是计算函数位于另一个点x4的值。从图2可以看出,如果函数值落在f4a,最小值则在x1和x4之间新的点将是x1,x2或x4;如果函数值为f4a,新的点将是x2,x4或x3。因此,无论是哪种情况,都可以建立一个新的更狭窄的区间,用于搜索函数的最小值。

为提高算法效率,只在每个步骤中只求一次函数值。相对于当前检索区间,需要设立一个常数因子,称为c。在区间[a,b]中的为x1和x2,有以下两种情况:

(1)如f(x1)<f(x2),为使[a,b]= [a,x2],区间作如下调整:

(2)如果f(x1)>f(x2),为使[a,b]= [x1,b],区间作如下调整:

这样,只要求出C,就可以得到位置x1和x2。不失一般性,考虑f(x1)<f(x2)。为计算简便,假设[a,b]= [0,1]。

如果f(x1)<f(x2),循环设置x1=1-c,并确定是在1-c的左边还是右边求取下一个值。

(1)假设在x1=1-c的左边得到新的函数值,那么x1是区间[0,c]右边界,由式(2)得

(2)假设在x1=1-c的右边得到新的函数值,那么x1是区间[0,c]的左边界。

由式(5)得c=1,这样区间就没有减小,排除这种可能性,有规则如下:如果f(x1)<f(x2),使用式(3)计算新的x1值;如果f(x1)>f(x2),使用式(2)计算新的x2值。

2实验结果

利用本文算法进行测试实验,完成两种手势:一个是左右挥动,一个是圆形手势。分别采集了5个人的手势轨迹,每个手势每个人做10次。如图3所示,左图手向左运动代表向左挥动,右图代表圆形手势,图中的虚线为手运动轨迹。

表1给出了5个实验者和2种手势的识别率,可以看出,本文算法具有很高的识别率,满足应用需求。

3结语

轨迹算法 篇4

定位技术主要有以人造卫星组网为基础的无线电导航定位系统(例如GPS)和蜂窝移动定位技术[1]。由于GPS存在以下不足:首次定位时间长、城市闹区信号差、定位成本高和SA干扰,因此蜂窝移动定位技术开始在城市车辆监控中广泛应用[2]。然而蜂窝移动定位技术自身也有定位精度低(百米左右[3,4])和按定位次数收费等问题[1,5]。于是在蜂窝移动定位应用系统中我们应用“点到点”算法来提高定位准确度和应用“轨迹插值”算法来减少定位次数,从而降低定位成本。

“点到点”算法的预测思想有助于解决交叉路口的误判问题,同时其克服了目前算法中将道路折线化所引起的诸如:引进新的误差、道路平滑度下降、匹配精度不高[6]等不足。“轨迹插值”算法在确保插值有效的前提下,尽可能地减少了定位次数,从而降低实际应用系统的成本。其原理是在轨迹线上插入若干虚拟的定位点,并利用真实的定位点和虚拟定位点来模拟轨迹回放,使得应用系统在降低定位成本的同时轨迹回放效果仍如实时定位一样。

本文描述了两种算法的设计原理,并给出了算法在实际工程中的应用和在蜂窝移动定位环境下的测试结果。

1 算法的设计

1.1“点到点”路径匹配算法

算法的目的是将车辆定位偏离点匹配(投影)到电子地图的道路中心线上,即修正偏离道路行驶的车辆。算法分为以下两个步骤:

1.1.1 缓冲区

缓冲区分析是根据指定的半径R,在点、线或多边形实体周围自动建立一定宽度的区域范围的分析方法。

如图1所示,以偏离点为圆心,以距离R为半径,在其周围建立一定区域的圆形缓冲区,然后将电子地图上与缓冲区相交的道路筛选出来,组成一个道路集(如本例的道路A和B)。为了确保缓冲区筛选出来的道路集里包含车辆真实行驶的道路(匹配的目标道路)[6],记定位系统的最大定位误差距离为LMax,则缓冲区半径R的取值满足公式(1):

1.1.2 点匹配

点匹配是指从缓冲区筛选出来的道路集中筛选出匹配的目标道路(本例假定为路A),并将偏离点投影到匹配的目标道路的对应点上(如图1中路A的修正点)。“点到点”匹配算法原理如图2所示。

算法步骤为:

1)将缓冲区筛选出来的道路分别离散成一系列点集合,如式(2)和式(3)的点集合A和B:

2)根据式(4)和式(6),依次计算偏离点P(xP,yP)与点集合A和B中每个点ai(xai,yai)和bi(xbi,ybi)的距离|Pai|和|Pbi|;然后,根据式(5)和式(7)求出各自的最短距离|PA|min和|PB|min;最后求出总的最短距离min(|PA|min,|PB|min)。

3)记|PA|min在点集合A中所对应的离散点ai(xai,yai)为amin(xamin,yamin);

记|PB|min在点集合B中所对应的离散点bi(xbi,ybi)为bmin(xbmin,ybmin);

记min(|PA|min,|PB|min)在点集合A或B中所对应的离散点ai(xai,yai)或bi(xbi,ybi)为dmin(xdmin,ydmin)。

记修正点集合S={s1,s2,…,sn},当前修正点为sn,上一次修正点为sn-1。在这里特别用到了上次修正点sn-1,是为了防止交叉路口的误判。确定本次的修正点sn具体算法依据如下:

如果sn-1∈A且sn-1∉B,则说明车辆过去时刻行驶在路A上,所以按式(8)取点集合A中离偏离点P(xP,yP)距离最近的离散点为本次修正点:

如果sn-1∈B且sn-1∉A,则说明车辆过去时刻行驶在道路B上,所以按式(9)取点集合B中离偏离点P(xP,yP)距离最近的离散点为本次修正点:

如果sn-1∈A且sn-1∈B,则说明车辆上次行驶在道路A和B的交叉路口,所以按式(10)取点集合A和B中离偏离点P(xP,yP)距离最近的离散点为本次修正点:

否则sn-1∉A且sn-1∉B,则说明车辆上次行驶在道路A和B之外的道路上,同时上次行驶的道路并没有在本次缓冲区提取的道路集里(车辆驶出了上次的道路),所以按式(11)取点集合A和B中离偏离点P(xP,yP)距离最近的离散点为本次修正点:

至此算法设计完毕,接下来以图3的交叉路口为例对算法进行应用描述[6]:设某一车一直在道路A上行驶。在某个时刻该车实际行驶到路A的an点,附近有路A和B的交叉路口,恰好这时定位系统传回该车的定位坐标点P(xP,yP)。由于定位误差的原因,正好使得定位坐标点P(xP,yP)到路B的bn离散点的距离比到路A的所有离散点的距离短。如果按照传统的点到直线段匹配算法,根据最短距离原则,路B的bn为匹配结果,结果显然是错误的。换用点到点匹配算法,则根据式(8)可以求出路A中离P(xP,yP)最近的离散点an才是正确答案,跟假设一致。

1.2“轨迹插值”轨迹回放算法

轨迹回放的功能是根据数据库中存储的历史定位坐标,将车辆的历史行程轨迹在地图上进行重新回放。

1.2.1“变定位时间间隔”的预处理方法

引言中,曾提到在蜂窝移动定位系统中为了节约成本,定位并不是实时的,而是每隔Δt才定位一次。如图4所示,倘若在这Δt里,只知道车辆从路A的sn-2点行驶到路B的sn点,显然无法判断车辆是否先经过了路C才到达路B。这种情况下,轨迹插值就不能真实反映车辆的实际运行轨迹,导致插值得到的点没有实际应用意义。为此,以下研究什么情况下才能应用“轨迹插值”并给出简称“变定位时间间隔”的预处理方法来确保系统可以应用轨迹插值算法。

研究发现,如果车辆在行驶的每个路段上都至少有一个真实定位点(如图4,假设路B存在真实定位点sn-1,而路C没有真实定位点),那么我们就可判知车辆的实际运行轨迹(途经道路B而未途经道路C)。“变定位时间间隔”的预处理方法如下:

利用1.1.1节介绍的缓冲区原理,以当前定位点(已经被“点到点”路径匹配算法修正处理)为中心,R1为半径建立缓冲区。R1的取值满足式(12):

其中,V为车辆当前行驶速度,Δt为当前定位时间间隔。

记缓冲区提取出的道路段个数为num,那么:

如果num=1(如图4的sn-3缓冲区),则说明车辆在Δt内的下一定位点(sn-2)还落在当前行驶的道路上(路A),所以车辆保持现有Δt间隔定位一次即可。

如果num≥2(图4的sn-2缓冲区),则说明车辆在Δt内将遇到道路交叉口,于是为了防止下一定位点绕过了若干路段,此时按式(13)缩短定位间隔Δt:

其中,Lmin为地图中最短路段的距离。

否则num≤0,则说明此时系统停止定位,于是保持Δt不变。

1.2.2“轨迹插值”的过程

为了便于算法讨论,仍假设车辆的行驶轨迹为从路A的sn-3到路B的sn,并且在系统的定位过程中进行了1.2.1节的预处理,使得轨迹里有sn-3,sn-2,sn-1,sn四个历史定位点和一个路A和B的交叉点ab1(abn代表路A和B的第n个交叉点)。如图5所示,“轨迹插值”算法的步骤如下:

1)根据轨迹回放设定的参数,从数据库中检索出sn-3,sn-2,sn-1,sn,并在电子地图上显示。

2)判断sn-3,sn-2,ab1,sn-1,sn分别属于那条道路的点集合的第几个离散点。这里假定sn-3=a5∈A;sn-2=a25∈A;sn-1=b19∈B;sn=b49∈B;ab1=a30∈A=b6∈B。

3)依次在sn-3,sn-2,ab1,sn-1,sn两两之间插入若干虚拟的离散点。这里假定sn-3,sn-2之间插入a10,a15,a20;sn-2,ab1之间没插入;ab1,sn-1之间插入b13;sn-1,sn之间插入b24,b34,b42。

4)sn-3,a10,a15,a20,sn-2,ab1,b13,sn-1,b24,b34,b42,sn按一定时间间隔,依次显示车辆实例(车辆在地图上的符号表示)。

2 算法的应用及测试结果

为了验证本文的算法,将算法应用于北京广电局的“基于LBS的GIS车辆监控系统”,测试配置如表1所示,测试效果如图6所示。

图6中,圆形缓冲区的空心圆心表示路径匹配前的偏离点;实心圆点表示采用“点到点”算法进行路径匹配后的车辆位置。

系统经过在北京城区的大量测试,统计结果如表2所示。

以上测试结果均相对于蜂窝移动定位技术而言。从表2得出,“点到点”路径匹配算法在交叉型路段(四方桥和国贸桥)的匹配精度优势比较明显。这主要是由于算法采用了预测原理和离散化思想没有破坏交叉路口的原貌。

同样,经测试在北京城区内,轨迹插值算法的Δtmax≈5min,即定位频率5分钟/次就能满足实际系统应用。

3 结论与未来工作

本文提出的算法在北京广电局的“基于LBS的GIS车辆监控系统”中得到了实际应用。实践证明“点到点”算法在交叉型路段的匹配精度优势比较明显;“轨迹插值”算法降低成本,实用性强。本文的未来工作是完善车辆历史定位坐标的预测长度(目前仅预测前一个点);快速确定缓冲区半径R(目前R取最大定位误差距离);继续优化Δt,进一步降低定位次数。

摘要:动态跟踪及轨迹回放是GIS车辆监控系统的主要功能。基于将线离散成点集合的思想,设计了简称“点到点”的路径匹配算法和“轨迹插值”的轨迹回放算法。“点到点”将道路线离散成点集合,据此进行路径匹配,同时采用预测思想来解决交叉路口误判等问题;“轨迹插值”首先研究插值的应用前提并设计简称“变定位时间间隔”的方法来满足插值前提,其次介绍插值过程;算法应用于实际工程,“点到点”对交叉路口有很好的判断,“轨迹插值”降低定位成本。

关键词:点到点,轨迹插值,路径匹配,轨迹回放,预测

参考文献

[1]Chen Xinwan,Zhang Feizhou,Sun Min,et al.System Architecture of LBS Based on Spatial Information Integration[C]//IEEE International on Geoscience and Remote Sensing Symposium,2004.IGARSS′04.Proceed-ings,2004,4:2409-2411.

[2]Huang Yuqin,Gu Xuemai.The Combination of GPS and GSM Mobile Location Technology.Journal of Jiamusi University,Sicence,2005,23:530-533.

[3]Laura Perusco,Katina Michael.Humancentric Applications of Precise Loca-tion Based Services[C]//IEEE International Conference on e-Business Engineering,2005:409-418.

[4]Wallbaum M,Diepolder S.Benchmarking Wireless Location Systems[C]//The Second International Workshop on Mobile Commerce and Services,IEEE,Germany,2005:42-51.

[5]Tayal M.Location Services in the GSM and UMTS Networks[C]//IEEE International Conference on Personal Wireless Communications,2005:373-378.

轨迹算法 篇5

目前, 自主移动机器人的研究是一个十分活跃、具有广泛应用前景的前沿研究领域。其移动机构有:轮式、腿式、履带式、蛇形式和复合式等方式。其中轮式移动机器人在自主移动机器人领域占有较为重要的地位, 具有运动速度快、控制简单等特点, 在自动码垛生产线、无人驾驶车辆、火星车等领域应用广泛。自20世纪80年代以来, 关于轮式移动机器人的研究越来越多, 在研究课题中, 路径规划和轨迹跟踪控制问题又占据相当重要的地位[1,2,3,4,5,6]。

轮式移动机器人的运动控制就是控制机器人的运动速度和运动方向, 使机器人沿着预定的轨迹和速度运动[7,8]。笔者研究的轮式移动机器人为一个四轮移动小车, 两个前轮为万向轮, 两个后轮分别通过单独的电机和驱动器驱动, 实现差速驱动。该轮式移动机器人的运动可以简化为一个两轮的小车在平面内做旋转和平移合成运动[9,10]。

本研究首先给出轮式移动机器人的运动模型, 然后给出在绝对坐标系下的轨迹跟踪算法。为了简化机器人轨迹跟踪, 把轨迹分为圆弧和直线两种, 复杂的曲线采用这两种线型来拟合, 并分别进行轨迹跟踪的算法研究。最后将该算法应用到机器人实际运动控制中, 在实践中检验该算法的正确性。

1 机器人运动控制模型

1.1 机器人控制模型

为了充分发挥轮式移动机器人的运动性能, 本研究中的机器人选用直流伺服电机驱动, 并对电机做速度闭环控制。同时为了满足轨迹跟踪控制, 机器人配有实时定位系统, 主控制器根据机器人位置和给定轨迹之间的偏差, 通过一定算法分配左右驱动轮的速度。最后, 本研究通过脉宽调制 (PWM) 调节电机电压进行速度调节, 实现轨迹跟踪。

1.2 机器人运动数学模型

在平面坐标系中, 机器人位置信息为Rob=[x, y, q]T, x、y表示平面坐标, θ表示机器人朝向。为了简化控制, 本研究把机器人运动轨迹简单分为直线运动和圆弧运动两种, 对于复杂曲线, 则由这两种曲线进行拟合。圆弧运动时给定圆心和半径, 圆心为Ro=[x0, y0, 0]T, 半径为R, 速度为V, 转动角度为Δθ, 机器人运动数学模型如图1所示, 则转动矩阵为:

机器人转过角度ΔI=[0, 0, Dq]T后, 为Rob'=[x', y', q']T。

且:

机器人运动模型如图1所示。

2 轨迹跟踪控制算法

2.1 直线跟踪算法

本研究在算法中引入导航圆的概念 (直线跟踪示意图如图2所示) , 即设定一个假想圆作为机器人的导航范围来计算轨迹跟踪时的纠偏角度。导航圆圆心为机器人两个驱动轮连线中点, 半径为R0, 目标直线由其上两点 (x1, y1) 和 (x2, y2) 确定。

直线方程为:

式中: (x1, y1) , (x2, y2) —目标直线上任意两点, 运动方向从 (x1, y1) 到 (x2, y2) 。

H为点到直线距离:

式中:H—机器人到目标直线的距离。

图2中各角度关系为:

式中:α—机器人中心到目标点连线与目标直线夹角;β—目标直线与y轴夹角;γ—机器人当前方向与目标方向夹角;

可以求出角度γ:

然后, 只要使角度γ趋近于零, 就可以实现轨迹跟踪。PID控制的原理为:

式中:u (t) —控制量;y (t) —输出量;r (t) —给定量;e (t) —输入量和输出量之间的误差, e (t) =r (t) -y (t) ;KP—比例放大系数;TI—积分时间;TD—微分时间。

本研究对γ角采用数字PID控制, 用矩形积分时, 积分环节为:

用差分代替微分为:

将式 (9, 10) 代入式 (8) , PID算法变为:

式中:u0—控制量的基值, 即k=0时的控制;u (k) —第k个采样时刻的控制;TS—采样周期。

直线运动时在无偏差的情况下, 左、右驱动轮速度分配相等, 机器人驱动轮距为2 L, 在无偏差情况下左、右轮速度分配为:

有偏差的情况下, k时刻, 速度分配为:

2.2 圆弧跟踪算法

圆弧和直线的轨迹跟踪算法思想是一致的, 只是做法上有一些差异, 圆弧跟踪示意图如图3所示。首先本研究将目标圆心进行坐标系转化, 在机器人的坐标系内为 (x0, y0) 。图3中:

式中:H—机器人到目标圆最近点的距离。

图3中各角度关系为:

式中:α—机器人中心到目标点连线与目标圆切线的夹角, β—目标圆心在机器人坐标系下的方向角, γ—机器人当前方向与目标方向夹角。

本研究对角度γ进行目标为零的PID控制, 具体方法同直线跟踪。

机器人驱动轮距为2 L, 在无偏差情况下左、右轮速度分配为:

有偏差的情况下, k时刻, 速度分配为:

2.3 调试结果

直线跟踪调试时, 本研究给定目标直线为X轴, 通过给机器人一定扰动, 分析其矫正速度和强度来判断是否能够有效纠偏。直线跟踪调试结果如图4所示, 实验中, 机器人启动后, 强行转动21°, 在前进至200 cm处完成矫正。可见, 机器人在这种大扰动下能够迅速矫正位姿, 具有较好的轨迹跟踪性能。

圆弧跟踪调试时, 本研究采用了初始位置偏差的方法, 设定目标圆心为 (103, 0) , 半径为102, 初始位置 (0, 0) , 速度为1.5 m/s, 启动时由于位置偏差和离心力作用, 出现了一次超调现象, 但是在转过60°后矫正回来, 圆弧跟踪调试结果如图5所示。

3 结束语

本研究采用导航圆方法, 解决了平面轨迹跟踪问题中偏移量和运动方向的综合问题。相比于“单独计算角度偏差和距离偏差, 然后对二者进行加权处理”的方法, 本研究所介绍算法在轨迹跟踪时将复杂的位置和角度偏差信息综合到一个角度量中, 使得轨迹跟踪更加简洁, 同时也增加了控制系统的稳定性。调试结果显示, 该算法可以使轨迹跟踪达到±1cm的精度, 能够满足一般机器人作业时自主导航和定位的需要。

参考文献

[1]化建宁, 符秀辉, 郑伟, 等.基于运动描述语言的轮式移动机器人控制[J].机器人, 2006, 28 (3) :315.

[2]孙宇, 张世琪, 崔康吉.AGV自动导引技术[J].中国机械工程, 1996, 7 (6) :31-32.

[3]CHRISTENSEN H I.Localization and navigation of a mobile robot using natural point landmarks extracted from data[J].Robotics and Autonomous Systems, 2000, 33 (3) :131-142.

[4]章小兵, 乔茹, 赵光兴.基于改进蚁群算法的移动机器人全局路径规划[J].机电工程, 2009, 26 (3) :90-93.

[5]宫金超, 李晓明.基于粒子群优化算法的小型足球机器人路径规划[J].机电工程, 2010, 27 (12) :116-120.

[6]冯建农, 柳明, 吴捷.自主移动机器人智能导航研究进展[J].机器人, 1997, 19 (6) :468-478.

[7]刘子龙, 丁玉静, 江艳霞.四轮移动机器人跟随控制[J].中南大学学报:自然科学版, 2011, 42 (5) :1348-1350.

[8]陶辉, 吴怀宇, 程磊, 等.轮式移动机器人FastSLAM算法研究[J].哈尔滨理工大学学报, 2011, 16 (1) :42-44.

[9]彭忆强, 惠艳翠.移动机器人智能壁障算法仿真研究[J].西华大学学报:自然科学版, 2010, 29 (2) :28-30.

轨迹算法 篇6

轨迹驱动切负荷(TDLS)是在检测到低频或低压现象后启动的分散式反馈控制措施,包括低频切负荷(UFLS)和低压切负荷(UVLS),属于停电防御框架中第三道防线(校正控制)的范畴。它可以降低第一道防线(预防控制)与第二道防线(紧急控制)的拒动风险,也是应对小概率严重事件的关键措施[1,2,3]。

国内外对UFLS/UVLS都有大量研究[4,5,6,7],但鲜有讨论切负荷(LS)布点优化的论文。文献[4]基于贡献度和风险概念,提出了UFLS/UVLS布点及轮次的协调优化算法,该算法将UFLS/UVLS协调优化问题解耦为布点优化、首轮LS初值优化、后续轮LS优化和UFLS/UVLS协调,并提出按控制母线对所有不安全故障的综合贡献度动态排序优化布点。但其实用性受到计算量的限制。特别是由于不确定性因素的种类及其联合分布复杂性的增加,仿真的场景数急剧增加[8]。为此,迫切需要合理地简化算法,在尽可能少地牺牲计算精度的条件下,最大限度地减少计算量。减少反映不确定性的场景数,可降低计算量,但会降低布点结果的强壮性;简化算法的迭代过程,也可减少计算量,但会影响优化效果。

本文对文献[4]方法的改进包括:提出评估简化效果的方式,研究负荷模型对TDLS布点的影响及采用简化负荷模型的可行性,从贡献度的计算和协调优化的流程这两方面简化TDLS布点算法,通过仿真算例验证其可行性,并分析了不确定性因素种类及其复杂性对计算量与计算精度的影响。

1 TDLS布点优化算法的简化思路和评估

文献[4]提出的TDLS布点协调优化算法需要多次迭代,而在每次迭代中需通过摄动法更新各候选母线的灵敏度。这对于有成百上千个候选母线的实际系统来说计算量太大。本文基于工程实际应用对计算精度和计算速度的要求,讨论TDLS布点中采用简化负荷模型的可行性,并从简化母线控制灵敏度的求取和简化协调优化的流程出发,简化TDLS布点的优化算法。

若仅考虑静态负荷模型,则计算量可减少,但必须掌握忽略动态负荷模型所增加的控制风险。本文用调用稳定性量化软件FASTEST[9]的次数来反映计算量,而按使系统安全的最小控制代价与故障场景概率的乘积来反映控制风险[10]。同时,采用文献[4]的详细算法及负荷模型的控制风险及布点计算量为基准来标幺化各简化算法的风险和计算量。简化算法以控制风险的增加来换取计算量的降低,而两者之间的权值反映了不同的偏好程度,在工程应用中可按实际计算能力的限制来选择精度最优者。

2 贡献度的概念

2.1 贡献度的定义[4]

对造成频率或电压不安全的单个故障d,定义TDLS母线k对改进各违约母线i安全性的贡献度之和为:

式中:Dk.i为TDLS母线k对违约母线i安全性的贡献度;Δηi/ΔPc.k为TDLS母线k对违约母线i的控制灵敏度;Pc.k为可中断负荷量;Cc.k为可中断负荷停电代价;Cu.i为不可中断负荷违约损失。

这里的控制灵敏度仅反映物理规律,而贡献度则同时考虑了物理规律及停电代价,反映了母线k通过TDLS的主动停电而可以减少的违约损失。

在不确定性因素u的联合概率λu及故障概率λd下,TDLS母线k对整个故障集的综合贡献度为:

2.2 Δηi的限定

为防止TDLS母线k对某一违约母线i灵敏度太大或出现负效应[11]而导致综合贡献度Dk的排序中发生“淹没”现象,对 Δηi有如下限定:

式中:ηi0和ηip为摄动前后的裕度。

为了克服“淹没”现象,将TDLS母线k对违约母线i的贡献度限制在区间[- Pc.kCu.i/(ΔPc.kCc.k),(Pc.kCu.i/ΔPc.kCc.k)]内。

3 负荷模型对TDLS布点的影响

3.1 动态负荷对暂态电压和暂态频率安全性的影响

动态负荷包括时间常数较小的感应电动机及时间常数较大的有载调压变压器与恒温负荷[12,13]。其中,感应电动机是引起暂态电压失稳的重要因素[14,15]。一般来说,动态负荷比例越大,暂态电压稳定性和暂态电压跌落可接受性就越差。一方面由于恒阻抗和恒电流负荷吸收的有功功率下降,一定程度上抑制了频率跌落;另一方面,动态负荷恢复的有功功率趋于增加而可能导致更严重的频率跌落。因此,动态负荷的占比对故障后暂态频率安全性的影响可能为非单调关系[16,17]。

3.2 计及动态负荷的电压贡献度

暂态电压安全性包括暂态电压跌落可接受性和暂态电压稳定性两方面,分别反映静态负荷及动态负荷的电压安全性。因此,在计算TDLS母线k对违约母线i电压的贡献度时取:

式中:权值αi取为静态负荷在违约母线i中的占比;ηi.vd和ηi.vs分别为违约母线的暂态电压跌落裕度和暂态电压稳定裕度[18]。

3.3 动态负荷对TDLS布点的影响

3.3.1 优化效果及计算量的权衡

动态负荷模型通过影响越限母线的违约程度及TDLS母线的控制效果,来改变各候选(控制)母线的综合贡献度排序。故在TDLS布点中选用负荷模型时,需要权衡具体项目对模型及计算量的要求。

对计算量可直接评估,而对优化效果则可以将TDLS布点结果放在不同场景(包括实际模型、工况、故障等因素)下仿真评估。控制总风险越小,则效果越强壮。

3.3.2 布点结果的强壮性评估

某特定的布点方案在校核工况m(或所有校核工况)下的控制风险Rm(或控制总风险R)为:

式中:Cm.u.d为校核工况m中,故障d在不确定性因素组合u下所需的控制代价,包括可中断负荷停电代价和不可中断负荷违约损失两方面。

3.3.3 动态负荷模型的选用流程

步骤1:在各种负荷模型下,得到相应的UVLS和UFLS布点结果。

步骤2:选择若干个动态负荷的比例,以反映实际负荷特性的不确定性。将其逐个作为校核工况,对每个故障求取控制代价Cm.u.d,并按式(5)和式(6)计算控制风险。

步骤3:以风险最小的方案做基准,标幺化其他方案的风险值(或计算量)。

步骤4:将只采用静态负荷模型的优化结果的控制风险与基准值比较,并按工程概念能否接受该差异来判定是否需要计及动态负荷模型。下文将通过仿真算例进一步加以讨论。

4 TDLS灵敏度更新方式的简化

TDLS布点优化算法的简化包括UFLS(或UVLS)单独布点优化的简化,以及两者协调优化的简化。 有关这两方面的内容分别在本节及下节讨论。

4.1 UFLS与UVLS对灵敏度更新的要求不同

TDLS母线对单一违约母线的贡献度与控制灵敏度成正比,而其综合贡献度则与所有违约母线的控制灵敏度呈线性关系。控制灵敏度与电网结构及工况、TDLS母线及违约母线的位置、切负荷的时机及控制量等因素密切相关。

暂态电压跌落的时空分布受功角振荡及系统无功等因素的影响[19]。一般来说,与振荡中心的电气距离较近及本地无功支撑不够的那些母线的暂态电压跌落较严重,这导致UVLS动作的时空分布较明显[20],而同一UVLS母线对不同的违约母线电压跌落的控制效果差别也很大。一条母线在其被确认为UVLS母线的前、后,对其他候选母线的控制灵敏度变化的影响很大,导致各候选母线在两次相邻的迭代中的贡献度排序变化较大。因此,UVLS的布点优化必须在每次迭代中更新各候选母线的灵敏度。

暂态频率跌落的时空分布特性则与系统频率的跌落趋势较为一致[21],各违约母线的违约程度相差不大。大量仿真表明,各UFLS首轮动作时机接近,且对频率跌落的各违约母线的控制灵敏度相差不大。在迭代过程中,候选母线的控制灵敏度在两次迭代中虽有所变化,但其排序的变化不大。故在UFLS布点优化中可采用固定的灵敏度来更新各候选母线的贡献度,以减少计算量。

4.2 降低母线灵敏度更新的频度

UFLS的布点优化过程中,虽然各母线的控制灵敏度也随迭代而变,但其排序变化不大。为了研究UFLS母线灵敏度更新频度对优化效果的影响,比较以下4种方式下的计算量与控制风险。方式一(或方式二,或方式三):仅在首次(或前两次,或前三次)迭代中更新各UFLS母线的控制灵敏度。方式四:完整的迭代更新灵敏度[4],即每次迭代都更新各UFLS母线的控制灵敏度。

LS从电网中直接切除部分负荷而有助于电压及频率的恢复,但还存在着不利于电压及频率恢复的因素,即由于留网负荷的负荷特性,其吸收的功率可能随着电压及频率的恢复而趋于增加,从而抵消LS的正面影响。若反面影响大于正面影响,则产生LS负效应现象[11]。

首次更新灵敏度时,由于LS的量很小,容易遇到负效应现象。后续迭代中,由于LS已经有相当的量,不易观察到负效应现象。因此,方式一虽然减少的计算量最多,但其灵敏度值可能受负效应的影响而影响优化过程。方式二基本可以避免负效应的影响,且其计算结果已非常接近方式三,故推荐采用方式二。

5 协调优化流程的简化

5.1 数学模型

TDLS协调优化的目标为总风险R最小,R由两部分组成,分别对应于UFLS及UVLS。若故障集中的全部故障只存在低频不安全,或只存在低压不安全,则不需要协调环节。否则,应考虑UFLS/UVLS的互相影响而协调优化UFLS和UVLS的布点。

式中:CUFLSd.l(或CUVLSd.l)为故障d下第l个TDLS母线的UFLS(或UVLS)代价,它是LS数量Pd.l和停电赔偿价γl的函数;u为不确定因素;g(x)=0为系统运行的等式约束;h(x)≥0为不等式约束,可包含其他约束条件,如某些电网结构固有的限制条件等;Pl.max为TDLS母线l的最大可中断容量;ηd代表各种安全稳定裕度。

5.2 协调优化的流程

协调优化布点采用 “解耦优化—迭代协调”框架,见图1(a)。UVLS的动作时间一般早于UFLS,而其控制空间则有很强的局部性。 故首先优化UVLS布点子问题,再优化UFLS布点子问题,并反复迭代直至总风险收敛。其中,将上一个子问题的优化结果,纳入下一个优化子问题的仿真场景中。

图1(b)以UFLS布点优化子问题为例,描述了其内部流程。根据贡献度信息和总风险,优化子问题的布点。具体过程为:从上一个子问题贡献度最差的母线开始,逐个去除上一个子问题的布点,求取所有候选母线集合M的频率贡献度并排序,依次增加布点,直至系统在所有故障下均保持频率安全及电压安全,并反复迭代直到总风险R收敛。

5.3 协调优化布点迭代过程的简化

5.3.1 两个优化子问题交互过程的简化

为了研究迭代过程对计算量与控制风险的影响,比较以下3种方案:方案一,仅先后优化UVLS和UFLS各一次,即无迭代的方案;方案二,在方案一的基础上,不再进行子问题内部的反复优化,而是根据对电压/频率的贡献度对TDLS布点试探替代;方案三,即文献[4]中的完整迭代方案。

5.3.2 寻优中的替代处理

在先后优化UVLS和UFLS各一次后,得到UVLS和UFLS的初始解。此后,方案二不再像文献[4]那样完整地迭代,而是进入替代寻优。不失一般性,以刚结束的UVLS子问题的结果为场景,优化UFLS子问题为例,说明替代处理的寻优过程。

步骤1:对上一轮UFLS选出的频率控制母线集合W ,按对电压控制的贡献度从低到高排序,将候选的UFLS母线M中电压贡献度最高者M1作为试探的替代者。

步骤2:取M1替代电压贡献度最低的UFLS已选母线。若总风险(同时计及电压安全及频率安全)没有降低,则再试探替代下一个已选母线,若都不成功,则替代过程结束;若总风险降低则确认该项替代,并在更新已选母线的队列及候选母线中新的电压贡献度最高者为M1后,重复步骤2,直至这样的替代不再能降低总风险为止。

由于候选母线队列中只有电压贡献度最高者会用作试探,并且在第一次替代成功以后就进入了已选母线的集合,故不必再试探替代其他的已选母线,与文献[4]相比可大大减少每轮试探次数和循环次数。

5.3.3 替代的流程

图2以UFLS布点子问题优化为例,描述了其内部流程:以上一个子问题的UVLS布点结果作为场景,根据UFLS母线对电压的贡献度信息,按5.3.2节方法对上一个子问题的UFLS布点结果进行替代优化,直至总风险R不能降低为止。

5.4 关于替代优化的讨论

对于电压及频率均存在不安全的故障集,TDLS布点需要计及UFLS及UVLS的交互影响。协调优化布点完整迭代方案[4]通过子问题之间和子问题内部的反复迭代来处理;本文的简化的协调方案则对TDLS布点进行替代优化,以其总风险来反映母线对电压及频率跌落的综合改善效果。大量仿真表明,本简化的协调方案的原则是保证与完整迭代方案相比,其风险误差在精度要求范围内以大幅降低计算量。

6 仿真算例

6.1 计及动态负荷的TDLS布点优化

6.1.1 计算场景

1)仿真系统

取山东省网为例,用稳定性量化分析软件FASTEST进行时域仿真,并按照暂态电压和频率安全二元约束表计算电压及频率安全裕度,监视所有500kV和220kV母线,暂态电压及频率安全二元约束表分别为(0.75(标幺值),1.0s)和(49.0Hz,10s)[22]。

考虑工况的不确定性。工况L1为冬大方式下的极限负荷水平,97机462节点,其中负荷节点数177;工况L2是冬大方式下的期望负荷水平,89机462节点,其中负荷节点数177。其发电出力、负荷及概率见附录A表A1。动态负荷采用感应电动机的三阶机电暂态模型。静态负荷ZIP模型中,恒阻抗、恒电流及恒功率负荷的比例为0.35∶0∶0.65。有功和无功的频率调节系数KLP和KLQ分别为1.8和-2.0。

2)故障集

对上述两个工况下所有的短路故障及单厂全停故障穷尽式仿真,将存在电压或频率不安全现象的5个故障纳入故障集,见附录A表A2。在缺乏实际系统统计值的情况下,各故障的概率可按一般采用值设置。

3)LS的代价

取可中断负荷[23]的容量为系统实际配置UFLS的41.64%,停电代价为1万元/(MW·h);不可中断负荷占母线负荷的30%,负荷违约停电代价[24]为5万元/(MW·h)。停电时间统一为1h。

6.1.2 布点寻优结果的比较

在观察动态负荷对UVLS布点优化的影响时,动态负荷占比分别取为0%,5%,10%和15%。在观察动态负荷对UFLS布点优化的影响时,则有意增加了动态负荷的占比,分别取为0%,30% 和50%。

两者优化的结果及其寻优的详细过程见附录B。对两者优化结果的强壮性校核分别见表1及表2,其详细的校核过程见附录C。其中的计算量用稳定分析的次数来反映(下同)。不难看出,动态负荷的占比对UVLS布点优化的影响较大,而对UFLS布点优化的影响则几乎可以忽略。

针对多个系统测算,负荷模型中计及动态负荷,其数值积分的计算量一般是只考虑静态负荷的1.5~2.0倍,故表1 及表2 中,动态负荷占比不为零值时的计算量与其占比为零值时的计算量之比,应该是相应B值之比的1.5倍。

6.1.3 优化结果的分析

取文献[4]的全局优化布点方法对应的风险值及计算量做基准。对UVLS布点,不计动态负荷时,其风险值和计算量分别为基准值的1.25 倍和71%。其风险明显增加,不能满足工程要求,故必须考虑动态负荷。对UFLS布点,不计动态负荷时,其风险值非常接近基准值,而计算量只有基准值的66%。故对只出现暂态频率不安全的UFLS布点优化时,可只采用静态负荷模型。

6.2 频率贡献度的简化求取

6.2.1 计算场景

仿真系统、工况、安全约束二元表和停电代价设与6.1 节相同,本节研究UFLS灵敏度更新的简化,故附录A表A2中5个故障中只有F4和F5与之相关。

6.2.2 频率贡献度简化处理的影响

在求取综合贡献度并优化UFLS布点时,分别采用4种方式,即每次迭代都更新TDLS母线的控制灵敏度,仅前3次迭代更新灵敏度,仅前2次迭代更新灵敏度,仅首次迭代更新灵敏度的方式。其优化结果的风险和稳定分析次数如表3所示。

在首次迭代时,某些TDLS母线可能对频率的贡献度较低,甚至为负(即控制负效应)。因此,仅首次迭代更新灵敏度的方式,忽视了这些母线在后续迭代中的贡献度增加的可能。因此,其控制风险代价增加较多。而第二次迭代及以后,UFLS控制的负效应一般不再会出现,故仅前2次迭代更新灵敏度的方式的风险代价就非常接近最小值,其计算精度非常接近文献[4]的每次迭代都更新的结果。类似地,若进一步考虑了ZIP比例及KLP的不确定性(详见附录A表A3及A4,附录D表D1及D2),可以得到相同的结论。

随着不确定性的增加,布点优化的计算量急剧增加,仅前2次迭代更新灵敏度方式所需的计算量就显得格外重要。

6.2.3 优化结果的分析

图3以稳定分析(积分)次数反映计算量,并取为横坐标,而取控制风险为纵坐标,比较了UFLS布点的各方式的综合效果。不难看出,仅更新前2至3次,控制风险就很接近每次迭代都更新的结果。图3(a)用有名值反映了不同方式在各不确定性因素下的优化结果;图3(b)至(d)则以每次迭代都更新方式的结果为基准。

由图3可见,灵敏度更新次数的增加有可能改进简化算法的优化效果,但计算量也随之加大。从代表某简化方式的点出发,连接到代表未简化方式的点的直线越接近水平线,则简化的综合效果越好。不难看出,在不同的不确定因素下,仅在前两次迭代中更新灵敏度的方式都有最好的简化效果。

同样,可以观察到:图3(c)及(d)比图3(b)考虑的不确定性因素增加,而简化的综合效果随之提高。说明要考虑的场景数越多,简化越有效。

6.3 UFLS与UVLS协调布点的简化

6.3.1 计算场景

为了使电压及频率都可能不安全,取山东省网冬大方式下的另一种工况L,81机462节点,负荷数177,详见附录A表A5。设定的安全约束二元表及停电代价同6.1节。故障集中包括电压和频率均不安全者,见附录A表A6。在6.2节基础上增加考虑ZIP比例的不确定性,见附录A表A7。

6.3.2 不同协调方案的效果

表4比较了不同的协调优化方案,包括:① 在UFLS布点及UVLS布点这两个优化子问题的外部迭代至收敛的方案,作为比较的基准;②只在两个优化子问题的外部单次迭代的方案;③本文第5节建议的简化的协调方案,即在子问题优化初解的基础上通过替代来考虑TDLS母线对两个子问题的综合改善效果。从表中可见:该简化方案对应的控制风险较单次迭代方案低,很接近完整迭代方案,而计算量则较完整迭代方案大幅降低。

为了观察负荷ZIP比例不确定的影响,分别取其离散分布为2 档及3 档,布点结果的比较见附录E表E1及表E2。在同时考虑ZIP比例和KLP的不确定性时,离散分布均取为3档,布点结果的比较见附录E表E3。不难看出,在多种不确定性的场景下的结论与单一场景下相似。

6.3.3 优化结果的分析

图4(a)用有名值反映了不同方案在各不确定性场景下的优化结果;图4(b)—图4(e)则以完整的迭代方案的结果为基准。

不难看出,完整的迭代方案的总风险最小,而计算量最大;外部单次迭代方案的计算量大幅减少,但总风险最大;在子问题优化初解的基础上通过替代来简化的协调方案只比单次迭代方案少许增加计算量,却大幅提高了计算精度,简化效果良好。

随着不确定性场景的增加,各方式的计算量均显著增加。其中完整的迭代方案的计算量增加最快,而简化的协调方案的标幺计算量反而下降。从代表该简化方案的点出发,连接到代表基准方案的点的直线最接近水平线,简化的综合效果很好。

7 结语

本文综合考虑了负荷模型对布点优化的计算量和精度的影响,在满足工程应用精度的前提下尽可能地简化算法。研究表明在满足工程需要的精度的前提下:①UFLS布点可以不考虑动态负荷;②在求取UFLS候选布点的灵敏度时,采用仅在前两次迭代中更新灵敏度方式来更新贡献度,可减少超过一半的计算量;③在协调优化布点中,采用替代优化可以减少迭代次数,计算量下降大约50%。但在不确定性因素及其联合分布复杂性进一步增加时,如何协调计算量和布点结果的强壮性仍需不断改进。

轨迹算法 篇7

太阳帆航天器是一种在深空探测和星际航行等领域极具潜力的新型航天器,利用太阳光压产生持续推力,给航天器提供连续小推力,且自身无需携带大量燃料,因此在深空探测和星际航行等航天领域具有广阔的应用前景,近年来得到了国际航天界广泛的关注[1,2,3,4]。

太阳帆航天器可以利用连续太阳光压小推力进行轨道转移,针对太阳帆轨迹优化问题现有文献多采用间接法,基于Pontryagin原理的变分法求解[5,6,7,8]。Powers等[8]考虑了太阳帆航天器到以太阳为中心的火星和水星同步轨道的方向角连续变化的最优轨迹转移,利用变分法和边界条件得到局部最优的必要条件,并利用打靶法求解边界值问题。间接法是依据极小值原理,将轨道优化问题转化为对两点边值问题的求解,它对初值具有很强的依赖性,很难猜测到合适的初值,求解比较繁琐[11]。

文献[9,10]采用直接法,它把优化问题转化为非线性规划问题,原理简单、收敛性好、更易于实现[11]。Otten等[9]通过离散控制变量,将太阳帆的最优时间轨道转移问题转化为具有边界约束的参数优化问题,并利用序列二次规划(SQP)方法求解,但SQP方法为局部优化算法,容易陷入局部最优值。Hughes等[10]利用遗传算法(GA)和SQP方法的混合算法实现了太阳帆航天器到太阳悬浮轨道的最优化转移,首先利用GA进行搜索,将得到结果作为SQP的初值再次进行求解,这样相应增加了仿真计算时间。

本文考虑了理想太阳帆航天器从地球同步轨道到火星和金星同步轨道转移的轨迹优化问题,首先对控制输入变量即太阳帆方向角直接离散化,将最优控制问题转化为非线性规划的参数优化问题,接着用静态罚函数法将终端约束条件反映到性能指标函数中,并基于粒子群算法(PSO)进行优化参数,相比较文献[9,10]中的SQP,PSO具有更强的全局搜索能力。

1 系统模型

如图1所示,利用极坐标系建立以太阳为中心的二维平面轨道的太阳帆航天器运动方程。图1中r表示太阳帆到太阳中心的距离,φ是参考轴和太阳与太阳帆的连线之间的夹角,逆时针方向为正,u是太阳帆的径向速度,v是太阳帆的切向速度,方向角θ为太阳帆面法线与当地太阳光线之间的夹角,逆时针方向为正。

理想太阳帆的加速度[12]:

其中F为太阳光压对太阳帆的作用力,其方向与太阳帆面法线方向一致,m为太阳帆航天器的总质量,W为太阳强度,S为太阳帆面的总面积,c为光速。特征加速度k=2WS/c,表示太阳帆在距离太阳1AU处时能够产生的最大光压加速度,标准的天文单位1AU为地球到太阳的平均距离。

以太阳为中心的太阳帆二维平面轨道运动方程[12]:

图1二维共面模型(参见下页)

2 边界条件

太阳帆航天器从地球同步轨道到其他星体同步轨道转移的初始条件为:

进入目标轨道后的终端约束条件:

rf、uf、vf为终端时刻tf太阳帆的状态值。式中rspec、uspec、vspec为目标轨道相应的所期望的值,由式(6)、(7)知,轨迹优化对φ没有具体的限制,且式(3)对(2)、(4)、(5)计算结果没有影响,因此考虑轨迹优化时可以忽略式(3),这样能够相应地减少仿真计算时间。

待优化的性能指标函数:

性能指标最小时,即轨道转移的时间最小。

3 参数化

本文采用直接离散的方法[13],将整个轨道转移过程等时间段分为N段,且每段中的控制输入变量不变,即每个时间段内太阳帆方向角θ为常值,那么可以将N个时间段的θ值和终端时刻tf作为待优化参数。当N趋向无穷大时,理论上可以得到最优时间的轨道转移。通过与方向角连续最小时间轨道比较分析,方向角分段常值的轨道转移时间虽然有所增加,但所提出的简单的方向角控制律更适合于太阳帆航天器的在线自主调节,且很大程度上减少了调解方向角的复杂性[9]。

4 优化算法

4.1 PSO算法

本文采用PSO算法,它是基于群体智能理论的一种新兴演化计算技术,通过群体中微粒间的合作与竞争而产生的群体智能指导优化搜索,该算法具有较强的通用性,具有全局寻优的特点[14]。

PSO算法:设目标搜索空间为D维,即D=N+1,总粒子数为n,总的迭代次数为T。第i个粒子在空间里的位置表示为矢量Xi=(xi1,xix,...,xiD),飞行速度表示为矢量Vi=(vi1,vi2,...,viD);第i个粒子的历史最优位置为Pi,其中所有粒子中的历史最优位置为Pg。按如下公式更新各粒子的速度和位置:

其中j=1,2,...,D,w为惯性权因子,c1、c2为正的加速常数,rand1,rand2为在0到1之间的均匀分布的随机数。若迭代中位置Xi和速度Vi超过边界则取边界值。

要将PSO成功地应用到轨迹优化中,还必须处理好如何将终端约束反映到PSO的目标函数中。本文采用静态罚函数法[15]对终端约束进行处理,则目标函数可表示成如下形式:

4.2 PSO算法流程

粒子群算法的流程如下:

(1)初始化所有微粒,在允许范围内随机设置各粒子的初始位置和速度,并将各微粒的Pi设为初始位置,取Pg为Pi中的最优值。

(2)评价每个微粒的适应值,即分别根据式(11)计算每个微粒的目标函数值。

(3)对于每个微粒,将其适应值与历史最优位置Pi进行比较,如果优于Pi,则将其作为当前最优位置Pi。

(4)对每个微粒,将当前最优位置Pi与群体历史最优位置Pg进行比较,若结果优于Pg,则将其作为群体最优位置Pg。

(5)根据微粒群式(9)和式(10)调整各粒子的速度和位置。

(6)若达到最大迭代次数,则终止迭代;否则返回第(2)步。

5 仿真实例

考虑了太阳帆航天器从地球同步轨道分别到火星和金星同步轨道的轨迹优化转移。仿真时令轨道离散化参数N=5,即待优化参数参数为5个太阳帆姿态角和1个终端时刻tf,共6个参数;选取特征加速度k=2mm/s,这样可以和文献[8]得到的结果进行相比较。PSO算法的参数设定为n=200,T=1000,c1=2,c2=2,w=0.5。

5.1 火星同步轨道转移

太阳帆从地球同步轨道到火星同步轨道的终端约束条件为文中对以上设定的条件进行数值仿真,仿真所得结果表明rf、vf、uf分别与rspec、vspec、uspec的误差绝对值小于10-16,相比文献[8]中的10-16,本文更好地满足了终端约束条件。总的轨道转移时间为327天,比文献[8]的324天只多了3天,仅增加0.95%,这是可以接受的,因为本文做优化时把控制输入变量θ等时间的分为5段,且每个时间段内幅值不变,这样只能达到接近最优时间的轨道转移。

图2给出了最终求得的火星轨道转移过程中太阳帆方向角的变化过程,与文献[8]相比,整个过程方向角只需调整5次,大大减少了太阳帆方向角调整的复杂性,图3给出了太阳帆从地球同步轨道到火星同步轨道的转移轨迹。

图2火星轨道转移的太阳帆方向角(参见下页)

图3地球-火星共面轨迹(参加下页)

5.2 金星同步轨道转移

太阳帆从地球同步轨道到金星同步轨道的终端约束条件为rspec=0.7233AU,文中对以上设定的条件进行数值仿真,所得到的各状态结果与终端约束条件的误差绝对值小于10-16,相比文献[8]中的10-16,本文更好地满足了终端约束条件。总的轨道转移时间为164.91天,比文献[8]的163.65天只多了1.26天,仅增加了0.77%。

图4给出了最终求得的金星轨道转移过程中太阳帆姿态角的变化过程,图5给出了太阳帆航天器从地球同步轨道到金星同步轨道的转移轨迹。

6 结论

太阳帆航天器星际航行中不同轨道之间转移的轨迹优化问题,对未来整个深空探测和空间任务具有重要意义。本文针对太阳帆在不同星体同步轨道之间转移的轨迹优化问题,采用直接离散法参数优化变量,将最优控制问题转化为非线性规划的参数优化问题,并基于PSO算法优化参数。数值仿真结果表明,所得到的结果比文献[8]得到的更好地满足了终端约束条件,且对最终转移时间的惩罚很小,并大大减少了调整太阳帆方向角的复杂性。本文所采用的方法也可以应用到非理想太阳帆航天器三维轨迹优化问题。

摘要:本文研究了太阳帆航天器从地球同步轨道到以太阳为中心的火星和金星同步轨道转移的轨迹优化问题。为了获得最小转移时间,给定的任务通常是分析太阳帆方向角连续变化的最小时间最优控制问题。文中采用了分段常值的太阳帆方向角,其目的是为了充分地减少整个任务调整太阳帆方向的复杂性。利用直接离散法将最优控制问题转化为非线性规划的参数优化问题,并基于粒子群算法进行优化参数--太阳帆方向角和轨道转移时间。仿真结果表明,与太阳帆方向角连续变化的相比,所得到的结果更好的满足了轨道终端约束条件,且转移时间仅增加了1%.

上一篇:胆囊炎性疾病下一篇:革新传统教学