ROS实例学习之WT61C速度传感器使用

本文介绍了如何在ROS Kinetic环境下,使用serial package与WT61C速度传感器进行串口通信,解析传感器数据并将其转换为sensor_msgs/IMU消息,进而将数据发送至turtlesim节点。主要难点包括serial package的使用、串口设置与数据读取、数据解析以及角度到四元数的转换。同时,提供了CMakeList.txt的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

github源码:https://github.com/FProgrammerLIU/turtle_wit_motion 

准备工作

ubuntu16.04 ROS-kinetic 不同版本可能会出现一些问题

ROS内置serial功能包,turtlesim功能包

功能实现

使用serial package,能够操作串口,进行设置,读取写入;

读取原始数据,判断数据类型,数据解析,转换为期望数据类型大小

将转换完的数据存入sensor_msgs/IMU消息,发送到turtlesim节点

实现难点

serial package的使用:设置与读取写入操作,serial liabray:http://wjwwood.io/serial/doc/1.1.0/index.html

串口设置:串口打开过程,注意交互过程,询问使用者,是否循环打开串口。

                  串口名称:使用udev.rules文件,重命名串口。设置链接,放在etc/udev/rules.d/new.rules或/lib/udev/rules.d  

串口数据的读取方式:大部分读取(包括网口数据接受),先接收一部分数据放入缓存中,一次校验找到包头,再校验第二位,校验和,接受数据,清除前一部分数据,循环接受,注意最后一包的长度,不够直接扔掉。

数据解析:得到期望数据类型大小,有官方转换方法参照,无官方如何利用数学公式解析

数据解析过程注意数据类型,可能会影响数据转换结构

角度转换为四元数:使用tf下的转换工具  tf/Linear

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值