PX4与TX2通信

这篇具有很好参考价值的文章主要介绍了PX4与TX2通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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硬件接口

telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

 文章来源地址https://www.toymoban.com/news/detail-625042.html

2. TELEM1、2接口线序

telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

 telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

3.  PX4与TX2通信

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

 PX4 IO口定义:

Serial Port Mapping | PX4 User Guidehttps://docs.px4.io/main/en/hardware/serial_port_mapping.html 

  PX4硬件:

Pixhawk 4 | PX4 User Guidehttps://docs.px4.io/main/en/flight_controller/pixhawk4.html硬件连接如图所示

PX4通过Telem2TX2实现通信:

 telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

 TX2载板为瑞泰新时代(北京)科技有限公司与Nvidia合作的RTSO-9003U底板,用到的是P7口5(UART1_TX)、6(UART1_RX)、19(GND)、20(GND)引脚。telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

 telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

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

telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

 如果想要提到更高的频率只需要减小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

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

telem2接口,Pixhawk4,自动驾驶,视觉检测,图像处理,tcp/ip,信息与通信

 

到了这里,关于PX4与TX2通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • tx2开发板升级JetPack至最新

    最近一个项目用到了tx2, 上面的jetpack太老了需要更新,很久没和开发板打交道了,记录一下。中间没怎么截图,所以可能文字居多。 Ubuntu 18.04的机器,避免有坑,不要使用虚拟机,一定要是物理机,我就是刚开始用虚拟机,每次到99%,就卡住 TX2开发板 网线,tx2 USB连接线 S

    2024年01月20日
    浏览(37)
  • Jetson TX2 NX的GPIO引脚使用方式

    Jetson TX2 NX是一款高性能的嵌入式AI计算平台,其中引脚的设计和使用对于开发人员来说非常重要。在本文中,我们将会介绍Jetson TX2 NX的引脚并说明其功能和使用方式。 官方文档官方文档 引脚概述 Jetson TX2 NX具有许多不同类型的引脚,包括数字输入/输出(GPIO)、串行外设接口

    2024年02月15日
    浏览(46)
  • Nvidia Jetson TX2 配置Cuda 加速的Opencv

    “其他流程网上都有但是要找到适合自己的且没有报错的有点艰难” 首先做好心理准备,用Cmake进行编译的话,每次流程基本上都是2h左右,所以我选择用网线VNC直连后,挂后台处理。 1.安装Jetson的jtop监控器 2.准备Cmake-gui可视化安装程序(因为之前用代码的话路径容易写错,

    2024年02月16日
    浏览(41)
  • 【AI】YOLOv7部署在NVIDIA Jetson TX2上

    Micro controller Unit, 微处理器 在单片机上也能跑的AI算法,好神奇啊,比如MCUNet Central Processing Unit,中央处理器 一般的框架都有CPU版本,当然速度会慢一些,在x86电脑上勉强能用,在嵌入式ARM板上几乎无法使用 Graphics Processing Unit,图形处理器 例如英伟达的各种显卡等,具有强

    2024年02月04日
    浏览(73)
  • 【PX4学习笔记】11.PX4飞行日志分析

    https://docs.px4.io/main/en/getting_started/flight_reporting.html https://docs.px4.io/master/en/log/flight_log_analysis.html github推荐:https://github.com/PX4/FlightPlot/releases 推荐:https://blog.csdn.net/qq_33641919/article/details/106883279 [!NOTE] ​ 可以看到,总共也就三个版本而已。 log messages 存放了控制台的打印信息。

    2024年02月22日
    浏览(46)
  • 【EHub_tx1_tx2_A200】Ubuntu18.04 + ROS_ Melodic + 锐驰LakiBeam 1L单线激光 雷达评测

            大家好,我是虎哥,最近这段时间,又手欠入手了锐驰LakiBeam 1L激光雷达,实在是性价比太优秀,话说,最近激光雷达圈确实有点卷。锐驰官网的资料已经很丰富,我这里总结一下自己的简单测试经验,分享给大家。          LakiBeam1L是锐驰智光面向中低速场

    2024年02月03日
    浏览(39)
  • 【PX4学习笔记】08.PX4中显示在QGC的参数讲解

    [!NOTE] ​ 姿态控制的P-PID:roll、pitch、yaw三个角速度的内环PID,外环P的控制 ​ 位置控制的P-PID:xy水平方向以及z垂直方向上的内环PID,和外环P的控制 ​ 这两个部分的关系,还是不太明晰。 ​ SYS开头的系统参数,修改之后,必须要reboot重启刷新。 [!NOTE] ​ 在设置好机架之后

    2024年02月22日
    浏览(40)
  • Jetson TX2 GPIO权限设置,Jetson.GPIO提供的99-gpio.rules文件没有效果

    在此之前得确认1. 用户组gpio是否存在 getent group | grep gpio (如果没创建就 groupadd -r gpio 创建)2. 当前用户是否已经加入gpio用户组 groups | grep gpio (如果没加入就 usermod -aG gpio 当前用户名 加入) 不过一般Jetson 把以下内容写到 /etc/udev/rules.d/99-gpio.rules 中去 然后运行   打算使用Jet

    2024年02月08日
    浏览(44)
  • PX4代码解析(6)

    上一节介绍了PX4姿态估计调用函数的流程,这一节分享一下我对PX4姿态解算的解读.首先,要理解PX4姿态解算的程序,要先从传感器的特性入手,这里主要介绍的传感器有加速度计,磁力计,陀螺仪. pixhawk上使用的为三轴加速度计,主要用于测量x,y,z三轴的加速度值,常用的传

    2024年02月14日
    浏览(41)
  • PX4之飞行控制框架

    PX4的飞行控制程序通过模块来实现,与飞控相关的模块主要有commander,navigator,pos_control,att_control这几个,分别可以在src/modules目录中找到。 commander - 指令/事件处理模块,处理指令、遥控器输入和各种事件,设定飞行器状态和控制模式 navigator - 导航模块,根据指定的任务输

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包