本發(fā)明涉及機械臂控制技術(shù)領(lǐng)域,特別是涉及一種二自由度機械手臂控制方法及其裝置。
背景技術(shù):
隨著科學(xué)技術(shù)的發(fā)展,智能化技術(shù)越來越普及人們的生活,各類機器人的研究也一直非?;馃岬恼n題,采用機器人進(jìn)行作業(yè),不但可以提高效率和準(zhǔn)確率,也為企業(yè)減少了一些人力的上的開支。
針對機器人手臂的運動軌跡問題,控制系統(tǒng)則是其關(guān)鍵所在,而要控制機械臂的運動軌跡,則取決于如何選取機械手臂運動算法。目前的機械手臂運動算法內(nèi)容復(fù)雜,運算量大。
因此,如何提供一種算法簡單的二自由度機械手臂控制方法及其裝置是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種二自由度機械手臂控制方法及其裝置,通過將空間坐標(biāo)系內(nèi)的坐標(biāo)轉(zhuǎn)換為平面坐標(biāo)系內(nèi)的坐標(biāo)進(jìn)行計算,簡化機械手臂的運動控制算法,減少計算量。
為解決上述技術(shù)問題,本發(fā)明提供了一種二自由度機械手臂控制方法,包括:
接收用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo)pn=(xn,yn,zn);
將空間直角坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系,依據(jù)所述空間直角坐標(biāo)計算所述目標(biāo)點在所述水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,和所述豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn,并進(jìn)行存儲;
依據(jù)所述目標(biāo)點相對于原點的移動角度,確定所述目標(biāo)點相對于當(dāng)前位置的移動角度作為所述機械手臂本次移動的電機轉(zhuǎn)動角度;
依據(jù)所述電機轉(zhuǎn)動角度驅(qū)動所述機械手臂的電機轉(zhuǎn)動至所述目標(biāo)點。
優(yōu)選地,所述依據(jù)所述目標(biāo)點相對于原點的移動角度,確定所述目標(biāo)點相對于當(dāng)前位置的移動角度的過程具體為:
計算所述目標(biāo)點相對于原點的移動角度與上次移動的目標(biāo)點相對于原點的移動角度的差值,得到所述機械手臂本次移動的電機轉(zhuǎn)動角度(θ,α)=(θn-θn-1,αn-αn-1);
其中,上次移動的目標(biāo)點相對于原點的移動角度為(θn-1,αn-1);n為正整數(shù);n=1時,對應(yīng)的上次移動的目標(biāo)點為原點。
優(yōu)選地,所述依據(jù)所述空間直角坐標(biāo)計算所述目標(biāo)點在所述水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,和所述豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn的過程具體為:
依據(jù)空間變換關(guān)系式計算所述移動角度,所述空間變換關(guān)系式具體為:
優(yōu)選地,所述目標(biāo)點的空間直角坐標(biāo)中的xn,yn,zn的絕對值均大于0。
為解決上述技術(shù)問題,本發(fā)明還提供了一種二自由度機械手臂控制裝置,包括:
接收模塊,用于接收用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo)pn=(xn,yn,zn);
第一角度計算模塊,用于將空間直角坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系,依據(jù)所述空間直角坐標(biāo)計算所述目標(biāo)點在所述水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,和所述豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn;
歷史數(shù)據(jù)庫,用于存儲所述目標(biāo)點的移動角度;
第二角度計算模塊,用于依據(jù)所述目標(biāo)點相對于原點的移動角度,確定所述目標(biāo)點相對于當(dāng)前位置的移動角度作為所述機械手臂本次移動的電機轉(zhuǎn)動角度;
驅(qū)動模塊,用于依據(jù)所述電機轉(zhuǎn)動角度驅(qū)動所述機械手臂的電機轉(zhuǎn)動至所述目標(biāo)點。
優(yōu)選地,所述第二角度計算模塊具體用于:
計算所述目標(biāo)點相對于原點的移動角度與上次移動的目標(biāo)點相對于原點的移動角度的差值,得到所述機械手臂本次移動的電機轉(zhuǎn)動角度(θ,α)=(θn-θn-1,αn-αn-1);其中,上次移動的目標(biāo)點相對于原點的移動角度為(θn-1,αn-1);n為正整數(shù);n=1時,對應(yīng)的上次移動的目標(biāo)點為原點。
優(yōu)選地,所述第一角度計算模塊具體包括:
水平計算單元,用于依據(jù)所述空間直角坐標(biāo)和水平空間變換關(guān)系式計算所述目標(biāo)點在所述水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,所述水平空間變換關(guān)系式為
豎直計算單元,用于依據(jù)所述空間直角坐標(biāo)和豎直空間變換關(guān)系式計算所述豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn;所述豎直空間變換關(guān)系式為
本發(fā)明提供了一種二自由度機械手臂控制方法及其裝置,將空間坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系后,依據(jù)用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo),計算本次機械手臂在水平面內(nèi)和豎直面內(nèi)移動至目標(biāo)點分別需要的移動角度,之后驅(qū)動機械手臂的電機依據(jù)該移動角度轉(zhuǎn)動至該目標(biāo)點??梢?,本發(fā)明僅是一個二維坐標(biāo)系內(nèi)的角度坐標(biāo)計算,算法極其簡單,降低了機械手臂運動控制過程中的計算量。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種二自由度機械手臂控制方法的的過程的流程圖;
圖2為本發(fā)明提供的一種二自由度機械手臂控制裝置的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心是提供一種二自由度機械手臂控制方法及其裝置,通過將空間坐標(biāo)系內(nèi)的坐標(biāo)轉(zhuǎn)換為平面坐標(biāo)系內(nèi)的坐標(biāo)進(jìn)行計算,簡化機械手臂的運動控制算法,減少計算量。
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種二自由度機械手臂控制方法,參見圖1所示,圖1為本發(fā)明提供的一種二自由度機械手臂控制方法的的過程的流程圖;該方法包括:
步驟s1:接收用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo)pn=(xn,yn,zn);
步驟s2:將空間直角坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系,依據(jù)空間直角坐標(biāo)計算目標(biāo)點在水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,和豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn,并進(jìn)行存儲;
可以理解的是,機械手臂的運動可以拆分為在水平方向上的左右轉(zhuǎn)動和在豎直方向上的上下轉(zhuǎn)動,因此,分別計算機械手臂在水平坐標(biāo)系和豎直坐標(biāo)系上的移動角度即可控制機械手臂移動至相應(yīng)目標(biāo)點。
步驟s3:依據(jù)目標(biāo)點相對于原點的移動角度,確定目標(biāo)點相對于當(dāng)前位置的移動角度作為機械手臂本次移動的電機轉(zhuǎn)動角度;
步驟s4:依據(jù)電機轉(zhuǎn)動角度驅(qū)動機械手臂的電機轉(zhuǎn)動至目標(biāo)點。
在一種具體實施例中,步驟s3的過程具體為:
計算目標(biāo)點相對于原點的移動角度與上次移動的目標(biāo)點相對于原點的移動角度的差值,得到機械手臂本次移動的電機轉(zhuǎn)動角度(θ,α)=(θn-θn-1,αn-αn-1);其中,上次移動的目標(biāo)點相對于原點的移動角度為(θn-1,αn-1);n為正整數(shù);n=1時,對應(yīng)的上次移動的目標(biāo)點為原點。
可以理解的是,機械手臂為連續(xù)運動的,因此一次運動完成后,下次運動優(yōu)選是自上次運動到的位置作為起始,進(jìn)一步進(jìn)行運動的。這種情況下,本次機械手臂的移動角度應(yīng)該是相對于上次目標(biāo)點的移動角度。但是,由于相對于上次目標(biāo)點并不好進(jìn)行計算,因此,分別計算本次目標(biāo)點與上次目標(biāo)點相對于原點的移動角度,再進(jìn)行作差,即可得到本次機械手臂的移動角度相對于上次目標(biāo)點的移動角度。例如,上次目標(biāo)點在水平面上相對原點轉(zhuǎn)動+20°,本次目標(biāo)點在水平面上相對原點轉(zhuǎn)動+60°,則本次機械手臂的移動角度相對于上次目標(biāo)點的移動角度為+40°。
當(dāng)然,在其他情況下,也可能出現(xiàn)機械手復(fù)位的情況,例如機械手每次動作完成后即回到原始位置,這種情況下每次計算得到的目標(biāo)點相對于原點的移動角度即為機械手臂移動本次的電機轉(zhuǎn)動角度。
需要注意的是,由于機械手臂可以在水平面旋轉(zhuǎn)180°,因此,最終得到的移動角度可能大于90°。并且,為了保證旋轉(zhuǎn)角度的一致性,水平坐標(biāo)系和豎直坐標(biāo)系中的坐標(biāo)軸的正負(fù)方向需要是固定的,且正向旋轉(zhuǎn)時依次通過的四個象限的順序也是固定的,依據(jù)機械手臂的安裝位置與工作需求決定。
具體的,步驟s2中,依據(jù)空間直角坐標(biāo)計算目標(biāo)點在水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,和豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn的過程具體為:
依據(jù)空間變換關(guān)系式計算移動角度,空間變換關(guān)系式具體為:
可以理解的是,水平坐標(biāo)系一般指的是xoy平面,豎直坐標(biāo)系一般指的是yoz平面,當(dāng)然特殊情況下,豎直坐標(biāo)系也可以指的是xoz平面。具體如何選取本發(fā)明不作限定。
作為優(yōu)選地,目標(biāo)點的空間直角坐標(biāo)中的xn,yn,zn的絕對值均大于0。
可以理解的是,由于機械手臂具有耦合性,機械手臂在運動時需要在水平方向上和豎直方向上同時發(fā)生移動,因此,xn,yn,zn的絕對值均大于0。
本發(fā)明提供了一種二自由度機械手臂控制方法,將空間坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系后,依據(jù)用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo),計算本次機械手臂在水平面內(nèi)和豎直面內(nèi)移動至目標(biāo)點分別需要的移動角度,之后驅(qū)動機械手臂的電機依據(jù)該移動角度轉(zhuǎn)動至該目標(biāo)點??梢?,本發(fā)明僅是一個二維坐標(biāo)系內(nèi)的角度坐標(biāo)計算,算法極其簡單,降低了機械手臂運動控制過程中的計算量。
本發(fā)明還提供了一種二自由度機械手臂控制裝置,參見圖2所示,圖2為本發(fā)明提供的一種二自由度機械手臂控制裝置的結(jié)構(gòu)示意圖。該裝置包括:
接收模塊11,用于接收用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo)pn=(xn,yn,zn);
第一角度計算模塊12,用于將空間直角坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系,依據(jù)空間直角坐標(biāo)計算目標(biāo)點在水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,和豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn;
歷史數(shù)據(jù)庫14,用于存儲目標(biāo)點的移動角度;
第二角度計算模塊13,用于依據(jù)所述目標(biāo)點相對于原點的移動角度,確定所述目標(biāo)點相對于當(dāng)前位置的移動角度作為所述機械手臂本次移動的電機轉(zhuǎn)動角度;
驅(qū)動模塊15,用于依據(jù)電機轉(zhuǎn)動角度驅(qū)動機械手臂的電機轉(zhuǎn)動至目標(biāo)點。
在優(yōu)選實施例中,第二角度計算模塊13具體用于:
計算目標(biāo)點相對于原點的移動角度與上次移動的目標(biāo)點相對于原點的移動角度的差值,得到機械手臂本次移動的電機轉(zhuǎn)動角度(θ,α)=(θn-θn-1,αn-αn-1);其中,上次移動的目標(biāo)點相對于原點的移動角度為(θn-1,αn-1);n為正整數(shù);n=1時,對應(yīng)的上次移動的目標(biāo)點為原點;
作為優(yōu)選地,第一角度計算模塊12具體包括:
水平計算單元,用于依據(jù)空間直角坐標(biāo)和水平空間變換關(guān)系式計算目標(biāo)點在水平坐標(biāo)系內(nèi)相對于原點的移動角度θn,水平空間變換關(guān)系式為
豎直計算單元,用于依據(jù)空間直角坐標(biāo)和豎直空間變換關(guān)系式計算豎直坐標(biāo)系內(nèi)相對于原點的移動角度αn;豎直空間變換關(guān)系式為
本發(fā)明提供了一種二自由度機械手臂控制裝置,將空間坐標(biāo)系拆分為水平坐標(biāo)系和豎直坐標(biāo)系后,依據(jù)用戶輸入的、機械手臂本次移動的目標(biāo)點的空間直角坐標(biāo),計算本次機械手臂在水平面內(nèi)和豎直面內(nèi)移動至目標(biāo)點分別需要的移動角度,之后驅(qū)動機械手臂的電機依據(jù)該移動角度轉(zhuǎn)動至該目標(biāo)點??梢?,本發(fā)明僅是一個二維坐標(biāo)系內(nèi)的角度坐標(biāo)計算,算法極其簡單,降低了機械手臂運動控制過程中的計算量。
以上的幾種具體實施方式僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明不限于以上實施例。相關(guān)專業(yè)技術(shù)人員在不脫離本發(fā)明精神和構(gòu)思前提下推演出的其他改進(jìn)和變化,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
還需要說明的是,在本說明書中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。