ROS小车研究笔记01/30/2023 小车启动,里程计,IMU消息类型(遗留问题)

本文是ROS小车研究笔记的一部分,介绍了如何启动小车,以及里程计和IMU消息的内容。里程计消息包含标头、坐标、速度和角速度信息,而IMU消息则涉及姿态、角速度和加速度。文章提出了关于IMU消息中缺失线速度协方差的问题,并计划进一步研究。
摘要由CSDN通过智能技术生成

小车启动:
1 连接wifi:wifi名称WHEELTEC_CAR_5.5,密码dongguan
2 启动初始化节点

roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch

小车里程计及IMU发布话题:

里程计消息(nav_msgs/odom):
简介:
里程计消息包含标头,小车坐标,线速度,角速度信息

1 header:
通信接口:std_msgs/Header
消息内容:
uint32 seq第几个数据
time stamp时间戳
string frame_id数据参考坐标系

odom.header.stamp = ros::Time::now(); 
odom.header.frame_id = odom_frame_id;

2 pose: (三轴位置坐标及协方差)
通信接口:geometry_msgs/PoseWithCovariance
消息内容:
geometry_msgs/Point类型:float64 x, y, z (x, y平面坐标,z方向)
geometry_msgs/Quaternion类型:float64 x, y, z, w 四元数表示X, Y, Z姿态(可以用tf_transformations里对应方法进行四元数和高斯角表示法切换)
float64[36] covariance位置数据协方差

geometry_msgs::Quaternion odom_quat = tf::createQuaternionMsgFromYaw(Robot_Pos.Z);	// 创建四元数坐标
odom.pose.pose.position.x = Robot_Pos.X; //Position //位置
odom.pose.pose.position.y = Robot_Pos.Y;
odom.pose.pose.position.z = Robot_Pos.Z;
odom.pose.pose.orientation = odom_quat;

3 twist:(三轴线速度,角速度,及速度协方差)
通信接口:geometry_msgs/Twist
消息内容:
geometry_msgs/Vector3类型: float64 x, y, z (x, y, z线速度)
geometry_msgs/Vector3类型:float64 x, y, z (x, y, z角速度)
float64[36] covariance速度数据协方差

odom.twist.twist.linear.x =  Robot_Vel.X; //Speed in the X direction //X方向速度
odom.twist.twist.linear.y =  Robot_Vel.Y; //Speed in the Y direction //Y方向速度
odom.twist.twist.angular.z = Robot_Vel.Z; //绕Z轴角速度 

Odom发布者完整代码(位于启动节点wheeltec_robot.cpp):

void turn_on_robot::Publish_Odom()
{
   
    //Convert the Z-axis rotation Angle into a quaternion for expression 
    
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值