Jetson Nano利用ROS2通过MicroDDS与PX4通讯

2023-05-16

目录

  • Jetson Nano安装Ubuntu20.04
  • Ubuntu20.04 配置ROS2环境
  • Pixhawk配置
  • Jetson Nano上MicroDDS-Agent配置及和pixhawk通讯

PX4在V1.14及后续版本中,将原本ROS2与PX4通讯的中间件micrortps模块删除了,优化成了MicroDDS模块。MicroDDS的使用相比之前也简化了许多。
本文在jetson nano板子上部署了Ubuntu20.04,并安装了ROS2,测试和Pixhawk4 mini之间的通讯。

Jetson Nano安装Ubuntu20.04

镜像用的是在github上找到的:https://github.com/Qengineering/Jetson-Nano-Ubuntu-20-image。
他上传了Ubuntu 20.04 带有 OpenCV, TensorFlow and Pytorch的镜像,但是我使用的时候配置环境报错。于是推荐用他上传的空白的Ubuntu20.04 Bare image镜像
将内存卡用读卡器插入电脑,用balenaEtcher选择下载好的镜像,选择对应的内存卡烧写。完成后将内存卡插入jetson nano中就可以运行系统了。
在这里插入图片描述
(如果是之前烧写过系统的内存卡,可以用SDFormatter格式化清空后再烧入)

Ubuntu20.04 配置ROS2环境

基本步骤和之前写的教程Ubuntu20.04安装ROS2+ROS2-PX4框架搭建差不多。但是由于这个教程中也安装了PX4的开发环境,有些python的项在配置PX4环境的时候已经配置了。但是在jetson nano中,不需要配置PX4环境(配置了也会报错),所以需要额外单独安装一些python和colcon的依赖项。

Pixhawk配置

这里其实需要配置的东西很少,注意以下几步

  1. 在另外一台自己的笔记本电脑上,下载PX4源码,注意要在v1.14版本之后的PX4源码。现在直接在终端运行
 git clone https://github.com/PX4/PX4-Autopilot.git --recursive(需要科学上网)

下载得到的就是最新版本的源码。
(上述步骤也可以分步:

git clone GitHub - PX4/PX4-Autopilot: PX4 Autopilot Software
cd PX4-Autopilot/
git submodule update --init --recursive

make生成对应pixhawk硬件的固件版本烧写到pixhawk中。MicroDDS-Client是自动默认配置在所有的固件版本中的(只要你的源码版本在1.14后),所以直接make对应的固件版本就可以。比如我使用的Pixhawk4 mini,就是如下命令

make px4_fmu_v5 upload
  1. 在QGC地面站中,设置运行client的串口,将UXRCE_DDS_CFG设置为pixhawk与机载计算机连接的口(如我这里用的是TELEM1口,就设定为TELEM1)。管口的定义可以在PX4官方用户手册对应的飞控板介绍页找到。
    在这里插入图片描述
    修改对应接口的波特率,我这里使用的是TELEM1,对应的参数就是SER_TEL1_BAUD,TELEM1的波特率默认是57600。(如果是TELEM2,同理用的参数就是SER_TEL2_BAUD)。这个波特率要记住,之后和机载计算机的通讯需要设置正确波特率,否则无法通讯。
    在这里插入图片描述

  2. 将Mavlink端口Disable(设置为0)。这里需要让你之前设定为UXRCE_DDS_CFG的串口不配置为MAVLINK的端口,比如我前面用了TELEM1,这里就不能再设置TELEM1作为MAVLINK端口。
    在这里插入图片描述

Jetson Nano上MicroDDS-Agent配置及和pixhawk通讯

将飞控对应口连接到Jetson nano上
在这里插入图片描述

通过

ls /dev

命令可以看到多出来了哪个串口,对应的就是飞控。我这里多出来的是ttyUSB0这个口。于是运行命令启动Agent:

MicroXRCEAgent serial -D /dev/ttyUSB0 -b 57600

-b后面接的是对应波特率,就是之前设置的波特率。这个波特率一定要和飞控上对应接口的波特率一样。和飞控连接上了就能看到一连串的信息:
在这里插入图片描述
也可以进入ros2的工作区目录下,运行官方的例程。例如查看传感器信息:

source install/setup.bash
ros2 run px4_ros_com sensor_combined_listener 

效果与仿真效果是一致的
在这里插入图片描述

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

Jetson Nano利用ROS2通过MicroDDS与PX4通讯 的相关文章

  • AirSim中运行VIO算法(VINS-Mono)

    VINS Mono在AirSim上跑通 文章目录 VINS Mono在AirSim上跑通一 IMU参数配置二 相机参数设置三 AirSim发布数据问题 关于相机 IMU内外参的完整解释 xff0c 可以参考我的另一篇文章 一 IMU参数配置

随机推荐

  • AirSim中获取视觉、惯性数据方法研究

    AirSim中获取视觉 惯性数据方法研究 文章目录 AirSim中获取视觉 惯性数据方法研究1 获取ROS bag格式数据2 获取文件形式 EuRoc数据集格式 3 其他方案 最近在做AirSim中部署V SLAM xff0c 抽空将之前尝
  • 如何引用开源库(BibTex转为endnote)方法

    前言 xff1a 我们在写论文时 xff0c 论文的工作有时可能会用到别人的开源算法库 xff0c 那么我们如何在参考文献中引用呢 以Ceres库为例 xff0c 该库是谷歌开发的一款求解非线性优化问题的库 xff0c 相信做SLAM相关的
  • 关于MAC 安装 laravel4 的一些经验 二

    unix 和windows 完全不同 xff0c 只好恶补了一些UNIX的知识 xff0c 找到了 profie 这个是隐藏文件 xff0c 在find里面找不到的 接下来只能自己配置PHP环境或者下载其他软件 我下载了XAMPP xff0
  • AirSim相机、IMU内外参分析(VIO、vSLAM)

    作者 朱贞欣 xff0c 公ZH xff1a SLAM学习er 文章目录 0 引入1 世界坐标系2 IMU2 1 IMU数据生成2 2 关于IMU噪声 3 相机3 1 相机外参3 2 内参 0 引入 假设你想通过AirSim获取仿真数据运行
  • C++ cout输出小数位数

    方法一 xff1a 使用setiosflags span class token macro property span class token directive hash span span class token directive
  • kubeadm init 运行时kebelet启动失败问题

    最近在部署kebeedge xff0c 需要先在云服上部署k8s xff0c 期间通过kubeadm init config的方式进行master的部署 xff0c 记录一下遇到的kubelet相关的错误 在通过kubeadm init c
  • 2288hv5超融合服务器 数码管报888

    问题现象 2288hv5超融合服务器 xff0c 前面板数码管报888 xff0c 电源灯黄灯闪烁 xff0c 开不了机 xff0c ibmc网络是通的 xff0c 但是web网页打不开 问题原因 iBMC的版本过低 xff0c iBMC在
  • 跟我一起写操作系统(二)——史上最简单的内核

    跟我一起写操作系统 二 史上最简单的内核 转载注明出处 xff1a http www cnblogs com lucasysfeng p 4847662 html 上一讲地址 xff1a http www cnblogs com lucas
  • k8s中文文档

    http www cnblogs com huangzhenyou p 8066145 html k8s概念比较多 xff0c 有什么概念的疑惑的推荐看k8s中文文档 me的环境 操作系统 xff1a centos7 docker xff1
  • 阿里云 CentOS7 安装图形化界面 。安装图形化界面看这一篇就够了。

    阿里云centos7 下执行eclipse 响应学校老师的要求安装eclipse用于与hadoop的操作 在这之前想过两种方法来解决服务器无图形化界面 xff0c 来操作eclipse 1 在主机上下载eclipse把需要编译的代码编译成j
  • 把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5

    一 前言 之前发现ESXi是免费的时候 xff0c 非常兴奋地把几台服务器都装上了 xff0c 用着确实还行 xff0c 但是用久了之后就发现 xff0c 很多高端功能需要进一步付费才能使用 xff0c 比如HA等 另外就是它还有很多局限性
  • PX4 ThoneFlow光流使用

    PX4官方光流介绍 xff1a PMW3901 Based Flow Sensors PX4 User Guide 与飞控连接 接线 xff1a G接GND xff1b V接3 3V xff1b T是TX接飞控的RX口 xff1b Y接地开
  • Ubuntu PX4无人机仿真环境配置

    目录 一 VM虚拟机安装ubuntu18 04 1 VMware安装 2 新建虚拟机 二 Ubuntu系统配置 1 更改软件安装源 2 安装中文输入法 三 PX4环境搭建 1 安装git 2 下载px4源码 3 安装ROS 4 安装MAVR
  • larave5安装过程分享-MAX OSX版本

    MAC上的平台是XAMPP xff0c 自带的版本低 我用的是XAMPP MAC版本 一 本地php环境配置 which php php xff0d v xff5c php xampp php PASH 61 34 xff0f applic
  • PX4二次开发 创建进程

    目录 一 创建进程 二 仿真测试 PX4官方手册 xff1a Module Template for Full Applications PX4 User Guide 编写参照PX4源码 src templates xff1a PX4 Au
  • 【Matlab】Matlab基础绘图整理

    Matlab基础绘图整理 一张图绘制多个子图在图片文本中添加希腊字母和特殊字符其他常用函数限制坐标轴范围添加坐标轴说明添加图例修改线条类型 标记修改线条粗细 一张图绘制多个子图 主要命令 xff1a figure 第几张图 subplot
  • PX4 磁罗盘干扰分析

    磁罗盘干扰分析 推力与磁场关系正常情况干扰情况与推力相关解决方法 与推力不相关 罗盘补偿操作流程获取用于分析的日志分析日志调整罗盘补偿参数 推力与磁场关系 无人机上的电机电流会干扰无人机上搭载的磁罗盘 xff0c PX4官方提供了一些方式
  • 【C++】进制

    目录 一 进制转换1 十进制转二进制2 十进制转八进制 xff08 同上 xff09 3 二进制转八进制4 二进制转十六进制5 八进制转二进制6 十六进制转二进制 二 位运算1 原码 反码 补码2 位运算符3 变换操作 一 进制转换 1 十
  • Ubuntu20.04安装ROS2+ROS2-PX4框架搭建

    目录 Ubuntu20 04安装ROS2Set localeSetup SourcesInstall ROS2 packageEnvironment setup测试 ROS2 PX4框架搭建Install PX4Install ROS2Se
  • Jetson Nano利用ROS2通过MicroDDS与PX4通讯

    目录 Jetson Nano安装Ubuntu20 04Ubuntu20 04 配置ROS2环境Pixhawk配置Jetson Nano上MicroDDS Agent配置及和pixhawk通讯 PX4在V1 14及后续版本中 xff0c 将原