wheeltec小车里程计z轴抖动问题解决 label: Research

使用wheeltec小车进行三维雷达slam的时候,发现里程计的z轴线速度数据异常的情况,但是实际上小车是不会飞的

/odom
该话题为里程计原始数据话题,由对STM32上传的三轴速度积分得到。输入命令rostopic echo /odom,可以查看该话题信息,可以看到该话题包含了
seq: 话题数据帧序号。stamp:话题时间峦。
frame_id:里程计的起始位置坐标名称。child_frame_id:机器人坐标名称。
pose-position:机器人坐标相对起始位置坐标的位置关系。
注意:这里Z轴数据原本是代表高度的,但是我们使用其用于存放机器人绕Z轴旋转的角度数据,这样方便我们直观地知道机器人绕Z轴旋转的角度,同时该机器人不会飞行,高度可以认为一直是零。
pose-orientation:机器人坐标相对起始位置坐标的姿态关系,四元数表示。注意这里只能代表机器人绕Z轴旋转的角度,因为这里的里程计高度一直是零。
机器人姿态只有绕Z轴旋转的角度是的四元数计算方法:
x=0, y=0, z=sin(0 /2),W=cos(0/2),0代表机器人绕轴旋转的角度,逆时针为正。pose-covariance:机器人三轴位置和三轴姿态数据的6x6协方差矩阵,代表机器人位姿数据的可信度。
twist-l inear:机器人的X、Y、Z三轴实时线速度大小。twist-angular:机器人绕X、Y、X三轴的角速度大小。
twist-covariance:机器人三轴速度和绕三轴角速度数据的6x6协方差矩阵,代表机器人速度和角速度数据的可信度。

 经过阅读文档,发现wheeltec使用z轴储存角速度从而解逆姿态,所以在/odom的赋值中令z轴线速度直接为0即可

 

再重新编译指定功能包

指定功能包编译:
catkin_make -DCATKIN_WHITELIST_PACKAGES="功能包名"
解除指定功能包编译:
catkin_make -DCATKIN_WHITELIST_PACKAGES=""

比如这里编译指令的是

catkin_make -DCATKIN_WHITELIST_PACKAGES=" turn_on_wheeltec_robot"

 

改完以后就正常了

 

posted @ 2022-04-22 18:24  Radiumlrb  阅读(298)  评论(0编辑  收藏  举报