目录
文章目录
目录
摘要
1.自稳模式初始化
2.自稳模式更新函数
**这个代码主要把横滚输入,俯仰输入量转换成目标角度需要的范围,也就是+4500,-4500**
3.姿态角速度代码控制过程分析
4.电机PWM控制运算
摘要
本节主要记录自己学习ardupilot飞控代码的姿态角速度的控制过程 分析过程:主要从ardupilot自稳模式开始,然后到角速度控制,最后到输出PWM控制电机实现无人机的基本运动模式的过程。思考:无人机工作在自稳模式,需要输入的是什么,自稳模式工作后输出了什么,输出的值怎么传到姿态角速度控制,姿态角速度控制最后输出了的PID怎么控制无人机的?
1.自稳模式初始化
从bool Copter::set_mode(control_mode_t mode, mode_reason_t reason)函数开始 寻找自稳模式初始化: success = stabilize_init(ignore_checks); //姿态自我稳定模式
bool Copter::stabilize_init(bool ignore_checks)
{
// if landed and the mode we're switching from does not have manual throttle and the throttle stick is too high
//如果着陆,我们切换的模式不能是手动控制模式并且油门值不能太高,否则返回。
if (motors->armed() && ap.land_complete && !mode_has_manual_throttle(control_mode) &&
(get_pilot_desired_throttle(channel_throttle->get_con
|