python读取串口数据 绘图_3.使用串口读取IMU数据并通过话题发布

本文介绍了如何使用ROS通过串口读取IMU数据,并在树莓派上进行通信。讲解了如何设置串口通信,使用USB转串口模块连接到其他平台,以及注意事项,如波特率限制和串口配置。还提到了相关参考资料和可能遇到的问题。
摘要由CSDN通过智能技术生成

0x00 简介

我们的IMU扩展板是支持通过串口方式来读取IMU数据,现在代码已经开发完成。前面文章介绍的都是将IMU板插在树莓派上,然后使用树莓派的IIC接口来数据通信。

因此不需要额外接线就可以发布imu话题的,若使用串口进行通信的话,若IMU板还是在树莓派上使用。那仍然是可以不用接线的,因为在树莓派排针处也是有串口的,我们可以直接使用该串口进行通信。但是若将imu板使用在其他平台上,例如jetson nano板,我们的x86电脑,这样就需要使用一个USB转串口模块接上线来通信了。

这里需要注意的是两个黄色的跳线帽,他们是IMU模块与外部串口通信的开关。当跳线帽接上去的时候,IMU模块的数据可以通过串口发布出去。如果将跳线帽拔下,那imu模块的信息将无法通过串口发布出来。所以,当只使用IIC通信获取IMU模块数据,不使用串口时,可以将该串口跳线帽取下来,这样就可以防止IMU模块通过串口将数据发布出来。

ae80cf1f7b81f49904f3b546c783f61a.png
IMU板串口位置

0x01 ROS代码

首先来看一下launch文件,这是启动IMU板串口通信代码的入口,主要负责启动serial_imu_node节点,代码如下:
<launch>  <arg name="imu_cfg_file" default="$(find serial_imu_hat_6dof)/cfg/param.yaml" />  <node pkg="serial_imu_hat_6dof" type="serial_imu_node" name="serial_imu_node" output="screen">    <rosparam file="$(arg imu_cfg_file)" command="load" />  node>launch>

在launch文件的第一行,可以看到一个arg参数,这里指定的是serial_imu_node在启动时需要加载的yaml配置文件。该配置文件如下:

################################################# Copyright: 2016-2020 www.corvin.cn ROS小课堂# Description:使用串口进行通信时的配置信息.#   imu_dev:指示串口设备挂在点,如果使用usb转串口#     模块,都是写ttyUSB0,1,2等.如果使用树莓派的#     GPIO排针处串口,则使用ttyS0.#   baud_rate:串口通信波特率#   data_bits:数据位# 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值