基于云平臺衛星地圖的移動機器人導航方法及系統的制作方法
【專利摘要】本發明公開一種基于云平臺衛星地圖的移動機器人導航方法及系統。系統包括固設在移動機器人上的導航控制器(1)和設于遠離移動機器人的操作員控制器(2),方法包括如下步驟:(10)上傳機器人起始坐標;(20)加載衛星地圖;(30)路徑規劃;(40)下載關鍵點坐標;(50)計算距離與理論航向;(60)判斷到達;(70)調整朝向;(80)行走控制。本發明的方法及系統,移動范圍大,準確度高。
【專利說明】
基于云平臺衛星地圖的移動機器人導航方法及系統
技術領域
[0001] 本發明屬于移動機器人導航技術領域,特別是一種基于云平臺衛星地圖的移動機 器人導航方法及系統。
【背景技術】
[0002] 隨著移動機器人快速融入日常生活與工作,人們期望移動機器人能夠在室外大尺 度范圍環境中自主移動到設定位置,完成物體搬運、載人游覽等任務。
[0003] 然而,現有移動機器人的室外自主導航方法和系統主要面向特定的小尺度范圍的 應用場景,導航路徑規劃往往依賴于通過機器人自身傳感器建立的幾何地圖或高層語義地 圖。當應用場景范圍擴大時,地圖表示與機器人定位的準確性嚴重下降,從而影響移動機器 人自主導航的成功率。
[0004] 因此,現有技術存在的問題是:移動機器人移動范圍受限,準確度不高。
【發明內容】
[0005] 本發明的目的在于提供一種基于云平臺衛星地圖的移動機器人導航方法,移動范 圍大,準確度高。
[0006] 本發明的另一目的在于提供一種基于云平臺衛星地圖的移動機器人導航系統。
[0007] 實現本發明目的的技術解決方案為:
[0008] -種基于云平臺衛星地圖的移動機器人導航方法,應用于由設在移動機器人上的 導航控制器(1)和設于遠離移動機器人的操作員控制器(2)組成的導航系統,其特征在于, 包括如下步驟:
[0009] (10)上傳機器人起始坐標:導航控制器(1)讀取和解析移動機器人起始點GPS坐 標,通過TCP連接上傳至操作員控制器(2);
[0010] (20)加載衛星地圖:操作員控制器(2)自動加載以移動機器人起始點GPS坐標為中 心的衛星地圖;
[0011] (30)路徑規劃:操作員控制器(2)根據用戶選取的目標點位置,在衛星地圖上生成 從起始點至目標點的規劃路徑,該規劃路徑由多個關鍵點構成,所述多個關鍵點GPS坐標構 成關鍵點GPS坐標序列;
[0012] (40)下載關鍵點坐標:操作員控制器(2)查詢規劃路徑中下一關鍵點GPS坐標,如 果下一關鍵點不為空,則通過TCP連接將該關鍵點GPS坐標下載至導航控制器(1 ),否則,通 知導航控制器(1)結束本次導航;
[0013] (50)計算距離與理論航向:導航控制器(1)讀取和解析移動機器人當前GPS坐標, 根據下一關鍵點GPS坐標和移動機器人當前GPS坐標,計算得到移動機器人從當前位置至下 一關鍵點的距離、理論航向角;
[0014] (60)判斷到達:導航控制器(1)根據從當前位置至下一關鍵點的距離,判斷移動機 器人是否到達該關鍵點,如到達,轉至(40)下載關鍵點坐標步驟;
[0015] (70)調整朝向:導航控制器(1)讀取和解析移動機器人當前航向角,根據當前航向 角和理論航向角,計算得到移動機器人的偏航角,根據偏航角旋轉移動機器人,使其航向朝 向下一關鍵點;
[0016] (80)行走控制:導航控制器(1)控制移動機器人根據距離和航向,朝下一關鍵點行 進,轉至步驟(50)。
[0017] 實現本發明另一目的的技術解決方案為:
[0018] 一種基于云平臺衛星地圖的移動機器人導航裝置,包括固設在移動機器人上的導 航控制器(1)和設于遠離移動機器人的操作員控制器(2),其特征在于,
[0019] 所述導航控制器(1)包括:
[0020] 定位模塊(101),用于讀取和解析移動機器人當前GPS坐標和當前航向角;
[0021] 現場通信模塊(102),用于與操作員控制器(2)建立TCP連接,上傳移動機器人當前 GPS坐標,獲取下一關鍵點GPS坐標;
[0022]距離與理論航向計算模塊(103):用于根據下一關鍵點GPS坐標和移動機器人當前 GPS坐標,計算得到移動機器人從當前位置至下一關鍵點的距離、理論航向角;
[0023]航向調整模塊(104):根據當前航向角和理論航向角,計算得到移動機器人的偏航 角,根據偏航角旋轉移動機器人,使其航向朝向下一關鍵點;
[0024]行走控制模塊(105),用于控制移動機器人根據距離和航向,朝下一關鍵點行進; [0025]所述操作員控制器(2)包括:
[0026]遠端通信模塊(201),用于與導航控制器(1)建立TCP連接,接收移動機器人當前 GPS坐標,下載下一關鍵點GPS坐標;
[0027]衛星地圖加載模塊(202),用于根據移動機器人當前GPS坐標,自動加載以移動機 器人當前GPS坐標為中心的衛星地圖;
[0028]路徑規劃模塊(203),用于根據用戶選取的目標點位置,在衛星地圖上生成從起始 點至目標點的規劃路徑,該規劃路徑由多個關鍵點構成,所述多個關鍵點GPS坐標構成關鍵 點GPS坐標序列;
[0029]關鍵點坐標下載模塊(204),用于查詢規劃路徑中下一關鍵點GPS坐標,如果下一 關鍵點不為空,則通過TCP連接將該關鍵點GPS坐標下載至導航控制器(1 ),否則,通知導航 控制器(1)結束本次導航。
[0030] 本發明與現有技術相比,其顯著優點為:
[0031] 1、移動范圍大:本發明中的室外自主導航裝置可集成應用于各類移動機器人平 臺,用戶只需通過操作員控制器設定目標點,導航控制器即能自動地實時輸出控制機器人 運動的角速度和線速度,使移動機器人導航至目標點。
[0032] 2、準確度高:本發明中使用基于云平臺的衛星地圖來規劃移動機器人路徑,將路 徑中的關鍵點坐標直接用于移動機器人的導航,實現了室外大尺度范圍環境中的移動機器 人自主導航,解決了現有技術在室外大尺度范圍環境中依靠機器人自身傳感器建立的幾何 地圖或高層語義地圖的不準確造成目標到達成功率低的難題。
[0033]下面結合附圖和【具體實施方式】對本發明作進一步的詳細描述。
【附圖說明】
[0034]圖1為本發明基于云平臺衛星地圖的移動機器人導航方法的流程圖。
[0035]圖2為本發明基于云平臺衛星地圖的移動機器人導航系統的結構示意圖。
[0036]圖3為本發明基于云平臺衛星地圖的移動機器人導航系統中導航控制器實施例部 件電路圖。
【具體實施方式】
[0037]如圖1所示,本發明基于云平臺衛星地圖的移動機器人導航方法,應用于由設在移 動機器人上的導航控制器1和設于遠離移動機器人的操作員控制器2組成的導航系統,包括 如下步驟:
[0038] (10)上傳機器人起始坐標:導航控制器1讀取和解析移動機器人起始點GPS坐標, 通過TCP連接上傳至操作員控制器2;
[0039] (20)加載衛星地圖:操作員控制器2自動加載以移動機器人起始點GPS坐標為中心 的衛星地圖;
[0040] (30)路徑規劃:操作員控制器2根據用戶選取的目標點位置,在衛星地圖上生成從 起始點至目標點的規劃路徑,該規劃路徑由多個關鍵點構成,所述多個關鍵點GPS坐標構成 關鍵點GPS坐標序列;
[0041] (40)下載關鍵點坐標:操作員控制器2查詢規劃路徑中下一關鍵點GPS坐標,如果 下一關鍵點不為空,則通過TCP連接將該關鍵點GPS坐標下載至導航控制器1,否則,通知導 航控制器1結束本次導航;
[0042] (50)計算距離與理論航向:導航控制器1讀取和解析移動機器人當前GPS坐標,根 據下一關鍵點GPS坐標和移動機器人當前GPS坐標,計算得到移動機器人從當前位置至下一 關鍵點的距離、理論航向角;
[0043] 所述(50)計算距離與理論航向步驟包括:
[0044] (51)移動機器人從當前位置至下一關鍵點的距離AB,按下式計算,
[0045]
[0046]
[0047]
[0048] 式中,
[0049] A為移動機器人當前位置點,其GPS坐標為(LonA,LatA),
[0050] B為規劃路徑中下一關鍵點,其GPS坐標為(LonB,LatB),經煒度單位為弧度,
[00511 Φ'為計算航向角,
[0052] R為地球半徑,
[0053]以正東方向為0度,逆時針方向角度為正角度,順時針方向角度為負角度,將按上 式得到的計算航向角Φ '轉換成理論Φ,取值范圍為[-180°,+180° ]。
[0054] (60)判斷到達:導航控制器1根據從當前位置至下一關鍵點的距離,判斷移動機器 人是否到達該關鍵點,如到達,轉至(40)下載關鍵點坐標步驟;
[0055] (70)調整朝向:導航控制器1讀取和解析移動機器人當前航向角,根據當前航向角 和理論航向角,計算得到移動機器人的偏航角,根據偏航角旋轉移動機器人,使其航向朝向 下一關鍵點;
[0056] 所述(70)調整朝向步驟包括:
[0057] (71)偏航角計算:按下式計算移動機器人的偏航角
[0058]
[0059] 式中,
[0060]識為移動機器人當前航向角,
[0061] Φ為移動機器人從當前位置至下一關鍵點的理論航向角;
[0062] (72)航向調整:當δ>〇時,移動機器人按逆時針方向旋轉I δ I,當δ〈〇時,移動機器人 按順時針方向旋轉I S I,使其航向朝向下一關鍵點。
[0063] (80)行走控制:導航控制器1控制移動機器人根據距離和航向,朝下一關鍵點行 進,轉至步驟(50)。
[0064]如圖3所示,本發明基于云平臺衛星地圖的移動機器人導航裝置,包括固設在移動 機器人上的導航控制器1和設于遠離移動機器人的操作員控制器1,
[0065] 所述導航控制器1包括:
[0066] 定位模塊101,用于讀取和解析移動機器人當前GPS坐標和當前航向角;
[0067]所述定位模塊101包括用于讀取和解析移動機器人當前GPS坐標的GPS定位傳感器 和利用地磁場計算移動機器人當前航向角的地磁場傳感器。
[0068]現場通信模塊102,用于與操作員控制器2建立TCP連接,上傳移動機器人當前GPS 坐標,獲取下一關鍵點GPS坐標;
[0069]距離與理論航向計算模塊103:用于根據下一關鍵點GPS坐標和移動機器人當前 GPS坐標,計算得到移動機器人從當前位置至下一關鍵點的距離、理論航向角;
[0070] 航向調整模塊104:根據當前航向角和理論航向角,計算得到移動機器人的偏航 角,根據偏航角旋轉移動機器人,使其航向朝向下一關鍵點;
[0071] 行走控制模塊105,用于控制移動機器人根據距離和航向,朝下一關鍵點行進; [0072]所述行走控制模塊105包括用于使移動機器人避障和按直線行走的測距傳感器。 [0073]所述操作員控制器2包括:
[0074]遠端通信模塊201,用于與導航控制器1建立TCP連接,接收移動機器人當前GPS坐 標,下載下一關鍵點GPS坐標;
[0075]衛星地圖加載模塊202,用于根據移動機器人當前GPS坐標,自動加載以移動機器 人當前GPS坐標為中心的衛星地圖;
[0076]路徑規劃模塊203,用于根據用戶選取的目標點位置,在衛星地圖上生成從起始點 至目標點的規劃路徑,該規劃路徑由多個關鍵點構成,所述多個關鍵點GPS坐標構成關鍵點 GPS坐標序列;
[0077]關鍵點坐標下載模塊204,用于查詢規劃路徑中下一關鍵點GPS坐標,如果下一關 鍵點不為空,則通過TCP連接將該關鍵點GPS坐標下載至導航控制器I,否則,通知導航控制 器1結束本次導航。
[0078] 作為一種實施方式,導航控制器可以包括單片機STC12C5A60S2(圖3a)、l擴5串口 擴展模塊GM8125與接口電路(圖31^)、6?1?通信模塊3頂90(^、6?3定位模塊通220、已集成地 磁場傳感器的慣性測量單元JY901、使用三個超聲波測距模塊US015的測距電路(圖3c),均 為本領域熟知的模塊和電路。單片機的串口 2與SIM900A的串口連接。單片機的串口 1與 GM8125的母通道串口 0連接,單片機Pl. 4-P1.6 口與GM8125發送地址控制端連接,P2.0-P2.2 口與GM8125接收地址控制端連接,Pl. 7 口與GM8125模式選擇端口連接,P2.3 口與GM8125復 位端連接。GM8125串口 1與UM220的串口連接,串口 2與JY901的串口連接,串口 3與移動機器 人平臺電機控制器的串口連接,其它串口預留。單片機P3.3、P3.6、P3.7 口,分別與3個USO15 的Trig端連接。3個US015的Echo端經過或門7432輸出Echo信號送至單片機的IN 丁〇 口。 [0079]在操作員控制器中安裝運行的軟件模塊有TCP數據通信程序、SQL Server數據庫、 ASP.NET后臺服務程序、以及前臺網頁,操作員控制器采用的是Windows操作系統。其中,TCP 數據通信程序為可執行文件,在設定端口進行監聽,等待上述導航控制器中GPRS通信模塊 的連接,當建立連接后,接收上傳的移動機器人GPS坐標數據并按指定格式存儲至SQL Server數據庫。數據庫連接采用ADO方式。ASP. NET后臺服務程序和前臺網頁依賴于Windows Internet信息服務環境運行。前臺網頁通過Ajax GET會話定時向ASP.NET后臺服務程序請 求移動機器人GPS坐標,ASP.NET后臺服務程序通過ADO方式從數據庫加載相應數據并返回。 前臺網頁通過Javascript API向百度地圖服務器請求并加載地圖數據。用戶在前臺網頁中 的地圖上點擊目標點后,前臺網頁自動根據起始點和目標點調用Javascript API進行導航 路徑規劃,將規劃路徑中的各個關鍵點坐標通過Ajax POST會話提交至ASP.NET后臺服務程 序并保存至SQL Server數據庫。TCP數據通信程序實時監測SQL Server數據庫,當獲取到新 的路徑關鍵點坐標后,將下一個路徑關鍵點坐標下載至上述導航控制器。該實施例中均使 用的是本領域熟知的軟件技術。
[0080] 用戶在使用移動機器人室外自主導航裝置時,導航控制器會實時將移動機器人的 GPS坐標上傳至操作員控制器,用戶只需在操作員控制器的人機交互界面上點擊選取目標 點,操作員控制器會自動完成導航路徑規劃,并將路徑關鍵點坐標下載至導航控制器,輸出 控制移動機器人運動的角速度和線速度,直至移動機器人到達目標點。
[0081] 操作員控制器首先啟動TCP數據通信程序,打開人機交互界面,等待導航控制器請 求建立TCP連接。導航控制器上電后,根據操作員控制器的公網IP地址和應用端口號信息, 請求與導航控制器建立TCP連接。當雙方建立連接后,操作員控制器等待導航控制器上傳移 動機器人起始點GPS坐標。當接收到數據后,以起始點GPS坐標為中心,自動加載設定層級的 衛星地圖,等待用戶點擊選取目標點。此時,導航控制器進入等待接收下一個路徑關鍵點 GPS坐標數據的狀態。用戶選取目標點后,操作員控制器自動調用地圖API進行導航路徑規 劃,將下一個路徑關鍵點GPS坐標發送至導航控制器,等待導航控制器反饋移動機器人已到 達該路徑關鍵點,然后繼續發送下一個路徑關鍵點GPS坐標,直至移動機器人到達最后一個 路徑關鍵點,本次導航任務結束。導航控制器在接收到新的路徑關鍵點GPS坐標后,計算移 動機器人當前點距下一個路徑關鍵點的距離和偏航角。如果兩點距離小于設定閾值時,表 明移動機器人到達路徑關鍵點,則停止移動并向操作員控制器發送到達信息,等待下一個 路徑關鍵點信息。否則,根據偏航角的正負方向,控制移動機器人按照相應方向和設定角速 度大小旋轉,直至偏航角小于設定閾值;當到達正確的航向時,控制移動機器人按照設定線 速度直線前進,且在行進過程中開啟避障功能。當行進了設定時間段后,機器人重復執行距 離判斷與航向調整,直到到達路徑關鍵點。
【主權項】
1. 一種基于云平臺衛星地圖的移動機器人導航方法,應用于由設在移動機器人上的導 航控制器(1)和設于遠離移動機器人的操作員控制器(2)組成的導航系統,其特征在于,包 括如下步驟: (10)上傳機器人起始坐標:導航控制器(1)讀取和解析移動機器人起始點GPS坐標,通 過TCP連接上傳至操作員控制器(2); (20)加載衛星地圖:操作員控制器(2)自動加載W移動機器人起始點GPS坐標為中屯、的 衛星地圖; (30)路徑規劃:操作員控制器(2)根據用戶選取的目標點位置,在衛星地圖上生成從起 始點至目標點的規劃路徑,該規劃路徑由多個關鍵點構成,所述多個關鍵點GPS坐標構成關 鍵點GI^坐標序列; (40)下載關鍵點坐標:操作員控制器(2)查詢規劃路徑中下一關鍵點GPS坐標,如果下 一關鍵點不為空,則通過TCP連接將該關鍵點GPS坐標下載至導航控制器(1 ),否則,通知導 航控制器(1)結束本次導航; (50)計算距離與理論航向:導航控制器(1)讀取和解析移動機器人當前GPS坐標,根據 下一關鍵點GI^坐標和移動機器人當前GI^坐標,計算得到移動機器人從當前位置至下一關 鍵點的距離、理論航向角; (60)判斷到達:導航控制器(1)根據從當前位置至下一關鍵點的距離,判斷移動機器人 是否到達該關鍵點,如到達,轉至(40)下載關鍵點坐標步驟; (70)調整朝向:導航控制器(1)讀取和解析移動機器人當前航向角,根據當前航向角和 理論航向角,計算得到移動機器人的偏航角,根據偏航角旋轉移動機器人,使其航向朝向下 一關鍵點; (80)行走控制:導航控制器(1)控制移動機器人根據距離和航向,朝下一關鍵點行進, 轉至步驟(50)。2. 根據權利要求1所述的移動機器人導航方法,其特征在于,所述(50)計算距離與理論 航向步驟包括: 巧1)移動機器人從當前位置至下一關鍵點的距離AB,按下式計算,巧2)移動機器人從當前位置至下一關鍵點的理論航向角Φ,先按下式計算,式中, A為移動機器人當前位置點,其GI^坐標為化onA,LatA), B為規劃路徑中下一關鍵點,其GI^坐標為化onB,LatB),經締度單位為弧度, φ/為計算航向角, R為地球半徑, W正東方向為0度,逆時針方向角度為正角度,順時針方向角度為負角度,將按上式得 到的計算航向角Φ /轉換成理論Φ,取值范圍為[-180°,+180° ]。3. 根據權利要求1所述的移動機器人導航方法,其特征在于,所述(70)調整朝向步驟包 括: (71) 偏航角計算:按下式計算移動機器人的偏航角式中,巧為移動機器人當前航向角, Φ為移動機器人從當前位置至下一關鍵點的理論航向角; (72) 航向調整:當δ〉〇時,移動機器人按逆時針方向旋轉I δ I,當δ<〇時,移動機器人按順 時針方向旋轉I S I,使其航向朝向下一關鍵點。4. 一種基于云平臺衛星地圖的移動機器人導航裝置,包括固設在移動機器人上的導航 控制器(1)和設于遠離移動機器人的操作員控制器(2),其特征在于, 所述導航控制器(1)包括: 定位模塊(101 ),用于讀取和解析移動機器人當前GI^坐標和當前航向角; 現場通信模塊(102),用于與操作員控制器(2)建立TCP連接,上傳移動機器人當前GPS 坐標,獲取下一關鍵點GPS坐標; 距離與理論航向計算模塊(103):用于根據下一關鍵點GPS坐標和移動機器人當前GPS 坐標,計算得到移動機器人從當前位置至下一關鍵點的距離、理論航向角; 航向調整模塊(104):根據當前航向角和理論航向角,計算得到移動機器人的偏航角, 根據偏航角旋轉移動機器人,使其航向朝向下一關鍵點; 行走控制模塊(105),用于控制移動機器人根據距離和航向,朝下一關鍵點行進; 所述操作員控制器(2)包括: 遠端通信模塊(201),用于與導航控制器(1)建立TCP連接,接收移動機器人當前GPS坐 標,下載下一關鍵點GI^坐標; 衛星地圖加載模塊(202),用于根據移動機器人當前GPS坐標,自動加載W移動機器人 當前GPS坐標為中屯、的衛星地圖; 路徑規劃模塊(203),用于根據用戶選取的目標點位置,在衛星地圖上生成從起始點至 目標點的規劃路徑,該規劃路徑由多個關鍵點構成,所述多個關鍵點GPS坐標構成關鍵點 GPS坐標序列; 關鍵點坐標下載模塊(204),用于查詢規劃路徑中下一關鍵點GPS坐標,如果下一關鍵 點不為空,則通過TCP連接將該關鍵點GPS坐標下載至導航控制器(1 ),否則,通知導航控制 器(1)結束本次導航。5. 根據權利要求4所述的移動機器人導航裝置,其特征在于:所述定位模塊(101)包括 用于讀取和解析移動機器人當前GPS坐標的GPS定位傳感器和利用地磁場計算移動機器人 當前航向角的地磁場傳感器。6. 根據權利要求4所述的移動機器人導航裝置,其特征在于:所述行走控制模塊(105) 包括用于使移動機器人避障和按直線行走的測距傳感器。
【文檔編號】G05D1/02GK105938367SQ201610538366
【公開日】2016年9月14日
【申請日】2016年7月11日
【發明人】包加桐, 王文祥, 洪澤, 唐鴻儒, 宋愛國
【申請人】揚州大學