ROS機器人底盤坐標像素變換操作方法
上篇文章介紹了ROS TF坐標變換基本概念及使用案例,今天給大家介紹ROS機器人底盤坐標像素變換,一起看看吧
對于ROS小車底盤地圖數(shù)據(jù)需要知道的點
1.整幅地圖處于第三象限
2.坐標值代表距離,單位米。
3.分辨率單位(米/像素)
因此通過地圖坐標得到像素坐標的辦法:
像素坐標=(實時坐標-初始坐標)/分辨率
實時坐標的獲?。?br />觸發(fā)條件:定時反饋;300ms一次。
返回的json數(shù)據(jù)中
pose 車子當前的位置坐標,x,y為x,y軸上的坐標,yaw為航向角。
初始坐標:
觸發(fā)條件:獲得地圖數(shù)據(jù)時反饋獲得發(fā)送get命令反饋。
"cmd_type":"slam_map_control" "cmd":"get"
返回的json數(shù)據(jù)中
pose x、y表示機器人實際初始位置坐標,yaw為航向角
resolution 地圖分辨率,表演一個像素點間隔表示0.05m
機器人在圖片中的像素像素坐標位置為:
((cX-originX)/resolution,(cY-originY)/resolution)
下面接著給大家介紹下ROS中的坐標系定義
ROS最常用到的三個坐標系是:map
、odom
、base_link
。
base_link
描述的就是機器人當前時刻的位姿,是移動的坐標系。
odom
是機器人運動的參考坐標系,是固定不動的(world fixed frame)。坐標系原點設(shè)為機器人的運動起始點,那么機器人的位姿是相對于odom
來描述的。
map
是世界坐標系,是固定不動的(world fixed frame)??梢栽跈C器人所在的環(huán)境中隨意指定一個點作為世界坐標系原點,規(guī)定其具體的朝向,那么分布在不同地方的所有的機器人和其他設(shè)備(包括激光雷達、相機等等)的坐標都可以統(tǒng)一到這個坐標系下。map
可以和odom
重合,也可以不重合,取決于實際需要。通過map
和odom
之間的變換,可以得到機器人相對于世界坐標系的位姿。
REP105提到:
The map frame is not continuous, meaning the pose of a mobile platform in the map frame can change in discrete jumps at any time.
In a typical setup, a localization component constantly re-computes the robot pose in the map frame based on sensor observations, therefore eliminating drift, but causing discrete jumps when new sensor information arrives.
這里指的應(yīng)該是SLAM中的回環(huán)檢測在發(fā)現(xiàn)回環(huán)后,通過非線性優(yōu)化消除視覺里程計的累積誤差時,可能會順帶著把機器人的起始位姿給優(yōu)化了,比如機器人在世界坐標系中的初始坐標是(1,2,3),優(yōu)化后變成(1.1,2.2,3.3),而機器人起始位姿和世界坐標系之間的關(guān)系是固定的,那么世界坐標系也會隨著跳到一個新的位置,這就是文中說到的“discrete jumps”。這有兩個解決方案:
優(yōu)化時保持第一個位姿固定優(yōu)化所有位姿,但是要對優(yōu)化后的所有位姿做一個變換,使得第一個位姿恢復(fù)原樣。
注意在odom
下表達的位姿沒有上述問題,因為不管怎么優(yōu)化,總是設(shè)置機器人起始位置在odom
坐標系下就是(0,0,0),后面的位姿也都是相對于這個來計算,因此odom
坐標系本身不會跳變。
REP(ROS Enhancement Proposal)第103條款推薦坐標系的x軸指向前方,y軸指向左方,z軸指向上方。這和相機坐標系有所區(qū)別,通常是x軸指向右方,y軸指向下方,z軸指向前方。
參考
[1] REP105
[2] REP103
[3] Confused about coordinate frames. Can someone please explain?
到此這篇關(guān)于ROS機器人底盤坐標像素變換的文章就介紹到這了,更多相關(guān)ros 機器人底盤坐標內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Typora+PicGo+GitHub實現(xiàn)md自帶圖床效果
這篇文章主要介紹了Typora+PicGo+GitHub實現(xiàn)md自帶圖床效果,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Win10中Dreamweaver等軟件界面字太小的問題解決
最近發(fā)現(xiàn)Win10系統(tǒng)中Dreamweaver等軟件界面字太小,所以下面這篇文章主要給大家介紹了關(guān)于Win10中Dreamweaver等軟件界面字太小的問題解決辦法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2007-10-10