目录
文章目录
摘要
本节主要记录自己学习ardupilot 航线规划代码的过程。
整体思路:无人机操作者通过手机APP或者Missionplanner软件,规划任务航线,航线规划完成后,借助无线通信模块(蓝牙/数传),把规划好的航线发送到无人机的飞控蓝牙或者数传接收端,飞控对蓝牙或者数传接收到的数据进行解析,把收到的航线任务存放到EEPROM中,为将要执行的航线任务做好了航点准备。此时采用手机APP或者Missionplanner发送解锁,起飞命令,然后切换AUTO模式,无人机开始执行auto模式,在auto模式下,无人机会不停的从EEPROM中读取目标任务点与实际的任务点进行对比,然后通过位置PID控制,姿态PID控制,最终输出需要的控制量的PWM到无人机的电调,进而实现控制电机的旋转大小,来实现无人机位置的调节,以实现航线任务规划。
1.接收外部mavlink数据
SCHED_TASK(gcs_check_input, 400, 180), //检测输入
void Copter::gcs_check_input(void)
{
gcs().update(); //其中GCS_Copter &gcs() { return _gcs; }
}
void