1 四旋翼动力学模型
表1 四旋翼模型参数Tab.1 Quadrotor model parameters |
符号 | 含义 | 数值 |
---|---|---|
m | 四旋翼质量 | 0.875 kg |
g | 当地重力加速度 | 9.8 m/s2 |
L | 质心到旋翼转轴长度 | 0.225 m |
CT | 旋翼升力系数 | 1.0792×10-5 |
CQ | 旋翼扭矩系数 | 1.8992×10-7 |
R | 旋翼半径 | 0.125 m |
ρ | 当地空气密度 | 11.69 kg/m3 |
Ix | 绕机体x轴的转动惯量 | 9.5065×10-3 |
Iy | 绕机体y轴的转动惯量 | 1.00×10-2 |
Iz | 绕机体z轴的转动惯量 | 1.658×10-2 |
M(q) +C(q,p)p+F(p,q,u)=0
r1={6}; H1=IdentityMatrix[6]; q1={ϕ, θ, ψ, x, y, z}; p1={p, q, r, u, v, w}; JointLst={{r1, H1, q1, p1}}; |
com1={0, 0, 0}; mass1=m; out1={2, {0, 0, 0}}; Inertia1={{Ix, 0, 0}, {0, Iy, 0}, {0, 0, Iz}}; BodyLst={{com1, {out1}, mass1, Inertia1}}; |
TreeLst={{{1, 1}}}; |
PE=0; Q={U2, U3, U4, 0, 0, U1}; |
{V, JX, JH, M, Cp, Fp, p, q}=CreateModel[JointLst, BodyLst, TreeLst, g, PE, Q, V, JX, JH]; Equations=MakeODEs [p, q, V, M, Cp, Fp, t] |
2 基于DDPG的四旋翼姿态控制器设计
2.1 DDPG算法原理
η'←τη+(1-τ)η'
2.2 控制器设计
2.2.1 状态空间和动作空间
2.2.2 奖励函数
2.2.3 神经网络设计
3 仿真分析
表2 平台参数Tab.2 Platform parameters |
操作系统 | CPU | GPU | 内存 |
---|---|---|---|
Win10 | 9代i7 | NVIDIA GeForce GTX 1650 | 16 GB |
表3 算法模型参数Tab.3 Algorithm model parameters |
符号 | 含义 | 数值 |
---|---|---|
c_lr | Critic网络学习率 | 0.001 |
a_lr | Actor网络学习率 | 0.000 1 |
M | replay buffer容量 | 100 000 |
γ | 折扣因子 | 0.99 |
τ | 软更新率 | 0.002 |
N | 单次训练样本数 | 128 |
μ | OU噪声均值 | 0 |
θ | OU噪声均值项系数 | 0.15 |
δ | OU噪声布朗运动项系数 | 0.2 |