1. 程式人生 > >基於DragonBoard 410c的家庭智慧環保衛士——(7)室內柵格地圖位置更新

基於DragonBoard 410c的家庭智慧環保衛士——(7)室內柵格地圖位置更新

       在前面http://blog.csdn.net/andymfc/article/details/60955819中我們對整體的室內路徑規劃思想進行了簡單介紹,其關鍵將室內劃分為柵格地圖,通過設定引導位置,然後採用路徑搜尋演算法查詢機器到引導位置的路徑,但是如何確定室內柵格地圖上的障礙區域,是我們採用該思想實現室內路徑規劃控制機器人移動的第一步,今天就結合前面給出的方案,進一步對如何實現室內柵格地圖的位置更新進行理論分析和設計。

        根據http://blog.csdn.net/andymfc/article/details/59486169給出的初步方案,在家庭環保衛士機器人上我們會搭載一個(或多個)超聲波感測器用於檢測前方障礙物,並且使用kobuki機器人底盤我們可以實時的獲取環保衛士的平面位置和方向角度,這樣我們就可以精確的計算出前方障礙物的位置座標,而進一步我們可以根據這些座標在一定範圍內確定當前的柵格狀態,並且在機器人移動的過程中,不斷的完善整個室內地圖柵格資訊的收集確定室內柵格的狀態是處於通行還是不可通行狀態。

        如下圖1所示,是一次機器人從起始點移動到目標點的過程中可以採集到的室內柵格狀態示意圖,在機器人移動的過程中,其可以採集到起前方的柵格的狀態資訊,並且建搞這些狀態資訊儲存到資料庫中,其中白色表示可通行,黑色表示不可通行,其他未知資訊的柵格沒有標出,同時也不保持記錄,在需要的時候將其看做未知狀態,路徑搜尋過程中假設為可以通行狀態。


圖1 一次移動過程中機器人可以採集到的柵格狀態資訊

       通過上述分析我們可以得出整個演算法的基本思想就是通過移動過程中不斷的採集室內地圖的柵格資訊,對柵格進行標記,然後通過機器人在室內的有引導和隨機移動,不斷的去完善室內地圖柵格狀態資訊的採集,如下圖2所示。


圖2 室內地圖更新服務實現流程

       基於上述設計,在構建室內環保機器人的時候,只需要基於上述流程構建一個室內地圖更新服務,就可以在每次移動機器人的過程中不斷的更新和重新整理室內柵格地圖資訊,在不斷的移動之後,環保衛士儲存的室內地圖資料會越來越豐富,最終實現越來越精確和更高效的路徑規劃和移動。

      同樣,在上述流程中,涉及到兩個核心過程,即如何將機器人的位置和超聲波感測器探測到的障礙物的轉換為柵格位置,同時如何計算獲取當前可以確定的所有的柵格位置資訊,即根據當前位置點和障礙物點確定其中間位置的柵格的狀態,這裡我們將在下期blog中進一步完善該演算法,對具體的實現思路進行介紹。