QGC地面站PC桥接px4(QGC+wifi+机载计算机+px4)

2023-05-16

QGC地面站PC桥接px4(QGC+wifi+机载计算机+px4)

  • 1 在机载计算机上安装ubuntu
  • 2 安装ros
  • 3 机载计算机上安装mavros
    • 1安装mavros
    • 2 安装安装mavros相关的 geographiclib dataset
  • 4 安装ssh服务
  • 5 连接px4和机载计算机
  • 6 地面站PC用ssh控制机载计算机
  • 7 QGC上建立通讯连接

用px4做的无人机,由于手头没有数传,需要进行无人机姿态环和位置环调参,通过QGC地面站PC桥接px4实现读取飞控状态参数的功能。

1 在机载计算机上安装ubuntu

根据自己的需求16.04和18.04都可以(20.04没试过,应该也可以)

2 安装ros

ros根据不同的ubuntu版本安装对应的就可以,不同版本间安装过程大同小异,可以参考这两篇博客
https://blog.csdn.net/weixin_45810108/article/details/109112673
https://blog.csdn.net/weixin_45810108/article/details/109849828

3 机载计算机上安装mavros

1安装mavros

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras

注意这条命令是基于melodic版本的ros

2 安装安装mavros相关的 geographiclib dataset

cd /opt/ros/melodic/lib/mavros
sudo ./install_geographiclib_datasets.sh

如果安装速度没反应,可以打开sh文件并自行下载相关的文件,解压到对应文件夹里即可

4 安装ssh服务

要将运行qgc的电脑连接到机载计算机,需要让这两个系统连接到同一个wifi下,并安装ssh服务,将机载计算机端的ssh服务设为ie开机启动,安装可以参考下面这篇博客
https://blog.csdn.net/weixin_45810108/article/details/112783548

5 连接px4和机载计算机

参考官方教程

6 地面站PC用ssh控制机载计算机

7 QGC上建立通讯连接

在地面站pc用ssh控制机载计算机后,运行mavros px4.launch

roslaunch mavros px4.launch

如果报错基本就是fcl_url没有匹配,打开终端(根据ROS版本置换melodic和kinetic):

cd /opt/ros/melodic/share/mavros/launch
sudo gedit px4.launch

找到
arg name=“fcu_url” default="/dev/ttyACM0:57600"
问题就在这儿.因为是USB连接的,所以得改为:
arg name=“fcu_url” default="/dev/ttyUSB0:57600"
然后就可以运行了.运行过程中运行指令

rostopic echo /mavros/state

会发现问题,显示connected :false;mavros更根本没有和飞控连接上,这里主要由以下几个原因:

串口有没有接对
波特率是否正确
机载计算机是否设置了串口

这里要去QGC端设置,QGC连上飞控以后,
设置MAV_1_CONFIG为TELEM2
将波特率设置为上面/dev/ttyUSB0:57600的57600.

现在去运行mavros就可以显示connected True了.
但你又会发现一个新的问题:
他会显示:
TTL的速度异常
这里就再次:

cd /opt/ros/melodic/share/mavros/launch

找到px4_config.yaml文件

sudo vi px4_config.yaml

将timesync_rate:设置为0.0即可.至此,就可以实现QGC读取到飞控状态了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QGC地面站PC桥接px4(QGC+wifi+机载计算机+px4) 的相关文章

  • sdf文件轨范

    sdf文件规范 xff1a a href https www zhihu com org aigraphx posts page 61 3 title 深圳季连AIGRAPHX 知乎 深圳季连AIGRAPHX 知乎 a span style
  • HBase基本操作

    HBase Java API 操作 Tips xff1a 其实每一个操作都可以简化为 xff1a 1 配置并连接数据库 2 编写 Java API 的 HBase 的操作 3 使用权限 执行操作 要对一个Hbase数据库进行操作的话 xff
  • GNU Radio3.8:编辑yaml文件的方法

    GNU Radio 学习使用 OOT 系列教程 xff1a GNU Radio3 8创建OOT的详细过程 基础 C 43 43 GNU Radio3 8创建OOT的详细过程 进阶 C 43 43 GNU Radio3 8创建OOT的详细过程
  • input上传图片并且实现预览

    文章目录 前言一 确定思路二 书写代码1 HTML部分2 CSS部分3 JS部分 xff08 重点 xff09 3 1 点击选择图片按钮 xff0c 调用input文件框事件的的代码3 2 转换格式3 3 发送图片给后端 三 编写优化1 i
  • hashcode()和equals()方法详解

    hashcode 和equals 方法详解 1 何为hashcode hash是一个函数 xff0c 就是通过一种算法来得到一个hash值 通过hash算法得到的hash值就存放在这张hash表中 xff0c 也就是说hash表示所有的ha
  • ubuntu安装kvm

    kvm是linux下的虚拟机 文章目录 一 电脑硬件支持二 安装ubuntu三 安装kvm 一 电脑硬件支持 首先不用多说啦 xff0c 既然是虚拟机 xff0c 当然要自己的机器支持虚拟技术 xff0c 重启机器进入biso xff0c
  • 类的静态(static)成员

    有时候类需要它的一些成员与类本身直接相关 xff0c 而不是与类的各个对象保持关联 xff08 这意味着无论创建多少个类的对象 xff0c 静态成员都只有一个副本 xff09 我们通过在成员的声明前加上关键字static使得其与类关联在一起
  • Keil uvision5 介绍

    keil 5 Keil uvision5 安装过程Keil uvision5安装包1 Keil uvision5 介绍2 Keil uVision5 特点3 Keil uVision5 功能4 Keil uVision5 快捷键 Keil
  • px4仿真时,/mavros/state现实连接不上

    仿真时 xff0c 使用px4 xff0c 启动 PX4 Firmware launch文件中的launch文件 进入gazebo世界中 xff0c 通过 xff1a rostopic list 查看发布的话题 xff0c 并且打印 mav
  • 插值方法(一维插值、三次样条插值、二维插值的matlab自带函数,python实现/作图)

    数模比赛中 xff0c 常常需要根据已知的函数点进行数据 模型的处理和分析 xff0c 而有时候现有的数据是极少的 xff0c 不足以支撑分析的进行 xff0c 这时就需要使用一些数学的方法 xff0c 模拟产生 一些新的单又比较靠谱的值来
  • ROS中常用命令

    1 xff09 工作空间初始化 xff1a catkin init workspace 2 xff09 创建功能包 xff1a catkin create pkg pkg name reply 3 xff09 编译工作空间中的功能包 xff
  • 【DL】CNN的前向传播和反向传播(python手动实现)

    卷积层的前向传播和反向传播 说明 本文中 xff0c 只实现一层卷积层的正反向传播 xff08 带激活函数Relu xff09 xff0c 实现的是多通道输入 xff0c 多通道输出的 之前对深度学习的理解大多止于pytorch里面现成的A
  • Postman使用教程详解

    目录 1 Postman安装与接口请求基本操作1 1Postman安装1 2发起一个接口请求的小测试 2 接口测试实战2 1百度IP查询接口从抓包到测试实战2 2需要设置头域的请求实战2 3文件上传与json请求实战 3 Newman命令行
  • GNU Radio3.8创建OOT的详细过程(基础/C++)

    GNU Radio 学习使用 OOT 系列教程 xff1a GNU Radio3 8创建OOT的详细过程 基础 C 43 43 GNU Radio3 8创建OOT的详细过程 进阶 C 43 43 GNU Radio3 8创建OOT的详细过程
  • Johnson-Trotter(JT)算法生成排列

    对于生成 xff5b 1 xff0c xff0c n xff5d 的所有n xff01 个排列的问题 xff0c 我们可以利用减治法 xff0c 该问题的规模减一就是要生成所有 xff08 n 1 xff09 xff01 个排列 假设这个小
  • OSMWebWizard无法使用(Address family not supported by protocol)

    根据报错信息依次打开osmWebWizard py SimpleWebSocketServer py 查看对应行号的内容 xff0c 发现Simple py中有一个socket net6 可能是网络协议的问题 xff0c 查了一下 xff0
  • 粤嵌实训笔记二

    目录 20230227 20230303 xff08 第二周 xff09 main clcd clcd hbmp cbmp hgame cgame h 20230227 20230303 xff08 第二周 xff09 1 在Linux下
  • Arduino学习笔记:FreeRTOS——ESP32多任务处理

    Arduino学习笔记 xff1a FreeRTOS ESP32多任务处理 Demo span class token comment 创建任务一和任务二的句柄 xff0c 并初始化 span TaskHandle t TASK Handl
  • JAVA-信号量

    信号量 xff1a 信号量一般都有以下几个变量 xff1a count xff1a 记录可以使用的资源数wait list xff1a 等待信号量的队列 获取信号量需要判断count是否大于零 xff0c 即if count gt 0 若c
  • (程序猿专属)1024-我用代码写成浪漫情话表白你

    今天1024 xff0c 程序员节 xff01 不祝你们节日快乐了 xff0c 祝你们穿着拖鞋和裤衩去相亲吧 xff01 祝你们和甜蜜的爱情撞个满怀 xff01 一 我是你的什么啊 xff1f 你是我的bug啊 因为 xff0c 我每时每刻

随机推荐

  • C++中构造函数后的冒号

    C 43 43 中构造函数后的冒号 在C 43 43 中离不开类的定义 xff0c 而构造函数则是类的定义中很重要的一环 我们在构造函数中常常见到如下定义 xff1a span class token keyword class span
  • 论C语言没有输出的可能问题

    论C语言没有输出的可能问题 1 今天帮别人找bug xff0c 说是程序没有输出 题目如下 xff1a 错误代码如下 xff1a span class token macro property span class token direct
  • 【VS2019】报错:E0349没有与这些操作数匹配的运算符

    报错 xff1a E0349没有与这些操作数匹配的运算符 调试程序遇到该错误 xff0c 特此记录 span class token macro property span class token directive keyword inc
  • 基于docker技术搭建hadoop与mapreduce分布式环境

    基于docker技术搭建hadoop与mapreduce分布式环境 一 安装doker 1 宿主环境确认 如果没有的话 安装lsb relaease工具 apt install lsb release 检查版本 lsb release a
  • GNU Radio3.8创建OOT的详细过程(进阶/C++)

    GNU Radio 学习使用 OOT 系列教程 xff1a GNU Radio3 8创建OOT的详细过程 基础 C 43 43 GNU Radio3 8创建OOT的详细过程 进阶 C 43 43 GNU Radio3 8创建OOT的详细过程
  • 基于docker构建spark运行环境

    基于docker构建spark运行环境 一 安装docker与docker compose 参考之前的实验进行docker和docker compose的安装 二 系统构架图 xff1a 三 安装相关镜像 使用docker hub查找我们需
  • HDFS基本操作

    HDFS基本操作 HDFS的基本命令格式 hdfs dfs cmd lt args gt 注意 xff1a 需要事先将HADOOP HOME bin目录配置进入环境变量 列出当前目录下的文件 hdfs dfs ls 在HDFS创建文件夹 h
  • 使用mllib完成mnist手写识别任务

    使用mllib完成mnist手写识别任务 小提示 xff0c 通过restart命令重启已经退出了的容器 sudo docker restart lt contain id gt 完成识别任务准备工作 从以下网站下载数据集 MNIST手写数
  • npm install 报错 Error: EPERM: operation not permitted, rename

    报错的解决方案 原因1 xff1a 权限不足原因2 xff1a 缓存出错方法1方法2 原因3 xff1a npm版本不够原因4 xff1a 网络不稳定方法1方法2 原因5 xff1a 杀毒软件问题方法1方法2 其他 xff1a 待补充 原因
  • 马原复习知识点背诵-《马克思主义基本原理概论》

    马概复习重点 绪论 1 什么是马克思主义 1 从创造者 继承者的角度讲 马克思主义是由马克思恩格 斯创立的 而由其后各个时代 各个民族的马克思主义者 不断丰富和发展的观点和学说的体系 2 从阶级属性讲 马克思主义是无产阶级争取自身解放和整
  • 深度学习 | 三个概念:Epoch, Batch, Iteration

    转自 xff1a https www jianshu com p 22c50ded4cf7 写在前面 xff1a 在训练神经网络的时候 xff0c 我们难免会看到Batch Epoch和Iteration这几个概念 曾对这几个概念感到模糊
  • OpenStack — Nova

    文章目录 NovaNova架构Nava组件nova apinova computenova conductornova schedulernova novncproxy 创建虚拟机流程 Nova Nova是OpenStack最核心的服务模块
  • 使用Object.key和delete来将对象中值为空的属性删除。

    有些时候 xff0c 我们在接口传值时 xff0c 不需要把值为空的属性传过去 xff0c 即可使用该方法来快速的删除属性 span class token comment 深拷贝对象 xff0c 避免影响页面显示 span span cl
  • docker启动关闭删除所有的容器命令

    1 启动所有容器 docker start docker ps a awk 39 print 1 39 tail n 43 2 2 关闭所有容器 docker stop docker ps a awk 39 print 1 39 tail
  • GNU Radio3.8创建OOT的详细过程(python)

    GNU Radio 学习使用 OOT 系列教程 xff1a GNU Radio3 8创建OOT的详细过程 基础 C 43 43 GNU Radio3 8创建OOT的详细过程 进阶 C 43 43 GNU Radio3 8创建OOT的详细过程
  • 面试必问:从输入URL到页面展示,这中间发生了什么?(详细易懂,条理好记)

    导航流程 xff1a 从输入URL到页面展示 xff0c 这中间发生了什么 xff1f 一 进程介绍 整个过程需要各个进程之间的配合 进程与线程是两个概念 xff0c 程序启动时 xff0c 操作系统为程序创建内存 xff0c 用以存放代码
  • MATLAB神经网络工具箱函数各种图的解释

    Neural Network 该部分展示了神经网络的结构 xff0c 从结构图中可以看出该网络有三个隐含层 xff0c 神经元个数分别为9个 8个 7个 Algorithms 该部分展示了该网络所使用的训练算法 xff0c 可以看出 Dat
  • gazebo加载world模型

    使用launch文件启动gazebo加载world模型 xff0c 或者说是将world模型加入gazebo仿真器中作为环境 first xff0c 我们应该告诉gazebo 要加载的world文件放在哪里 并通过arg标签 xff0c 设
  • px4无人机报avionics power low

    px4无人机报avionics power low xff0c 将无人机连接qgc中 xff0c 将CBRK SUPPLY参数设为最大值即可
  • QGC地面站PC桥接px4(QGC+wifi+机载计算机+px4)

    QGC地面站PC桥接px4 xff08 QGC 43 wifi 43 机载计算机 43 px4 xff09 1 在机载计算机上安装ubuntu2 安装ros3 机载计算机上安装mavros1安装mavros2 安装安装mavros相关的 g