PX4与TX2通信

2023-05-16

PX4与TX2通信以及相关数据的获取

目录

 1. PX4硬件接口

2. TELEM1、2接口线序

3.  PX4与TX2通信

 PX4 IO口定义:

  PX4硬件:

4. 通信测试

5. RTPS+ROS

Jetson TX2终端:

 pixhawk:

6. 提高IMU数据发布频率 

方法一:通过mavros包话题订阅频率

 方法二:更改PX4启动文件

7. GPS数据获取


1. PX4硬件接口

 

2. TELEM1、2接口线序

 

3.  PX4与TX2通信

PX4是TELEM2,飞控地面站(QGroundControl)TELEM2口的波特率设置为921600,TX2中MAVROS中的fcu_url参数设置为/dev/ttyTHS2:921600即可。

 PX4 IO口定义:

Serial Port Mapping | PX4 User Guideicon-default.png?t=M85Bhttps://docs.px4.io/main/en/hardware/serial_port_mapping.html 

  PX4硬件:

Pixhawk 4 | PX4 User Guideicon-default.png?t=M85Bhttps://docs.px4.io/main/en/flight_controller/pixhawk4.html硬件连接如图所示

PX4通过Telem2TX2实现通信:

 

 TX2载板为瑞泰新时代(北京)科技有限公司与Nvidia合作的RTSO-9003U底板,用到的是P7口5(UART1_TX)、6(UART1_RX)、19(GND)、20(GND)引脚。

 

4. 通信测试

TX2终端输入:

roscd mavros
ls
cd launch
sudo vim px4.launch

fcu_url参数设置为/dev/ttyTHS2:921600

新打开一个终端:

rostopic echo /mavros/imu/data
rostopic echo /mavros/state

结果:

...
connected: True
...

5. RTPS+ROS

Jetson TX2终端:

sudo chmod a+rw /dev/ttyTHS2
source ~/px4_ros_com_ros2/install/setup.zsh
micrortps_agent -d /dev/ttyTHS2 -b 921600

 pixhawk:

micrortps_client start -d /dev/ttyS2 -b 921600

6. 提高IMU数据发布频率 

有两个imu数据,/mavros/imu/data_raw和/mavros/imu/data,前者没有orientation数据,后者有,飞控计算过后的IMU数据。

方法一:通过mavros包话题订阅频率

# 查看话题的发布频率
rostopic hz /mavros/imu/data_raw

# 调整发布频率 /mavros/imu/data_raw  100hz
rosrun mavros mavcmd long 511 105 10000 0 0 0 0 0

# 调整发布频率 /mavros/imu/data   100hz
rosrun mavros mavcmd long 511 31 10000 0 0 0 0 0

 如果想要提到更高的频率只需要减小10000这个参数,这个就是设置时间间隔的现在间隔为10000us,所以是100Hz

例如:

rosrun mavros mavcmd long 511 31 10000 0 0 0 0 0

 方法二:更改PX4启动文件

先把飞控的内存卡取出来,用读卡器插上,然后在根目录下面建立一个etc的目录,然后在目录下面新建一个extras.txt的文件。

extras.txt:

mavlink stream -d /dev/ttyS2 -s ATTITUDE_QUATERNION -r 100
mavlink stream -d /dev/ttyS2 -s HIGHRES_IMU -r 100

这个具体的原理就是配置PX4的开机启动文件,通过设置mavlink发布的速率达到更改mavrosIMU发布频率的目的。

里面的-d 选项后面的是指的mavlink的端口,我用的串口2所以是/dev/ttyS2 ,如果是串口1就是/dev/ttyS1,如果是USB连接的就是 /dev/ttyACM0,-s是发布的消息,-r自然就是发布的速率了。

mavros话题 /mavros/imu/data_raw对应的是HIGHRES_IMU。

mavros话题 /mavros/imu/data对应的是ATTITUDE_QUATERNION。

这个命令可以直接在mavlink控制台里面输入,测试没问题了过后再写在SD卡里面。

然后把下面些内容复制进去保存退出过后,给飞控上电,之后测试频率就OK。

7. GPS数据获取

Tips:

mavro中发布的global_postion和local_positon等相关的话题的数据,都是通过融合GPS数据获取得到的,所以获取到GPS数据是很重要的一步,最好去空旷的室外。其中的/mavros/local_position/pose发布的数据为以GPS上电时刻为原点而建立的NED坐标系的位置数据和四元数数据。(这里不对NED坐标系进行介绍)

只要能够成功建立与PX4飞控的连接,就可以获取到mavros发布的关于imu的数据,但是却不一定能够获取到/mavros/local_position/pose以及其他相关话题的数据。正如前面所说,只有获取到GPS信号才可以,为此需要带着飞控和GPS到比较空旷的室外。然后,通过micro-USB将飞控连接QGC,多等一会。等到左上角搜索到的卫星数目大于等于6之后,便可以关闭QGC,然后尝试运行px4.launch文件,看看能否获取到数据,即

rostopic echo /mavros/local_position/pose

要点就一个,到空旷的室外等!

 

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

PX4与TX2通信 的相关文章

  • PX4代码学习系列博客(5)——在px4中添加自己的模块

    怎么在px4中添加自己的模块 在 px4固件目录结构和代码风格 这一节 xff0c 曾经说过NuttX是一个实时的嵌入式系统 xff0c 上面可以像windows那样运行程序 那既然是应用程序 xff0c 那我们应该也能写一些可以在Nutt
  • Ubuntu下构建PX4软件

    本搭建过程基于http dev px4 io starting building html xff0c 希望大家互相交流学习 原文 xff1a Building PX4 Software xff08 构建PX4软件 xff09 PX4 ca
  • PX4源代码下载编译

    sudo git clone https github com PX4 PX4 Autopilot git recursivegit submodule update init recursivegit submodule update r
  • 从Simulink到PX4——Simulink-PX4插件安装与环境搭建

    从Simulink到PX4 Simulink PX4插件安装与环境搭建 前言0 准备工作1 安装WSL2 Setting up the PX4 Toolchain on Windows3 Setting up the PX4 Tool Ch
  • Ubuntu 18.04 (Jetson Nano 4G/TX2)配置 CCM-SLAM

    文章目录 1 安装ROS2 安装OpenCV33 设置虚拟内存4 安装CCM SLAM 记录了安装CCM SLAM的详细过程以及踩过的坑 安装环境 xff1a Jetson Nano 4G Ubuntu 18 04 1 安装ROS 1 1更
  • 在TX2上配置ORB-SLAM2错误总结

    Pangolin 错误描述 usr lib gcc aarch64 linux gnu 5 aarch64 linux gnu libGL so undefined reference to 96 drmFreeDevice 解决方法 cd
  • PX4 -- EKF2

    文章目录 EKF2参数高度估计Range Finder滤波 单变量更新单变量更新对多变量的影响 EKF2 参数 EKF2 中有一类 GATE 参数 当测量值在 VAR GATE 范围内才会更新值 高度估计 四种高度控制方法 xff1a 气压
  • PX4模块设计之一:SITL & HITL模拟框架

    PX4模块设计之一 xff1a SITL amp HITL模拟框架 1 模拟框架1 1 SITL模拟框架1 2 HITL模拟框架 2 模拟器类型3 MAVLink API4 总结 基于PX4开源软件框架简明简介的框架设计 xff0c 逐步分
  • PX4模块设计之九:PX4飞行模式简介

    PX4模块设计之九 xff1a PX4飞行模式简介 关于模式的探讨1 需求角度1 1 多旋翼 MC multi copter 1 1 1 RC控制模式1 1 1 1 Position Mode1 1 1 2 Altitude Mode1 1
  • PX4模块设计之二十四:内部ADC模块

    PX4模块设计之二十四 xff1a 内部ADC模块 1 内部ADC模块简介2 模块入口函数2 1 主入口board adc main2 2 自定义子命令custom command 3 内部ADC模块重要函数3 1 task spawn3
  • PX4模块设计之四十五:param模块

    PX4模块设计之四十五 xff1a param模块 1 param模块简介2 模块入口函数param main3 重要函数列表4 总结5 参考资料 1 param模块简介 Description Command to access and
  • PX4-4-任务调度

    PX4所有的功能都封装在独立的模块中 xff0c uORB是任务间数据交互和同步的工具 xff0c 而管理和调度每个任务 xff0c PX4也提供了一套很好的机制 xff0c 这一篇我们分享PX4的任务调度机制 我们以PX4 1 11 3版
  • px4仿真无法起飞问题(Failsafe enabled: no datalink)

    报错信息 问题描述 xff1a 使用JMAVSim和gazebo仿真px4起飞时报错如下 xff1a WARN commander Failsafe enabled no datalink 说不安全 解决方法 打开QGC 就可以起飞了
  • jetson tx2 刷机,安装 cuda、opencv 详细教程

    jetson tx2 刷机 xff0c 安装 cuda opencv 详细教程 jetson tx2 的详细介绍和用途可见官网 xff1a Nvidia jetson tx2 接下来主要说明jetson tx2 详细刷机过程以及在过程中踩过
  • px4下载指定版本的固件、git用法

    https hub fastgit org PX4 PX4 Autopilot git describe tag 查看当前版本号 git tag l 查看所有版本 xff0c 也就是打个tag git checkout v1 9 1 跳转到
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • PX4模块设计之二十七:LandDetector模块

    PX4模块设计之二十七 xff1a LandDetector模块 1 LandDetector模块简介2 模块入口函数2 1 主入口land detector main2 2 自定义子命令custom command 3 LandDetec
  • Jetson TX2零基础学习(二)——安装pip3、pytorch、torchvision

    目录 一 安装pip3 二 安装pytorch 三 安装torchvision 系列文章 大家好 xff0c 很开心又见面了 xff0c 这次接着上篇博客 xff0c 为大家详细介绍在Jetson TX2中搭环境的方法 一 安装pip3 首
  • NVIDIA Jetson TX2 解决奥比中光 Astra pro相机的ros 打不开深度信息/camera/depth/image

    背景 NVIDIA Jetson TX2 安装奥比中光 Astra pro相机的ROS 驱动后可以打开彩色相机 打不开深度信息 有点捉急 换了一台相机 还是如此 说明相机没问题驱动有问题 打开奥比中光的开发者论坛 Astra pro无法读取
  • TX2入门(9)——yolov3(1)

    1 从github上clone git clone https github com pjreddie darknetcd darknet 2 修改Makefile 以下注释来自参考链接1 GPU 1 是否需要用GPU CUDNN 1 是否

随机推荐