主页
产品
应用案例
新闻动态
购买渠道
下载与支持
关于我们
生态合作
联系我们
主页
产品
新闻动态
购买渠道
下载与支持
关于我们
加入我们
联系我们
  • 中文|
  • Eng
  • 关于思岚SLAMWARE SDK中坐标系统以及地图数据的详述

     

    SLAMWARE模塊最重要的功能為定位導(dǎo)航及建圖,在此過(guò)程中,會(huì)涉及到大量對(duì)地圖和坐標(biāo)的操作,因此,有必要針對(duì)SDK中所用的坐標(biāo)系統(tǒng)以及地圖數(shù)據(jù)進(jìn)行詳細(xì)的介紹。 本文將首先介紹SLAMWARE模塊中所建的地圖,然后結(jié)合SDK中的一些地圖相關(guān)接口進(jìn)行說(shuō)明。

    Robostudio中的地圖說(shuō)明

    以Robostudio客戶端為例,紅色箭頭所指為地圖坐標(biāo)X軸正向, 綠色箭頭所指為Y軸正向。藍(lán)色點(diǎn)為坐標(biāo)零點(diǎn)。紅色四邊形箭頭為機(jī)器人所在位置,其中,箭頭方向?yàn)闄C(jī)器人的朝向。

    下圖左上角的SLAMWARE SDP [-0.59,-0.44, -157.37] 分別是 [X軸坐標(biāo), Y軸坐標(biāo), 機(jī)器人偏轉(zhuǎn)角度yaw]。 默認(rèn)情況下,機(jī)器人開(kāi)機(jī)的位置,即為地圖零點(diǎn)位置。機(jī)器人朝向?yàn)閄軸正向,為0度,角度逆時(shí)針增加。

    注意

    在robostudio中顯示的機(jī)器人坐標(biāo)中(左下角藍(lán)色坐標(biāo)值),yaw的值是角度制,而通過(guò)接口getpose()獲得的yaw則是弧度制,二者的轉(zhuǎn)化關(guān)系為弧度(rad) = 角度(°)*2Π/360

     

    將地圖數(shù)據(jù)轉(zhuǎn)換成BMP

    以下內(nèi)容將以如何從Slamware模塊中獲取整張地圖數(shù)據(jù)并將mapdata轉(zhuǎn)換成bmp為例,詳細(xì)介紹地圖的相關(guān)概念,

    Tip

    示例代碼來(lái)自windows SDK中的map2bmp參考代碼

     

    上述代碼中由getKnowArea() 獲取到的KnownArea, 指的是當(dāng)前所生成的地圖的區(qū)域,這部分會(huì)隨著機(jī)器人運(yùn)行過(guò)程中地圖的增大而增大。getMapDimention().x() getMapDimention().y()分別獲取的是地圖X, Y方向的像素個(gè)數(shù)。getMapData()中的數(shù)據(jù),是一組數(shù)值在 -128 ~ 127 之間的包含地圖信息的整數(shù),在轉(zhuǎn)換成灰度值的時(shí)候,需要加上128。

    地圖坐標(biāo)及機(jī)器人位置(以下圖示僅適用于RoboStudio客戶端,安卓系統(tǒng)坐標(biāo)顯示需要做坐標(biāo)轉(zhuǎn)換,無(wú)論在哪種坐標(biāo)系下mapdata的起始位置都為 (X min, Y min))

    下圖的坐標(biāo)中包含了機(jī)器人的位置信息,在顯示機(jī)器人位置的時(shí)候,可以通過(guò)獲取機(jī)器人的Pose, 并結(jié)合地圖position以及resolution. 換算出機(jī)器人顯示時(shí)的具體像素位置,以及朝向。

    坐標(biāo)

    地圖坐標(biāo)及機(jī)器人位置示意圖,   resolution是每個(gè)像素對(duì)應(yīng)的實(shí)際距離,單位是米,可以由getMapResolution()得到。左下角的map postion, 可以由getMapPosition()得到。 SDP機(jī)器人的位置,可以由getPose()得到, 其中,yaw角度為圖示逆時(shí)針的方向角,單位是弧度。laser point的方向角以機(jī)器人前進(jìn)方向?yàn)?度,為逆時(shí)針角度。

     

    關(guān)鍵字:SLAMWARE SDK,SLAMWARE

    top