调整ArduCopter 参数 如果你使用的机身不是官方 ArduCopter 套件,你可能需要改变一些 PID设置(PID 是比例-积分- 微分的简称,是一个标准的控制方法。更多的资料在这里)。在此页底部的有一个PID的全面的指导。 你可以在任务规划器的配置选项卡中以交互方式调整 PID: 基本性能故障排除
- 我的多旋翼在稳定模式下缓慢震荡(大幅运动): 降低 STABILIZE_ROLL_P, STABILIZE_PITCH_P.
- 我的多旋翼在稳定模式下***震荡(小幅运动): 降低 RATE_ROLL_P, RATE_PITCH_P.
- 我的飞机过于迟钝: 降低 RATE_ROLL_P, RATE_PITCH_P, 和/或增加 STABILIZE_ROLL_P, STABILIZE_PITCH_P.
- 我调整了 Rate_P,还是不行: 也许你的 STABILIZE_P gain 增益过高。降低一点(见上文),并再次尝试调整 RATE_P.
- 我的飞机在起飞时向左或向右旋转15°:你的电机不直或着电调没有校准。扭转电机,直到他们都直了。运行ESC校准程序。
- 激烈飞行后我的飞机偏向一方 10 - 30°: 如该文所述,焊接 IMU 的滤波器U。你可以在 system.pde 里调整漂移校正。如果需要,大概调高0.5。此外,降落30秒,然后继续飞行。
- 我的飞机无法在空中保持完全静止: 确保在飞机的重心在正中心。然后在水平面上运行水平命令(保持关闭状态15秒,调用该功能)。你也可以在无风的环境(重要)使用自动微调模式飞行。任何风将导致四轴旋转180度后你的修改产生相反的作用。你可以使用遥控俯仰和横滚微调,但记得在用配置工具设置遥控时,要把它们放回中心。我不喜欢使用发射微调,但永远不要使用偏航微调。(四轴也很容易受到紊流的影响。他们将需要不断的修正,除非你安装一个光流传感器。某天……)
- 我的飞机飞行很好,但后来在悬停时一条电机臂奇怪地下降了: 你的电机坏了。你的***插头可能有问题,但更可能的是轴承坏了或轴弯得很厉害。轴承坏了的电机需要更多的电力来旋转。ESC 可能切断供电来保护自己。或者降低转速来应付电机。在电池和电机之间连接一个电流传感器,测试好电机和坏电机的区别。如果你看到在坏电机上电流更大,更换或修复它。
- 在盘旋模式,飞机一直飞得太过头: 试试增加 D 项.
- 我的设置保持 10 英尺高度,实际只有 3-5 英尺: 这实际上就是能实现的最好情况。气压传感器对光线和风力敏感。使用毡盖防风,并确保你不没有堵上孔和密封传感器。
- 我的飞机在高度保持模式下逐渐上升或下降。甚至最后降到地上:你的 D 项太低,或者 P 项太高。高度保持模式不需要很大的 P 。想想多少你要移动油门来恰好保持高度。不多!这就是你需要 P 做到的。当电池电量降低时,I 将上升以补足差额。D 将防止高度变化太快。
- 我安装了声纳,但是不能工作. 你的声纳可能接受了 ESC 的电子噪音。确保离任何电调数英寸远,可能的话尝试屏蔽导线。
飞行调整 你可以在飞行中调整参数。主要需要调整的是 Rate_P 值。此值调整你的直升机是否:
- 失控(过低)
- 稳定(恰到好处)
- 呆滞(有点太高)
- 或摆动(太高)
在测试自动模式时另一个非常有用的选项是设置 Pitch Max。这将控制飞机飞向航点的速度有多快。 一个较低的值将组织飞机导航,高值将导致在直升机飞向航点的速度非常快。 交互式 PID演示 你可以玩一下这些 Flash 演示程序,感觉一下 PID如何工作。点击箭头改变值,或者输入新值。点击左边演示程序的背景,让它读取你的空格键。在程序中Stabilize P 已经过时了,我们现在叫它 Rate_P. PID 如何工作: P 与误差直接成比例。如果你倾斜 25°,并想回到 0°,那么得到误差-2500 x 0.54 作为方程的输出。这之后转换为 PWM(x 0.1),得到的值(135pwm)发送给电机以修正角度。 因此,D 代表与变化率成正比的反对力量。因此,如果你旋转得太快, D将用来抵抗旋转,使你慢下来。 大部分人有短的机臂和强大的马达,这意味着他们的直升机将始终修正角度的速度太快。因此,一个小的 D 项用来减慢这个速度。 P 和 D 之间的张力就是使飞机灵活的原因。 可以想到,过大的反对力量会给你相反的效果。它不会你慢下来,而会扭转你!因此,D 可能会太大。不要使 D 为负因素,这只会令原来的过冲问题变得更糟。如果你有一个很慢的直升机,你根本不需要 D,但它会表现地很慢。 I 是一个在长时间上来纠正误差的值。它慢慢克服阻止误差减小的外力。I 由误差乘以 I 项再累加得到。 I 项决定了达到最大值(iMax或最小值)的时间。 AC2的新控制器就是上述思想的一个变种。我们读取角度错误,并生成所需的旋转速率。这种旋转速率(度)与当前速率相比,并乘以Rate_P。该值将被转换成PWM发送到电机。
|