如何将APM中的车辆固件代码修改成差动运行

如何将APM中的车辆固件代码修改成差动运行,第1张

APM:Rover无人驾驶车是一款自主无人车固件,使用APM或PX4自动驾驶板,能够跟随GPS航点记录列表执行任务。航点列表通过APM Mission Planner预先加载,或记录下驾驶员(需要切换通道7开关)的手动驾驶,然后在全自主模式中重放。

1,什么是地面站

我们常说的地面站其实就是一个调试飞控和检测飞控的一个程序而已。这个程序可以运行在windows,Linux,Mac,Android等 *** 作系统上。不同的系统地面站版本,界面也是不通用的,甚至公司都有可能不是一个公司,这里只是说明手机,电脑,苹果,都可以使用。而我们主要使用的还是电脑pc端windows *** 作系统下的常用地面站。

2,Windows有哪些地面站使用?

地面站软件在windows系统上的选择非常多,常用的有mission planner(后简称MP),这也是最常见的地面站软件,还有QGroundControl(后简称QGC),qgc主要用于px4固件的飞控多一些,而mp地面站使用apm固件多一些。至于其他的还有Betaflight Configurator(BF地面站)穿越机飞控用的多。还有就是一些厂家进行二次开发的地面站和他们飞控专用的地面站,比如纵横,飞马,大疆,他们都有自己的地面站软件,只是只可以用他们的飞控,传输协议不同。

顺便提一下,我们常用的qgc和mp的传输协议一般是mavlik协议,这个在之前的树莓派图传中也有涉及,读取我们飞控数据使用的协议就是mavlik,是因为我们飞控使用的固件是apm固件与px4固件,这两款固件是需要用mavlik协议读取。

二、地面站的安装

地面站我个人推荐使用win10系统(window环境下),win7和xp也可以,只是驱动有点麻烦而已,用驱动精灵,驱动人生可以解决,或者自己手动安装驱动也许,win7还可能出现一个net问题,那个要么换电脑系统,要么去微软官网下载适配的NET版本安装后再安装地面站。

我个人电脑是win10系统,所以下面的教程全部是基于win10系统实现的。

地面站下载,地面站我们常用的mp地面站官方地址:>

提取码:nvqw

下载好后找到下载位置,开始安装。

这个安装没上面可说的,一路确定,遇到要求安装驱动,全部信任,确定安装驱动。

不出意外,装好后你就得到一个mp地面站了。

如果你桌面上没有,在开始菜单中找一下最近安装程序,他不会创建桌面快捷方式,需要手动创建桌面快捷方式。

QGC地面站同理,QGC地面站官网顺便放一下,>

提取码:m6yy

一样的安装,一路确定。

QGC+1

三、飞控固件

之后是需要给飞控刷固件了,在此之前,先确保你的飞控可以和电脑进行连接,插上usb数据线,打开mp地面站,注意首次打开mp地面站,会出现一个通知,大体意思是你所使用的谷歌地图是中国特供版,这个无所谓,不影响正常使用,点击确定就可以,紧接出现一个纯英文的对话框,大体意思是让你加入他们的什么什么讨论,我们是好孩子不约不约,点击on就可以了。

之后便可进入到mp地面站的界面

按理说我应该先介绍整个界面,再进行刷固件的介绍,这个是因为我已经在18年的时候已经写过界面的介绍,打算之后直接套过来就行,而刷固件的方式确是在与时俱进,所以就先写如何刷固件了(绝对不是为了之后能偷个懒)

首先确定飞控可以连接,如果是win10系统,一般这问题都不大,win7系统自行安装驱动。

拿出我们的陈年老飞控,插上数据线,等飞控启动完成。

打开地面站,点击右上角的下拉箭头,可以看见里面多出一个com4,这个是我们飞控的端口,选择com4,后面选择波特率115200,这是我们usb口的波特率,如果是数传,telnet,一般是57600波特率,这个也在之前的树莓派图传中有讲。

点击连接,不出意外就开始读取参数了,如果不读取参数,显示连接失败,检查com口,检查波特率,检查驱动,检查数据线。

连接完成后可以看见姿态仪右上角的数传信号质量是100%(数据线连接),还有我们地面站上方会显示我们飞控的当前固件,我的是3100固件(注意,这个是更具你飞控当前内部固件显示的,和我的不一样是正常的,我的不是常规固件)

到达这一步,说明你的飞控和电脑连接是没有问题的,可以进行刷固件的 *** 作了。

注:新飞控买来都是预装过固件的,如果不是特别需要,用飞控自带的固件也是可以的。

打开“硬件配置”选择“安装固件”

地面站会提示你已经连接了mavlink下是不能加载固件的,要先断开连接。

我们不用拔掉usb数据线,只需要点击地面站右上角的“断开连接”即可

我们点击断开连接后,地面站开始通过网络读取官方的固件。

这个读取不是每个人都能读取成功的,还是由于网络问题。

这个是读取成功的状态,每个固件下面都是显示当前最新的固件版本。如果没有这个版本好,那是没有读取到固件,我会将几个常用的官方固件帮你们保存一下,后面讲解一下如何安装本地固件,这里先讲解安装网络固件。

安装固件先介绍一下这些固件。也就是我们飞控目前在mp的apm官方固件下支持一些什么功能。

漫步车

固定翼

四旋翼

六旋翼

四轴八动力

ATT追踪天线

直升机

Y3三轴

三轴六动力

八轴八旋翼

多功能潜水艇

除了最后一个潜水艇没见多少人研究以外,其他的基本多多少少都见过有人用过的。

我们这次使用四轴来做讲解,毕竟每个人的飞控基本都是从四轴开始的。

我们点击四轴的图标,便会出来这个提示,“您确定要升级到,arducopter吗”?提示我们是否要将飞控固件升级到这个版本。我们点击“YES”

这里会出现这个提示,问你这个是不是一个cubeblack,如果你的飞控是pixhakw2,赫星的那种,点击yes,如果不是,点击NO,我的飞控是pixhawk,fmv2版本,所以点击no。

又是一个提示,upload chibios,是否上传chibios,这个chibios是一个STM32上的系统,具体用处我不是很专业也不了解,至于他给飞控带来了什么好处,,,,我是没发现,只知道他会改变你的驱动,所以我们选择no,别整些花里胡哨的。

之后开始检测飞控,下载固件,安装固件

当你看见这个提示,说明你的固件安装成功了。

他这里的提示是“请在音乐播放完再点击ok”,刚开始我也很纳闷,啥音乐?你刷完固件还得给我唱首歌?后来我才明白,原来是贫穷限制了我的相信,,,,我最早使用的是最便宜的pixhakw和apm16飞控,是没有蜂鸣器的,后来接触到V3版本,才知道飞控是可以安装一个蜂鸣器,这里的音乐是指刷完固件后蜂鸣器会出现启动音,要等启动音结束,也就是飞控启动完成再点击确定。

顺便提一下,不响完点击确定也可以,不会说飞控死机之类的,这里是防止你飞控没有启动完成直接点击连接,会出现连接错误,每次连接必须等飞控完全启动完成才可以连接,刚刷完固件第一次启动时间会稍微就一些,怕有人没有启动完成就点击连接飞控,所以就有这个提示,音乐播放完毕,说明飞控启动完成。

我们从新连接飞控。

最上方已经改变了固件版本了,刚刚我刷的是403版本固件

总结:

问:地面站用那款好?

答:如果你是第一次使用,mission planner教程最多,如果你是老手看目的选地面站,mission planner地面站在做航测项目上好一些,qgc有安卓版本,航拍植保用的多一些。

问:飞控连接不上地面站怎么回事?

答:问题很多,飞控本身是坏的,先检测飞控的主LED灯是否闪烁(赫星的LED灯在GPS上),如果你的LED灯不闪烁,说明你上一次的固件安装错误,或者飞控自己有问题,可以给飞控插上电流计供电启动,如果led灯闪烁还是无法连接,打开电脑设备管理器,检测串口设备驱动是否有问题,win10正版系统一般能自动安装驱动,盗版系统和老版本系统,可以使用驱动精灵和驱动人生来修复驱动。再者就是检查地面站串口选的对不对,波特率对不对。

问:刷固件提示一个“拔下usb后点击确定”这个提示这么办?

答:在我刚刚的实验中没有出现,但是这个确实是会出现的,一般在老版本飞控上会出现和地面站没法检测到飞控会出现,做法如下

1,从电脑拔下飞控的usb数据线

2,点击对话框的ok

3,从新插上数据线。

以上步骤不可以打乱顺序。

问:刷固件获取不到固件这么办?

答:我会将常用固件分享出来,可以加载本地固件不用加载网络固件。

问:下期跟新什么?什么时候更新

答:下期对本期没有讲完的本地固件安装与使用QGC安装PX4固件进行补齐,并且进行实验对比PX4固件与APM固件的区别。需要长时间准备,与录制和剪辑视频。

本文为我原创

pixhawk

开源飞控

pix飞控

53

142

22

推荐文章

乃贝十年之后,我再来爱你

日常 · 401阅读

用PPT重制的Phigros预告图(主线篇)

日常 · 3662阅读

次人塔罗当次人梦到自己暗恋对象时的感受

日常 · 2158阅读

用cp2102芯片刷,雷家的那个新版的刷机小板就是这个芯片,我的osd刷了起码有560次都没事,只是有次接错线挂了视频芯片。雷家的跟楼主这种osd我都有,如果刷22都会出现osd信息僵化死机的现象,24最完美。雷家的默认就是24,楼主这种好像是20。另外用CP2102 刷的话除了RX、TX两条线外,还有一条DTR线要连接,具体看图芯片的28脚就是DTR,连接到下图中OSD黑色箭头所指的脚

NET 10

NET 20

NET 35

NET 40

(1)APM 模式 Asynchronous Programming Model

必须调用 End,即使不需要返回结果,因为 End 会把线程的异常抛出来

调用 End 加 try/catch

调用 Begin 之后,应当避免直接调用 End,因为 End 会等待结果,可能无限等待

APM 获取结果

主要使用 SystemWindowsFormsTimer

轮询 IAsyncResult 的 IsCompleted,并调用 End 获取结果

直接调用 End,可能因为线程死锁等,无限等待

使用 AsyncWaitHandle 可以设置超时,但是超时了就不会调用 End

不调用 End 就意味着线程的,异常可能没捕获,资源可能泄露

所以 AsyncWaitHandle 并不完美

这里有个问题,就是回调并不是在UI线程,如果要更新UI控件,那就不可以

APM 其他事

(2)EAP 模式 Event-Based Asynchronous Pattern

在获取 Result 的时候, try/catch

EAP 有个问题,如果发起多个异步请求,在完成事件里,需要区分结果来自哪个异步 *** 作呢

(3)TPL 模式 Task Parallel Library

Task 本质代表未来的 *** 作

硬件安装1、通过USB接口供电时,如果USB数据处于连接状态,APM会切断数传接口的通讯功能,所以请不要同时使用数传和USB线连接调试APM,USB接口的优先级高于数传接口,仅有供电功能的USB线不在此限;2、APM板载的加速度传感器受震动影响,会产生不必要的动差,直接影响飞控姿态的计算,条件允许请尽量使用一个减震平台来安装APM主板

2

地面站调试软件Mission Planner安装首先,MissionPlanner的安装运行需要微软的Net Framework 40组件,所以在安装Mission Planner之前请先下载Net Flamework 40并安装安装完NetFramework后开始下载Mission Planner安装程序包,最新版本的Mission Planner可以点击此处下载,下载页面中每个版本都提供了MSI版和ZIP版可供选择MSI为应用程序安装

3

认识Misson Planner的界面安装完Mission Planner和驱动后,现在可以开始启动Misson Planner主程

pix有两个平台,一个是apm移植过来的固件,一个是px4原生固件,一般apm用得比较多,px4似乎是linux环境下开发的。

有c基础,最好还要有数学基础,和控制理论基础,才能看懂里面的算法。

以上就是关于如何将APM中的车辆固件代码修改成差动运行全部的内容,包括:如何将APM中的车辆固件代码修改成差动运行、pix怎么下载地面站、求助:APM2.6刷新固件后无法与电脑连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9458273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存