当前位置:   article > 正文

2023 年电子设计大赛无人机题_凌霄飞控t265替换光流

凌霄飞控t265替换光流

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 任务。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

6 问题

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

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

7 仓库地址

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/474186
推荐阅读
相关标签
  

闽ICP备14008679号