pixhawk自动降落控制静电吸附装置

1.使用固件:apm

2.使用场景:无人机携带静电吸附装置,降落到被吸附物上方,pixhawk输出信号,使静电吸附装置通电产生吸力吸起被吸附物

2.控制思路:定义一个标志变量,这个变量用来决定是否输出信号,初始化为假,当判断到无人机已经位于目标物上方,将无人机降落,并且置为真,同时飞控输出信号

3.固件修改:

(1)对应文件位置:..\ardupilot-master\ArduCopter\Copter.cpp

该文件是apm固件中旋翼无人机的主逻辑所在处,如下图红框所示

pixhawk自动降落控制静电吸附装置_第1张图片

 首先在该文件内定义变量absorb_flag(吸附标志),如上图蓝框所示

bool absorb_flag = false;

(2)修改哪个函数:void Copter::one_hz_loop()

该函数是飞控以一赫兹频率调用的函数,包含大量逻辑代码

pixhawk自动降落控制静电吸附装置_第2张图片

首先加入识别到目标物就自动降落的代码

pixhawk自动降落控制静电吸附装置_第3张图片

 

在其中再增加如下代码

if(prev_control_mode!=Mode::Number::Land&&control_mode==Mode::Number:Land){
    absorb_flag=!absorb_flag;
}

这部分是说,如果之前的飞行模式不是降落模式,而目前处于降落模式,就将标志取反。

再加入以下代码用来输出信号,输出的pwm信号是pixhawk上某一输出口的输出电压,这个电压可以驱动静电吸附装置的开关通断

pixhawk自动降落控制静电吸附装置_第4张图片

 

你可能感兴趣的:(pixhawk飞控,单片机,嵌入式硬件)