Pixhawk 6c (PX4)真机USB连接mavros失败

概述

笔者和同事近期购买了Pixhawk6c,它也是目前Pixhawk系列中最新的飞控。
但是在测试的过程中遇到了一个问题,发现它无法连接到mavros。
于是进行了一系列原因摸排,在国内的博客尚未看到能用的解决方案,在px4论坛上倒是找到了答案,这是开发的一个bug,两个月前才被merge到主分支。
可能过段时间就不会有这个问题了,不过在这之前,外网同行们提出的解决方案还是非常有帮助的。

此前可以成功连接

一般将飞控连接到电脑(地面站或者机载电脑)有 两种方式:

  • 用TypeC或者其他类型的数据线将飞控直接接到电脑
  • 无人机和电脑上各连接一个数传

我们在将老版本的飞控连接到mavros时,只需要按上述两种方式之一连接,然后运行两条命令之一:

roslaunch mavros px4.launch # 数据线连接
roslaunch mavros px4.launch fcu_url:="/dev/ttyUSB0:921600" # 数传连接

可能需要根据端口号不同修改一些参数args(但是我们自己这里与默认值保持一致也没问题)。随即查看消息:

rostopic echo /mavros/state

即可看到connected:true,表示连接成功,飞控和电脑建立了通信。

使用Pixhawk 6c 遇到的问题

同样是按上述两种方式之一连接,然后运行两条命令之一:

roslaunch mavros px4.launch # 数据线连接
roslaunch mavros px4.launch fcu_url:="/dev/ttyUSB0:921600" # 数传连接

mavros可以启动成功,但是会卡在:

[ INFO] [1689140961.169731796]: Known MAVLink dialects: common ardupilotmega ASLUAV AVSSUAS all cubepilot development icarous matrixpilot paparazzi standard storm32 uAvionix ualberta
[ INFO] [1689140961.169740545]: MAVROS started. MY ID 1.240, TARGET ID 1.1

如果和飞控建立了连接,会接着显示:

CON: Got HEARTBEAT, connected. FCU: PX4 Autopilot

显然,这里没有连接成功。

原因排查

  1. 更换电脑,没解决

  2. 更新mavros,没解决

    sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
    
  3. 数据线和数传连接交替使用,没解决

  4. mavros的launch文件的设备名称和端口号有问题,没解决

    • 赋予端口权限,没解决
      通过MAVROS连接机载电脑(NANO/TX2/NX)与Pixhawk
      sudo chmod 777 /dev/ttyUSB0
      
      sudo chmod 777 /dev/ttyACM0
      
    • 用命令ls /dev检查端口号(对比插拔前后的端口号变化),没解决
      我没有弄错端口号,数据线的时候是ttyACM0,数传的时候是ttyUSB0。MAVROS started. MY ID 1.240, TARGET ID 1.1
  5. 配置Pixhawk上的Telem2作为MAVLINK端口,没解决
    通过MAVROS连接机载电脑(NANO/TX2/NX)与Pixhawk
    PIXHAWK飞控通过串口连接MAVROS
    在QGC里的参数设置处进行如下修改:

    • MAV_1_CONFIG= TELEM 2
    • MAV_1_MODE = Onboard
    • SER_TEL2_BAUD = 921600 8N1

    一开始参数里可能只有MAV_1_CONFIG,搜不到其他的参数,只需要先把MAV_1_CONFIG设置为TELEM 2,然后把飞控重启后就有了。

  6. 改波特率,没解决
    通过MAVROS连接机载电脑(NANO/TX2/NX)与Pixhawk
    38400、57600、921600、115200都试过。

  7. ttl的rx和tx线序有问题,没解决
    mavros永远连接失败
    telem是用排线接的,不存在线序的问题。

  8. USB接口电压不够,没解决
    px4连接不了mavros的原因
    电源灯亮了,提示音响了,不是电压的问题。

  9. 先用QGC连接成功,再关闭QGC,紧接着 roslaunch px4.launch,勉强解决
    Pixhawk 4 mini via USB not sending parameters untill connected to a ground station

  10. 原来是个bug,两个月前才被merge到px4主分支,成功解决
    Problems connecting a Pixhawk 6c to a Raspberry Pi
    在这里插入图片描述

两个方案:

  • 上github下载最新的源码,重新编译固件
  • 在QGC中参数设置处,将下面两个参数中的任意一个或两个设为:
    • MAV_1_RADIO_CTL: disabled
    • MAV_1_FLOW_CTRL: force off
      https://discuss.px4.io/t/problems-connecting-a-pixhawk-6c-to-a-raspberry-pi/32318

https://github.com/PX4/PX4-Autopilot/compare/v1.14.0-beta2…v1.14.0-rc1

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE:侧边弹出栏组件,组件中有树状图,搜索框可筛选树状图节点,可收缩

作者:CSDN @ _乐多_ 本文记录了一个侧边弹出栏组件代码。代码即插即用。 弹出栏中有树状图,搜索框,可收缩。 其中,搜索框可筛选树状图节点。点击右侧小按钮可以收缩弹出框,点击X号也可以收缩弹出框。 文章目录 一、组件代码代码依赖element-plus库。且需要下载几个svg图…

Hadoop分布式计算框架-MapReduce

本文所有代码链接:https://download.csdn.net/download/shangjg03/88437313 1.MapReduce概述 Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到 Hadoop 集群上用于并行处理大规模的数据集。 MapReduce 作业通过将输入的数据集拆分为独…

FUNCTION 表示 getter setter

场景: 某些时候,会对同一个对象的多个不同属性做相同操作,代码复用原则,可以把 getter setter 用 FUNCTION 表示; import java.util.function.BiConsumer;import java.util.function.Function;private static void res…

采集数据重复解决方法

在大数据采集或大批量采集文章时,有可能会出现数据重复,而重复数据会导致数据分析出现偏差甚至错误,如何避免采集数据重复是个值得研究的问题。 目录 1. 优化采集方案 2. 过滤去重规则 3. 比对算法 4. 数据采集工具 减少采集数据重复的常…

grafana v10.1版本设置告警

1. 相关概念概述 如图所示,点击切换菜单标志,可以看到警报相关子选项。 警报规则:通过PromQL语句定义告警规则,即达到怎样的状态触发告警。 联络点: 设置当警报规则实例触发时,如何通知联系人,…

AI杀疯!2023上半年至今有趣的AI算法(内附视频)

公众号:算法一只狗 文章目录 第一个,一切都可以进行分割第二个,开源图文回答工具第三个,视频转换风格生成第四个,免费好用的文档对话工具文档对话能力文档联系功能 今年,我们见证了人工智能算法的起飞&…

用结构加法比较4个结构的顺序

( A, B )---5-30-2---( 1, 0 )( 0, 1 ) 让网络的输入只有5个节点,AB训练集各由5张二值化的图片组成,让A中有5个点,B全是0。统计迭代次数并排序。 其中5-x有4组数据 5-x 差值结构 迭代次数 41 4-x 差值结构 迭代次数 19 0 0 1 236…

Python 机器学习入门之ID3决策树算法

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 番外 Python 机器学习入门之K近邻算法 番外 Python 机器学习入门之K-Means聚类算法 第三章 Python 机…

常量字符串

一、常量字符串是什么? 常量字符串是一个常量,它的值是首字符的地址 比如 "abcdefg" 或 "123456789" 就是常量字符串 二、常量字符串与普通字符串的区别 1.常量字符串不可更改,而普通字符串可以更改 利用memcpy内存…

python知识:从PDF 提取文本

一、说明 PDF 到文本提取是自然语言处理和数据分析中的一项基本任务,它允许研究人员和数据分析师从 PDF 文件中包含的非结构化文本数据中获得见解。Python 是一种通用且广泛使用的编程语言,它提供了多个库和工具来促进提取过程。 二、各种PDF操作库 让我…

Vue+openlayers+projs4实现坐标转换

一、背景 有一堆点数据,需要在地图上标记,只知参考北京54坐标系或西安80坐标系,但具体是哪种不清楚,这时候就需要坐标转换。ps:EPSG:3857(openlayers参照的坐标系) 二、思路 1、研…

原码、反码、补码在汇编中的应用

原文章:知乎 原码和二进制类似,不过它有符号位。正数符号位为0,负数为1 。 例:40000 0100 ,-41000 0100 原码是人脑最容易理解和计算的表示方式。 但是这在计算机中计算就出了问题,这两个(4…

Jmeter接口测试:jmeter导入和导出接口的处理

JMeter测试导入接口 利用Jmeter测试上传文件,首先可根据接口文档或者fiddler抓包分析文件上传的接口;如下图: 以下是我通过fiddler所截取的文件上传的接口 1、填写导入接口的信息 查看文件上传栏下的填写信息: 文件名称&#x…

vue与react,angular的区别

Vue.js 作为一个优秀的前端框架,方便前端开发者快速开发应用的前端,在实际项目中使用得比较普遍。 当然 Vue.js 也不是实际项目中唯一的前端框架,比较优秀的前端框架还有 React、AngularJS 和 Angular等。接下来就介绍一下 Vue.js 同这3个框架…

大数据Flink(九十九):SQL 函数的解析顺序和系统内置函数

文章目录 SQL 函数的解析顺序和系统内置函数 一、​​​​​​​SQL 函数

供应IPQ4018原装芯片

长期供应各品牌原装芯片: AG3331 AG3335MNV AG3352 ALT1250BZ-E0 ALT1250TG-D0 ASR1601 ASR1603E ASR1603S ASR1606C ASR1606L ASR1606S ASR1802S ASR1803E ASR1803S ASR1826 ASR3601 BCM47755 BCM47768 BK7231M CB0201 CB0201L CYW43438 CY…

Nginx集群负载均衡配置完整流程

今天,良哥带你来做一个nginx集群的负载均衡配置的完整流程。 一、准备工作 本次搭建的操作系统环境是win11,linux可配置类同。 1)首先,下载nginx。 下载地址为:http://nginx.org/en/download.html 良哥下载的是&am…

Vue生命周期钩子

vue生命周期表示在组件创建后的一系列变化,其中钩子函数会在生命周期的关键节点中被调用 为什么在beforeCreated()时,data和methods方法还没有创建,但是在beforeCreated()里面打印this可以看到data相关的数据? 跟浏览器有关&…

k8s-14 存储之volumes

Volumes配置管理 容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失因为容器会以干净的状态重建。其次,当在一个 Pod 中…

手机有什么爬虫App工具?

随着智能手机的普及和应用的繁盛,越来越多的人开始对手机App进行数据爬取和分析。那么,在进行手机App爬虫的过程中,我们可以借助哪些工具呢?让我们一起来了解一下吧! 1、Fiddler Fiddler是一款功能强大的网络调试工具…