本發明涉及機器人技術領域,尤其涉及一種移動機器人及其防傾覆方法和裝置。
背景技術:
輪式移動機器人因其結構簡單、承載大、控制機動靈活等優點,而被多數服務移動機器人作為移動機構,如掃地移動機器人,送餐迎賓移動機器人,安防巡邏移動機器人等。當遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人由于重心偏移而可能發生傾覆,如果不采取防護措施,會導致移動機器人的損壞,從而造成經濟損失。
技術實現要素:
本發明針對現有技術移動機器人遇到凹凸不平、坡道等復雜地形或受到外力作用時,由于重心偏移而可能發生傾覆的技術問題,提供一種移動機器人及其防傾覆方法和裝置,技術方案如下:
本發明實施例提供一種移動機器人防傾覆方法,包括:
接收多個姿態傳感器的信息,其中,所述多個姿態傳感器相互之間的連線所在的安裝平面與機器人水平支撐面平行,且所述多個姿態傳感器的探測方向與機器人本體坐標系的坐標軸重合,所述機器人水平支撐面為所述移動機器人多個運動輪與地面接觸點的連線構成的平面;
根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態;
若所述移動機器人的傾覆狀態為可能傾覆狀態,則根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,其中,所述重心投影偏移矢量d由所述移動機器人的質心在機器人水平支撐面內投影變化得到;
根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
可選地,所述方法還包括:
接收多個防跌紅外傳感器的信息,其中,所述多個防跌紅外傳感器分別安裝在所述移動機器人的多個運動輪前端,且所述多個防跌紅外傳感器的探測方向沿垂直方向向下;
根據所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態;
若所述移動機器人的懸空狀態為部分懸空狀態,則獲取懸空位置,控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離;
所述根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態包括:
根據所述重心投影偏移矢量d,控制移動預設距離后的所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
可選地,所述運動輪包括驅動輪和從動輪,所述方法還包括:
計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,其中,所述從動輪旋轉角的范圍為0-2π,所述傾覆軸為機器人水平支撐面的各邊所在的直線,所述傾覆軸的數量為多個;
比較多個傾覆軸穩定角αi,獲得最小值miniαi=α*,其中,α*為機器人穩定角;
所述根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態包括:
根據所述多個姿態傳感器的信息計算當前機器人穩定角α,判斷所述移動機器人的傾覆狀態,當α>α*時,所述移動機器人的傾覆狀態為可能傾覆狀態,當α≤α*時,所述移動機器人的傾覆狀態為穩定狀態。
可選地,所述傾覆軸穩定角αi為重力矢量和通過移動機器人質心的傾覆軸的法線向量的夾角。
第二方面,本發明實施例還提供一種移動機器人防傾覆裝置,包括:
第一接收模塊,用于接收多個姿態傳感器的信息,其中,所述多個姿態傳感器相互之間的連線所在的安裝平面與機器人水平支撐面平行,所述機器人水平支撐面為所述移動機器人多個運動輪與地面接觸點的連線構成的平面;
傾覆狀態判斷模塊,用于根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態;
第一計算模塊,若所述移動機器人的傾覆狀態為可能傾覆狀態,第一計算模塊用于根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,其中,所述重心投影偏移矢量d由所述移動機器人的質心在機器人水平支撐面內投影變化得到;
控制模塊,用于根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
可選地,所述裝置還包括:
第二接收模塊,用于接收多個防跌紅外傳感器的信息,其中,所述多個防跌紅外傳感器分別安裝在所述移動機器人的多個運動輪前端,且所述多個防跌紅外傳感器的探測方向沿垂直方向向下;
懸空狀態判斷模塊,用于根據所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態;
獲取和控制模塊,若所述移動機器人的懸空狀態為部分懸空狀態,所述獲取和控制模塊用于獲取懸空位置,控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離;
所述控制模塊還用于根據所述重心投影偏移矢量d,控制移動預設距離后的所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
可選地,所述運動輪包括驅動輪和從動輪,所述裝置還包括:
第二計算模塊,用于計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,其中,所述從動輪旋轉角的范圍為0-2π,所述傾覆軸為機器人水平支撐面的各邊所在的直線,所述傾覆軸的數量為多個;
比較和獲取模塊,用于比較多個傾覆軸穩定角αi并獲取最小值miniαi=α*,其中,α*為機器人穩定角;
所述傾覆狀態判斷模塊還用于根據所述多個姿態傳感器的信息計算當前機器人穩定角α,判斷所述移動機器人的傾覆狀態,當α>α*時,所述移動機器人的傾覆狀態為可能傾覆狀態,當α≤α*時,所述移動機器人的傾覆狀態為穩定狀態。
可選地,所述傾覆軸穩定角αi為重力矢量和通過移動機器人質心的傾覆軸的法線向量的夾角。
第三方面,本發明實施例還提供一種移動機器人,包括:
機身;
多個運動輪,所述多個運動輪安裝在機身底部,所述多個運動輪與地面接觸點的連線構成的平面為機器人水平支撐面;
多個姿態傳感器,所述多個姿態傳感器相互之間的連線所在的安裝平面與所述機器人水平支撐面平行;
處理器,所述處理器安裝在所述機身內,所述處理器用于接收多個姿態傳感器的信息;
所述處理器還用于根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態;
若所述移動機器人的傾覆狀態為可能傾覆狀態,所述處理器還用于根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,其中,所述重心投影偏移矢量d由所述移動機器人的質心在機器人水平支撐面內投影變化得到;
所述處理器還用于根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
可選地,所述移動機器人還包括:
多個防跌紅外傳感器,所述多個防跌紅外傳感器分別安裝在所述多個運動輪前端,且所述多個防跌紅外傳感器的探測方向沿垂直方向向下;
所述處理器還用于接收多個防跌紅外傳感器的信息;
所述處理器還用于根據所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態;
若所述移動機器人的懸空狀態為部分懸空狀態,所述處理器還用于獲取懸空位置,控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離;
所述處理器還用于根據所述重心投影偏移矢量d,控制移動預設距離后的所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
可選地,所述運動輪包括驅動輪和從動輪,所述處理器還用于:
計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,其中,所述從動輪旋轉角的范圍為0-2π,所述傾覆軸為機器人水平支撐面的各邊所在的直線,所述傾覆軸的數量為多個;
比較多個傾覆軸穩定角αi,獲得最小值miniαi=α*,其中,α*為機器人穩定角;
所述根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態包括:
根據所述多個姿態傳感器的信息計算當前機器人穩定角α,判斷所述移動機器人的傾覆狀態,當α>α*時,所述移動機器人的傾覆狀態為可能傾覆狀態,當α≤α*時,所述移動機器人的傾覆狀態為穩定狀態。
可選地,所述傾覆軸穩定角αi為重力矢量和通過移動機器人質心的傾覆軸的法線向量的夾角。
本發明實施例的有益效果在于,本發明實施例提供的移動機器人防傾覆方法,接收多個姿態傳感器的信息,根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,若所述移動機器人的傾覆狀態為可能傾覆狀態,則根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。當移動機器人遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人由于重心偏移而可能發生傾覆,采用本發明實施例提供的移動機器人防傾覆方法,根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,可使移動機器人回復到穩定狀態,從而降低了移動機器人由于傾覆帶來的損壞,避免經濟損失。
【附圖說明】
一個或多個實施例通過與之對應的附圖中的圖片進行示例性說明,這些示例性說明并不構成對實施例的限定,附圖中具有相同參考數字標號的元件表示為類似的元件,除非有特別申明,附圖中的圖不構成比例限制。
圖1為本發明實施例提供的移動機器人的結構示意圖。
圖2為本發明實施例提供的移動機器人的從動輪運動圖。
圖3為本發明實施例提供的移動機器人的運動原理示意圖。
圖4為本發明實施例提供的移動機器人的坐標系的示意圖。
圖5為本發明實施例提供的移動機器人的質心變化的示意圖。
圖6為本發明實施例提供的移動機器人的結構框圖。
圖7為本發明實施例提供的移動機器人防傾覆方法的流程圖。
圖8為本發明實施例提供的移動機器人防傾覆裝置的結構框圖。
【具體實施方式】
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。
此外,下面所描述的本發明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
如圖1和圖6所示,本發明實施例提供一種移動機器人100,包括機身10、多個運動輪20、多個姿態傳感器30和處理器40。具體地,運動輪20包括驅動輪21和從動輪23,圖1中示意性地畫出驅動輪21和從動輪23的數量均為兩個。
多個運動輪20安裝在機身10底部,所述多個運動輪20與地面接觸點的連線構成的平面為機器人水平支撐面;或者說,機器人支撐平面為主動輪21與地面接觸點以及從動輪23與地面接觸點所構成的凸多邊形,圖1中示意性地畫出兩個驅動輪21和兩個從動輪23,主動輪21和從動輪23與地面接觸點所構成的凸多邊形為四邊形,其中驅動輪21與地面接觸點位置P1,P2可以測量,從動輪23與地面接觸點P3,P4不可測量。一般地,為方便起見,驅動輪旋轉中心記為近似地面接觸點P1,P2,從動輪23的旋轉中心記為近似地面接觸點P3,P4。圖2示出一個從動輪與地面接觸點的位置從P3移動到P3’,另一個從動輪與地面接觸點的位置從P4移動到P4’。
多個姿態傳感器30相互之間的連線所在的安裝平面與所述機器人水平支撐面平行;具體地,多個姿態傳感器30可以安裝在機身10內、機身10上或機身10下,只要多個姿態傳感器30相互之間的連線所在的安裝平面與機器人水平支撐面平行即可,多個姿態傳感器30采集的信息即可被配合利用。
處理器40安裝在所述機身10內,所述處理器40用于接收多個姿態傳感器30的信息;所述處理器40還用于根據所述多個姿態傳感器30的信息判斷所述移動機器人100的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態;若所述移動機器人100的傾覆狀態為可能傾覆狀態,所述處理器40還用于根據所述多個姿態傳感器30的信息計算重心投影偏移矢量d,其中,所述重心投影偏移矢量d由所述移動機器人100的質心在機器人水平支撐面內投影變化得到;所述處理器40還用于根據所述重心投影偏移矢量d,控制所述移動機器人100的角速度與線速度,以使移動機器人100回復到穩定狀態。
本發明實施例的有益效果在于,本發明實施例提供的移動機器人100包括機身10、多個運動輪20、多個姿態傳感器30和處理器40,多個運動輪20安裝在機身10底部,多個姿態傳感器30的安裝平面與機器人水平支撐面平行。處理器40用于接收多個姿態傳感器的信息,根據所述多個姿態傳感器30的信息判斷所述移動機器人100的傾覆狀態,若所述移動機器人100的傾覆狀態為可能傾覆狀態,則根據所述多個姿態傳感器30的信息計算重心投影偏移矢量d,根據所述重心投影偏移矢量d,控制所述移動機器人100的角速度與線速度,以使移動機器人100回復到穩定狀態。當移動機器人100遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人100由于重心偏移而可能發生傾覆,本發明實施例提供的移動機器人100,根據所述重心投影偏移矢量d,控制所述移動機器人100的角速度與線速度,可使移動機器人100回復到穩定狀態,本發明實施例的移動機器人100可防傾覆,從而降低了由于傾覆帶來的損壞,避免經濟損失。
進一步地,如圖1和6所示,所述移動機器人100還包括多個防跌紅外傳感器50,多個防跌紅外傳感器50分別安裝在所述多個運動輪20前端,且所述多個防跌紅外傳感器50的探測方向沿垂直方向向下。具體地,運動輪20包括驅動輪21和從動輪23,每個驅動輪21的前端均安裝有防跌紅外傳感器50,每個從動輪23的前端也均安裝有防跌紅外傳感器50。
所述處理器40還用于接收多個防跌紅外傳感器50的信息;
所述處理器40還用于根據所述多個防跌紅外傳感器50的信息判斷所述移動機器人100的懸空狀態;
若所述移動機器人100的懸空狀態為部分懸空狀態,所述處理器40還用于獲取懸空位置,控制所述移動機器人100往與懸空位置所在的方向相反的方向移動預設距離;具體地,預設距離可根據移動機器人100的機身10懸空的部分是多少而設定。例如,機身10的一角懸空最多處懸空10cm,預設距離可設置為10-15cm,優選地,預設距離設置為12-15cm,移動回來后距離造成懸空的地面留有一定的富余。
所述處理器40還用于根據所述重心投影偏移矢量d,控制移動預設距離后的所述移動機器人100的角速度與線速度,以使移動機器人100回復到穩定狀態。
本發明實施例的有益效果在于,當移動機器人100遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人100由于重心偏移而可能發生跌倒和傾覆時,本發明實施例提供的移動機器人100的處理器40還用于根據所述多個防跌紅外傳感器50的信息判斷所述移動機器人100的懸空狀態,處理器40還用于控制所述移動機器人100往與懸空位置所在的方向相反的方向移動預設距離,然后再根據所述重心投影偏移矢量d,控制所述移動機器人100的角速度與線速度,可使移動機器人100的回復到穩定狀態。本發明實施例的移動機器人100先處理防跌倒,再處理防傾覆,從而降低了移動機器人100由于跌倒和傾覆帶來的損壞,進一步避免經濟損失。
更進一步地,處理器40還用于計算所述移動機器人100不同的從動輪23的旋轉角下沿一傾覆軸的傾覆軸穩定角αi,其中,所述從動輪旋轉角的范圍為0-2π,所述傾覆軸為機器人水平支撐面的各邊所在的直線,所述傾覆軸的數量為多個;圖1中示意性地畫出機器人支撐平面為主動輪21和從動輪23與地面接觸點所構成的四邊形,四邊形的機器人水平支撐面有四條邊,故傾覆軸的數量為四個。移動機器人100沿每個傾覆軸的傾覆軸穩定角αi,是從動輪23的旋轉角在0-2π的范圍內變化帶來的移動機器人100的重心變化下仍能保持穩定的角度。顯然,重力對該軸施加的抗翻轉矩越大,則越難沿該軸翻轉。
比較多個傾覆軸穩定角αi,獲得最小值miniαi=α*,其中,α*為機器人穩定角。以圖1為例,設定四條傾覆軸的傾覆軸穩定角αi為α1、α2、α3和α4,分別比較α1、α2、α3和α4,取其中最小值miniαi=α*,為機器人穩定角。例如α1、α2、α3和α4分別等于20度、25度、28度和30度,α1為最小值,α1<α2,移動機器人100最可能沿著α1所在的傾覆軸傾斜。由于α2所在的傾覆軸的穩定角度為25度,大于α1的20度,重力對α2所在的傾覆軸施加的抗翻轉矩大于α2所在的傾覆軸的翻轉矩,而最可能沿著α1所在的傾覆軸傾斜。
圖3為從動輪23對機器人穩定角α*的影響,其中,橫坐標是從動輪旋轉角的變化范圍0-2π區間4000個的采樣值的索引。從圖2可以看出,從動輪旋轉角在π附近時,相當于移動機器人100直行或少偏移,機器人支撐平面的四邊形面積最大時,機器人穩定角α*最大,移動機器人100最不容易發生傾覆。
所述根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態包括:
根據所述多個姿態傳感器的信息計算當前機器人穩定角α,判斷所述移動機器人的傾覆狀態,當α>α*時,所述移動機器人的傾覆狀態為可能傾覆狀態,當α≤α*時,所述移動機器人的傾覆狀態為穩定狀態。
下面結合移動機器人100的機器人本體坐標系和姿態傳感器坐標系具體解釋移動機器人100如何防跌倒和防傾覆。
移動機器人100在未知的不確定地形中運動時,傾覆將直接造成移動機器人100損壞,因此在設計移動機器人100過程中,以及移動機器人100的運動控制中必須避免此情況的發生。靜態穩定判別方法主要有重心投影法(CG Projection Method),抗傾覆的主要性能指標為機器人穩定角α*。
移動機器人100的坐標系定義如下,“base_link”為機器人本體坐標系,機器人本體坐標系為XYθ平面坐標系,“IMU”是姿態傳感器坐標系。圖4示出移動機器人的坐標系。如圖4所示,定義θ,φ,ψ分別為繞“base_link”坐標系Y軸、X軸、Z軸的旋轉角度,分別對應于橫滾角、俯仰角、航向角。“IMU”坐標系相對于“base_link”坐標系的變換矩陣遵循YXZ次序歐拉變換:
圖5中畫出移動機器人移動過程中質心O變化的示意圖。如圖5所示,在“IMU”坐標系中,移動機器人100的質心O坐標為[x0,y0,z0],驅動輪或從動輪與地面接觸點為Pi(xi,yi,zi),i=1,2,3,4,即驅動輪或從動輪與地面接觸點分別為P1、P2、P3和P4。
記矢量pi=[xi-x0,yi-y0,zi-z0],其中,pi為移動機器人100的質心O到驅動輪或從動輪與地面接觸點為Pi的矢量。
下面定義傾覆軸:
傾覆軸ai為驅動輪或從動輪與地面接觸點為Pi到其相鄰的驅動輪或從動輪與地面接觸點為Pi+1的矢量。
顯然,重力對該傾覆軸施加的抗翻轉矩越大,移動機器人100則越難沿該傾覆軸翻轉。
定義通過移動機器人100質心O的傾覆軸的法線為
li=pi+1-(pi+1·Ai)Ai,i=1,2,3;l4=p1-(p1·A4)A4,i=4
其中,Ai為ai的單位向量,具體地:
對矢量ai、fg、li分別進行單位化:
其中,fg為“base_link”坐標系內的重力矢量,Li在“IMU”坐標系中表示為[xi,yi,zi],相對于“base_link”坐標系的矢量可以表示為重力矢量Fg相對于“base_link”坐標系的坐標為[0,0,zg],相對于“IMU”坐標系的可以表示為定義傾覆軸穩定角αi為重力矢量Fg和法線向量Li的夾角為
其中
α為當前機器人穩定角,機器人穩定角α*為各傾覆軸穩定角αi中的最小值,當移動機器人100處于臨界穩定狀態時,
實際上,移動機器人100抗傾覆穩定性主要取決于重力施加在傾覆軸的力矩,且力矩越大,移動機器人100越難傾翻。
在又一實施例中,為移動機器人100防傾覆設計防傾覆控制算法。具體地,移動機器人100為底盤機器人,具體地,為輪式移動機器人。
為保證移動機器人100足夠的穩定性,通過設計防傾覆控制算法調整控制的重心或遠離凸起坡道等區域,避免移動機器人100發生傾覆。
當θ=φ=0時,質心O點在“base_link”坐標系XY平面內投影記為C;XY平面也為機器人支撐平面。當θ≠0或φ≠0時,質心O′點在“base_link”坐標系XY平面內投影記為C′;記重心投影偏移矢量d為C′到C的矢量,其公式為:
式中,I3×3為3*3的單位矩陣,dx和dy分別為重心投影偏移矢量d沿x、y方向的分量,即為、dx和dy分別為重心投影偏移矢量d沿“base_link”坐標系的X軸方向和Y軸方向的分量。
底盤機器人分為全向移動機器人和差分移動機器人兩種。全向移動機器人的移動方向為360度。差分移動機器人的軸向運動受到約束。
對于全向移動機器人,在“base_link”坐標系內設計防傾覆控制率為:
[vx,vy]T=[kxdx,kydy]T
式中,vx和vy分別是“base_link”坐標系內沿x和y方向的速度,kx和ky是誤差反饋系數。通過vx、vy、dx和dy可得出kx和ky,即可用PID控制器(PID(比例(proportion)、積分(integral)、導數(derivative))控制器)來實現調節,PID控制器中僅取比例控制。
對于差分移動機器人,由于軸向運動受到約束,vy=0,在“base_link”坐標系內設計防傾覆控制率:
式中,vx和vy分別是“base_link”坐標系內沿x和y方向的速度,是機器人沿Z軸的旋轉角速度,φ為“base_link”坐標系內重心投影偏移矢量d與X軸夾角。kx是誤差反饋系數。通過vx、dx和φ可得出kx和kθ,即可用PID控制器來實現調節,PID控制器中僅取比例控制。
上式中,φ由下面公式求得:
φ=atan2(dx,dy)
式中,atan2()反三角函數為C語言體系中特有函數,需要說明的是,上式只是求得φ的一種具體實現方式,基于這種思路的求法,還可以有其他表現形式,都在本發明實施例的保護范圍內。例如,還可以用arctan()反正切函數的形式表示,本發明對此不做限制。
在又一實施例中,如圖6所示,移動機器人100還可以包括存儲器60。
存儲器60作為一種非易失性計算機可讀存儲介質,可用于存儲非易失性軟件程序、非易失性計算機可執行程序以及模塊,如本申請實施例中的移動機器人防傾覆方法對應的程序指令/模塊(例如,附圖7中第一接收模塊210、傾覆狀態判斷模塊220、第一計算模塊230和控制模塊240)。處理器40通過運行存儲在存儲器60中的非易失性軟件程序、指令以及模塊,從而執行移動機器人100的各種數據處理以及動作執行,即實現下述方法實施例移動機器人防傾覆方法方法。
存儲器60可以包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需要的應用程序;存儲數據區可存儲根據移動機器人防傾覆裝置的使用所創建的數據等。此外,存儲器60可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態存儲器件。在一些實施例中,存儲器60可選包括相對于處理器40遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至展示汽車的行車狀態信息的裝置。上述網絡的實例包括但不限于互聯網、企業內部網、局域網、移動通信網及其組合。
本發明實施例還提供一種移動機器人防傾覆方法,如圖7所示,包括:
步驟310:接收多個姿態傳感器的信息,其中,所述多個姿態傳感器相互之間的連線所在的安裝平面與機器人水平支撐面平行,且所述多個姿態傳感器的探測方向與機器人本體坐標系的坐標軸重合,所述機器人水平支撐面為所述移動機器人多個運動輪與地面接觸點的連線構成的平面;
步驟320:根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態;
步驟330:若所述移動機器人的傾覆狀態為可能傾覆狀態,則根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,其中,所述重心投影偏移矢量d由所述移動機器人的質心在機器人水平支撐面內投影變化得到;
步驟340:根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
需要說明的是,本發明實施例提出的移動機器人防傾覆方法與實體裝置實施例提出的移動機器人基于相同的發明構思,實體裝置實施例與方法實施例中的相應技術內容可相互適用,此處不再詳述。
本發明實施例的有益效果在于,本發明實施例提供的移動機器人防傾覆方法,接收多個姿態傳感器的信息,根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,若所述移動機器人的傾覆狀態為可能傾覆狀態,則根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。當移動機器人遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人由于重心偏移而可能發生傾覆,采用本發明實施例提供的移動機器人防傾覆方法,根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,可使移動機器人回復到穩定狀態,從而降低了移動機器人由于傾覆帶來的損壞,避免經濟損失。
在另一實施例中,所述移動機器人防傾覆方法還包括:
步驟350:接收多個防跌紅外傳感器的信息,其中,所述多個防跌紅外傳感器分別安裝在所述移動機器人的多個運動輪前端,且所述多個防跌紅外傳感器的探測方向沿垂直方向向下;
步驟360:根據所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態;
步驟370:若所述移動機器人的懸空狀態為部分懸空狀態,則獲取懸空位置,控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離;
所述根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態包括:
步驟341:根據所述重心投影偏移矢量d,控制移動預設距離后的所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
需要說明的是,本發明實施例提出的移動機器人防傾覆方法與實體裝置實施例提出的移動機器人基于相同的發明構思,實體裝置實施例與方法實施例中的相應技術內容可相互適用,此處不再詳述。
本發明實施例的有益效果在于,當移動機器人遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人由于重心偏移而可能發生跌倒和傾覆時,本發明實施例提供的移動機器人防傾覆方法根據所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態,控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離,然后再根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,可使移動機器人的回復到穩定狀態。本發明實施例的移動機器人防傾覆方法先處理防跌倒,再處理防傾覆,從而降低了移動機器人由于跌倒和傾覆帶來的損壞,進一步避免經濟損失。
在又一實施例中,所述運動輪包括驅動輪和從動輪,所述移動機器人防傾覆方法還包括:
步驟380:計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,其中,所述從動輪旋轉角的范圍為0-2π,所述傾覆軸為機器人水平支撐面的各邊所在的直線,所述傾覆軸的數量為多個。
進一步地,傾覆軸穩定角αi為重力矢量和通過移動機器人質心的傾覆軸的法線向量的夾角。
步驟390:比較多個傾覆軸穩定角αi,獲得最小值miniαi=α*,其中,α*為機器人穩定角;
所述根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態包括:
步驟321:根據所述多個姿態傳感器的信息計算當前機器人穩定角α,判斷所述移動機器人的傾覆狀態,當α>α*時,所述移動機器人的傾覆狀態為可能傾覆狀態,當α≤α*時,所述移動機器人的傾覆狀態為穩定狀態。
本發明實施例通過計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,比較多個傾覆軸穩定角αi,獲得最小值α*為機器人穩定角,根據所述多個姿態傳感器的信息計算當前機器人穩定角α并將其與機器人穩定角α*比對,以判斷所述移動機器人的傾覆狀態是可能傾覆狀態還是穩定狀態。可以預先通過無限次試驗,得到的不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,再經過比對、計算等步驟得到機器人穩定角α*,以此作為判斷所述移動機器人的傾覆狀態是可能傾覆狀態的依據,機器人穩定角α*取多個傾覆軸穩定角αi中的最小值,可實現移動機器人在此角度下不發生傾覆。
現將輪式移動機器人100的防傾覆算法表述如下:
Step0:機器人支撐平面為主動輪/從動輪與地面接觸點所構成的凸多邊形,其中驅動輪與地面接觸點位置P1,P2可以測量,從動輪與地面接觸點P3,P4不可測量。從動輪旋轉角β3,β4∈[0,2π],任一組合(β3,β4)i下傾覆軸穩定角為αi,遍歷所有角度組合尋找最小值α*=miniαi,將其定義為穩定裕量。初始化“IMU”坐標系下傾覆軸單位方向矢量Ai,單位法線Li,重力矢量Fg。
Step1:由姿態傳感器30的θ,φ,ψ數據更新“IMU”坐標系相對于“base_link”坐標系的旋轉矩陣更新各傾覆軸穩定角γi及當前機器人穩定角α,當α<α*時防傾覆控制算法啟動,轉Step2;
Step2:防跌紅外傳感器40檢測到移動機器人100部分懸空時,防跌落控制算法啟動,轉Step3;
Step3:計算機器人“base_link”坐標系下重心投影偏移矢量d,由防傾覆控制算法控制移動機器人100運動,直到重新回復到穩定狀態α<α*。
Step4:首先判斷懸空部位位于移動機器人100前側還是后側,然后向懸空部位的相反方向移動確定距離,遠離地形凹陷區域。
本發明實施例還提供一種移動機器人防傾覆裝置200,如圖8所示,包括第一接收模塊210、傾覆狀態判斷模塊220、第一計算模塊230和控制模塊240。
第一接收模塊210,用于接收多個姿態傳感器的信息,其中,所述多個姿態傳感器相互之間的連線所在的安裝平面與機器人水平支撐面平行,所述機器人水平支撐面為所述移動機器人多個運動輪與地面接觸點的連線構成的平面;
傾覆狀態判斷模塊220,用于根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,所述傾覆狀態包括可能傾覆狀態和穩定狀態;
第一計算模塊230,若所述移動機器人的傾覆狀態為可能傾覆狀態,第一計算模塊用于根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,其中,所述重心投影偏移矢量d由所述移動機器人的質心在機器人水平支撐面內投影變化得到;
控制模塊240,用于根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
需要說明的是,本發明實施例提出的移動機器人防傾覆裝置200與實體裝置實施例提出的移動機器人基于相同的發明構思、移動機器人防傾覆裝置200與本發明方法實施例提出的移動機器人防傾覆方法基于相同的發明構思,實體裝置實施例、方法實施例與裝置實施例中的相應技術內容可相互適用,此處不再詳述。
本發明實施例的有益效果在于,本發明實施例提供的移動機器人防傾覆裝置200,第一接收模塊210用于接收多個姿態傳感器的信息,傾覆狀態判斷模塊220用于根據所述多個姿態傳感器的信息判斷所述移動機器人的傾覆狀態,若所述移動機器人的傾覆狀態為可能傾覆狀態,第一計算模塊230用于根據所述多個姿態傳感器的信息計算重心投影偏移矢量d,控制模塊240用于根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。當移動機器人遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人由于重心偏移而可能發生傾覆,采用本發明實施例提供的移動機器人防傾覆裝置200,根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,可使移動機器人回復到穩定狀態,從而降低了移動機器人由于傾覆帶來的損壞,避免經濟損失。
在另一實施例中,移動機器人防傾覆裝置200還包括第二接收模塊250、懸空狀態判斷模塊260和獲取和控制模塊270。
第二接收模塊250,用于接收多個防跌紅外傳感器的信息,其中,所述多個防跌紅外傳感器分別安裝在所述移動機器人的多個運動輪前端,且所述多個防跌紅外傳感器的探測方向沿垂直方向向下;
懸空狀態判斷模塊260,用于根據所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態;
獲取和控制模塊270,若所述移動機器人的懸空狀態為部分懸空狀態,所述獲取和控制模塊用于獲取懸空位置,控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離;
所述控制模塊240還用于根據所述重心投影偏移矢量d,控制移動預設距離后的所述移動機器人的角速度與線速度,以使移動機器人回復到穩定狀態。
需要說明的是,本發明實施例提出的移動機器人防傾覆裝置200與實體裝置實施例提出的移動機器人基于相同的發明構思、移動機器人防傾覆裝置200與本發明方法實施例提出的移動機器人防傾覆方法基于相同的發明構思,實體裝置實施例、方法實施例與裝置實施例中的相應技術內容可相互適用,此處不再詳述。
本發明實施例的有益效果在于,當移動機器人遇到凹凸不平、坡道等復雜地形或受到外力作用,移動機器人由于重心偏移而可能發生跌倒和傾覆時,本發明實施例提供的移動機器人防傾覆裝置200的懸空狀態判斷模塊260根據第二接收模塊250接收的所述多個防跌紅外傳感器的信息判斷所述移動機器人的懸空狀態,獲取和控制模塊270控制所述移動機器人往與懸空位置所在的方向相反的方向移動預設距離,然后控制模塊240再根據所述重心投影偏移矢量d,控制所述移動機器人的角速度與線速度,可使移動機器人的回復到穩定狀態。本發明實施例的移動機器人防傾覆裝置200先處理防跌倒,再處理防傾覆,從而降低了移動機器人由于跌倒和傾覆帶來的損壞,進一步避免經濟損失。
在又一實施例中,移動機器人防傾覆裝置200還包括第二計算模塊280和比較和獲取模塊290。
第二計算模塊280,用于計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,其中,所述從動輪旋轉角的范圍為0-2π,所述傾覆軸為機器人水平支撐面的各邊所在的直線,所述傾覆軸的數量為多個;
進一步地,傾覆軸穩定角αi為重力矢量和通過移動機器人質心的傾覆軸的法線向量的夾角。
比較和獲取模塊290,用于比較多個傾覆軸穩定角αi并獲取最小值miniαi=α*,其中,α*為機器人穩定角;
所述傾覆狀態判斷模塊240還用于根據所述多個姿態傳感器的信息計算當前機器人穩定角α,判斷所述移動機器人的傾覆狀態,當α>α*時,所述移動機器人的傾覆狀態為可能傾覆狀態,當α≤α*時,所述移動機器人的傾覆狀態為穩定狀態。
本發明實施例通過計算所述移動機器人不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,比較多個傾覆軸穩定角αi,獲得最小值α*為機器人穩定角,根據所述多個姿態傳感器的信息計算當前機器人穩定角α并將其與機器人穩定角α*比對,以判斷所述移動機器人的傾覆狀態是可能傾覆狀態還是穩定狀態。可以預先通過無限次試驗,得到的不同的從動輪旋轉角下沿一傾覆軸的傾覆軸穩定角αi,再經過比對、計算等步驟得到機器人穩定角α*,以此作為判斷所述移動機器人的傾覆狀態是可能傾覆狀態的依據,機器人穩定角α*取多個傾覆軸穩定角αi中的最小值,可實現移動機器人在此角度下不發生傾覆。
最后應說明的是:以上實施例僅用以說明本申請的技術方案,而非對其限制;在本申請的思路下,以上實施例或者不同實施例中的技術特征之間也可以進行組合,步驟可以以任意順序實現,并存在如上所述的本申請的不同方面的許多其它變化,為了簡明,它們沒有在細節中提供;盡管參照前述實施例對本申請進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本申請各實施例技術方案的范圍。