为了淡化Oleg Stepanovich Kozlov的演讲“技术系统中的控制”的数学运算,我们在此发布一个示例,将这些演讲的知识应用于实践。
在本文中,Oleg Stepanovich的学生Alexander Shchekaturov描述了一种八旋翼飞机模型的创建,同时揭示了在物理系统的结构建模环境中工作的秘密和示范技术。
本文提供了逻辑上完成的描述,但仅是建模的全部工作的一部分,但这部分足以介绍无人驾驶型无人机的动态建模主题。
, , : , . ( ), , , — , , , / , , .. .., — .
1
: 10…25 , 4, 6 8- (), , , 8, 12 16 T-motors Antigravity 6007 KV320 ( 2 50% ). .
: , , .
2
, - . , — ( , , ). [1] [2].
, ( ), , :
- ( ) , , – () . , - . ( , 0), :
FM(t)=CT⋅ω2(t),MM(t)=CQ⋅ω2(t),
, ( ):
CT=2.02268⋅10−4H⋅c2,
MM≈0 ⋅⋅2 — ,
ω(Ť) – , /. - () , , , . (4 , 4 ) . , - – , . , FM(t) [], , , . , , ( ) .
- : ) , ) , . I B ( inertial – body – ). : xI-, yI- , zI-, xB — , yB- , zB- (. ):
, B :
→rM1=(l1,0,0)T, →rM2=1√2(l2,l2,0)T→rM3=(0,l1,0)T, →rM4=1√2(−l2,l2,0)T→rM5=(l1,0,0)T, →rM6=1√2(−l2,−l2,0)T→rM7=(0,−l1,0)T, →rM8=1√2(l2,−l2,0)T
l1 – 1, 3, 4 5- , l2 – 2, 4, 6 8- .
( ) , , ( 1…5 , – ). γ, :
→eM1=(0,−sin(γ),−cos(γ))T, →eM2=(−sin(γ)√2,sin(γ)√2,−cos(γ))T,→eM3=(sin(γ),0,−cos(γ))T, →eM4=(−sin(γ)√2,−sin(γ)√2,−cos(γ))T,→eM5=(0,sin(γ),−cos(γ))T, →eM6=(sin(γ)√2,−sin(γ)√2,−cos(γ))T,→eM7=(−sin(γ),0,−cos(γ))T, →eM8=(sin(γ)√2,sin(γ)√2,−cos(γ))T.
(, B, ) , . , , .
[1]. - , . :
4.1) . zI. – , . ( , , ).
4.2) – 8, , .
4.3) (/ ) – . , ( ). – , « » ( ).
4.4) – . .
- , :
5.1) . , - – . .
5.2) – , .
5.3) – , , .
5.4) .
5.5) – .
5.6)VMG推力产生的力矩。由于螺旋桨不在直升机的重心上,因此每个螺旋桨都会产生自己的转弯力矩。这也许是决定飞机在太空中方位的主要因素。
八旋翼动力学的三个非线性方程
考虑到公认的假设以及将直升飞机建模为单个刚体这一事实,直升飞机动力学模型的基础非常简单-这是牛顿第二定律,在矢量形式下看起来像这样,只有两个简单方程式:
d→p(t)dt=→F(t),d→L(t)dt=→M(t),
哪里 →p(t))=m⋅→v(t)是直升机的冲动,并且 →L(t)=I(t)⋅→ω(t) -直升机的角动量, m -它的质量, I(t) -惯性张量(惯性矩的线性算子)。 →F(t) 和 →M(t) 直升机上所有力量和所有瞬间之和的本质。
, , , ( ). - , - , , , , . – , , B, , ( ) . [1], .
将直升机的动量和角动量的值代入牛顿第二定律的给定方程式中,对于惯性坐标系,我们得到:
d→vI(t)dt=1m→FI(t),d→ωI(t)dt=I−1(→MI(t)−dIIdt⋅→ωI).
在这些等式中,数学上,右手侧非常复杂,并且由于与直升机相关联的坐标系旋转,因此无法轻松获得相关联的坐标系B(其中右手侧更简单)中的动力学方程。
– . , – . . : φ (roll), θ (pitch) / ψ (yaw), I B RIB RBI=RTIB, I, B, , , : →FI(t)=RBI→FB(t), →FB(t)=RIB→FI(t).
, : I , , B. , , →F(t) ( ), . – . – , , . , , . .
- , , , B. , →ωB(t) →vB(t), ( – ) I , , .
I B, cos() = c() sin() = s():
RIB==(c(θ)⋅s(ψ)c(θ)⋅s(ψ)−s(θ)s(φ)⋅s(θ)⋅c(ψ)−c(φ)⋅s(ψ)s(φ)⋅s(θ)⋅s(ψ)+c(φ)⋅C(ψ)s(φ)⋅c(θ)c(φ)⋅s(θ)⋅c(ψ)+s(φ)⋅s(ψ)s(φ)⋅s(θ)⋅s(ψ)−s(φ)⋅c(ψ)c(φ)⋅c(θ))
再次注意,该矩阵在每个时刻显然都不同,因为 直升机的方位角发生变化。但是这些只是代数计算,没有任何微分方程。矩阵本身不是常数,它具有时间导数。
通过结构建模方法实现的SimInTech环境中的矩阵如图1所示。
图1.从系统I到坐标系B的旋转矩阵
然后,对于线速度的矢量,您可以编写:
→vB(t)=RIB⋅→vI(t),
→LB(t)=RIB⋅→LI(t).
d→vBdt=−→ωB(t)×→vB(t)+1m→FB(t),
对于第二个方程,考虑到 →LB(t)=IB⋅→ωB(t),
并且由于在旋转的边界坐标系中,惯性张量是一个常数,并且其时间导数等于零,并且d→LB(t)dt=IB⋅d→ωB(t)dt 我们得到:
d→ωBdt=I−1B(→MB(t)−→ωB(t)×(IB⋅→ωB(t))).
总之,与原始方程相比,旋转框架B的牛顿定律的记录II补充了两个向量积。
( 6 ) – . 6 – . 6 , SimInTech Simulink Scilab .
( B), I, , , , .
我们尚未根据方程式完成的唯一事情是,我们还没有写出作用在直升机上的力和力矩的表达式。下面在B坐标系中进行操作。根据这些假设,我们考虑并用指数表示:M-发动机的工作,仅就产生的推力和力矩而言,D-空气阻力(与风共同作用),O-外部干扰,通常为零,并且用户可以任意设置重力-它不会产生力量的转折时刻:
→FB(t)=→FM(t)+→FD(t)+→FO(t)+m⋅g⋅RIB⋅→eIZ→MB(t)=→MM(t)+→MD(t)+→MO(t)
链接坐标系中的重力将根据飞机的方向“旋转”。
让我们更详细地写出这些术语等于什么:
→FM(t)=CT⋅ω2M1(t)⋅→eM1+CT⋅ω2M2(t)⋅→eM2+CT⋅ω2M3(t)⋅→eM3++CT⋅ω2M4(t)⋅→eM4+CT⋅ω2M5(t)⋅→eM5+CT⋅ω2M6(t)⋅→eM6++CT⋅ω2M7(t)⋅→eM7+CT⋅ω2M8(t)⋅→eM8
这里已经提到了VMG而不是直升飞机的旋转角速度。回想一下,牵引力的单位矢量是为坐标系B编写的,并且它们是常数-很明显,它们可以计算1次,总系数在这里被排除在外,可以大大简化计算。如果我们要写下系统I中的动力学方程,则该表达式将通过每个ort的旋转矩阵增加8个以上的乘法,并且在计算的每个步骤中都必须考虑该表达式。
空气阻力(无风时):
→FD=−0.5ρ⋅CD⋅(Ayz⋅vx⋅|vx|Axz⋅vy⋅|vy|Axy⋅vz⋅|vz|)
外部干扰-零,应用户要求,他可以稍后在计算之前或在模拟过程中设置该值或该值。
我们将发动机推力的力矩写为:
→MM(t)=→rM1×→eM1⋅CT⋅ω2M1(t)+→rM2×→eM2⋅CT⋅ω2M2(t)++→rM3×→eM3⋅CT⋅ω2M3(t)+→rM4×→eM4⋅CT⋅ω2M4(t)++→rM5×→eM5⋅CT⋅ω2M5(t)+→rM6×→eM6⋅CT⋅ω2M6(t)+→rM7×→eM7⋅CT⋅ω2M7(t)+→rM8×→eM8⋅CT⋅ω2M8(t)
空气阻力力矩(有关更多详细信息,请参见[1]):
→MD=−0.5ρ⋅CD⋅(Ayz⋅vx⋅|vx|⋅lxAxz⋅vy⋅|vy|⋅ly8Axy⋅vz⋅|vz|⋅lz)
再次注意,为简洁起见,本文中省略了HMG的进动力矩和反应力矩的计算。
为避免在轴上写出从向量到标量方程的过渡时出错,可以更轻松地利用MathCAD或Maple类型的软件包,在其中可以以符号形式自动执行大多数转换,并获得由Bed和的移动系统的轴记录的所需的6个动力学方程。
以最紧凑的形式,获得和求解的动力学方程式如下:
d→vBdt=1m(→FM(t)+→FD(t)+→FO(t))+gRIB→eIz−→ωB(t)×→vB(t),d→ωBdt=I−1B(→MM(t)+→MD(t)−→ωB(t)×(IB⋅→ωB(t)).
通过对它们进行积分并获得B系统中的速度值,可以计算出惯性坐标系I中的速度和方向角:
→vI(t)=RBI⋅→vB(t),(˙φ˙θ˙ψ)=WBI⋅→ωB(t).
关于从直升机的角速度到欧拉角的转弯速率的转换矩阵 WBI 请参阅[1]中的详细信息。
3
– SimInTech. , , – . , , – . , , .
, – B 2 , ( ) 6 , 6 : . 6DOF , .. . , 6 , 6 ( ). . , ( ) – . , 12 . , , 18 . , 12 6 ( ) .
3.1
– , «», , . – 6- , . 2.
2 «» , 6+3+3 «». , ( ) – aBx,aBy,aBz,ωBx,ωBy,ωBz, – (, ).
I ( B ) , ,
, «» , ( ) I, B WBI. .
2.
« » « » – , 1 .
– ( a = F/m), x, 3:
3.
, .. - , – . , SimInTech ( , ).
W(B->I) B , . 4 [1] .
4. WBI
3.2
, 2 xB,yB,zB并在SimInTech电路中绘制结果。省略计算(读者可以在一张纸上或借助某些符号数学软件独立地执行计算),我们给出了方程的最终形式。由于麻烦,我们将在右侧用术语引用。
螺旋桨组的牵引力 →FM(t):
F(t)=1√2(−F2(t)−FM4(t)+FM6(t)+FM8(t))⋅sin(γ)++(FM3(t)−FM7(t))⋅sin(γ),F(t)=1√2(F2(t)−FM4(t)−FM6(t)+FM8(t))⋅sin(γ)++(FM5(t)−FM1(t))⋅sin(γ),Fz(t)=(FM1(t)+F2(t)+FM3(t)+FM4(t)++FM5(t)+FM6(t)+FM8(t)+FM8(t))⋅cos(γ),
哪里 FMi(t) 是当前第i个VMG的牵引力。
空气阻力 →FD(t) 在没有风的情况下-上面给出了公式,预测将相等:
重力,在移动坐标系的轴上的投影中,术语 g⋅RIB⋅→eIz 显然等于:
g⋅RIB⋅→eIz=(−sin(θ)sin(ϕ)⋅cos(θ)cos(ϕ)⋅cos(θ))
– :
−→ωB(t)×→vB(t)=(vBz⋅ωBy−vBy⋅ωBzvBx⋅ωBz−vBz⋅ωBxvBy⋅ωBx−vBx⋅ωBy).
, SimInTech, , , 5, 6 7 ( xB, ):
5. xB.
6. xB.
7. xB.
, ( 2 – ). . , – :
→Mm(t)+→MD(t)−→ωB(t)×(IB⋅→ωB)
所有VMG的牵引力矩之和:
MMx(t)=[l2√2(−FM2(t)−FM4(t)+FM6(t)+FM8(t))++l1(FM7(t)−FM3(t))]⋅cos(γ),MM(t)=[l2√2(FM2(t)−FM4(t)−FM6(t)+FM8(t))++l1(FM1(t)−FM5(t))]⋅cos(γ),MMz(t)=[l2(FM2(t)+FM4(t)+FM6(t)+FM8(t))+−l1(FM1(t)+FM3(t)+FM5(t)+FM7(t))]⋅sin(γ).
空气阻力力矩(无风时):
MDx(t)=−0.5⋅ρ⋅CD⋅Ayz⋅ωBx⋅|ωBx|⋅lx,MD(t)=−0.5⋅ρ⋅CD⋅Axz⋅ωBy⋅|ωBy|⋅ly,MDz(t)=−0.5⋅ρ⋅CD⋅8⋅Axy⋅⋅ωBz⋅|ωBz|⋅lz.
角速度的矢量乘积与惯性张量和角速度的乘积:
−→ωB(t)×(IB⋅→ωB(t))=((Iyy−Izz)⋅ωBy⋅ωBz(Izz−Ixx)⋅ωBx⋅ωBz(Ixx−Iyy)⋅ωBx⋅ωBy).
因此,将这些项代入角速度的微分方程,并实现在SimInTech环境中获得的项后,我们得到以下结构图:
图8.直升机绕轴的角加速度 xB...
图9. VMG绕轴的推力力矩 xB...
图10.旋转时的空气阻力 xB...
3.3结构形式的八旋翼动力学方程组
, , ( 11). , , . (, , ), 6+ , , , . 12.
11. .
12. , .
, SimInTech, .
( , ), ( ) . , // - — , .
, () – B I, – I ( B .. – ).
, .
- Design, Modeling and Control of an Octocopter, Oscar Oscarson, Royal Institute of Technology 2015
- Development, Modelling and Control of a Multirotor Vehicle, Markus Mikkelsen, Umeå University 2015.