当前位置: 首页 > news >正文

Jetson Xavier NX 与飞控(Pixhawk 4 Mini)实现串口通信

一、飞控端配置

首先对 Pixhawk 4 Mini 烧录固件参考

Kakute H7 刷写 px4 固件_想要个小姑娘的博客-CSDN博客

烧录完成后打开 QGroundControl,进入参数设置并搜索 MAV,如下所示

然后修改 MAV_1_CONFIG,修改为自己想要连接机载电脑(Jetson Xavier NX)的端口,在这之前需要先查看 Pixhawk 4 Mini 可用端口

Holybro Pixhawk 4 Mini (Discontinued) | PX4 User Guide

这里我选择使用 2.UART & I2C B 与机载电脑(Jetson Xavier NX)进行通信,查询如下该接口在QGroundControl 中对应的端口

Holybro Pixhawk 4 Mini (Discontinued) | PX4 User Guide

我们发现 UART & I2C B 对应 QGroundControl 中的 TELEM/SERIAL 4 端口,通过查询

高级配置 - Full Parameter Reference - 《PX4 用户手册》 - 书栈网 · BookStack

我们发现 TELEM/SERIAL 4接口对应的值为 104,因此我们将 QGroundControl 中 MAV_1_CONFIG 的值修改为 104,

保存后,设置 MAV_1_MODE 的值为 Onboard,

高级配置 - Full Parameter Reference - 《PX4 用户手册》 - 书栈网 · BookStack

也就是将 MAV_1_MODE 的值设置为 2

然后在搜索 SER_TEL,将 SER_TEL4_BAUD 的值设置为 921600 (波特率)。

二、机载电脑端配置

安装 mavros,终端输入

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras -y
sudo wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
chmod +x ./install_geographiclib_datasets.sh
sudo sh ./install_geographiclib_datasets.sh

然后修改 mavros 中 px4.launch 文件的通信串口和波特率

roscd mavros
sudo gedit ./launch/px4.launch

将串口和波特率修改为 /dev/ttyTHS0 和 921600

<arg name="fcu_url" default="/dev/ttyTHS0:921600" />

这样就配置机载电脑端就配置完成了。

三、飞控与机载电脑通信

首先查询飞控(Pixhawk 4 Mini)中 UART&I2C B 的接口情况

Pixhawk 飞控接口线序图 & 常用传感器连接设置(QGC) - 知乎

由于 Pixhawk 4 Mini 与 Pixhawk 4 的端口基本相同,因此我们可以查看 Pixhawk 4 的 UART&I2C B 端口的 Pinout 情况

我们发现 UART & I2C B 端口的 2 号口是信号输出(TX),3 号口是信号输入 (RX),6号口是地线(GND),因此我们只需要这三个接口连到机载电脑(Jetson Xavier NX)即可。

我们需要查询机载电脑的飞控串口(pinout),用于连接飞控,注意到在 Jetson Xavier NX 上有 40 个针脚(pinout)

可以查询这 40 个串口对应的功能

NVIDIA Jetson Xavier NX GPIO Header Pinout - JetsonHacks

NVIDIA Jetson Xavier NX使用UART进行串口通信_jetson nx上通过串口控制云台-CSDN博客


 

我们这里需要的是 6 号串口(GND), 8 号串口(TX),10 号串口(RX),它们与飞控的连接方式为 GND —— GND,TX —— RX, RX —— TX,也就是

飞控端 UART & I2C B 的 2 号端口 ——> Jetson Xavier NX 端 10 号串口

飞控端 UART & I2C B 的 3 号端口 ——> Jetson Xavier NX 端 8 号串口

飞控端 UART & I2C B 的 6 号端口 ——> Jetson Xavier NX 端 6 号串口

接线对应如图所示(黑——黑,白——白,蓝——蓝)

至此接线就完成了,最后在机载电脑端启动 mavros 即可实现 机载电脑与飞控的通信。

终端输入

sudo chmod 777 /dev/ttyTHS0
roslaunch mavros px4.launch

启动一个新的终端,输入

rostopic echo /mavros/imu/data

此时只要能够打印出飞控 imu 的信息就说明 飞控与机载电脑实现了通信

相关文章:

Jetson Xavier NX 与飞控(Pixhawk 4 Mini)实现串口通信

一、飞控端配置 首先对 Pixhawk 4 Mini 烧录固件参考 Kakute H7 刷写 px4 固件_想要个小姑娘的博客-CSDN博客 烧录完成后打开 QGroundControl&#xff0c;进入参数设置并搜索 MAV&#xff0c;如下所示 然后修改 MAV_1_CONFIG&#xff0c;修改为自己想要连接机载电脑&#xf…...

为什么2022年秋招嵌入式开发岗位薪资大涨?

今天看到一个网友讨论的问题&#xff0c;其实这个问题也很简答。从嵌入式本身优势来说&#xff0c;首先是因为该行业人才人才需求大&#xff0c;据权威统计机构统计在所有软件开发类人才的需求中&#xff0c;对嵌入式工程师的需求达到全部需求量的60%~80%&#xff0c;并且每年以…...

在HTML里,attribute和property有什么区别?

在HTML中&#xff0c;attribute 和 property 之间的区别是一个常见但容易混淆的概念。它们都与HTML元素有关&#xff0c;但它们在功能、用途和行为上有所不同。以下是它们之间的主要区别&#xff1a; 定义和来源: Attribute: 它们是在HTML标记中定义的&#xff0c;通常用于提供…...

机器学习入门与实践:从原理到代码

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 在本文中&#xff0c;我…...

SpringCloud在idea中一键启动项目

1、如下图文件中加上&#xff1a; <component name"RunDashboard"><option name"configurationTypes"><set><option value"SpringBootApplicationConfigurationType" /></set></option></component>…...

VB过程的递归调用,辗转相除法求最大公约数

VB过程的递归调用&#xff0c;辗转相除法求最大公约数 过程的递归调用&#xff0c;辗转相除法求最大公约数 Private Function gys(ByVal m%, ByVal n%) As IntegerDim r%r m Mod n m大或者n大都无所谓&#xff0c;这个不影响计算&#xff0c;由于辗转相除法的算法&#xff0c…...

OpenCV(三十九):积分图像

1.积分图像介绍 积分图像中的每个像素表示了原始图像中对应位置及其左上方矩形区域内像素值的总和。如图&#xff0c;p0表示原始图像蓝色区域内像素值的总和。 倾斜求和&#xff08;Skewed Sum&#xff09;是积分图像的一种扩展形式&#xff0c;用于计算图像区域内的像素和&…...

【Electron 拦截请求实现自定义网络处理】

文章目录 Electron 拦截请求实现自定义网络处理1. 获取默认会话2. 拦截请求3. 完整示例代码总结 Electron 拦截请求实现自定义网络处理 在 Electron 中&#xff0c;我们可以使用 session 模块来拦截和处理网络请求。通过拦截请求&#xff0c;我们可以对请求进行修改、添加请求…...

Pytest系列-内置标签skip和skipif 跳过测试用例的详细使用(5)

简介 skip和skipif&#xff0c;见名知意就是跳过测试&#xff0c;主要用于不想执行的代码&#xff0c;标记后&#xff0c;标记的代码不执行。希望满足某些条件才执行某些测试用例&#xff0c;否则pytest会跳过运行该测试用例实际常见场景&#xff1a;根据平台不同执行测试、跳…...

华为云云耀云服务器L实例评测|docker 常用操作命令

文章目录 写在前面云耀云服务器L实例与ECS的购买和配置区别 1、管理命令2、帮助命令3、镜像命令4、容器命令4.1 查看容器4.2 创建容器 实例 写在前面 ​ 前面讲到了docker环境的安装&#xff0c;这是我们可以直接打开远程连接华为云云耀云服务器L实例&#xff0c;直接连接公网…...

RJ45网络信号浪涌保护器解决方案

RJ45网络信号浪涌保护器是一种用于保护网络设备免受雷击或其他高压电流干扰的装置&#xff0c;它可以有效地吸收和释放信号线路上的过电压&#xff0c;从而避免设备损坏或数据丢失。 RJ45信号浪涌保护器的应用领域和施工方案如下&#xff1a; 地凯科技RJ45网络信号浪涌保护器…...

SoC性能指标ARM内核运算能力

自动驾驶芯片常用的性能评价指标:TOPS,DMIPS,GFLOPS分别说的是啥&#xff1f; TOPS Tera Operation Per Second&#xff0c;表示每秒钟可以进行的操作数量&#xff0c;用于衡量自动驾驶的算力。 众所周知&#xff0c;汽车上最常用的传感器是摄像头&#xff0c;而与之对应的计…...

注册小鲸鱼88888专用网站

点击注册充值即可 高效不限速&#xff0c;不限设备 注意这里的地址并没有错&#xff0c;只是你需要想办法正确能进入就行&#xff0c;懂的大佬一定知道用一定的方法访问的。...

GitHub平台 Bookget操作

以bookget为例&#xff0c;熟悉github平台。 https://github.com/deweizhu/bookget 选择该界面中的“Wiki”&#xff0c;右侧边栏中是文章的结构大纲。 下载bookget软件。 依照说明&#xff0c;安装bookget环境。...

Ag-grid实现列拖拽,将列顺序存储到本地(localStorage),加载页面时根据本地保存的顺序修改列表头顺序,避免刷新页面后列顺序恢复原样

Ag-grid实现列拖拽&#xff0c;将列顺序存储到本地(localStorage)&#xff0c;加载页面时根据本地保存的顺序修改列表头顺序&#xff0c;避免刷新页面后列顺序恢复原样 今天在使用 ag-grid 的时候&#xff0c;遇到一个需求&#xff0c;ag-grid 列表头的信息拖拽后&#xff0c;…...

常用的linux命令简要说明以及命令全名理解

以下是一些常用的Linux命令及其全名&#xff1a; ls&#xff08;List&#xff09;&#xff1a;列出目录中的文件和子目录。cd&#xff08;Change Directory&#xff09;&#xff1a;切换当前工作目录。pwd&#xff08;Print Working Directory&#xff09;&#xff1a;显示当前…...

《Python趣味工具》——自制emoji3

今日目标 在上次&#xff0c;我们绘制了静态的emoji图。并且总结了turtle中的常用函数。 本次我们将尝试制作一个动态的emoji&#xff0c;让你的表情包动起来&#xff01; 文章目录 一、动画原理&#xff1a;二、制作动画&#xff1a;1. 修改eyes_black()函数&#xff1a;2. 绘…...

怎么把录音转换成mp3格式

怎么把录音转换成mp3格式&#xff1f;在我们平时的学习和工作中&#xff0c;经常会使用设备进行录音&#xff08;例如电脑、手机和录音笔等&#xff09;。然而&#xff0c;这些录音文件往往存在各种不同的格式&#xff0c;不同手机不同品牌的录音笔得到的录音文件都不相同&…...

基于遗传算法改进的BP神经网络图像分割,BP神经网络基本原理,遗传算法流程,

目录 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 遗传算法的原理及步骤 基于遗传算法改进BP神经网络的二分类 代码 效果图 结果分析 展望 完整代码和数据下载:遗传算法优化BP神经网络的图像分…...

uni-app 之 文字分两行显示超出用省略号表示

uni-app 之 文字分两行显示超出用省略号表示 vue 将一大串文字分两行显示超出用省略号表示 通过css设置文字强制不换行超出用省略号表示: {white-space: nowrap; 文本强制不换行&#xff1b;text-overflow:ellipsis; 文本溢出显示省略号&#xff1b;overflow:hidden; 溢出的部…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...