2023 年电子设计大赛无人机题

2023 年电子设计大赛无人机题

最终效果

硬件介绍

前置知识

通信协议说明

实现方法

问题

1 最终效果

使用 UWB + 光流基础部分全部完成,发挥部分发现火源后未能进入下一步动作。

2 硬件介绍

2.1 飞控

飞控使用匿名的凌霄飞控,凌霄飞控是半开源飞控,里面有两部分分别为凌霄 IMU 和单片机。IMU 闭源使用各种飞控算法对 IMU 传感器数据进行融合,用户可通过对单片机编程通过 API 向 IMU 发送指令,模拟遥控器对飞机控制。

2.2 UWB

使用 NoopLoop 的 LTP-S 的基站和 LTP-SS 的标签。参考用户手册即可对其开发。

2.3 机架

F450,使用匿名上位机可以针对飞机飞行情况,调整单参数。

3 前置知识

3.1 C/C++ 编程

可以自己在网上找相关课程学习

3.2 单片机基础

可以学习 STM 32 单片机,懂得串口、时钟、中断等基础知识即可。

3.3 PID 算法

推荐教程:视频教程

4 通信协议说明

本代码中飞控与外设通信使用相同的协议。

帧头功能码数据长度数据校验和附加校验和
0xbbID 号lengthdatasumadd_sum
ID号
树莓派0x01
小车数传0x02
OpenMV0x03
OpenMV命令编号
开始识别0x02
开警示灯0x03
舵机旋转0x04
关闭识别0x05

5 实现方法

基本上是两个任务,一个是在 user_task.c 文件里,一个是在 ano_lx.c 文件里的定时器中断里每秒发送坐标。

5.1 用户任务状态机

|-> 辅助通道 3 拨到 2000 且 openmv 任务开始 且 openmv 任务未结束 且 openmv 识别到火源。进入靠近火源任务。
|
|-> openmv 任务未开始 且 openmv 没识别到火源。进入正常巡航任务。
|
|-> openmv 识别到火源 且 openmv 任务未结束。进入悬停,计算识别时间200ms防止误识别。
|
|-> openmv 任务开始 且 openmv 未识别到火源。进入悬停,计算未识别时间,超过 2s 自动退出 openmv 任务。

5.2 室内无人机角度获取靠IMU输出欧拉角(需要把罗盘融合参数调为0)

6 问题

6.1 逻辑感觉没问题,但识别到后一直悬停,不结束。

6.2 t265 替换光流速度速度方向没问题(需要做坐标系变换),但转过角度后无法定点。

7 仓库地址

仓库地址(项目已不再维护)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值