任务名称
2020年_D题:绕障飞行器
任务要求
难度

一、任务

基于多悬翼飞行器设计一个绕障飞行器(简称飞行器)。飞行器活动区域示意图如图 1 所示。在图 1 中,地面上标有起飞点与降落点,并且还放置了 2 个杆塔;起飞点用空心黑色矩形框标识,降落点实心黑色圆标识,杆塔有红、绿两种颜色。 

二、要求

  1. 飞行器从起飞地点垂直起飞升高到 150cm±10cm 的巡航高度。 (15 分)
  2. 巡航飞行中发现杆塔,以声音提示,并用与所发现杆塔相同颜色的 LED 闪烁数次指示。 (20 分)
  3.  在巡航高度以杆塔为中心,绕所发现的杆塔抵近飞行一周(360°及以上);绕飞时飞行器与杆塔最近点距离在 50±10cm;红色杆塔时飞行器沿顺时针方向(顶视)绕飞,绿色杆塔时飞行器沿逆时针方向(顶视)绕飞。 (30 分)
  4. 飞行区域中所有杆塔均被发现并识别、绕飞后,寻找降落点标识缓慢平稳准确地降落在降落区域内。 (10 分)
  5. 整个飞行过程用时不得超过 5 分钟,按用时计分,越快越好。 (15 分)
  6. 其他。 (10 分)
  7. 设计报告 (20 分)

三、说明

  1. 杆塔说明
    • 杆塔高度不低于 180cm,直径 3.5 cm±+0.5cm;
    • 杆塔用红色或绿色喷涂或包裹,飞行区域中两个杆塔为一红一绿,;
    • 杆塔可在飞行区域随意指定放置,杆塔间距离不小于 150cm。
  2. 飞行器要求:
    • 参赛队所用飞行器应遵守中国民用航空局的管理规定(《民用无人驾驶航 空器实名制登记管理规定》,编号:AP-45-AA-2017-03)。
    • 多旋翼飞行器最大轴间距不大于 420mm。
    • 为确保安全,飞行器桨叶必须全防护(防护圈将飞行器或桨叶全包),否则不得测试;测试区应设置防护网。
    • 飞行器不得有“无线通信及遥控”功能。
    • 飞行器采用唯一的启动按键一键启动。
    • 除飞行器机械构件、飞行控制(电调)、摄像功能模块外,绕障飞行器其他功能的实现不得采用飞行器集成商提供的组件,必须自主设计完成。
  3. 测试场地说明
    • 测试场地地面采用白色纸质材料(亚光)铺设;
    • 起飞、降落标志固定,起飞标识可采用宽度为 1.8cm 黑色电工胶带粘贴而成;
    • 测试现场应避免窗外强光直接照射,避免高照度点光源照明;尽量采用多点分布式照明,以减小飞行器自身投影的影响。
  4. 测试流程说明
    •  起飞前,飞行器可手动放置到起飞点;可手动控制起飞。
    • 绕障飞行全程工作须一次连续完成,期间不得人为干预,也不得更换电池;允许测试 2 次,按最好成绩记录;两次测试间可更换电池。
    • 飞行期间,飞行器触及地面后自行恢复飞行的,酌情扣分;触地后 5 秒内不能自行恢复飞行视为失败,失败前完成动作仍计分。
    • 平稳降落是指在降落过程中无明显的跌落、弹跳及着地后滑行等情况出现。调试及测试时必须佩带防护眼镜,穿戴防护手套。
参考答案

GPT-4o给出的设计方案:


一、设计概要

本设计旨在基于多旋翼飞行器设计一个缠障飞行器,实现以下功能:

  1. 稳定起飞到指定高度;
  2. 巡航过程中识别杆塔,并根据颜色选择旋转方向;
  3. 最后精准降落在指定位置。

飞行器配备传感器模块、LED闪烁提示系统、图像处理模块和飞行控制器,以完成所需任务。

二、方案论证及理论分析

  1. 飞行控制系统

    • 使用PID控制算法实现飞行器的稳定控制,确保起飞、悬停、绕杆、降落的准确性。
  2. 图像处理模块

    • 使用摄像头和图像处理算法识别杆塔及颜色,实时反馈位置和颜色信息给飞行控制系统。
  3. LED闪烁提示系统

    • 通过飞行器上的LED指示器与地面杆塔的LED信号进行交互,指引飞行器选择正确的路径。
  4. 传感器模块

    • 配备超声波传感器和陀螺仪,实现快速稳定的高度和位置反馈。

三、重要指标分析

  1. 高度控制:起飞高度150cm ±10cm,巡航高度保持误差不超过±10cm。
  2. 时间控制:整个飞行任务时间不超过5分钟。
  3. 路径控制:飞行器与杆塔距离50±10cm,巡航路线根据杆塔颜色选择顺时针或逆时针方向旋绕。
  4. 降落精度:根据视觉识别和高度传感器综合控制,精确降落在指定区域。

四、电路设计要点

  1. 飞行控制器电路

    • 包括IMU(惯性测量单元)、飞控主芯片(如STM32F4),电源管理、通信接口(UART/SPI/I2C)等模块。

    电路框架:

    IMU传感器 -> 飞控主芯片(控制逻辑和算法实现) -> 电机控制信号输出
    
  2. 图像处理模块电路

    • 使用摄像头模块和图像处理模块(如Raspberry Pi或专用图像处理芯片)。

    电路框架:

    摄像头 -> 图像处理单元 -> 颜色识别 -> 数据反馈给飞行控制系统
    
  3. LED闪烁提示系统

    • 控制LED进行颜色和闪烁次数指示。

    电路框架:

    MCU (PWM控制) -> LED驱动 -> LED灯
    

五、核心器件的设计要点

  1. 飞控主控制器(STM32F4系列)

    • 高速处理能力,支持丰富的通信接口,适合飞控应用。
    • 集成PID算法,实现稳定控制。
  2. 摄像头模块(如OV7670)

    • 适用于图像采集,效果好、延迟低。
    • 配合图像处理器进行实时目标识别。
  3. 超声波传感器(如HC-SR04)

    • 用以测量飞行高度,反馈实时高度数据,辅助飞控稳定。
  4. LED驱动(如WS2812)

    • 既能实现颜色控制,又能进行频率调节。

六、MCU程序设计 (C代码)

以下为基本飞行控制和图像处理的示例代码:

#include "stm32f4xx.h"
#include "imu_sensor.h"
#include "motor_control.h"
#include "image_processing.h"

float target_altitude = 150.0;
float current_altitude = 0.0;

void PID_Control(float target) {
    float error = target - current_altitude;
    float control_signal = Kp * error + Ki * integral + Kd * derivative;
    set_motor_speed(control_signal);
}

void Camera_Task(void) {
    int tower_color = recognize_color();
    if (tower_color == RED) {
        fly_clockwise();
    } else if (tower_color == GREEN) {
        fly_counterclockwise();
    }
}

int main(void) {
    SystemInit();
    IMU_Init();
    Motor_Init();
    Camera_Init();

    while(1) {
        current_altitude = get_altitude();
        PID_Control(target_altitude);
        
        if(at_cruising_height()) {
            Camera_Task();
        }

        if(at_landing_zone()) {
            land();
            break;
        }
    }
}#include "stm32f4xx.h"
#include "imu_sensor.h"
#include "motor_control.h"
#include "image_processing.h"

float target_altitude = 150.0;
float current_altitude = 0.0;

void PID_Control(float target) {
    float error = target - current_altitude;
    float control_signal = Kp * error + Ki * integral + Kd * derivative;
    set_motor_speed(control_signal);
}

void Camera_Task(void) {
    int tower_color = recognize_color();
    if (tower_color == RED) {
        fly_clockwise();
    } else if (tower_color == GREEN) {
        fly_counterclockwise();
    }
}

int main(void) {
    SystemInit();
    IMU_Init();
    Motor_Init();
    Camera_Init();

    while(1) {
        current_altitude = get_altitude();
        PID_Control(target_altitude);
        
        if(at_cruising_height()) {
            Camera_Task();
        }

        if(at_landing_zone()) {
            land();
            break;
        }
    }
}

总结

本设计方案综合使用多种传感器和实时图像处理技术,能够高效、准确地完成飞行控制任务。通过精确的传感器反馈和PID算法,飞行器能够在复杂环境中稳定飞行和精确降落,实现缠障飞行的目标。


这个题目考察的知识点:

  • 嵌入式系统设计:具体包括使用TI的MSP430/MSP432微控制器进行硬件和软件设计,涉及电路设计、控制算法实现和传感器接口等。
  • 传感器与信号处理:考察对超声波传感器、光流传感器和IMU等多个传感器的使用及其数据处理方法,以及如何将这些数据用于控制飞行器的高度、姿态和旋转。
  • 控制算法:着重考察PID控制在飞行器高度和姿态控制中的应用,确保飞行器能够稳定悬停、旋转和准确定位。
  • 图像处理:通过摄像头对地面标志进行识别及处理,考察图像处理算法在飞行器自主导航中的应用。
  • 系统集成与测试:整合硬件电路与软件系统,并制定全面的测试方案,验证系统在不同飞行条件下的性能和稳定性。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号