CN106201996A - 一种改进的三角函数切换算法 - Google Patents
一种改进的三角函数切换算法 Download PDFInfo
- Publication number
- CN106201996A CN106201996A CN201610570806.3A CN201610570806A CN106201996A CN 106201996 A CN106201996 A CN 106201996A CN 201610570806 A CN201610570806 A CN 201610570806A CN 106201996 A CN106201996 A CN 106201996A
- Authority
- CN
- China
- Prior art keywords
- time
- formula
- input
- rsqb
- lsqb
- 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.)
- Pending
Links
Classifications
-
- 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/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种改进的三角函数切换算法,与现有技术相比,本发明在多个输入同时作用下的复合运动分解为单个控制输入下的简单运动,同时以三角函数作为控制输入,结合时间尺度变换技术可使速度输入曲线变得平缓,克服了bang‑bang和分段常数法中输入切换处路径不光滑和过高波动的问题。
Description
技术领域
本发明涉及一种三角函数,尤其涉及一种改进的三角函数切换算法。
背景技术
现有技术中,三角函数分段切换法基本思想是把链式系统的多个输入在时间轴上进行分时处理——即在每一时间段上仅允许一个输入有效而其他输入全部为零,使链式系统在多个输入同时作用下的复合运动分解为单个控制输入下的简单运动,同时以三角函数作为控制输入,结合时间尺度变换技术可使速度输入曲线变得平缓,克服了bang-bang和分段常数法中输入切换处路径不光滑和过高波动的问题。
发明内容
本发明的目的就在于为了解决上述问题而提供一种改进的三角函数切换算法。
本发明通过以下技术方案来实现上述目的:
本发明由链式系统数学模型的三角结构形式知,在控制输入[0,aisinωt][ai+1sinωt,0]的二次切换作用下,链式变量的运动在时间τ∈[(k+(i+1)/s)δ,(k+(i-1)/s)δ]上被分解为两部分,即[0,Δz2,0,…,0],[Δz1,0,Δz3,…,Δzn],其中要使包含链式变量{z3,z4,…,zn}的n-2个线性无关的方程有解,v1必然最少经过n-2次切换输入,由式(3)知v2最少需要n-1次切换输入,因此三角函数控制输入的切换次数最少为2n-3次,故链式系统路径规划的运动时间被等分的次数不低于2n-3,下面给出具体的证明:
定理1在控制输入
的作用下,两输入n维链式系统可以从初始位形z0运动到邻域内的目标位形zf,其中系统的运动控制时间T最少等分2n-3次;
与式(3)类似,式(4)仍然是将链式系统运动的时间等分为s段,但在每一段上用一个周期的余弦曲线作为控制输入,这样做的好处是同时保证了位移曲线和速度曲线都是光滑的;下面给出算法定理1的数学证明;
证明:时间T被等分为2n-3次,每一个时间段长度为η=T/(2n-3),在奇数时间段上t∈[t2i,t2i+1]上(i∈{0,1,2,…,n-2}),等分的时间间隔表示为η=t2i+1-t2i,,因此在奇数时间段上的式(4)可以表示为
式(5)中b2i+1是待定系数,角频率ω=2π/η,代入到式(21)逐步积分,
类似的,在偶数时间段上t∈[t2j+1,t2j+2](j∈{0,1,2,…,n-3}),等分的时间间隔表示为η=t2j+2-t2j+1,因此算法式(4)在偶数段上有,
将式(7)代入到链式系统在时间t∈[t2i+1,t2i+2]上积分,得:
通过迭代计算式(6)和式(8),得到系统运动到时间T的目标位形zf,
式(9)中含有n个方程和2n-3个待定系数,将所有待定系数重新表示为两个系数矢量BO=[b1,b3,…,b2n-3]T和BE=[b2,b4,…,b2n-4]T,其中BO和BE分别称为奇数时间段系数矢量和偶数时间段系数矢量;由式(9)知BE中n-2个元素满足,
任意给定一组满足式(10)的BE,当时,BO中n-1个系数可以由式(9)中剩余的n-1个方程唯一确定;
证毕;
当时,有由式(9)知奇数时间段的系数矢量BO无解;解决的办法是设置一个中间位形且满足系统的路径规划问题分为两个步骤,第一步先控制系统从初始位形z0运动到中间位形zc,然后将中间位形zc看成一个新的初始位形,控制系统运动到目标位形zf;故当时,系统的路径就是以zc为中间位形、首尾连接的两段路径组成。
本发明的有益效果在于:
本发明是一种改进的三角函数切换算法,与现有技术相比,本发明在多个输入同时作用下的复合运动分解为单个控制输入下的简单运动,同时以三角函数作为控制输入,结合时间尺度变换技术可使速度输入曲线变得平缓,克服了bang-bang和分段常数法中输入切换处路径不光滑和过高波动的问题。
附图说明
图1是三角函数分段切换控制输入下的四状态单链系统路径规划曲线图;
图2所示为三关节非完整机械臂的位移曲线和两部电机的实际控制输入曲线图;
具体实施方式
下面对本发明作进一步说明:
已有算法分析:令分段常数输入那么在时间τ∈[kδ,(k+1)δ]上分段常数控制输入可以表示为:
v1(τ)=v1 τ∈[kδ,(k+1)δ]
式中,时间段τ∈[kδ,(k+1)δ]被等分为δaver=δ/(n-1)。将式(1)代入式(2-21)计算待定常数控制输入v=[v1,v21,v22,…,v2(n-1)]T,dim(v)=n。应用分段常数控制输入算法对链式系统进行路径规划,控制输入v1(τ)在整个时间段上始终维持不变,状态变量z1(τ)的轨迹是一条连接位形z1(k)和z1(k+1)且斜率为v1的直线;v2(τ)在n-1段均分的时间上具有n-1维常数输入,故z2(τ)的轨迹是一条分别以z2(k)和z2(k+1)为起点和终点,由n-1段等时间间距的直线首尾连接而成的折线,这表明状态变量z2(τ)的路径是不光滑的。
令分段常数输入和的值在“0”与“1”之间切换,那么就有bang-bang控制输入:
与分段控制输入算法不同的是,bang-bang的控制输入始终在“0”与“1”之间切换,待定求解的系数不再是控制输入常数而是在每一段输入上所持续的时间段δi。bang-bang算法的最大优点在于控制简单,但存在问题仍然是规划出的路径依然局部不光滑,且控制输入对系统瞬时冲击较大。
算法描述:
三角函数切换算法集中了分段常数和bang-bang的优势,并且规划出的路径是完全光滑的;结合时间尺度变换技术平滑任一时间段上的过高速度输入且 不会在路径上引入不光滑的点。
将链式系统运动的时间等分为s段,在每一段上用半个周期的正弦曲线作为速度输入,以保证位移曲线在时间段切换处的平滑,那么系统的两个控制输入可以表示为:
其中,ω=π/δ。式(3)数学结构类似于bang-bang控制,即系统的控制输入在“0”与“ai sinωt”之间切换,但在时间段的划分上采用分段常数算法时间等分的方式。式(3)求解的是一组三角函数的常系数幅值[a1,a2,a3,…,as]T,该矢量的维数等于控制输入切换的次数。
三关节非完整机械臂的运动学模型可以变换为四状态的链式系统(三阶幂零两输入系统),设初始位形为θ0=[10°,10°,10°]T,目标位形θf=[30°,30°,30°]T,利用式(3)作为输入,那么在奇数时间段上有速度输入:
式中,角频率ω=π,代入式(2-21)积分,可以得:
式中,t∈[t2i,t2i+1],i∈{0,1,2}。偶数时间段上的速度输入为:
代入链式系统积分可得:
式中,t∈[t2j+1,t2j+2],i∈{0,1}。令k∈{1,2.3,4,5},在整个积分区间上有:
式中存在5个待定系数,c2和c4可由下式确定,
实常数|a|<1,则系数c1和c3为:
那么系数c5为
c5=z2 f-c1-c3-z2 0
链式空间的计算仿真结果如图1所示,首先四条路径是完全光滑的,其次路径的幅值没有出现过高的波动,这一特性有助于模型变换奇异问题的解决。
将图1映射到非完整机械臂的位形空间得到关节运动的轨迹,图2所示为三关节非完整机械臂的位移曲线和两部电机的实际控制输入曲线。控制输入切换次数为5,运行时间T=5s。仿真结果显示在整个运动过程中电机2的转向更换一次,电机1的转向无变更。在实际应用中,伺服电机较少的转向更换次数可以减少传动系统带来的误差,提高运动控制的精度。三角函数切换算法的本质是将两个输入v1和v2切换作用于链式系统,通过非完整机械臂的反馈变换式将v1和v2映射到位形空间得到两部伺服电机的控制输入u1和u2,其中u2表示为链式系统控制输入v1和v2的函数,而u1仅与v1相关。因此在1-2秒和3-4秒两个时间段上伺服电机1有速度输入u1≠0,在其余时间段上的输入u1=0;而伺服电机2 在整个控制过程中始终有速度输入。伺服电机2与关节1相连接,故关节1的运动在整个过程中并未体现出算法的这种“切换性”,而关节2和关节3是由伺服电机1驱动的,因此仅在1-2秒和3-4秒这两段时间上关节2和关节3向目标位形运动。图2三角函数分段切换控制输入的运动路径(a=0.29,da=27.97°,tp=1)
算法改进:
虽然利用式(3)能够控制系统从初始位形θ0平滑地运动到目标位形θf,但在控制输入切换处的速度曲线并不光滑,如图2所示。为了平滑速度曲线,重新构建算法。
由链式系统数学模型的三角结构形式知,在控制输入[0,aisinωt][ai+1sinωt,0]的二次切换作用下,链式变量的运动在时间τ∈[(k+(i+1)/s)δ,(k+(i-1)/s)δ]上被分解为两部分,即[0,Δz2,0,…,0],[Δz1,0,Δz3,…,Δzn],其中要使包含链式变量{z3,z4,…,zn}的n-2个线性无关的方程有解,v1必然最少经过n-2次切换输入,由式(3)知v2最少需要n-1次切换输入,因此三角函数控制输入的切换次数最少为2n-3次,故链式系统路径规划的运动时间被等分的次数不低于2n-3,下面给出具体的证明:
定理1在控制输入
的作用下,两输入n维链式系统可以从初始位形z0运动到邻域内的目标位形zf,其中系统的运动控制时间T最少等分2n-3次;
与式(3)类似,式(4)仍然是将链式系统运动的时间等分为s段,但在每一段上用一个周期的余弦曲线作为控制输入,这样做的好处是同时保证了位移曲线和速度曲线都是光滑的;下面给出算法定理1的数学证明;
证明:时间T被等分为2n-3次,每一个时间段长度为η=T/(2n-3),在奇数时间段上t∈[t2i,t2i+1]上(i∈{0,1,2,…,n-2}),等分的时间间隔表示为η=t2i+1-t2i,,因此在奇数时间段上的式(4)可以表示为
式(5)中b2i+1是待定系数,角频率ω=2π/η,代入到式(21)逐步积分,
类似的,在偶数时间段上t∈[t2j+1,t2j+2](j∈{0,1,2,…,n-3}),等分的时间间隔表示为η=t2j+2-t2j+1,因此算法式(4)在偶数段上有,
将式(7)代入到链式系统在时间t∈[t2i+1,t2i+2]上积分,得:
通过迭代计算式(6)和式(8),得到系统运动到时间T的目标位形zf,
式(9)中含有n个方程和2n-3个待定系数,将所有待定系数重新表示为两个系数矢量BO=[b1,b3,…,b2n-3]T和BE=[b2,b4,…,b2n-4]T,其中BO和BE分别称为奇数时间段系数矢量和偶数时间段系数矢量;由式(9)知BE中n-2个元素满足,
任意给定一组满足式(10)的BE,当时,BO中n-1个系数可以由式(9)中剩余的n-1个方程唯一确定;
证毕;
当时,有由式(9)知奇数时间段的系数矢量BO无解;解决的办法是设置一个中间位形且满足系统的路径规划问题分为两个步骤,第一步先控制系统从初始位形z0运动到中间位形zc,然后将中间位形zc看成一个新的初始位形,控制系统运动到目标位形zf;故当时,系统的路径就是以zc为中间位形、首尾连接的两段路径组成。
以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (1)
1.一种改进的三角函数切换算法,其特征在于:由链式系统数学模型的三角结构形式知,在控制输入[0,ai sinωt][ai+1sinωt,0]的二次切换作用下,链式变量的运动在时间τ∈[(k+(i+1)/s)δ,(k+(i-1)/s)δ]上被分解为两部分,即[0,Δz2,0,…,0],[Δz1,0,Δz3,…,Δzn],其中要使包含链式变量{z3,z4,…,zn}的n-2个线性无关的方程有解,v1必然最少经过n-2次切换输入,v2最少需要n-1次切换输入,因此三角函数控制输入的切换次数最少为2n-3次,故链式系统路径规划的运动时间被等分的次数不低于2n-3,下面给出具体的证明:定理1在控制输入
的作用下,两输入n维链式系统可以从初始位形z0运动到邻域内的目标位形zf,其中系统的运动控制时间T最少等分2n-3次;
式(4)仍然是将链式系统运动的时间等分为s段,但在每一段上用一个周期的余弦曲线作为控制输入,这样做的好处是同时保证了位移曲线和速度曲线都是光滑的;下面给出算法定理1的数学证明;
证明:时间T被等分为2n-3次,每一个时间段长度为η=T/(2n-3),在奇数时间段上t∈[t2i,t2i+1]上(i∈{0,1,2,…,n-2}),等分的时间间隔表示为η=t2i+1-t2i,,因此在奇数时间段上的式(4)可以表示为
式(5)中b2i+1是待定系数,角频率ω=2π/η,代入到式(21)逐步积分,
类似的,在偶数时间段上t∈[t2j+1,t2j+2](j∈{0,1,2,…,n-3}),等分的时间间隔表示为η=t2j+2-t2j+1,因此算法式(4)在偶数段上有,
将式(7)代入到链式系统在时间t∈[t2i+1,t2i+2]上积分,得:
通过迭代计算式(6)和式(8),得到系统运动到时间T的目标位形zf,
式(9)中含有n个方程和2n-3个待定系数,将所有待定系数重新表示为两个系数矢量BO=[b1,b3,…,b2n-3]T和BE=[b2,b4,…,b2n-4]T,其中BO和BE分别称为奇数时间段系数矢量和偶数时间段系数矢量;由式(9)知BE中n-2个元素满足,
任意给定一组满足式(10)的BE,当时,BO中n-1个系数可以由式(9)中剩余的n-1个方程唯一确定;
证毕;
当时,有由式(9)知奇数时间段的系数矢量BO无解;解决的办法是设置一个中间位形且满足系统的路径规划问题分为两个步骤,第一步先控制系统从初始位形z0运动到中间位形zc,然后将中间位形zc看成一个新的初始位形,控制系统运动到目标位形zf;故当时,系统的路径就是以zc为中间位形、首尾连接的两段路径组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610570806.3A CN106201996A (zh) | 2016-07-19 | 2016-07-19 | 一种改进的三角函数切换算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610570806.3A CN106201996A (zh) | 2016-07-19 | 2016-07-19 | 一种改进的三角函数切换算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106201996A true CN106201996A (zh) | 2016-12-07 |
Family
ID=57494489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610570806.3A Pending CN106201996A (zh) | 2016-07-19 | 2016-07-19 | 一种改进的三角函数切换算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201996A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287527A (zh) * | 2017-07-18 | 2018-07-17 | 山东大学 | 一种基于三角函数的改进s曲线加减速控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019091A (zh) * | 2012-12-20 | 2013-04-03 | 北京航空航天大学 | 一种基于线性扩张状态观测器的柔性航天器容错姿态控制方法 |
CN103076807A (zh) * | 2012-12-27 | 2013-05-01 | 北京航空航天大学 | 一种欠驱动柔性航天器姿态稳定的控制方法 |
CN105487385A (zh) * | 2016-02-01 | 2016-04-13 | 金陵科技学院 | 基于无模型自适应内模控制方法 |
CN105511480A (zh) * | 2016-02-25 | 2016-04-20 | 哈尔滨工程大学 | 一种基于人工蜂群优化的模型预测的欠驱动uuv深度控制方法 |
-
2016
- 2016-07-19 CN CN201610570806.3A patent/CN106201996A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019091A (zh) * | 2012-12-20 | 2013-04-03 | 北京航空航天大学 | 一种基于线性扩张状态观测器的柔性航天器容错姿态控制方法 |
CN103076807A (zh) * | 2012-12-27 | 2013-05-01 | 北京航空航天大学 | 一种欠驱动柔性航天器姿态稳定的控制方法 |
CN105487385A (zh) * | 2016-02-01 | 2016-04-13 | 金陵科技学院 | 基于无模型自适应内模控制方法 |
CN105511480A (zh) * | 2016-02-25 | 2016-04-20 | 哈尔滨工程大学 | 一种基于人工蜂群优化的模型预测的欠驱动uuv深度控制方法 |
Non-Patent Citations (1)
Title |
---|
YIFANG LIU等: "Steering Nonholonomic Systems with Cosine Switch Control", 《PRACTIAL APPLICATIONS OF INTELLIGENT SYSTEMS》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287527A (zh) * | 2017-07-18 | 2018-07-17 | 山东大学 | 一种基于三角函数的改进s曲线加减速控制方法 |
CN108287527B (zh) * | 2017-07-18 | 2019-02-01 | 山东大学 | 一种基于三角函数的改进s曲线加减速控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105353725A (zh) | 用于工业机器人的过辅助点姿态空间圆弧插补方法 | |
US20190184560A1 (en) | A Trajectory Planning Method For Six Degree-of-Freedom Robots Taking Into Account of End Effector Motion Error | |
CN110196590B (zh) | 一种用于机器人路径跟踪的时间最优轨迹规划方法 | |
CN105710881A (zh) | 一种机器人末端连续轨迹规划过渡方法 | |
CN103941739B (zh) | 一种基于多项式的卫星姿态机动方法 | |
CN102681489A (zh) | 多轴联动数控系统运动平稳性和轮廓加工精度控制方法 | |
RU2479015C1 (ru) | Способ определения траектории движения автономного транспортного средства в динамической среде | |
Shi et al. | Multi-objective optimal trajectory planning of manipulators based on quintic NURBS | |
CN103970139A (zh) | 一种机器人连续点位运动规划方法及其运动控制器 | |
Bazaz et al. | Minimum time on-line joint trajectory generator based on low order spline method for industrial manipulators | |
CN103744346A (zh) | 一种电子凸轮曲线生成方法 | |
CN110744552B (zh) | 一种基于奇异摄动理论的柔性机械臂运动控制方法 | |
CN103279069A (zh) | 用于数控机床的三角函数二阶连续可导加减速算法 | |
CN105182906A (zh) | 基于高阶s型运动轨迹的位置与速度控制方法 | |
CN105068536A (zh) | 基于非线性优化方法实现的移动基座轨迹规划器 | |
CN103676787A (zh) | 一种用于运动控制系统的圆心模式空间圆弧插补方法 | |
CN109991932A (zh) | 一种物流搬运设备s曲线加减速速度规划与控制方法 | |
CN105022271A (zh) | 一种无人自主飞行器自适应pid控制方法 | |
CN106094737A (zh) | 一种指定加工误差条件下的数控加工速度优化控制方法 | |
CN106201996A (zh) | 一种改进的三角函数切换算法 | |
Patsko et al. | Attainability set at instant for one-side turning Dubins car | |
CN104020718A (zh) | 一种nurbs曲线参考模型自适应实时插补方法 | |
CN108681621A (zh) | 基于Chebyshev正交多项式扩展RTS Kalman平滑方法 | |
CN109807893B (zh) | 一种焊接机器人运动模型光滑化方法 | |
CN113341884B (zh) | 运动目标曲线控制数据构造方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |
|
RJ01 | Rejection of invention patent application after publication |