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"

 

改完以後就正常了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章