定位
在思嵐提供的自主定位導航解決方案中,主要是通過雷達和里程計的數據來進行定位。雖然激光雷達在一定范圍之內會糾正里程計的誤差,但在某些特殊環境下(如雷達掃描的有效點較少時),里程計的準備度還是會影響定位的效果。
因此,對于需要自主定位導航的服務機器人而言,電機里程計的精準度,往往是決定整個機器人定位精度的關鍵因素之一。
1522218915433705.png (1.01 MB, 下載次數: 96)
下載附件
2018-3-28 17:23 上傳
思嵐的SDP Mini 里程計
里程計類型的選擇:
常用的機器人底盤電機編碼器按實現原理來分類,包括光電編碼器及霍爾編碼器;按照其編碼方式分類,主要包括增量型和絕對型。
對于基于slamware的機器人底盤來說,里程計的分辨率需要在1mm以下,且總誤差最多不能超過5%,如果超過此數值,機器人將無法正常實現定位導航的功能。因此,無論選擇哪種編碼器,必須要達到其精度的要求。可以參考以下判斷公式:
(2π/每轉編碼器脈沖數)×輪子半徑≤0.001米 注:輪子半徑單位為米
系統電機應答流程:
1522218950441701.png (6.88 KB, 下載次數: 101)
下載附件
2018-3-28 17:23 上傳
(以兩輪差動電機為例)
SLAMWARE Core 每間隔delta時間,會向底盤發送左右輪的速度,向前為正,向后為負,即SET_BASE_MOTOR(0x40)。底盤會回復此時的左右輪里程計的累計值,即GET_BASE_MOTOR_DATA(0x31)。
請注意,無論輪子向前運動或向后運動,里程計的度數均遞增,因為SLAMWARE Core在下發速度時,已經區分了向前還是向后。
SLAMWARE Core發送SET_BASE_MOTOR的請求報文為, 速度的單位為mm/s:
里程計代碼示例詳見:
wiki.slamtec點com/pages/viewpage.action?pageId=1016369
那么,對于里程計而言,我們該如何判斷其定位數據是否準確呢?下面,就要借助可擴展的機器人管理與開發應用軟件:Robo Studio
1522218964866291.jpg (37.77 KB, 下載次數: 100)
下載附件
2018-3-28 17:23 上傳
首先,先將準備工作做好:
在調試之前,請找到一處合適測試的區域,該區域需有清晰的邊界,比如,矩形的空房間。安裝好Robo Studio,并連接上機器人(如SDP Mini)。Robo Studio下載鏈接及在線文檔可至思嵐官網下載安裝。
利用Robo Studio調試里程計準確度測試方法:
1.將機器人控制到離一面直墻若干米的位置,面朝直墻,如下圖所示。
1522218975902658.png (150.6 KB, 下載次數: 92)
下載附件
2018-3-28 17:23 上傳
2.將之前建好的地圖清除掉,點擊清空地圖,此時,機器人當前的區域會重建。當前區域重建好之后,可以點擊暫停建圖,停止地圖更新。 最后,可以將暫停定位開啟,開啟后,將關閉激光定位,僅用里程計的數據來定位。
1522218981142724.png (8.11 KB, 下載次數: 94)
下載附件
2018-3-28 17:23 上傳
3.控制機器人向前朝墻運動,觀察激光點是否和墻重合,如果和墻重合,證明里程計較為準確;
如果激光點超出墻,證明底盤上報的里程計數據要大于實際運動的距離,里程計偏大。
如果激光點在墻之內,證明底盤上報的里程計數據要小于實際運動的距離,里程計偏小。
如果激光點和墻重合,可以繼續控制機器人倒退,左右轉動,看看激光點是否和周圍環境匹配;
接著,我們再來聊聊與“建圖”相關的話題
建圖
1522219233784776.gif (1.74 MB, 下載次數: 86)
下載附件
2018-3-28 17:23 上傳
地圖作為機器人自主定位、避障、規劃路線的依據之一,其重要程度不言而喻。
雷達作為建圖的重要工具,在整個自主定位導航過程中充當著“眼睛”的角色。下面,小編就用思嵐的RPLIDAR 建圖作案例說明。
1522219271443984.png (1.8 MB, 下載次數: 91)
下載附件
2018-3-28 17:23 上傳
RPLIDAR A3
1)雷達的安裝方法及相關注意事項:
1. 雷達水平安裝角度:0度 ~ +2度 (傾角朝上);
2. 雷達掃描開口角度:建議270度及以上,最好在機器人正前方和正后方均有開口, 至少需要大于220度;
3. 雷達盲區:15cm, 建議雷達在安裝時,可以略往底盤結構中心靠近,以減少盲區;
2)雷達安裝是否水平對slamware解決方案的建圖及定位有重要影響:
1. 影響測距精度,進而影響建圖精度和定位精度;
2. 如若雷達掃描平面水平向下傾斜,激光點會掃描到地面,這種情況下建圖則會導致障礙物錯亂,定位則會導致定位漂移;
3)雷達安裝完畢后,緊接著就是建圖之前的準備工作,主要如下:
1. 盡量在待掃區域里沒人或者人較少的時間點進行掃圖;
2. 盡量清除待掃區域中經常移動的物體(如經常移動的人群、搬動的桌子、盆飾等等);
3.對于場景中的反光,透光,吸光等物體(如:鏡子、玻璃等),在條件允許的情況下,盡量在機器人的雷達掃描平面處貼上其他不影響雷達正常掃描的材料;
4)建圖時的技巧:
1. 開機建圖時,機器人最好面朝一堵直墻,且讓雷達盡可能多的掃到更多的有效點;
1522219301965861.png (6.78 KB, 下載次數: 74)
下載附件
2018-3-28 17:23 上傳
2.在商場或者一些大環境應用場景下建圖時,最好讓機器人先去完成建圖閉環,再去詳細掃描環境里的各個小細節;
1522219310660520.png (145.64 KB, 下載次數: 95)
下載附件
2018-3-28 17:23 上傳
3.擦除未探明的區域
在機器人的行走區域內,可能會出現一些掃圖時未完全探明的區域(主要跟雷達測距半徑有關),在Robo Studio操作軟件中,此處區域顯示為灰色(如下圖紅圈處所示),如果在此范圍內,確實不存在任何障礙物,可用白色橡皮擦將此灰色區域擦除,成為已探明區域;
1522219318305432.png (36.17 KB, 下載次數: 74)
下載附件
2018-3-28 17:23 上傳
下圖為RoboStudio的工具欄,紅圈處為白色橡皮擦:
1522219329953857.png (12.72 KB, 下載次數: 76)
下載附件
2018-3-28 17:23 上傳
4.除了可用白色橡皮擦擦除構建區域中的未探明區域之外,還可擦除地圖區域中不斷移動的物體(如:移動的人群,后期會隨時搬移的障礙物等);
1522219336546602.png (142.34 KB, 下載次數: 94)
下載附件
2018-3-28 17:23 上傳
5.盡量保證地圖的完整性,在機器可能的行走路徑上,所有周圍360度的區域,均需要用雷達探明,目的是增加地圖的完整性,使得激光匹配的參照點更多;
1522219345571238.png (35.26 KB, 下載次數: 83)
下載附件
2018-3-28 17:23 上傳
6.如果地圖已經建好,盡量不要在已建好的地圖區域反復來回行走,請盡快保存地圖。點擊Robo Studio上面的sync map按鈕,同步地圖后保存地圖;
1522219359397321.png (12.6 KB, 下載次數: 88)
下載附件
2018-3-28 17:23 上傳
如何判斷掃好的地圖符合定位導航的要求:
1.地圖中障礙物邊緣是否清晰;
1522219369564004.png (16.16 KB, 下載次數: 92)
下載附件
2018-3-28 17:23 上傳
2.地圖中是否存和實際環境不一致的區域(如:有無閉環);
3.地圖中是否存在機器人行動區域內的灰色區域(如:未掃描到的區域);
4.地圖中是否存在后續定位時將不存在的障礙物(如:移動障礙物);
5.地圖中是否能保證機器人在活動區域內的任何位置,360度的視野范圍內,均已經探明;
關于這些小技巧,你都get了嗎?
如果get了的話
那么,就利用那張地圖
開啟機器人自主定位導航之旅吧~