目录
摘要
本节主要对ardupilot的高度控制器的和新控制部分进行在分析。ardupilot的高度控制器采用三级串级PID控制算法,即垂直位置、垂直速度、垂直加速度的三级控制。这里主要假定采用遥控器进行定高控制,首先获取遥控器油门通道的值,进而转换成垂直方向上的爬升率。爬升率进一步转换成垂直目标速度,根据目标速度调整垂直目标高度信息。
根据设定的目标高度与实际的高度的误差调用开平方控制算法得到垂直方向上的目标速度控制量,并对目标速度进行限制;然后根据当前垂直方向上的目标速度与从惯导获取的垂直速度的误差调用垂直速度PID算法的比例控制得到垂直方向上的目标加速度控量,并对目标加速度进行速度前馈;最后进行垂直方向上加速度的PID控制,最终把加速度PID控制量的输出转换成控制电调的PWM信号,结合悬停油门值调节四个电机的转速的大小实现垂直升降,已达到目标高度的过程。
1.高度控制器整体控制流程图
2.如何获取目标高度?
进行高度控制,那么我们首先要得到目标高度。对于ardupilot中目标高度的获取大致主要来自下面三种情况:
1.遥控器的油门值转换成爬升率进而转化成目标高度
2.手机APP发送给无人机的目标高度
3.地面站发送给无人机的目标高度值
本节主要针对第一种情况进行阐述,对于其他两种情况会在自动飞行模式控制中讲述。对于遥控器的油门值转换成爬升率进而转化成