最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ROS機器人底盤坐標(biāo)像素變換操作方法

 更新時間:2023年01月03日 14:12:58   作者:百口可樂__  
ROS最常用到的三個坐標(biāo)系是:map、odom、base_link,這篇文章主要介紹了ROS機器人底盤坐標(biāo)像素變換,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

上篇文章介紹了ROS  TF坐標(biāo)變換基本概念及使用案例,今天給大家介紹ROS機器人底盤坐標(biāo)像素變換,一起看看吧

對于ROS小車底盤地圖數(shù)據(jù)需要知道的點
1.整幅地圖處于第三象限

2.坐標(biāo)值代表距離,單位米。
3.分辨率單位(米/像素)
因此通過地圖坐標(biāo)得到像素坐標(biāo)的辦法:
像素坐標(biāo)=(實時坐標(biāo)-初始坐標(biāo))/分辨率
實時坐標(biāo)的獲取:
觸發(fā)條件:定時反饋;300ms一次。
返回的json數(shù)據(jù)中
pose 車子當(dāng)前的位置坐標(biāo),x,y為x,y軸上的坐標(biāo),yaw為航向角。
初始坐標(biāo):
觸發(fā)條件:獲得地圖數(shù)據(jù)時反饋獲得發(fā)送get命令反饋。

"cmd_type":"slam_map_control"
"cmd":"get"

返回的json數(shù)據(jù)中
pose x、y表示機器人實際初始位置坐標(biāo),yaw為航向角
resolution 地圖分辨率,表演一個像素點間隔表示0.05m
機器人在圖片中的像素像素坐標(biāo)位置為:

((cX-originX)/resolution,(cY-originY)/resolution)

下面接著給大家介紹下ROS中的坐標(biāo)系定義

ROS最常用到的三個坐標(biāo)系是:map、odom、base_link

base_link描述的就是機器人當(dāng)前時刻的位姿,是移動的坐標(biāo)系。

odom是機器人運動的參考坐標(biāo)系,是固定不動的(world fixed frame)。坐標(biāo)系原點設(shè)為機器人的運動起始點,那么機器人的位姿是相對于odom來描述的。

map是世界坐標(biāo)系,是固定不動的(world fixed frame)??梢栽跈C器人所在的環(huán)境中隨意指定一個點作為世界坐標(biāo)系原點,規(guī)定其具體的朝向,那么分布在不同地方的所有的機器人和其他設(shè)備(包括激光雷達(dá)、相機等等)的坐標(biāo)都可以統(tǒng)一到這個坐標(biāo)系下。map可以和odom重合,也可以不重合,取決于實際需要。通過mapodom之間的變換,可以得到機器人相對于世界坐標(biāo)系的位姿。

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)化了,比如機器人在世界坐標(biāo)系中的初始坐標(biāo)是(1,2,3),優(yōu)化后變成(1.1,2.2,3.3),而機器人起始位姿和世界坐標(biāo)系之間的關(guān)系是固定的,那么世界坐標(biāo)系也會隨著跳到一個新的位置,這就是文中說到的“discrete jumps”。這有兩個解決方案:

優(yōu)化時保持第一個位姿固定優(yōu)化所有位姿,但是要對優(yōu)化后的所有位姿做一個變換,使得第一個位姿恢復(fù)原樣。

注意在odom下表達(dá)的位姿沒有上述問題,因為不管怎么優(yōu)化,總是設(shè)置機器人起始位置在odom坐標(biāo)系下就是(0,0,0),后面的位姿也都是相對于這個來計算,因此odom坐標(biāo)系本身不會跳變。

REP(ROS Enhancement Proposal)第103條款推薦坐標(biāo)系的x軸指向前方,y軸指向左方,z軸指向上方。這和相機坐標(biāo)系有所區(qū)別,通常是x軸指向右方,y軸指向下方,z軸指向前方。

參考
[1] REP105
[2] REP103
[3] Confused about coordinate frames. Can someone please explain?

到此這篇關(guān)于ROS機器人底盤坐標(biāo)像素變換的文章就介紹到這了,更多相關(guān)ros  機器人底盤坐標(biāo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解kafka開啟kerberos認(rèn)證的完整步驟

    一文詳解kafka開啟kerberos認(rèn)證的完整步驟

    這篇文章主要為大家詳細(xì)介紹了kafka開啟kerberos認(rèn)證的完整步驟,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • Git的撤銷、修改和回退命令

    Git的撤銷、修改和回退命令

    這篇文章介紹了Git的撤銷、修改和回退命令,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 各種語言、服務(wù)器301跳轉(zhuǎn)代碼全集

    各種語言、服務(wù)器301跳轉(zhuǎn)代碼全集

    這篇文章主要介紹了各種語言、服務(wù)器301跳轉(zhuǎn)代碼全集,本文講解了IIS下301設(shè)置、ASP下的301轉(zhuǎn)向代碼、ASP.Net下的301轉(zhuǎn)向代碼、PHP下的301轉(zhuǎn)向代碼 、CGI Perl下的301轉(zhuǎn)向代碼、JSP下的301轉(zhuǎn)向代碼等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 微信公眾號靜默網(wǎng)頁授權(quán)(前端開發(fā)、本地調(diào)試及上線)圖文教程

    微信公眾號靜默網(wǎng)頁授權(quán)(前端開發(fā)、本地調(diào)試及上線)圖文教程

    這篇文章主要給大家介紹了關(guān)于微信公眾號靜默網(wǎng)頁授權(quán)(前端開發(fā)、本地調(diào)試及上線)的相關(guān)資料,靜默授權(quán)不需要用戶確認(rèn),只需要用戶訪問某個網(wǎng)頁,屬于嵌套在普通網(wǎng)頁里的授權(quán)形式,但是只能獲取到用戶的唯一標(biāo)示openid,無法獲取用戶的個人信息,需要的朋友可以參考下
    2024-09-09
  • lambda 表達(dá)式導(dǎo)致 Arthas 無法 redefine 的問題

    lambda 表達(dá)式導(dǎo)致 Arthas 無法 redefine 的問題

    這篇文章主要介紹了lambda 表達(dá)式導(dǎo)致 Arthas 無法 redefine 的問題,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 基于Python和Java實現(xiàn)單詞計數(shù)(Word Count)

    基于Python和Java實現(xiàn)單詞計數(shù)(Word Count)

    Spark框架也是MapReduce-like模型,采用“分治-聚合”策略來對數(shù)據(jù)分布進(jìn)行分布并行處理,本文就來利用Spark實現(xiàn)單詞統(tǒng)計的功能,需要的可以參考一下
    2023-05-05
  • git_stats?web代碼圖形統(tǒng)計工具詳解

    git_stats?web代碼圖形統(tǒng)計工具詳解

    倉庫代碼統(tǒng)計工具之一,可以按git提交人、提交次數(shù)、修改文件數(shù)、代碼行數(shù)、注釋量在時間維度上進(jìn)行統(tǒng)計,亦可按各文件類型進(jìn)行簡單的統(tǒng)計,非常方便.本文給大家介紹git_stats?web代碼圖形統(tǒng)計工具,需要的朋友參考下吧
    2021-12-12
  • vscode輸入npm?install報錯:node-sass@8.0.0?install:'node?scripts/install.js'解決

    vscode輸入npm?install報錯:node-sass@8.0.0?install:'node?

    這篇文章主要給大家介紹了關(guān)于vscode輸入npm?install報錯:node-sass@8.0.0?install:'node?scripts/install.js'的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Windows本地部署OpenManus并接入Mistral模型的完整教程

    Windows本地部署OpenManus并接入Mistral模型的完整教程

    Manus作為一款強大的本地LLM應(yīng)用平臺引起了廣泛關(guān)注,但它需要邀請碼才能使用,不過OpenManus團(tuán)隊僅用了3小時就復(fù)刻了一個功能相似的開源替代方案,下面我們來看看在Windows環(huán)境下的完整部署過程吧
    2025-03-03
  • Deepin20安裝開發(fā)環(huán)境的超詳細(xì)教程

    Deepin20安裝開發(fā)環(huán)境的超詳細(xì)教程

    這篇文章主要介紹了Deepin20安裝開發(fā)環(huán)境的步驟詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論

灵璧县| 石家庄市| 华安县| 嘉禾县| 南昌市| 隆昌县| 泾源县| 读书| 北辰区| 永安市| 竹山县| 永宁县| 出国| 洛川县| 柳河县| 盈江县| 麻城市| 自贡市| 新沂市| 额济纳旗| 博罗县| 临高县| 盐池县| 海门市| 合水县| 贞丰县| 鲁山县| 澳门| 珲春市| 且末县| 图们市| 醴陵市| 临高县| 平乡县| 霍山县| 鲁甸县| 扎囊县| 蒲城县| 西乌珠穆沁旗| 合江县| 大田县|