本發(fā)明涉及機(jī)器人技術(shù)領(lǐng)域,尤其涉及機(jī)械臂姿態(tài)補(bǔ)償方法、裝置、存儲(chǔ)介質(zhì)和機(jī)械臂。
背景技術(shù):
隨著產(chǎn)業(yè)升級(jí)和企業(yè)技術(shù)進(jìn)步的加快,機(jī)械臂成為了機(jī)器人技術(shù)領(lǐng)域中被得到廣泛實(shí)際應(yīng)用的自動(dòng)化機(jī)械裝置,此類機(jī)械臂具有多自由度,允許在二維或三維空間進(jìn)行運(yùn)動(dòng),通過接收控制指令以完成各種作業(yè)。
目前,部分機(jī)械臂的操縱部件安裝在機(jī)械臂的關(guān)節(jié)上。如圖1a和圖1b所示,機(jī)械臂配置有第一關(guān)節(jié)a1和第二關(guān)節(jié)a2,第一關(guān)節(jié)a1通過旋轉(zhuǎn)軸01與機(jī)械臂基座連接安裝,第二關(guān)節(jié)a2通過旋轉(zhuǎn)軸02與第一關(guān)節(jié)a1連接安裝,操作部件b安裝在第二關(guān)節(jié)a2的末端。用戶可以通過牽引操縱部件b實(shí)現(xiàn)牽引機(jī)械臂運(yùn)動(dòng)的目的,更便于機(jī)械臂的使用。
然而,將操縱部件b安裝在機(jī)械臂關(guān)節(jié)上,由于操縱部件b坐標(biāo)系與機(jī)械臂的坐標(biāo)系的對(duì)應(yīng)關(guān)系是預(yù)先建立的,但在機(jī)械臂的使用過程中,隨著機(jī)械臂關(guān)節(jié)的移動(dòng),會(huì)導(dǎo)致操縱部件b的坐標(biāo)系與機(jī)械臂的坐標(biāo)系之間產(chǎn)生偏移,破壞預(yù)先建立的對(duì)應(yīng)關(guān)系,導(dǎo)致使用操縱部件b對(duì)機(jī)械臂的控制不準(zhǔn)確。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種機(jī)械臂姿態(tài)補(bǔ)償方法、裝置、存儲(chǔ)介質(zhì)和機(jī)械臂,即便機(jī)械臂關(guān)節(jié)移動(dòng),安裝在關(guān)節(jié)上的操縱部件與機(jī)械臂的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系也可以得到實(shí)時(shí)修正,能夠避免由于操縱部件的移動(dòng)而導(dǎo)致兩個(gè)坐標(biāo)系之間產(chǎn)生偏移的情況,在一定程度上提高操縱部件對(duì)機(jī)械臂控制的準(zhǔn)確性。
本發(fā)明實(shí)施例提供的一種機(jī)械臂姿態(tài)補(bǔ)償方法,所述機(jī)械臂姿態(tài)補(bǔ)償方法應(yīng)用于一種機(jī)械臂,所述機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,所述操縱部件安裝在所述關(guān)節(jié)上;
所述機(jī)械臂姿態(tài)補(bǔ)償方法包括:
在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,實(shí)時(shí)檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度,所述運(yùn)動(dòng)角度為所述關(guān)節(jié)運(yùn)動(dòng)時(shí)相對(duì)前一時(shí)刻位置轉(zhuǎn)動(dòng)的角度;
根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。
可選地,所述機(jī)械臂配置有兩個(gè)以上關(guān)節(jié),所述兩個(gè)以上關(guān)節(jié)通過旋轉(zhuǎn)軸依次連接后,一端通過旋轉(zhuǎn)軸安裝在所述機(jī)械臂的基座上,另一端安裝有所述操縱部件;
所述實(shí)時(shí)檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度具體為:
實(shí)時(shí)檢測(cè)所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
可選地,所述實(shí)時(shí)檢測(cè)所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度具體包括:
實(shí)時(shí)獲取所述兩個(gè)以上關(guān)節(jié)中各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度,所述已轉(zhuǎn)動(dòng)角度為所述旋轉(zhuǎn)軸的當(dāng)前位置相對(duì)于初始位置的已轉(zhuǎn)過的角度;
根據(jù)所述各個(gè)關(guān)節(jié)對(duì)應(yīng)的各個(gè)所述已轉(zhuǎn)動(dòng)角度計(jì)算所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
可選地,在實(shí)時(shí)獲取所述兩個(gè)以上關(guān)節(jié)中各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度之前,還包括:
若所述各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸發(fā)生轉(zhuǎn)動(dòng),則記錄發(fā)生轉(zhuǎn)動(dòng)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度。
可選地,包括:
當(dāng)所述運(yùn)動(dòng)角度為基于所述機(jī)械臂的坐標(biāo)系的角度時(shí),所述根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系包括:
將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;
當(dāng)所述運(yùn)動(dòng)角度為基于所述操縱部件的坐標(biāo)系的角度時(shí),所述根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系包括:
將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值。
本發(fā)明實(shí)施例提供的一種機(jī)械臂姿態(tài)補(bǔ)償裝置,所述機(jī)械臂姿態(tài)補(bǔ)償裝置應(yīng)用于一種機(jī)械臂,所述機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,所述操縱部件安裝在所述關(guān)節(jié)上;
所述機(jī)械臂姿態(tài)補(bǔ)償裝置包括:
運(yùn)動(dòng)角度檢測(cè)模塊,用于在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,實(shí)時(shí)檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度,所述運(yùn)動(dòng)角度為所述關(guān)節(jié)運(yùn)動(dòng)時(shí)相對(duì)前一時(shí)刻位置轉(zhuǎn)動(dòng)的角度;
坐標(biāo)系修正模塊,用于根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。
可選地,所述機(jī)械臂配置有兩個(gè)以上關(guān)節(jié),所述兩個(gè)以上關(guān)節(jié)通過旋轉(zhuǎn)軸依次連接后,一端通過旋轉(zhuǎn)軸安裝在所述機(jī)械臂的基座上,另一端安裝有所述操縱部件;
所述運(yùn)動(dòng)角度檢測(cè)模塊包括:
關(guān)節(jié)角度檢測(cè)單元,用于實(shí)時(shí)檢測(cè)所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
可選地,所述關(guān)節(jié)角度檢測(cè)單元具體包括:
已轉(zhuǎn)動(dòng)角度獲取子單元,用于實(shí)時(shí)獲取所述兩個(gè)以上關(guān)節(jié)中各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度,所述已轉(zhuǎn)動(dòng)角度為所述旋轉(zhuǎn)軸的當(dāng)前位置相對(duì)于初始位置的已轉(zhuǎn)過的角度;
運(yùn)動(dòng)角度計(jì)算子單元,用于根據(jù)所述各個(gè)關(guān)節(jié)對(duì)應(yīng)的各個(gè)所述已轉(zhuǎn)動(dòng)角度計(jì)算所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
可選地,包括:
當(dāng)所述運(yùn)動(dòng)角度為基于所述機(jī)械臂的坐標(biāo)系的角度時(shí),所述坐標(biāo)系修正模塊包括:
第一機(jī)械臂坐標(biāo)系調(diào)整單元,用于將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,第一操縱部件坐標(biāo)系調(diào)整單元,用于將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;
當(dāng)所述運(yùn)動(dòng)角度為基于所述操縱部件的坐標(biāo)系的角度時(shí),所述坐標(biāo)系修正模塊包括:
第二機(jī)械臂坐標(biāo)系調(diào)整單元,用于將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,第二操縱部件坐標(biāo)系調(diào)整單元,用于將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值。
本發(fā)明實(shí)施例提供的一種機(jī)械臂,所述機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,所述操縱部件安裝在所述關(guān)節(jié)上;
所述機(jī)械臂還包括上述的機(jī)械臂姿態(tài)補(bǔ)償裝置。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
本發(fā)明實(shí)施例中,所述機(jī)械臂姿態(tài)補(bǔ)償方法應(yīng)用于一種機(jī)械臂,所述機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,所述操縱部件安裝在所述關(guān)節(jié)上;在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,實(shí)時(shí)檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度,所述運(yùn)動(dòng)角度為所述關(guān)節(jié)運(yùn)動(dòng)時(shí)相對(duì)前一時(shí)刻位置轉(zhuǎn)動(dòng)的角度;根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。這樣,即便機(jī)械臂關(guān)節(jié)移動(dòng),安裝在關(guān)節(jié)上的操縱部件與機(jī)械臂的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系也可以得到實(shí)時(shí)修正,避免了由于操縱部件的移動(dòng)而導(dǎo)致兩個(gè)坐標(biāo)系之間產(chǎn)生偏移的情況,在一定程度上提高了操縱部件對(duì)機(jī)械臂控制的準(zhǔn)確性。
附圖說明
圖1a為一種機(jī)械臂的正視結(jié)構(gòu)示意圖;
圖1b為圖1a所示機(jī)械臂的俯視結(jié)構(gòu)示意圖;
圖2a為一種機(jī)械臂在姿態(tài)a下第一關(guān)節(jié)a1與第二關(guān)節(jié)a2的帶有坐標(biāo)系的位置示意圖;
圖2b為一種機(jī)械臂在姿態(tài)b下第一關(guān)節(jié)a1與第二關(guān)節(jié)a2的帶有坐標(biāo)系的位置示意圖;
圖2c為圖2b所示機(jī)械臂處于姿態(tài)b下的角度計(jì)算原理示意圖;
圖3為本發(fā)明實(shí)施例中一種機(jī)械臂姿態(tài)補(bǔ)償方法一個(gè)實(shí)施例流程圖;
圖4a為另一種機(jī)械臂在前一姿態(tài)下第一關(guān)節(jié)a的帶有坐標(biāo)系的位置示意圖;
圖4b為另一種機(jī)械臂在后一姿態(tài)下第一關(guān)節(jié)a的帶有坐標(biāo)系的位置示意圖;
圖5為本發(fā)明實(shí)施例中一種機(jī)械臂姿態(tài)補(bǔ)償方法實(shí)時(shí)檢測(cè)運(yùn)動(dòng)角度的具體流程示意圖;
圖6為本發(fā)明實(shí)施例中一種機(jī)械臂姿態(tài)補(bǔ)償裝置一個(gè)實(shí)施例結(jié)構(gòu)圖;
圖7為本發(fā)明一實(shí)施例提供的機(jī)械臂的示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種機(jī)械臂姿態(tài)補(bǔ)償方法、裝置、存儲(chǔ)介質(zhì)和機(jī)械臂,用于解決現(xiàn)有機(jī)械臂關(guān)節(jié)移動(dòng)時(shí),操縱部件的坐標(biāo)系與機(jī)械臂的坐標(biāo)系之間產(chǎn)生偏移的問題。
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
對(duì)于目前的機(jī)械臂,例如為圖1a和圖1b所示的機(jī)械臂,當(dāng)其從一個(gè)姿態(tài)運(yùn)動(dòng)至另一個(gè)姿態(tài)時(shí),由于操縱部件b安裝在第一關(guān)節(jié)a1上,會(huì)導(dǎo)致操縱部件b坐標(biāo)系與機(jī)械臂坐標(biāo)系之間產(chǎn)生偏移。為便于描述,圖2a和圖2b分別示出了該機(jī)械臂在姿態(tài)a和姿態(tài)b中的第一關(guān)節(jié)a1與第二關(guān)節(jié)a2的位置示意圖。
如圖2a所示,假設(shè)在姿態(tài)a下,第一關(guān)節(jié)a1與第二關(guān)節(jié)a2平行,預(yù)先建立機(jī)械臂在水平面上的坐標(biāo)系(x1,y1)與操縱部件b在水平面上的坐標(biāo)系(x2,y2)之間的對(duì)應(yīng)關(guān)系。此時(shí),坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)平行,當(dāng)通過牽引操縱部件b上的點(diǎn)p往x2方向移動(dòng)時(shí),機(jī)械臂就往x1方向移動(dòng),從而實(shí)現(xiàn)了操縱部件b對(duì)機(jī)械臂的準(zhǔn)確控制。當(dāng)機(jī)械臂從姿態(tài)a運(yùn)動(dòng)到姿態(tài)b之后,此時(shí)第一關(guān)節(jié)a1與第二關(guān)節(jié)a2呈一定夾角,由于操縱部件b安裝在第二關(guān)節(jié)a2末端的緣故,操縱部件b會(huì)隨著第二關(guān)節(jié)a2運(yùn)動(dòng),坐標(biāo)系(x2,y2)隨之運(yùn)動(dòng),但機(jī)械臂的坐標(biāo)系(x1,y1)固定不動(dòng),從而坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)之間也呈一定夾角,不再平行。此時(shí),當(dāng)通過牽引操縱部件b上的點(diǎn)p往x2方向移動(dòng)時(shí),由于坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)預(yù)先建立的對(duì)應(yīng)關(guān)系,會(huì)使得機(jī)械臂往圖2b所示的x1方向移動(dòng),顯然,此時(shí)操縱部件b對(duì)機(jī)械臂的控制結(jié)果是不準(zhǔn)確的,并非用戶想要達(dá)到的控制效果。
為克服上述問題,本發(fā)明實(shí)施例提供了一種機(jī)械臂姿態(tài)補(bǔ)償方法來修正機(jī)械臂運(yùn)動(dòng)過程中機(jī)械臂坐標(biāo)系與操縱部件坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。請(qǐng)參閱圖3,在一個(gè)實(shí)施例中,該機(jī)械臂姿態(tài)補(bǔ)償方法包括:
步驟301、在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,實(shí)時(shí)檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度,所述運(yùn)動(dòng)角度為所述關(guān)節(jié)運(yùn)動(dòng)時(shí)相對(duì)前一時(shí)刻位置轉(zhuǎn)動(dòng)的角度;
步驟302、根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。
本實(shí)施例中的機(jī)械臂姿態(tài)補(bǔ)償方法應(yīng)用于一種機(jī)械臂,該機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,并且該操縱部件安裝在所述關(guān)節(jié)上。
對(duì)于上述步驟301,由于操縱部件安裝在關(guān)節(jié)上,因此,操縱部件的坐標(biāo)系的偏移與其所在關(guān)節(jié)的運(yùn)動(dòng)角度偏移量息息相關(guān)。該運(yùn)動(dòng)角度為所述關(guān)節(jié)運(yùn)動(dòng)時(shí)相對(duì)前一時(shí)刻位置轉(zhuǎn)動(dòng)的角度,檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度的時(shí)刻為當(dāng)前時(shí)刻,則上一次檢測(cè)關(guān)節(jié)的運(yùn)動(dòng)角度的時(shí)刻為前一時(shí)刻??芍?,前一時(shí)刻關(guān)節(jié)所處位置即為前一時(shí)刻位置。本實(shí)施例中,當(dāng)前時(shí)刻與前一時(shí)刻的時(shí)間間隔由“實(shí)時(shí)檢測(cè)”的時(shí)間間隔決定??梢岳斫獾氖牵撨\(yùn)動(dòng)角度可以基于機(jī)械臂的坐標(biāo)系,也可以基于操縱部件的坐標(biāo)系,在修正時(shí),針對(duì)該運(yùn)動(dòng)角度對(duì)應(yīng)的坐標(biāo)系進(jìn)行修正即可。
為了保證修正的實(shí)時(shí)性,上述步驟301需要實(shí)時(shí)檢測(cè)關(guān)節(jié)的運(yùn)動(dòng)角度,并每檢測(cè)到該關(guān)節(jié)的一個(gè)當(dāng)前時(shí)刻的運(yùn)動(dòng)角度,就將當(dāng)前時(shí)刻的運(yùn)動(dòng)角度交給步驟302進(jìn)行修正處理。本實(shí)施例中所述的“實(shí)時(shí)”是指每隔預(yù)定時(shí)間間隔執(zhí)行一次操作,比如,每0.1秒檢測(cè)一次所述關(guān)節(jié)的運(yùn)動(dòng)角度。
對(duì)于上述步驟302,每獲取到所述關(guān)節(jié)的一個(gè)當(dāng)前時(shí)刻的運(yùn)動(dòng)角度,即根據(jù)該運(yùn)動(dòng)角度修正兩個(gè)坐標(biāo)系之間的對(duì)應(yīng)關(guān)系,使得機(jī)械臂的坐標(biāo)系與操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系始終保持一致。
進(jìn)一步地,步驟302具體可以分為以下兩種方式進(jìn)行修正:
第一種方式:當(dāng)所述運(yùn)動(dòng)角度為基于所述機(jī)械臂的坐標(biāo)系的角度時(shí),可以將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值。
第二種方式:當(dāng)所述運(yùn)動(dòng)角度為基于所述操縱部件的坐標(biāo)系的角度時(shí),可以將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值。
對(duì)于上述第一種方式和第二種方式,由于其原理基本類似,因此,在下述內(nèi)容中具體描述坐標(biāo)系的修正計(jì)算過程時(shí),僅以“運(yùn)動(dòng)角度基于機(jī)械臂的坐標(biāo)系時(shí),將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值”這種情況進(jìn)行具體描述,其它情況下的修正類似,不再贅述。
為便于理解,在第一個(gè)應(yīng)用場(chǎng)景下,如圖4a和圖4b所示,機(jī)械臂配置有第一關(guān)節(jié)a和操縱部件b,操縱部件b安裝在第一關(guān)節(jié)a上。機(jī)械臂的坐標(biāo)系為(x1,y1),操縱部件b的坐標(biāo)系為(x2,y2)。其中,圖4a為機(jī)械臂的前一姿態(tài),圖4b為機(jī)械臂的后一姿態(tài),可知,從前一姿態(tài)運(yùn)動(dòng)至后一姿態(tài)時(shí),坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)之間發(fā)生偏移,偏移角度為m1。從圖4b所示可知,從前一姿態(tài)運(yùn)動(dòng)至后一姿態(tài),可以獲取到第一關(guān)節(jié)a的運(yùn)動(dòng)角度為m2,此時(shí),m2=m1,即第一關(guān)節(jié)a的運(yùn)動(dòng)角度正好等于兩個(gè)坐標(biāo)系的偏移角度。從而,修正時(shí),將坐標(biāo)系(x1,y1)往m2運(yùn)動(dòng)角度的方向調(diào)整m2角度值后,坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)再次重合,也即兩個(gè)坐標(biāo)系的對(duì)應(yīng)關(guān)系恢復(fù)一致,姿態(tài)補(bǔ)償完成。
上述第一應(yīng)用場(chǎng)景中主要描述了機(jī)械臂只有一個(gè)關(guān)節(jié)時(shí),坐標(biāo)系的具體修正過程。而當(dāng)機(jī)械臂配置有兩個(gè)以上關(guān)節(jié)時(shí),這些兩個(gè)以上關(guān)節(jié)通過旋轉(zhuǎn)軸依次連接后,一端通過旋轉(zhuǎn)軸安裝在所述機(jī)械臂的基座上,另一端安裝有所述操縱部件。在這種情況下,機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系的修正將比只有一個(gè)關(guān)節(jié)的情況更為復(fù)雜。
本實(shí)施例中,為了解決兩個(gè)以上關(guān)節(jié)情況下的坐標(biāo)系修真或機(jī)械臂姿態(tài)補(bǔ)償,進(jìn)一步地,上述步驟301具體可以為:在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,實(shí)時(shí)檢測(cè)所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度??梢岳斫獾氖?,由于操縱部件安裝在其所在關(guān)節(jié)上,導(dǎo)致操縱部件的坐標(biāo)系的移動(dòng)只與其所在關(guān)節(jié)的運(yùn)動(dòng)角度有關(guān)。
然而,由于機(jī)械臂上配置有兩個(gè)以上關(guān)節(jié),在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,當(dāng)其它關(guān)節(jié)也在運(yùn)動(dòng)時(shí),由于操縱部件所在關(guān)節(jié)的基準(zhǔn)點(diǎn)發(fā)生改變,因此,也需要通過其它關(guān)節(jié)的已轉(zhuǎn)動(dòng)角度來計(jì)算該操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。如圖5所示,具體地,實(shí)時(shí)檢測(cè)所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度可以包括:
501、實(shí)時(shí)獲取所述兩個(gè)以上關(guān)節(jié)中各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度,所述已轉(zhuǎn)動(dòng)角度為所述旋轉(zhuǎn)軸的當(dāng)前位置相對(duì)于初始位置的已轉(zhuǎn)過的角度;
502、根據(jù)所述各個(gè)關(guān)節(jié)對(duì)應(yīng)的各個(gè)所述已轉(zhuǎn)動(dòng)角度計(jì)算所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
其中,進(jìn)一步地,為了提高各個(gè)旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度的獲取效率,從而提高運(yùn)動(dòng)角度的實(shí)時(shí)計(jì)算效率,可以在所述各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸發(fā)生轉(zhuǎn)動(dòng)時(shí),記錄發(fā)生轉(zhuǎn)動(dòng)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度。這樣,在需要計(jì)算操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度時(shí),可以從記錄中即時(shí)獲取到各個(gè)關(guān)節(jié)的已轉(zhuǎn)動(dòng)角度,從而計(jì)算出操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
為便于理解,下面對(duì)機(jī)械臂配置有兩個(gè)以上關(guān)節(jié)的情況進(jìn)行詳細(xì)描述。在第二個(gè)應(yīng)用場(chǎng)景下,請(qǐng)參閱圖2a、圖2b和圖2c,圖2c為圖2b所示的機(jī)械臂處于姿態(tài)b下的角度計(jì)算原理示意圖。機(jī)械臂配置有兩個(gè)關(guān)節(jié),分別為第一關(guān)節(jié)a1和第二關(guān)節(jié)a2,其相互之間的關(guān)系已在上述內(nèi)容中說明,此處不再贅述。
假設(shè),設(shè)定姿態(tài)a為機(jī)械臂的初始狀態(tài),則旋轉(zhuǎn)軸01和旋轉(zhuǎn)軸02正處于初始位置??梢栽O(shè)定初始位置下,旋轉(zhuǎn)軸01和旋轉(zhuǎn)軸02的已轉(zhuǎn)動(dòng)角度為0。姿態(tài)b為機(jī)械臂下一時(shí)刻的姿態(tài),從圖2c中可知,機(jī)械臂從姿態(tài)a運(yùn)動(dòng)至姿態(tài)b時(shí),旋轉(zhuǎn)軸01的已轉(zhuǎn)動(dòng)角度為n1,旋轉(zhuǎn)軸02的已轉(zhuǎn)動(dòng)角度為n2。而操縱部件的坐標(biāo)系的偏移角度為k1,k1=k2,k2為第二關(guān)節(jié)a2的運(yùn)動(dòng)角度??芍?,k1=k2=n2-n1’=n2-n1,從而,計(jì)算旋轉(zhuǎn)軸02的已轉(zhuǎn)動(dòng)角度與旋轉(zhuǎn)軸01的已轉(zhuǎn)動(dòng)角度之差,即可得到所述操縱部件b所在第二關(guān)節(jié)a2的運(yùn)動(dòng)角度。
在第二應(yīng)用場(chǎng)景下,在得到第二關(guān)節(jié)a2的運(yùn)動(dòng)角度之后,可以根據(jù)該運(yùn)動(dòng)角度k2對(duì)坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)之間的對(duì)應(yīng)關(guān)系進(jìn)行修正,修正后坐標(biāo)系(x1,y1)與坐標(biāo)系(x2,y2)平行,對(duì)應(yīng)關(guān)系恢復(fù)一致,機(jī)械臂姿態(tài)補(bǔ)償完成。
需要說明的是,本發(fā)明實(shí)施例中,該操縱部件具體可以為3d鼠標(biāo)或者搖桿部件,其可以安裝在機(jī)械臂關(guān)機(jī)的末端,通過牽引該3d鼠標(biāo)或搖桿,實(shí)現(xiàn)機(jī)械臂的牽引控制。
如上所述,本發(fā)明實(shí)施例中,即便機(jī)械臂關(guān)節(jié)移動(dòng),安裝在關(guān)節(jié)上的操縱部件與機(jī)械臂的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系也可以得到實(shí)時(shí)修正,避免了由于操縱部件的移動(dòng)而導(dǎo)致兩個(gè)坐標(biāo)系之間產(chǎn)生偏移的情況,在一定程度上提高了操縱部件對(duì)機(jī)械臂控制的準(zhǔn)確性。
上面主要描述了一種機(jī)械臂姿態(tài)補(bǔ)償方法,下面將對(duì)一種機(jī)械臂姿態(tài)補(bǔ)償裝置進(jìn)行詳細(xì)描述。
圖6示出了本發(fā)明實(shí)施例中一種機(jī)械臂姿態(tài)補(bǔ)償裝置一個(gè)實(shí)施例結(jié)構(gòu)圖。
一種機(jī)械臂姿態(tài)補(bǔ)償裝置,所述機(jī)械臂姿態(tài)補(bǔ)償裝置應(yīng)用于一種機(jī)械臂,所述機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,所述操縱部件安裝在所述關(guān)節(jié)上;
所述機(jī)械臂姿態(tài)補(bǔ)償裝置包括:
運(yùn)動(dòng)角度檢測(cè)模塊601,用于在通過牽引所述操縱部件控制所述機(jī)械臂運(yùn)動(dòng)的過程中,實(shí)時(shí)檢測(cè)所述關(guān)節(jié)的運(yùn)動(dòng)角度,所述運(yùn)動(dòng)角度為所述關(guān)節(jié)運(yùn)動(dòng)時(shí)相對(duì)前一時(shí)刻位置轉(zhuǎn)動(dòng)的角度;
坐標(biāo)系修正模塊602,用于根據(jù)所述運(yùn)動(dòng)角度修正所述機(jī)械臂的坐標(biāo)系與所述操縱部件的坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。
進(jìn)一步地,所述機(jī)械臂配置有兩個(gè)以上關(guān)節(jié),所述兩個(gè)以上關(guān)節(jié)通過旋轉(zhuǎn)軸依次連接后,一端通過旋轉(zhuǎn)軸安裝在所述機(jī)械臂的基座上,另一端安裝有所述操縱部件;
所述運(yùn)動(dòng)角度檢測(cè)模塊可以包括:
關(guān)節(jié)角度檢測(cè)單元,用于實(shí)時(shí)檢測(cè)所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
進(jìn)一步地,所述關(guān)節(jié)角度檢測(cè)單元具體可以包括:
已轉(zhuǎn)動(dòng)角度獲取子單元,用于實(shí)時(shí)獲取所述兩個(gè)以上關(guān)節(jié)中各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度,所述已轉(zhuǎn)動(dòng)角度為所述旋轉(zhuǎn)軸的當(dāng)前位置相對(duì)于初始位置的已轉(zhuǎn)過的角度;
運(yùn)動(dòng)角度計(jì)算子單元,用于根據(jù)所述各個(gè)關(guān)節(jié)對(duì)應(yīng)的各個(gè)所述已轉(zhuǎn)動(dòng)角度計(jì)算所述操縱部件所在關(guān)節(jié)的運(yùn)動(dòng)角度。
進(jìn)一步地,所述機(jī)械臂姿態(tài)補(bǔ)償裝置還可以包括:
角度記錄模塊,用于若所述各個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸發(fā)生轉(zhuǎn)動(dòng),則記錄發(fā)生轉(zhuǎn)動(dòng)的旋轉(zhuǎn)軸的已轉(zhuǎn)動(dòng)角度。
進(jìn)一步地,包括:
當(dāng)所述運(yùn)動(dòng)角度為基于所述機(jī)械臂的坐標(biāo)系的角度時(shí),所述坐標(biāo)系修正模塊可以包括:
第一機(jī)械臂坐標(biāo)系調(diào)整單元,用于將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,第一操縱部件坐標(biāo)系調(diào)整單元,用于將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;
當(dāng)所述運(yùn)動(dòng)角度為基于所述操縱部件的坐標(biāo)系的角度時(shí),所述坐標(biāo)系修正模塊可以包括:
第二機(jī)械臂坐標(biāo)系調(diào)整單元,用于將所述機(jī)械臂的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的反方向調(diào)整所述運(yùn)動(dòng)角度的角度值;或,第二操縱部件坐標(biāo)系調(diào)整單元,用于將所述操縱部件的坐標(biāo)系沿著所述運(yùn)動(dòng)角度的方向調(diào)整所述運(yùn)動(dòng)角度的角度值。
本發(fā)明實(shí)施例還提供一種機(jī)械臂,所述機(jī)械臂配置有至少一個(gè)關(guān)節(jié)以及操縱部件,所述操縱部件安裝在所述關(guān)節(jié)上;所述機(jī)械臂還包括圖6對(duì)應(yīng)實(shí)施例中描述的任意一種機(jī)械臂姿態(tài)補(bǔ)償裝置。
圖7是本發(fā)明一實(shí)施例提供的機(jī)械臂的示意圖。如圖7所示,該實(shí)施例的機(jī)械臂7包括:處理器70、存儲(chǔ)器71以及存儲(chǔ)在所述存儲(chǔ)器71中并可在所述處理器70上運(yùn)行的計(jì)算機(jī)程序72,例如機(jī)械臂姿態(tài)補(bǔ)償程序。所述處理器70執(zhí)行所述計(jì)算機(jī)程序72時(shí)實(shí)現(xiàn)上述各個(gè)機(jī)械臂姿態(tài)補(bǔ)償方法實(shí)施例中的步驟,例如圖3所示的步驟301至302?;蛘?,所述處理器70執(zhí)行所述計(jì)算機(jī)程序72時(shí)實(shí)現(xiàn)上述各裝置實(shí)施例中各模塊/單元的功能,例如圖6所示模塊601至602的功能。
示例性的,所述計(jì)算機(jī)程序72可以被分割成一個(gè)或多個(gè)模塊/單元,所述一個(gè)或者多個(gè)模塊/單元被存儲(chǔ)在所述存儲(chǔ)器71中,并由所述處理器70執(zhí)行,以完成本發(fā)明。所述一個(gè)或多個(gè)模塊/單元可以是能夠完成特定功能的一系列計(jì)算機(jī)程序指令段,該指令段用于描述所述計(jì)算機(jī)程序72在所述機(jī)械臂7中的執(zhí)行過程。
所述機(jī)械臂7可包括,但不僅限于,處理器70、存儲(chǔ)器71。本領(lǐng)域技術(shù)人員可以理解,圖7僅僅是機(jī)械臂7的示例,并不構(gòu)成對(duì)機(jī)械臂7的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述機(jī)械臂還可以包括輸入輸出設(shè)備、網(wǎng)絡(luò)接入設(shè)備、總線等。
所述處理器70可以是中央處理單元(centralprocessingunit,cpu),還可以是其他通用處理器、數(shù)字信號(hào)處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
所述存儲(chǔ)器71可以是所述機(jī)械臂7的內(nèi)部存儲(chǔ)單元,例如機(jī)械臂7的硬盤或內(nèi)存。所述存儲(chǔ)器71也可以是所述機(jī)械臂7的外部存儲(chǔ)設(shè)備,例如所述機(jī)械臂7上配備的插接式硬盤,智能存儲(chǔ)卡(smartmediacard,smc),安全數(shù)字(securedigital,sd)卡,閃存卡(flashcard)等。進(jìn)一步地,所述存儲(chǔ)器71還可以既包括所述機(jī)械臂7的內(nèi)部存儲(chǔ)單元也包括外部存儲(chǔ)設(shè)備。所述存儲(chǔ)器71用于存儲(chǔ)所述計(jì)算機(jī)程序以及所述計(jì)算機(jī)所需的其他程序和數(shù)據(jù)。所述存儲(chǔ)器71還可以用于暫時(shí)地存儲(chǔ)已經(jīng)輸出或者將要輸出的數(shù)據(jù)。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。