找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4387|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

關(guān)于機(jī)器人定位與建圖,這些小絕招你知道嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
說(shuō)到機(jī)器人自主定位導(dǎo)航解決方案及技術(shù),大家腦海里肯定會(huì)浮現(xiàn)“定位”、“建圖”、“避障”、“路徑規(guī)劃”等字眼。
定位
在思嵐提供的自主定位導(dǎo)航解決方案中,主要是通過(guò)雷達(dá)里程計(jì)的數(shù)據(jù)來(lái)進(jìn)行定位。雖然激光雷達(dá)在一定范圍之內(nèi)會(huì)糾正里程計(jì)的誤差,但在某些特殊環(huán)境下(如雷達(dá)掃描的有效點(diǎn)較少時(shí)),里程計(jì)的準(zhǔn)備度還是會(huì)影響定位的效果。

因此,對(duì)于需要自主定位導(dǎo)航的服務(wù)機(jī)器人而言,電機(jī)里程計(jì)的精準(zhǔn)度,往往是決定整個(gè)機(jī)器人定位精度的關(guān)鍵因素之一。
思嵐的SDP Mini 里程計(jì)
里程計(jì)類(lèi)型的選擇:
常用的機(jī)器人底盤(pán)電機(jī)編碼器按實(shí)現(xiàn)原理來(lái)分類(lèi),包括光電編碼器及霍爾編碼器;按照其編碼方式分類(lèi),主要包括增量型和絕對(duì)型。
對(duì)于基于slamware的機(jī)器人底盤(pán)來(lái)說(shuō),里程計(jì)的分辨率需要在1mm以下,且總誤差最多不能超過(guò)5%,如果超過(guò)此數(shù)值,機(jī)器人將無(wú)法正常實(shí)現(xiàn)定位導(dǎo)航的功能。因此,無(wú)論選擇哪種編碼器,必須要達(dá)到其精度的要求?梢詤⒖家韵屡袛喙剑
(2π/每轉(zhuǎn)編碼器脈沖數(shù))×輪子半徑≤0.001米  注:輪子半徑單位為米

系統(tǒng)電機(jī)應(yīng)答流程:
(以?xún)奢啿顒?dòng)電機(jī)為例)

SLAMWARE Core 每間隔delta時(shí)間,會(huì)向底盤(pán)發(fā)送左右輪的速度,向前為正,向后為負(fù),即SET_BASE_MOTOR(0x40)。底盤(pán)會(huì)回復(fù)此時(shí)的左右輪里程計(jì)的累計(jì)值,即GET_BASE_MOTOR_DATA(0x31)。

請(qǐng)注意,無(wú)論輪子向前運(yùn)動(dòng)或向后運(yùn)動(dòng),里程計(jì)的度數(shù)均遞增,因?yàn)镾LAMWARE Core在下發(fā)速度時(shí),已經(jīng)區(qū)分了向前還是向后。

SLAMWARE Core發(fā)送SET_BASE_MOTOR的請(qǐng)求報(bào)文為, 速度的單位為mm/s:
里程計(jì)代碼示例詳見(jiàn):
wiki.slamtec點(diǎn)com/pages/viewpage.action?pageId=1016369

那么,對(duì)于里程計(jì)而言,我們?cè)撊绾闻袛嗥涠ㄎ粩?shù)據(jù)是否準(zhǔn)確呢?下面,就要借助可擴(kuò)展的機(jī)器人管理與開(kāi)發(fā)應(yīng)用軟件:Robo Studio

首先,先將準(zhǔn)備工作做好:

在調(diào)試之前,請(qǐng)找到一處合適測(cè)試的區(qū)域,該區(qū)域需有清晰的邊界,比如,矩形的空房間。安裝好Robo Studio,并連接上機(jī)器人(如SDP Mini)。Robo Studio下載鏈接及在線(xiàn)文檔可至思嵐官網(wǎng)下載安裝。

利用Robo Studio調(diào)試?yán)锍逃?jì)準(zhǔn)確度測(cè)試方法:

1.將機(jī)器人控制到離一面直墻若干米的位置,面朝直墻,如下圖所示。

2.將之前建好的地圖清除掉,點(diǎn)擊清空地圖,此時(shí),機(jī)器人當(dāng)前的區(qū)域會(huì)重建。當(dāng)前區(qū)域重建好之后,可以點(diǎn)擊暫停建圖,停止地圖更新。 最后,可以將暫停定位開(kāi)啟,開(kāi)啟后,將關(guān)閉激光定位,僅用里程計(jì)的數(shù)據(jù)來(lái)定位。

3.控制機(jī)器人向前朝墻運(yùn)動(dòng),觀察激光點(diǎn)是否和墻重合,如果和墻重合,證明里程計(jì)較為準(zhǔn)確;

如果激光點(diǎn)超出墻,證明底盤(pán)上報(bào)的里程計(jì)數(shù)據(jù)要大于實(shí)際運(yùn)動(dòng)的距離,里程計(jì)偏大。

如果激光點(diǎn)在墻之內(nèi),證明底盤(pán)上報(bào)的里程計(jì)數(shù)據(jù)要小于實(shí)際運(yùn)動(dòng)的距離,里程計(jì)偏小。

如果激光點(diǎn)和墻重合,可以繼續(xù)控制機(jī)器人倒退,左右轉(zhuǎn)動(dòng),看看激光點(diǎn)是否和周?chē)h(huán)境匹配;

接著,我們?cè)賮?lái)聊聊與“建圖”相關(guān)的話(huà)題
建圖


地圖作為機(jī)器人自主定位、避障、規(guī)劃路線(xiàn)的依據(jù)之一,其重要程度不言而喻。

雷達(dá)作為建圖的重要工具,在整個(gè)自主定位導(dǎo)航過(guò)程中充當(dāng)著“眼睛”的角色。下面,小編就用思嵐的RPLIDAR 建圖作案例說(shuō)明。
RPLIDAR A3

1)雷達(dá)的安裝方法及相關(guān)注意事項(xiàng):
1. 雷達(dá)水平安裝角度:0度 ~ +2度 (傾角朝上);
2. 雷達(dá)掃描開(kāi)口角度:建議270度及以上,最好在機(jī)器人正前方和正后方均有開(kāi)口, 至少需要大于220度;
3. 雷達(dá)盲區(qū):15cm, 建議雷達(dá)在安裝時(shí),可以略往底盤(pán)結(jié)構(gòu)中心靠近,以減少盲區(qū);

2)雷達(dá)安裝是否水平對(duì)slamware解決方案的建圖及定位有重要影響:
1. 影響測(cè)距精度,進(jìn)而影響建圖精度和定位精度;
2. 如若雷達(dá)掃描平面水平向下傾斜,激光點(diǎn)會(huì)掃描到地面,這種情況下建圖則會(huì)導(dǎo)致障礙物錯(cuò)亂,定位則會(huì)導(dǎo)致定位漂移;

3)雷達(dá)安裝完畢后,緊接著就是建圖之前的準(zhǔn)備工作,主要如下:
1. 盡量在待掃區(qū)域里沒(méi)人或者人較少的時(shí)間點(diǎn)進(jìn)行掃圖;
2. 盡量清除待掃區(qū)域中經(jīng)常移動(dòng)的物體(如經(jīng)常移動(dòng)的人群、搬動(dòng)的桌子、盆飾等等);
3.對(duì)于場(chǎng)景中的反光,透光,吸光等物體(如:鏡子、玻璃等),在條件允許的情況下,盡量在機(jī)器人的雷達(dá)掃描平面處貼上其他不影響雷達(dá)正常掃描的材料;

4)建圖時(shí)的技巧:
1. 開(kāi)機(jī)建圖時(shí),機(jī)器人最好面朝一堵直墻,且讓雷達(dá)盡可能多的掃到更多的有效點(diǎn);
2.在商場(chǎng)或者一些大環(huán)境應(yīng)用場(chǎng)景下建圖時(shí),最好讓機(jī)器人先去完成建圖閉環(huán),再去詳細(xì)掃描環(huán)境里的各個(gè)小細(xì)節(jié);
3.擦除未探明的區(qū)域
在機(jī)器人的行走區(qū)域內(nèi),可能會(huì)出現(xiàn)一些掃圖時(shí)未完全探明的區(qū)域(主要跟雷達(dá)測(cè)距半徑有關(guān)),在Robo Studio操作軟件中,此處區(qū)域顯示為灰色(如下圖紅圈處所示),如果在此范圍內(nèi),確實(shí)不存在任何障礙物,可用白色橡皮擦將此灰色區(qū)域擦除,成為已探明區(qū)域;
下圖為RoboStudio的工具欄,紅圈處為白色橡皮擦:
4.除了可用白色橡皮擦擦除構(gòu)建區(qū)域中的未探明區(qū)域之外,還可擦除地圖區(qū)域中不斷移動(dòng)的物體(如:移動(dòng)的人群,后期會(huì)隨時(shí)搬移的障礙物等);
5.盡量保證地圖的完整性,在機(jī)器可能的行走路徑上,所有周?chē)?60度的區(qū)域,均需要用雷達(dá)探明,目的是增加地圖的完整性,使得激光匹配的參照點(diǎn)更多;
6.如果地圖已經(jīng)建好,盡量不要在已建好的地圖區(qū)域反復(fù)來(lái)回行走,請(qǐng)盡快保存地圖。點(diǎn)擊Robo Studio上面的sync map按鈕,同步地圖后保存地圖;

如何判斷掃好的地圖符合定位導(dǎo)航的要求:
1.地圖中障礙物邊緣是否清晰;
2.地圖中是否存和實(shí)際環(huán)境不一致的區(qū)域(如:有無(wú)閉環(huán));
3.地圖中是否存在機(jī)器人行動(dòng)區(qū)域內(nèi)的灰色區(qū)域(如:未掃描到的區(qū)域);
4.地圖中是否存在后續(xù)定位時(shí)將不存在的障礙物(如:移動(dòng)障礙物);
5.地圖中是否能保證機(jī)器人在活動(dòng)區(qū)域內(nèi)的任何位置,360度的視野范圍內(nèi),均已經(jīng)探明;

關(guān)于這些小技巧,你都get了嗎?
如果get了的話(huà)
                                                                                                 那么,就利用那張地圖
開(kāi)啟機(jī)器人自主定位導(dǎo)航之旅吧~


評(píng)分

參與人數(shù) 1黑幣 +4 收起 理由
yuyuyu1123 + 4 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表