-
先来了解一下
P
项、
I
项和
D
项的基本内容。这里只用通俗语
言简单解释,给出一些简单实
用的调整方法。有需要深入研究的用户,请自行查阅相关资
料。
P
项相当于一个变化率,数值越大,
变化越快。假设“俯仰到升降通道”的
P
值为
< br>60
时,机头从上抬
20o
到变
回水平位置,需要
5
秒钟时间,那么
P
值为
30
时,这个时间就大
于
5
秒(比如
10
秒),
P
值为
120
时,这个时间就小于
5
秒(比如
2.5
秒)。
D
p>
项相当于一个“阻尼器”,数值越大,阻尼越大,控制越“硬”。如果飞机在水平直
飞时,在横滚方向上老是振荡,那么可以调小“副翼通道”的D值,如果飞机在横滚方向上
的增稳效果不好(即偏离水平位置后很难再回复到原来状态),那么可以调大该
D
值。
p>
I
项相当于一个“加分器”,使控制量更贴近目标量,但也有可能“
加过头”了。例如
:
如果要使飞机从
1
00
米爬升到
200
米,而飞机只爬到
199
米就不再爬升,那么,此时需要
增大
I
值;但如果飞机爬到
201
p>
米才停下来,那么,此时应该减小
I
值。<
/p>
下面简单描述一下在试飞调试阶段进行
PID
参数调整的步骤。
第一步
:规划并上传一个矩形航线。高度不要太高,比如
50
米,这样
便于肉眼观察高
度变化。
第一个航点和最后一个航点距离稍微近
点,相邻航点间距离为
300
米
~40
0
米为宜。
让飞机在视野范围内压线飞行。
第二步:切入自动模式,让飞机沿着这个航线飞行。
第三步:看增稳控制效果。
先使用
默认参数。副翼通道上:
P=95,I=5,D=8
。俯仰到升
降通道:
P=95
,
I=3
,
D=8
。注
意到各项目
上类似于“
P/128
”的字样,其中“
P
”指
P
项,“
128
”是可以输入的最大值。
此外,每个项目上能填入的
最小数值为零。
横滚和俯仰上的调整方法类似,此处只讲横滚。
p>
如果飞机在横滚方向上左右振荡,那么同时调小
P
< br>值和
D
值,
I
< br>值一般固定不动。
如果飞机在横滚方向上的增稳效果
不好,
那么同时调大
P
值和D值,
p>
I值一般固定不动。
第四步:试着改变目标高度,看定高效果。
p>
如果飞机爬升或俯冲速度太慢,就增大“高度到俯仰角”的
P
值,反之减小
P
值。如果
在爬升或俯冲过程中,机头振荡得厉害,就减小“高度到俯仰角”的
D
值。最后,如果飞
机无法爬升到预设高度,就增大“高度到俯仰角”的
I
值,相反减小I值。
p>
★在这里,
调大
P
值,
一般是把初始俯仰角调大,
调小
P
值,
一般是把初始俯仰角调小。
参考前
文关于位置控制的解释,就能理解这里的意思。如果不能理解,就不要深究。
第五步:看飞机在到达航点时的转弯效果。
p>
如果转弯速度太慢,就增到“方向舵通道”的
P
值,反之减小
P
值。如果转弯时机头来
回振荡,就减小
D
值,如果转弯时机头上没有阻尼的感觉,
就增大D值。
★在这里,
调大
P
值,
一般是把初始倾斜角调大
,
调小
P
值,
一般是把初始倾斜角调小。
参考前文关于位置控制的解释,就能理解这里的意思。如果不
能理解,就不要深究。
第六步:看飞机的压线效果。
如果飞
机切入航线时的速度太慢,就增大“偏侧距”的
P
值,反之减小
P值。如果飞机
在航线上左右扭动,就减小“偏侧距”的
D
p>
值,而如果没有阻尼的感觉,就增大D值。
★在这里,调大
P
值,一般是把初始夹角调大,调小
P
值,一般是把初始夹角调小。参
考前文关于位
置控制的解释,就能理解这里的意思。如果不能理解,就不要深究。
super_mice
的专栏
[
原
]
四旋翼飞行器
Quadrotor
飞控之
PID<
/p>
调节(参考
APM
程序)
2014-8-8
阅读
10
860
评论
43
做
四轴也有一段时间了,
最近一直在做
PID
方面的工作。
现在四轴基本可以实现室内比较稳定的飞行,
操控手感也可以接受。稍后上试飞视频。在此把一些
PID
方面
的经验总结总结和大家分享一下。
首先介绍一下大概的硬件组成:
MCU
:
Freescale
MK60D
传感器(
IMU
):
GY-86
模块(
MPU6050 + HMC5883L + MS5611
)
433MHz
数据传输模块
DC-DC
可调式开关稳压模块
遥控设备:
JR
XG7
发射机
+ JR
611B
接收机
机架:普通红白
p>
f450
机架
电
机:朗宇
2212kv880
高效能电机(黑色)
电调:天行者
40A
桨:仿
APC1047
电池:
DUPU 2200mah
25c
电路很简单用洞洞板搭的简易测试电路。
软件方面最主要的是姿态解算,最
终用的是
MPU6050
的
DMP
p>
(
Digital Motion Process
)输出,遥控
器控制的目标姿态也是四元数表示的。
为
了有较好的线性度,
将两者的姿态差转换为欧拉角后再进行
PI
D
的控制。
下面进入正题。
PID
算法很大程度上参考了
APM
(国外成熟开源飞控项目,官网点击打开链接)的
控制算法。它是采用的角
度
P
和角速度
PID
< br>的双闭环
PID
算法。角度的误差被作为期望输入到角速
度控制器中。双闭环
PID
相比传统的
单环
PID
来说性能有了极大的提升,笔者也曾经调试过传统的
PID
控制算法,即便参数经过了精心调整和双环控制算法相比
在控制效果上的差距依旧很大。无论是
悬停的稳定性,打舵时的快速跟随性和回正时的快
速性上都是后者的效果明显优于前者。
大概介绍一下
APM
算法的大概流程。这个
PID
控制流程图可以在
APM
官网找到。笔者参考的是
APM3.1.0
的代码和图上
2.9
版本的有一点点出入,不影响大局(控制频率
100hz
)。
横滚(
Rol
l
)和俯仰(
Pitch
)的控制算法
是一样的,控制参数也比较接近。首先得到轴姿态的角度差
(
a
ngle error
),将这个值乘以角度系数
p
后限幅(限幅必须有,否则剧烈打舵时容易引发震荡)作
为角速度控制器期
望值(
target_rate
)。
t
arget_rate
与陀螺仪得到的当前角速度作差,得到角速度误差
(
rate_error
)乘以
kp
得到
P
。在
I
值小于限幅值(这个值大概在
5%
油门)或者
rate_error
与
i
值异号
时将
rate_error<
/p>
累加到
I
中。
前
后两次
rate_error
的差作为
D
项,
值得注意的是加需要入
20hz
(也可以
采用其它合适频率)滤波,以避免震荡。将
P,I,D
三者相加并限幅(
50%
油门)得到最终
PID
输出。
偏航(
Yaw
)的控制算法和前两
者略有不同,是将打舵量和角度误差的和作为角速度内环的期望值,
这样可以获得更好的
动态响应。
角速度内环和横滚与俯仰的控制方法一致,
参数
p>
(积分限幅值会很小,
默认只有万分之
8<
/p>
)上有不同。
把
APM
的算法移植过来,限幅值也移过来之后就可以进行
PI
D
参数调整了。一般先进行横滚或俯仰
方向的调整。
把四轴固定起来,
只留一个待调整方向的旋转自由度
(简直就是旋转
“烤四轴”
有木有)
。
笔者稍后奉上调试时使用的装置。
强烈建议调试时带上厚的防
护手套,
不然的话我的手早就被被打烂
左右两个直线轴承,
用几颗自攻螺丝拧在桌子上
(可怜的桌子
)
,
插上铝合金管
(外径
12mm
,
壁厚
2mm
,注意要调整两个直线轴承的位置使它们同轴),两头用角铁限位也
是拧在桌子上
。把四轴用胶带
+
扎带绑
在上面即可开始“烤四轴”。
大概过程(注意修正反向):
1
、估计大概的起飞油门。
2
、调整角速度内环参数。
3
、将角度外环加上,调整外环参数。
4
、横滚俯仰参数一般可取一致,将飞机解绑,抓在手中测试两
个轴混合控制的效果(注意安全),
有问题回到
“
烤四轴
”
继续调整,直至飞机在手中不会抽搐。
p>
5
、大概设置偏航参数(不追求动态响应
,起飞后头不偏即可),起飞后再观察横滚和俯仰轴向打舵
的反应,如有问题回到
“
烤四轴
”
。
6
、横滚和俯仰
o
k
以后,再调整偏航轴参数以达到好的动态效果。
过程详解:
1
、要在飞机的起飞油门基础上进行
PID
参数的调整,否则“
烤四轴”的时候调试稳定了,飞起来很
可能又会晃荡。
2
、内环
的参数最为关键!理想的内环参数能够很好地跟随打舵(角速度控制模式下的打舵)控制量。
在平衡位置附近(正负
30
度左右),舵量突加,飞机快速
响应;舵量
回中,飞机立刻停止运
动(几乎没有回弹和震荡)。
2.1
首先改变程序,将角度外环去掉,将打舵量作为内环的期
望(角速度模式,在
APM
中叫
ACR
O
模式,在大疆中叫手动模式)。
2
.2
加上
P
,
P
太小,不能修正角速度误差表现为很“软”倾斜后难以修正,打舵响应也差。
P
太大,
在平衡位置容易震荡,打舵回中或给干
扰(用手突加干扰)时会震荡。合适的
P
能较好的对打舵进行<
/p>
响应,又不太会震荡,但是舵量回中后会回弹好几下才能停止(没有
D
)。
2.3
加上
D
,
D
的效果十分明显,加快打舵响应,最大的作用是能很好地抑制舵量回中后的震荡,可
谓
立竿见影。太大的
D
会在横滚俯仰混控时表现出来(尽管在“烤
四轴”时的表现可能很好),具
体表现是四轴抓在手里推油门会抽搐。如果这样,只能回
到“烤四轴”降低
D
,同时
P
也只能跟着降
低。
D
调
整完后可以再次加大
P
值,以能够跟随打舵为判断标准。
2.4
加上
I
p>
,会发现手感变得柔和了些。由于笔者“烤四轴”的装置中四轴的重心高于旋转轴,这决
p>
定了在四轴偏离水平位置后会有重力分量使得四轴会继续偏离平衡位置。
I
的作用就可以使得在一定
角度范围内(
< br>30
度左右)可以修正重力带来的影响。表现打舵使得飞机偏离平衡位置,舵量回
中后
飞机立刻停止转动,若没有
I
或太
小,飞机会由于重力继续转动。
-
-
-
-
-
-
-
-
-
上一篇:a卡战未来是什么意思
下一篇:仁爱英语七年级下册翻译练习