无人机调试,飞控硬件定制、固件修改,日志分析,请QQ联系:3500985284

一、添加测试程序

由于这里添加了新的硬件外设,无法直接进行软件仿真,所以我们需要先编写一些代码,模拟出OpenMV发送数据到飞控,然后才能进行软件仿真。当我们通过软件仿真把OpenMV引导数据引导无人机飞行的顶层逻辑跑通之后,再进行实际飞行测试,这样能尽量较少在外场Debug的工作量。

二、在引导模式下飞行

添加顶层逻辑代码,在Guided模式下,如果OpenMV有引导数据过来,就将目标航点设置为识别点,从而飞机将自动飞向目标点。

三、进行模拟飞行

编译——模拟——Debug——编译——模拟——……测试通过。

四、删除测试程序,进行实物飞行

如下图所示,在“ardupilot/ArduCopter/ArduCopter.cpp”文件中,删除红框里的代码(注意有两个红框),就删掉了测试程序,下一步可以进行实物飞行测试。

在实物测试中如果遇到问题,请按照本文下方“第六部分 疑难解答”里的步骤检查问题所在。

五、应用展望

通过测试发现,OpenMV的性能基本满足大学生电子设计竞赛级别的应用需求,但是对于对于更加复杂的应用来讲,OpenMV的性能就略显不足了,后期我们的课程将会添加使用“NVIDIA Xavier NX”来实现更加复杂的AI技术来引导无人机飞行的例程,敬请期待!

但是,“技术实现”不同于单纯的“科学研究”,它是一个不断权衡利弊、不断折中的过程。OpenMV在易用性、低功耗、体积、重量、成本方面,比“NVIDIA Xavier NX”要强很多,因此将OpenMV集成到无人机上,并不代表者“低端”,一切都需要从实际需求角度出发来进行选择。

六、疑难解答

本节的例程虽然代码量不大,但是由于牵涉到两个硬件设备的联调,因此请大家不要指望能非常顺利地一遍走通所有步骤,遇到问题的时候,请按照如下步骤进行检测:

1、将OpenMV通过USB接电脑,在线运行,不用解锁飞机,手拿着飞机对准被识别物体,确保它的确是识别到了目标物体;

这一步解决图像识别数据源头的问题,存在如下可能:

没摘掉镜头盖?

OpenMV镜头视场角太小,实际飞行中目标物体一直没有进入视野?

室外环境,逆光情况下太阳严重干扰图像识别效果?

OpenMV程序没有写对?运行一段时间死机了?

2、使用USB转串口模块接OpenMV的串口TX引脚,在电脑上的“串口调试助手”上查看原始的帧是否正确发送了出来,波特率是否正确;

注意,这一步看似麻烦,实际上这一步是发现问题的最关键一步,存在如下可能:

OpenMV的串口TX、RX弄反了?

OpenMV的引脚号搞错了,接的根本就不是OpenMV的串口TX引脚?

OpenMV串口的波特率弄错了?虽然通过串口调试助手可以看到一堆十六进制数据在不断输出,但是仔细观察发现数据的帧头、帧结构不对;

OpenMV端的线虚接?或者虚焊?甚至线缆本身是虚的?这个概率不小!

3、检查连线是否正确,注意OpenMV的串口TX接的是飞控的串口RX;

注意这是串口连线时最常见的错误!

4、检查飞控的全部参数列表中对应串口的参数是否设置正确(以视频教程里的讲解为准);

我猜测有30%的人会在这里出问题。

5、如果以上各个步骤检查无误,并且如果你是按照教程里的讲解自己手写的代码,请直接使用教程中的代码试试,如果教程中的代码可以正常运行,而你的代码不行,请使用Github Desktop这个软件一行行对比你写的代码哪里有问题。

学习本节课的内容遇到问题后,在我们的微信群里提问之前,请严格按照上述步骤进行错误排查,如果上述所有步骤检查后依然有问题,再到群里提问,看看大家有没有好的建议。

无人机调试,飞控硬件定制,固件修改,log日志分析,飞控驱动添加

请QQ联系:3500985284

微信公众号:“怒飞垂云”,扫描下图添加

阅读次数:

1,231

openmv集成应用_使用OpenMV引导无人机飞行相关推荐

  1. java 图像倾斜角度计算_【干货】无人机航测倾斜实景三维建模进行土方计算(基于Smart3D全面讲解)...

    土石方工程量的核算往往是工程预算与结算中的争议与焦点,然而运用天星系列多镜头倾斜摄影测量系统的实景3D建模方法模拟土方石的开挖与回填,可以让施工方直观有效地开展土石方的挖运分析与运算,做到土方平衡计算 ...

  2. ubuntu 应用程序菜单_Ubuntu智能手机,塔式无人机飞行控制应用程序等

    ubuntu 应用程序菜单 在本周的开源新闻摘要中,我们介绍了新的Ubuntu智能手机,塔式无人机飞行控制应用程序,农民获得了开源等等! 开源新闻让您阅读愉快. 2015年2月7日至13日 Canon ...

  3. 无人机飞行控制实验平台

    无人机在研制过程中需要不断地进行飞行测试,而测试的过程不是万无一失的,飞行过程中发生任何错误都有可能会导致无人机的损毁或破坏,更严重地甚至会造成外界伤害. 基于此我们推出了无人机的三旋转自由度 (3- ...

  4. 【本科毕业设计】基于蚁群算法的无人机飞行路径规划

    基于蚁群算法的无人机飞行路径规划 1. 绪论 1.1 选题背景及意义 1.2 研究现状 1.2.1 路径规划的研究现状 2. 四旋翼无人机 2.1 四旋翼无人机简介 2.2 无人机飞行工作原理 2.2 ...

  5. 大疆无人机飞行+摄影测量航测不完全教程

    指北 前言 大疆无人机飞行 DJI GO 4 大疆无人机航测 Pix4Dcapture DJI GS Pro 异常情况处理 参考文献 前言 研一入门之后就一直在给老师的摄影测量课带实习,网上倒是挺多飞 ...

  6. 无人机基础知识:多旋翼无人机飞行原理及飞行模式

    无人机基础知识:多旋翼无人机飞行原理及飞行模式 力的来源 飞行原理 横滚运动 俯仰运动 偏航运动 升降运动 无人机的控制模式 纯手动模式 姿态模式 定高模式 悬停模式 其它模式 在此篇博客分析了 无人 ...

  7. 无人机服务器通信协议软件设计,无人机飞行管控系统及其数据处理软件设计

    摘要: 无人机遥感在数字城市建设.重大灾害救灾中拥有着较大优势,并且已经发挥了不可替代的作用.然而其发展中却存在一些问题,本文综合无人机遥感整个作业过程中遇到的这些问题,利用了目前一些现有的方法,同时 ...

  8. 多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行

    多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行 前言 书接上文 接口测试 键盘指令发布 指令转换与发布 修改 rotors_simulator 的控制接口节点 测试 前言 R ...

  9. 基于Cesium的无人机飞行模拟

    点击查看:基于Cesium的无人机飞行模拟 2.安装 2.1 安装node.js环境. 2.2 下载离线地图包. 2.3 在sourceConfig.js中配置离线地图地址. 2.4 在cesium- ...

最新文章

  1. javascript高级程序设计第3版——第6章 面向对象的程序设计
  2. 温州大学《机器学习》课程课件(九、支持向量机)
  3. 解决.gitgnore加入.idea无效问题
  4. Android开发(2) | 广播 Broadcast 的应用——强制下线功能
  5. LeetCode 1966. Binary Searchable Numbers in an Unsorted Array
  6. vue confirm确认
  7. [云计算]VXLAN的网关划分
  8. 【好文翻译】二十年来我得到的20条编程经验
  9. 【目录】【高等数学】【本科笔记】
  10. mysql jdbc dao_MYSQL 之 JDBC(九):增删改查(七)DAO的补充和重构
  11. solidworks出专利图小技巧
  12. mysql的用户名迁移SCHEMA_数据库实时转移之Confluent环境搭建(二)
  13. 如何激活word2010
  14. 用一组方程表示一个平面
  15. java代码审计----win10安装docker
  16. se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains
  17. 【富文本编辑器】ueditor
  18. 产品经理笔试:其他答题注意事项
  19. ElasticSearch 搜索排序不理想问题
  20. oracle 行列对应,Oracle行列互换 横表和纵表

热门文章

  1. 组图:1904年圣路易斯奥运会
  2. Flex开源开发框架
  3. 关于graphviz绘制的点(dot)图在显示时中文乱码问题的解决方法(亲测)
  4. 音视频直播--技术架构
  5. php5.6+Redis+Windows7安装 (phpstudy)
  6. Vue组件之间相互传值的方式
  7. Laravel查询搜索函数集合:find  first  firstWhere firstOr findOrFail firstOrFail firstOrNew firstOrCreate
  8. Win的cmd中文乱码
  9. HTTP强制设置状态码
  10. ercp手术为什么那么贵_尼泊尔佛像为什么那么贵?