一種機器人雙臂自平衡方法及機器人與流程
2023-11-02 05:01:02

本發明涉及機器人領域,尤其涉及一種機器人雙臂自平衡方法及機器人。
背景技術:
在最近的幾年時間,從掃地機器人、無人工廠,到「阿爾法狗」和李世石的人機大戰,人工智慧可謂攢足了人氣。機器人在給未來生活帶來無限想像的同時,也引發了人們對「機器換人」的擔憂。然而,這樣的擔憂來得過早了。前段時間,有人梳理廣州大眾餐飲機器人使用情況發現,曾經「聘用」機器人服務員的幾家餐廳,已有兩家關門歇業。剩下一家雖仍在營業,但機器人服務員卻被老闆「炒了魷魚」。主要的原因之一是機器人的運動控制系統有問題,從而使其無法將食物平穩送到餐桌上。
目前,服務機器人的應用比較簡單,一般是導航和語音,還有就是識別並跟蹤用戶,而在外觀上,仿人服務機器人的雙臂固定不動或者是直接被控制伸展,這使得服務機器人在日常生活服務中不能更好地為人類服務。
現有的服務機器人技術在雙臂上的應用太過簡單,追求外觀美麗,很少考慮服務機器人雙臂的自主平衡問題。然而,如果服務機器人的雙臂不能像人的雙手一樣平穩地端東西,那麼服務機器人就不能更好地服務於人類。目前的服務機器人,包括餐廳機器人、迎賓機器人、酒店機器人等雙臂機器人,因承載、掛吊重物或者遇到機體傾斜使得機器人在停止過程或者運動過程中,不能保持雙臂平衡而使雙臂上的物體掉落而損壞,雙臂上的物品安全得不到保證。
技術實現要素:
本發明實施例提供了一種機器人雙臂自平衡方法及機器人,解決了現有技術中服務機器人因承載重物或者遇到機體傾斜使得機器人不能保持雙臂平衡而使雙臂上的物體掉落而損壞,雙臂上的物品安全得不到保證的技術問題。
本發明實施例提供的一種,包括:
機器人,機器人的手臂包括可旋轉的手掌、手肘和肩膀轉動關節;
手掌設置有第一陀螺儀,機器人底部設置有第二陀螺儀;
方法步驟包括:通過控制機器人的手臂的電機轉動角度及根據第一陀螺儀的傾斜角轉動手掌調整手掌處於平衡狀態;
根據實時檢測到的第一陀螺儀和第二陀螺儀的輸出數據判斷機器人的機體傾斜角是否有變化;
若機器人的機體傾斜角有變化,計算機器人的機體的傾斜角,並根據傾斜角上下移動手臂或轉動手掌。
可選地,通過控制機器人的手臂的電機轉動角度及根據第一陀螺儀的傾斜角轉動手掌調整手掌處於平衡狀態具體包括:
以肩膀轉動關節為原點,設置手掌、手肘的坐標,並根據手掌、手肘和肩膀轉動關節計算手臂的前臂與水平軸的夾角a1及手臂的上臂與水平軸的夾角a2;
根據夾角a1及夾角a2控制機器人的手臂的電機轉動角度,並控制手掌的關節的電機根據第一陀螺儀的前後傾斜角大小轉動,調整手掌處於平衡狀態。
可選地,根據夾角a1及夾角a2控制機器人的手臂的電機轉動角度,並控制手掌的關節的電機根據第一陀螺儀的前後傾斜角大小轉動,調整手掌處於平衡狀態之後還包括:
根據預設的機器人的承載物的重量範圍控制機器人的兩個手臂的輸出力矩。
可選地,根據實時檢測到的第一陀螺儀和第二陀螺儀的輸出數據判斷機器人的機體傾斜角是否有變化包括:
根據檢測到的第一陀螺儀和第二陀螺儀的輸出數據獲取機器人的機體和兩個手臂的姿態信息,並判斷機器人的機體傾斜角是否有變化。
可選地,若機器人的機體傾斜角有變化,計算機器人的機體的傾斜角,並根據傾斜角上下移動手臂或轉動手掌包括:
若機器人的機體傾斜角有變化,計算機器人的機體的左右傾斜角和前後傾斜角,並根據左右傾斜角上下移動手臂,根據前後傾斜角轉動手掌。
本發明實施例提供的一種機器人,包括:
機體、手臂和手臂自平衡控制器,手臂包括可旋轉的手掌、手肘和肩膀轉動關節;
手掌設置有第一陀螺儀,機體的底部設置有第二陀螺儀;
手臂自平衡控制器包括:控制模塊,用於通過控制機器人的手臂的電機轉動角度及調整手掌處於平衡狀態;
預設模塊,用於根據預設的機器人的承載物的重量範圍控制機器人的兩個手臂的輸出力矩;
判斷模塊,用於根據實時檢測到的第一陀螺儀和第二陀螺儀的輸出數據判斷機器人的機體傾斜角是否有變化;
調整模塊,用於若機器人的機體傾斜角有變化,計算機器人的機體的傾斜角,並根據傾斜角上下移動手臂或轉動手掌。
可選地,控制模塊包括:
計算單元,用於以肩膀轉動關節為原點,設置手掌、手肘的坐標,並根據手掌、手肘和肩膀轉動關節計算手臂的前臂與水平軸的夾角a1及手臂的上臂與水平軸的夾角a2;
控制單元,用於根據夾角a1及夾角a2控制機器人的手臂的電機轉動角度,並控制手掌的關節的電機根據第一陀螺儀的前後傾斜角大小轉動,調整手掌處於平衡狀態。
可選地,判斷模塊包括:
判斷單元,用於根據檢測到的第一陀螺儀和第二陀螺儀的輸出數據獲取機器人的機體和兩個手臂的姿態信息,並判斷機器人的機體傾斜角是否有變化。
可選地,調整模塊包括:
調整單元,用於若機器人的機體傾斜角有變化,計算機器人的機體的左右傾斜角和前後傾斜角,並根據左右傾斜角上下移動手臂,根據前後傾斜角轉動手掌。
可選地,手掌設置有膠墊。
從以上技術方案可以看出,本發明實施例具有以下優點:
本發明實施例提供了一種機器人雙臂自平衡方法及機器人,包括:機器人,機器人的手臂包括可旋轉的手掌、手肘和肩膀轉動關節;手掌設置有第一陀螺儀,機器人底部設置有第二陀螺儀;方法步驟包括:通過控制機器人的手臂的電機轉動角度及根據第一陀螺儀的傾斜角轉動手掌調整手掌處於平衡狀態;根據實時檢測到的第一陀螺儀和第二陀螺儀的輸出數據判斷機器人的機體傾斜角是否有變化;若機器人的機體傾斜角有變化,計算機器人的機體的傾斜角,並根據傾斜角上下移動手臂或轉動手掌,本發明實施例中通過基於仿生學對機器人雙臂進行數學建模,並將建立的數學模型與機器人的陀螺儀姿態信息進行結合,生成出可以快速反應,準確的機器人雙臂平衡數學模型,並在機器人的手掌及機體底部設置陀螺儀,並根據檢測到的陀螺儀的輸出數據判斷機器人機體傾斜角是否有變化,根據傾斜角上下移動手臂或轉動手掌,從而保持機器人機體的平衡,解決了現有技術中服務機器人因承載重物或者遇到機體傾斜使得機器人不能保持雙臂平衡而使雙臂上的物體掉落而損壞,雙臂上的物品安全得不到保證的技術問題。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其它的附圖。
圖1為本發明實施例提供的一種機器人雙臂自平衡方法的一個實施例的流程示意圖;
圖2為本發明實施例提供的一種機器人雙臂自平衡方法的另一個實施例的流程示意圖;
圖3為本發明實施例提供的機器人的手臂模型的結構示意圖;
圖4為本發明實施例提供的機器人手臂垂直向下移動時的手臂模型的結構示意圖;
圖5為本發明實施例提供的機器人的機體左右傾斜切面圖;
圖6為本發明實施例提供的一種機器人雙臂自平衡方法的一個實施例的流程示意圖。
具體實施方式
本發明實施例提供了一種機器人雙臂自平衡方法及機器人,用於解決現有技術中服務機器人因承載重物或者遇到機體傾斜使得機器人不能保持雙臂平衡而使雙臂上的物體掉落而損壞,雙臂上的物品安全得不到保證的技術問題。
為使得本發明的發明目的、特徵、優點能夠更加的明顯和易懂,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而非全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
請參閱圖1,本發明實施例提供的一種機器人雙臂自平衡方法的一個實施例包括:
機器人,機器人的手臂包括可旋轉的手掌、手肘和肩膀轉動關節;
手掌設置有第一陀螺儀,機器人底部設置有第二陀螺儀;
需要說明的是,在機器人的手掌、手肘和肩膀轉動關節處均設置有驅動電機,即機器人雙臂分別設置有三個可自由控制的驅動電機,保證機器人的手臂能夠像人的手臂的關節一樣進行上下移動。
方法步驟包括:101、通過控制機器人的手臂的電機轉動角度及根據第一陀螺儀的傾斜角轉動手掌調整手掌處於平衡狀態;
首先,在機器人處於靜止啟動前的狀態時,通過控制機器人的手臂上手掌、手肘和肩膀轉動關節的電機轉動角度調整機器人手臂的角度及根據第一陀螺儀的傾斜角控制手掌處的電機轉動來轉動機器人的手掌,使得機器人的手掌能夠處於水平位置,達到平衡狀態,並且機器人雙臂的手掌能夠平行、處於同一高度地伸出於機器人的正前方,以便於在機器人雙臂的手掌上平穩地放置物品,如餐館的託盤、食物等。
102、根據實時檢測到的第一陀螺儀和第二陀螺儀的輸出數據判斷機器人的機體傾斜角是否有變化;
在機器人的行進過程中,實時地檢測位於機器人的雙臂的手掌上的第一陀螺儀和位於機器人機體底部的第二陀螺儀的輸出數據,判斷機器人的機體傾斜角是否有變化,即判斷機器人在行進過程中是否有存在由於搬運的物品過重或遇到障礙等情況而導致機器人的機體發生傾斜的情況。
103、若機器人的機體傾斜角有變化,計算機器人的機體的傾斜角,並根據傾斜角上下移動手臂或轉動手掌。
若機器人的機體傾斜角有變化,即機器人的機體發生了傾斜,則計算機器人的機體的傾斜角,如前後傾斜角、左右傾斜角等,根據傾斜角的性質對應的作出如上下移動手臂或轉動手掌的調整,以使得機器人的手掌始終處於平衡的狀態,防止放置於機器人手掌的物品、食物等滑落。
以上為對本發明實施例提供的一種機器人雙臂自平衡方法的一個實施例的詳細描述,以下將對本發明提供的一種機器人雙臂自平衡方法的另一個實施例進行詳細的描述。
請參閱圖2,本發明實施例提供的一種機器人雙臂自平衡方法的另一個實施例包括:
201、以肩膀轉動關節為原點,設置手掌、手肘的坐標,並根據手掌、手肘和肩膀轉動關節計算手臂的前臂與水平軸的夾角a1及手臂的上臂與水平軸的夾角a2;
首先,可基於仿生學進行對機器人的雙臂的數學模型的設計,如圖3所示,為機器人的手臂模型。其中,以A表示機器人的手掌,以B表示機器人的手肘,以O表示機器人的肩膀轉動關節,可以以肩膀轉動關節為原點,並以肩膀轉動關節為坐標原點建立直角坐標系,根據直角坐標系設置手掌、手肘的坐標,A、B和O的坐標分別為A(x3,y3)、B(x2,y2)和O(0,0),且AB=L1,BO=L2,x軸與OB的夾角為a2,若以B為原點建立直角坐標系,則其x軸與AB的夾角為a1。因此,根據手掌、手肘和肩膀轉動關節可以計算手臂的前臂與水平軸的夾角a1及手臂的上臂與水平軸的夾角a2,根據機器人手臂的結構進行動力學分析可得手臂的動力學方程,動力學方程具體如下:
x2=L2*cos(a2);
y2=L2*sin(a2);
x3=L2*cos(a2)+L1*cos(a1);
y3=L2*sin(a2)+L1*sin(a1);
由於L1、L2分別為前臂和上臂的長度,且其長度已固定,因此可通過手掌和手肘的坐標,即A和B的坐標輕易求出前臂與水平軸的夾角a1及手臂的上臂與水平軸的夾角a2。
202、根據夾角a1及夾角a2控制機器人的手臂的電機轉動角度,並控制手掌的關節的電機根據第一陀螺儀的前後傾斜角大小轉動,調整手掌處於平衡狀態;
為便於手掌處於平衡狀態及為了機器人手臂受力平衡,一般可以使得前臂與水平軸的夾角a1為180°,手臂的上臂與水平軸的夾角a2為225°。因此,可以根據夾角a1及夾角a2控制機器人的手臂的電機轉動角度,同時還需要控制手掌的關節的電機根據第一陀螺儀的前後傾斜角大小轉動,調整手掌處於平衡狀態。
具體地,如圖4所示,為機器人手臂垂直向下移動L3的距離時,機器人的手臂模型。當機器人手臂垂直向下移動L3的距離時,以A1(x31,y31)和B1(x21,y21)表示移動後的手掌和手肘的坐標,此時手臂各關節的數據具體如下:
x31=L2*cos(a2)+L1*cos(a1);
y31=L2*sin(a2)+L1*sin(a1)-L3;
因此,為使得機器人手臂能重新回到原先的位置,需要將將機器人的手臂垂直向上運動L3,此時,手臂各關節的數據具體如下:
y31=L2*sin(a2)+L1*sin(a1)+L3;
可知,肩膀轉動關節(O點)需要轉動的角度為:a21-a2;
可知,手肘關節(B點)要轉動的角度為:a11-a1;手掌關節(A點)的轉動由第一陀螺儀控制。
203、根據預設的機器人的承載物的重量範圍控制機器人的兩個手臂的輸出力矩;
由於機器人無法預先知道搬運的物品的重量,因此在搬運之前,通過在機器人的設定屏幕上設定物品的重量範圍,使得可以根據預設的機器人的承載物的重量範圍控制機器人的兩個手臂的輸出力矩,這樣可以讓機器人預先輸出合適的力矩避免機器人雙臂因突然加重物出現很大的晃動。
204、根據檢測到的第一陀螺儀和第二陀螺儀的輸出數據獲取機器人的機體和兩個手臂的姿態信息,並判斷機器人的機體傾斜角是否有變化;
在機器人的行進過程中,實時地檢測位於機器人的雙臂的手掌上的第一陀螺儀和位於機器人機體底部的第二陀螺儀的輸出數據,判斷機器人的機體傾斜角是否有變化,即判斷機器人在行進過程中是否有存在由於搬運的物品過重或遇到障礙等情況而導致機器人的機體發生傾斜的情況。
205、若機器人的機體傾斜角有變化,計算機器人的機體的左右傾斜角和前後傾斜角,並根據左右傾斜角上下移動手臂,根據前後傾斜角轉動手掌。
若機器人的機體傾斜角有變化,即機器人的機體發生了傾斜,則計算機器人的機體的傾斜角,如前後傾斜角、左右傾斜角等,根據傾斜角的性質對應的作出如上下移動手臂或轉動手掌的調整,以使得機器人的手掌始終處於平衡的狀態,防止放置於機器人手掌的物品、食物等滑落。
具體的,在機器人運動或者靜止的過程中,可以根據機器人機體內部的第一陀螺儀和第二陀螺儀監測機體的姿態,根據第一陀螺儀和第二陀螺儀檢測到的姿態信息建立XYZ空間直角坐標系或極坐標,通過坐標變換,變換後的坐標有兩個,一個是正對機器人的直角坐標系XOZ,對應的是機器人左右兩側的姿態,另一個是以機器人側面建立的直角坐標系YOZ,對應的是機器人前後兩側的姿態,並根據機器人的姿態調整雙臂的平衡。
假如機器人雙臂原保持平衡,突然機體傾斜角有變化,為了保持手掌上的物品安全,手臂必須儘快保持保衡,此時左右傾斜變化的角度為E,前後傾斜變化的角度為F,機器人雙臂間的中心距離為L,則手臂的手掌關節A迅速往機體前後傾斜相反的方向轉動角度F,這樣手掌就能快速保持水平。如圖5所示,為機器人的機體左右傾斜切面圖,為了使手臂儘量少受機體左右傾斜的影響,機器人左右手臂應該同時分別上下移動L3=0.5*L*tan(E),上下移動過程中B關節和O關節的轉動角度如前。
需要說明的是,在機器人移動的過程中,位於手掌中的第一陀螺儀不斷反饋手掌的姿態信息,而手掌關節A的電機會根據手掌的姿態信息中前後傾斜角的變化值轉動相應的變化值使手掌始終保持水平位置。
本發明實施例中提供了一種機器人雙臂自平衡方法,對機器人雙臂進行數學建模,建立的數學模型與機器人的陀螺儀姿態信息進行結合,生成出可以快速反應,準確的機器人雙臂平衡數學模型。這種基於仿生學的機器人雙臂自平衡方法的控制方法簡單,通過不斷量測和監督機器人的機體傾斜角的變化,即可實現掌握變化信息,以降低不確定性帶來的風險,並且將機器人的數學模型與陀螺儀姿態信息進行結合及時調整雙臂的姿態,保證手掌上物品的安全,使得機器人可在傾斜或不平的路面載物行駛。此外還可以通過預設重物範圍,減少機器人雙臂因突然承載重物搖擺的幅度,快速恢復平衡。
以上為本發明實施例提供的一種機器人雙臂自平衡方法的另一個實施例的詳細描述,以下將對本發明實施例提供的一種機器人進行詳細的描述。
請參閱圖6,本發明實施例提供的一種機器人包括:
機體、手臂和手臂自平衡控制器,手臂包括可旋轉的手掌、手肘和肩膀轉動關節;
手掌設置有第一陀螺儀,機體的底部設置有第二陀螺儀;
手臂自平衡控制器包括:控制模塊301,用於通過控制機器人的手臂的電機轉動角度及調整手掌處於平衡狀態;控制模塊301包括:
計算單元3011,用於以肩膀轉動關節為原點,設置手掌、手肘的坐標,並根據手掌、手肘和肩膀轉動關節計算手臂的前臂與水平軸的夾角a1及手臂的上臂與水平軸的夾角a2;
控制單元3012,用於根據夾角a1及夾角a2控制機器人的手臂的電機轉動角度,並控制手掌的關節的電機根據第一陀螺儀的前後傾斜角大小轉動,調整手掌處於平衡狀態。
預設模塊302,用於根據預設的機器人的承載物的重量範圍控制機器人的兩個手臂的輸出力矩;
判斷模塊303,用於根據實時檢測到的第一陀螺儀和第二陀螺儀的輸出數據判斷機器人的機體傾斜角是否有變化;判斷模塊包括:
判斷單元3031,用於根據檢測到的第一陀螺儀和第二陀螺儀的輸出數據獲取機器人的機體和兩個手臂的姿態信息,並判斷機器人的機體傾斜角是否有變化。
調整模塊304,用於若機器人的機體傾斜角有變化,計算機器人的機體的傾斜角,並根據傾斜角上下移動手臂或轉動手掌;調整模塊包括:
調整單元3041,用於若機器人的機體傾斜角有變化,計算機器人的機體的左右傾斜角和前後傾斜角,並根據左右傾斜角上下移動手臂,根據前後傾斜角轉動手掌。
需要說明的是,機器人的手掌設置有膠墊。為了使機器人的手臂搬運物品時更加平穩,在機器人手臂的兩個手掌上加上一個厚厚的軟膠墊,既可以防滑,也可以起到緩衝減震的作用。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。