本發明涉及一種機器人系統的自動標定方法。
背景技術:
在現有技術中,對于機器人系統的標定,一般采用人工示教的方法,例如,手動地控制機器人以多種不同的姿態(對于六軸機器人而言,一般為四種或更多種不同的姿態)將安裝在機器人的法蘭盤上的末端執行工具(或稱為末端執行器)的中心移動到同一目標點。但是,由于需要通過人眼來判斷末端執行工具的中心是否移動到同一目標點,因此,不可避免地會存在誤差,導致末端執行工具的中心相對于機器人的法蘭盤的中心的傳遞矩陣的標定不準確,而且手動地控制機器人以多種不同的姿態到達同一目標點和依靠人眼判斷是否到達同一目標點的工作非常費時,影響工作效率。對于需要經常更換末端執行工具的機器人系統,在每更換一次末端執行工具之后,都要進行一次重新標定,非常麻煩,非常費時。
在現有技術中,還曾提出過一種基于標定的視覺傳感器自動執行機器人系統的標定的技術方案,在該技術方案中,在視覺傳感器的引導下控制機器人以多種不同的姿態將安裝在機器人的法蘭盤上的末端執行工具的中心移動到同一目標點。與用人眼來判斷末端執行工具的中心是否到達同一目標點相比,該技術方案省時省力。但是,在該技術方案中,視覺傳感器需要識別末端執行工具的中心,由于末端執行工具的幾何結構比較復雜,識別非常困難,特別是對于需要經常更換末端執行工具的機器人系統,每更換一次末端執行工具之后,都要重新識別末端執行工具的中心,非常麻煩,非常費時。
此外,在前述現有技術中,視覺傳感器一般為攝像機,識別處理 系統根據視覺傳感器拍攝到的圖像來識別末端執行工具的中心。但是,根據拍攝到的圖像識別末端執行工具的中心的計算量非常大,導致識別速度很慢,嚴重地降低了機器人系統的標定效率。
技術實現要素:
本發明的目的旨在解決現有技術中存在的上述問題和缺陷的至少一個方面。
根據本發明的一個目的,旨在于提供一種機器人系統的自動標定方法,其能夠精確地且高效地完成機器人系統的標定工作。
根據本發明的一個方面,提供一種機器人系統的自動標定方法,包括如下步驟:
s100:提供一個球棒部件,所述球棒部件具有一個連接桿和附接在所述連接桿的一端上的球體;
s200:將所述球棒部件的連接桿的另一端固定至安裝在機器人的法蘭盤上的末端執行工具上;
s300:在一個已知的目標點的周圍設置三個距離傳感器,用于分別檢測至所述球體的表面的實際距離;
s400:根據三個距離傳感器檢測到的三個實際距離控制所述機器人分別以多種不同的姿態將所述球體的中心精確地移動到所述目標點,并根據所述機器人在所述目標點的位姿數據計算出所述球體的中心相對于所述法蘭盤的中心的傳遞矩陣ts;和
s500:根據下面的公式(1)計算所述末端執行工具的中心相對于所述機器人的法蘭盤的中心的傳遞矩陣tt,
tt=ts*tc(1),其中
tc為所述末端執行工具的中心相對于所述球體的中心的傳遞矩陣,并且傳遞矩陣tc是已知的、固定不變的。
根據本發明的一個實例性的實施例,所述三個距離傳感器包括第一距離傳感器、第二距離傳感器和第三距離傳感器;并且當所述球體的中心被精確地移動到所述目標點時,所述第一距離傳感器、第二距 離傳感器和第三距離傳感器到所述球體的表面的距離分別等于第一預定距離、第二預定距離和第三預定距離。
根據本發明的另一個實例性的實施例,在所述步驟s400中,根據所述第一距離傳感器檢測到的第一實際距離與所述第一預定距離之間的第一距離誤差、所述第二距離傳感器檢測到的第二實際距離與所述第二預定距離之間的第二距離誤差、以及所述第三距離傳感器檢測到的第三實際距離與所述第三預定距離之間的第三距離誤差,對機器人進行閉環反饋控制,直至所述第一距離誤差、第二距離誤差和第三距離誤差都等于零。
根據本發明的另一個實例性的實施例,在所述步驟s400中,根據所述三個距離傳感器檢測到的三個實際距離計算出所述球體的中心在傳感器坐標系中的實際位置,并根據所述球體的中心在傳感器坐標系中的實際位置與所述目標點在所述傳感器坐標系中的目標位置之間的位置誤差,對機器人進行閉環反饋控制,直至所述位置誤差等于零。
根據本發明的另一個實例性的實施例,所述第一距離傳感器的軸線、所述第二距離傳感器的軸線和所述第三距離傳感器的軸線相交于同一點。
根據本發明的另一個實例性的實施例,所述第一距離傳感器的軸線、所述第二距離傳感器的軸線和所述第三距離傳感器的軸線的交點作為所述目標點。
根據本發明的另一個實例性的實施例,所述第一距離傳感器的軸線、所述第二距離傳感器的軸線和所述第三距離傳感器的軸線相互正交。
根據本發明的另一個實例性的實施例,所述第一距離傳感器的軸線、所述第二距離傳感器的軸線和所述第三距離傳感器的軸線分別限定了傳感器坐標系的三個軸線方向,并且所述傳感器坐標系的原點與所述第一距離傳感器的軸線、所述第二距離傳感器的軸線和所述第三距離傳感器的軸線的交點重合。
根據本發明的另一個實例性的實施例,在所述步驟s400中,所述機器人以至少兩種不同的姿態將所述球體的中心精確地移動到所述目標點。
根據本發明的另一個實例性的實施例,所述步驟s400包括:
s410:根據三個距離傳感器檢測到的三個實際距離控制機器人以第一姿態將所述球體的中心移動到所述目標點,并記錄所述機器人在所述目標點處的第一位姿數據;
s420:根據三個距離傳感器檢測到的三個實際距離控制機器人以第二姿態將所述球體的中心移動到所述目標點,并記錄所述機器人在所述目標點處的第二位姿數據;
s430:根據三個距離傳感器檢測到的三個實際距離控制機器人以第三姿態將所述球體的中心移動到所述目標點,并記錄所述機器人在所述目標點處的第三位姿數據;
s440:根據三個距離傳感器檢測到的三個實際距離控制機器人以第四姿態將所述球體的中心移動到所述目標點,并記錄所述機器人在所述目標點處的第四位姿數據;和
s450:根據獲得的所述機器人的第一位姿數據、第二位姿數據、第三位姿數據和第四位姿數據計算出所述球體的中心相對于所述法蘭盤的中心的傳遞矩陣ts。
根據本發明的另一個實例性的實施例,在前述步驟s420至s440中的每個步驟中,根據所述第一距離傳感器檢測到的第一實際距離與所述第一預定距離之間的第一距離誤差、所述第二距離傳感器檢測到的第二實際距離與所述第二預定距離之間的第二距離誤差、以及所述第三距離傳感器檢測到的第三實際距離與所述第三預定距離之間的第三距離誤差,對機器人進行閉環反饋控制,直至所述第一距離誤差、第二距離誤差和第三距離誤差都等于零。
根據本發明的另一個實例性的實施例,在所述步驟s420至s440中的每個步驟中,根據所述三個距離傳感器檢測到的三個實際距離計算出所述球體的中心在傳感器坐標系中的實際位置,并根據所述球體 的中心在所述傳感器坐標系中的實際位置與所述目標點在所述傳感器坐標系中的目標位置之間的位置誤差,對機器人進行閉環反饋控制,直至所述位置誤差等于零。
根據本發明的另一個實例性的實施例,所述機器人為多軸機器人。
根據本發明的另一個實例性的實施例,所述三個距離傳感器為非接觸式距離傳感器。
根據本發明的另一個實例性的實施例,所述三個距離傳感器為激光式距離傳感器或超聲波式距離傳感器。
在本發明的前述各個實施例中,可以根據三個距離傳感器檢測到的、與球體的表面之間的三個實際距離來控制機器人將球體的中心精確地移動到已知的目標點,因此,無需根據圖像來識別球體的中心,提高了機器人系統的標定效率。
通過下文中參照附圖對本發明所作的描述,本發明的其它目的和優點將顯而易見,并可幫助對本發明有全面的理解。
附圖說明
圖1顯示根據本發明的一個實例性的實施例的機器人系統的原理圖;
圖2顯示三個距離傳感器的坐標系;
圖3顯示利用三個距離傳感器檢測三個距離傳感器與球體的表面之間的三個實際距離;
圖4顯示當球體的中心被精確地移動到目標點時,三個距離傳感器與球體的表面之間的預定距離;和
圖5顯示控制機器人分別以四種不同的姿態將球體的中心精確地移動到目標點。
具體實施方式
下面通過實施例,并結合附圖,對本發明的技術方案作進一步具體的說明。在說明書中,相同或相似的附圖標號指示相同或相似的部 件。下述參照附圖對本發明實施方式的說明旨在對本發明的總體發明構思進行解釋,而不應當理解為對本發明的一種限制。
根據本發明的一個總體技術構思,提供一種機器人系統的自動標定方法,包括如下步驟:提供一個球棒部件,所述球棒部件具有一個連接桿和附接在所述連接桿的一端上的球體;將所述球棒部件的連接桿的另一端固定至安裝在機器人的法蘭盤上的末端執行工具上;在一個已知的目標點的周圍設置三個距離傳感器,用于分別檢測至所述球體的表面的實際距離;根據三個距離傳感器檢測到的三個實際距離控制所述機器人分別以多種不同的姿態將所述球體的中心精確地移動到所述目標點,并根據所述機器人在所述目標點的位姿數據計算出所述球體的中心相對于所述法蘭盤的中心的傳遞矩陣ts;和根據下面的公式(1)計算所述末端執行工具的中心相對于所述機器人的法蘭盤的中心的傳遞矩陣tt,tt=ts*tc(1),其中tc為所述末端執行工具的中心相對于所述球體的中心的傳遞矩陣,并且傳遞矩陣tc是已知的、固定不變的。
圖1顯示根據本發明的一個實例性的實施例的機器人系統的原理圖。
圖1顯示了一個六軸機器人系統的示意圖,但是,本發明不局限于圖示的實施例,機器人系統也可以是其它類型的多自由度機器人系統,例如,四軸機器人系統或五軸機器人系統。
請參見圖1,圖示的機器人系統主要包括三個距離傳感器11、12、13、六軸機器人20、安裝在機器人20的法蘭盤21上的末端執行工具(或稱為末端執行器)30和固定至末端執行工具30上的一個球棒部件41、42。
在圖示的實施例中,該球棒部件41、42具有一個連接桿41和附接在連接桿41的一端上的球體42。球棒部件41、42的連接桿41的另一端固定至安裝在機器人20的法蘭盤21上的末端執行工具30上。
在圖示的實施例中,球棒部件41、42的連接桿41和球體42的幾何參數是已知的、固定不變的。因此,當球棒部件41、42固定至 末端執行工具30上之后,可以預先獲得末端執行工具30的中心tool相對于球體42的中心的傳遞矩陣tc。由于球棒部件41、42的連接桿41和球體42的幾何參數是已知的、固定不變的,因此傳遞矩陣tc是已知的、固定不變的。
圖2顯示三個距離傳感器11、12、13的坐標系(此坐標系也稱作傳感器坐標系)。圖3顯示利用三個距離傳感器11、12、13檢測三個距離傳感器11、12、13與球體42的表面之間的三個實際距離l1’、l2’、l3’。
在圖示的實施例中,在一個已知的目標點(例如,圖2中所示的點os)的周圍設置三個距離傳感器11、12、13,用于分別檢測至與球體42的表面的實際距離l1’、l2’、l3’(參見圖3)。
為了便于說明,如圖1至圖3所示,三個距離傳感器11、12、13分別被稱為第一距離傳感器11、第二距離傳感器12和第三距離傳感器13。如圖3所示,在實際應用中,當球體42朝向目標點os移動時,第一距離傳感器11可以實時地檢測出第一距離傳感器11至球體42的表面的第一實際距離l1’,第二距離傳感器12可以實時地檢測出第二距離傳感器12至球體42的表面的第二實際距離l2’,第三距離傳感器13可以實時地檢測出第三距離傳感器13至球體42的表面的第三實際距離l3’。在圖示的實施例中,第一實際距離l1’是指沿第一距離傳感器11的軸線方向從第一距離傳感器11至球體42的表面的距離,第二實際距離l2’是指沿第二距離傳感器12的軸線方向從第二距離傳感器12至球體42的表面的距離,第三實際距離l3’是指沿第三距離傳感器13的軸線方向從第三距離傳感器13至球體42的表面的距離。
盡管未圖示,本發明的機器人系統還包括控制器,用于根據預先編制的程序對機器人進行控制。
圖4顯示當球體42的中心c被精確地移動到目標點os時,三個距離傳感器11、12、13與球體42的表面之間的預定距離l1、l2、l3;和圖5顯示控制機器人分別以四種不同的姿態pose#1、pose#2、 pose#3、pose#4將球體42的中心c精確地移動到目標點os。
下面將根據附圖1-5來詳細地說明根據本發明的一個實施例的機器人系統的自動標定方法,該方法主要包括以下步驟:
s100:如圖1所示,提供一個球棒部件41、42,球棒部件41、42具有一個連接桿41和附接在連接桿41的一端上的球體42;
s200:如圖1所示,將球棒部件41、42的連接桿41的另一端固定至安裝在機器人20的法蘭盤21上的末端執行工具30上;
s300:如圖2和圖3所示,在一個已知的目標點的周圍設置三個距離傳感器11、12、13,用于分別檢測至球體42的表面的實際距離l1’、l2’、l3’:
s400:如圖3、圖4和圖5所示,根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’控制機器人20分別以多種不同的姿態pose#1、pose#2、pose#3、pose#4將球體42的中心c精確地移動到目標點,并根據機器人在目標點的位姿數據計算出球體42的中心c相對于法蘭盤21的中心tool0的傳遞矩陣ts;和
s500:根據下面的公式(1)計算末端執行工具30的中心tool相對于機器人20的法蘭盤21的中心tool0的傳遞矩陣tt,
tt=ts*tc(1)。
如圖1至圖5所示,第一距離傳感器11、第二距離傳感器12和第三距離傳感器13的位置是已知的并且是固定不變的。因此,當球體42的中心c被精確地移動到已知的目標點os時,第一距離傳感器11、第二距離傳感器12和第三距離傳感器13到球體42的表面的距離也是已知的和固定不變的。為了便于說明,如圖4所示,當球體42的中心c被精確地移動到已知的目標點os時,第一距離傳感器11、第二距離傳感器12和第三距離傳感器13到球體42的表面的距離被分別設定為第一預定距離l1、第二預定距離l2和第三預定距離l3。即,沿第一距離傳感器11的軸線方向從第一距離傳感器11至球體42的表面的第一預定距離l1,沿第二距離傳感器12的軸線方向從第二距離傳感器12至球體42的表面的第二預定距離l2,沿第三 距離傳感器13的軸線方向從第三距離傳感器13至球體42的表面的第三預定距離l3是已知的和固定不變的。
請注意,前述第一預定距離l1、第二預定距離l2和第三預定距離l3可以彼此相等也可以彼此不相等。在本發明的一個實例性的實施例中,在前述步驟s400中,根據第一距離傳感器11檢測到的第一實際距離l1’與第一預定距離l1之間的第一距離誤差、第二距離傳感器12檢測到的第二實際距離l2’與第二預定距離l2之間的第二距離誤差、以及第三距離傳感器13檢測到的第三實際距離l3’與第三預定距離l3之間的第三距離誤差,對機器人20進行閉環反饋控制,直至第一距離誤差、第二距離誤差和第三距離誤差都等于零,即,直至球體42的中心c被精確地移動到目標點os。
在本發明的另一個實例性的實施例中,在前述步驟s400中,根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’計算出球體42的中心c在傳感器坐標系xs、ys、zs中的實際位置,并根據球體42的中心c在傳感器坐標系xs、ys、zs中的實際位置與目標點在傳感器坐標系xs、ys、zs中的目標位置之間的位置誤差,對機器人20進行閉環反饋控制,直至位置誤差等于零,即,直至球體42的中心c被精確地移動到目標點os。
請注意,在做標定的過程中,不一定要計算出球體42的中心c在傳感器坐標系xs、ys、zs中的實際位置。例如,如前所述,可以通過控制機器人使第一距離傳感器11檢測到的第一實際距離l1’與第一預定距離l1一致、第二距離傳感器12檢測到的第二實際距離l2’與第二預定距離l2一致、以及第三距離傳感器13檢測到的第三實際距離l3’與第三預定距離l3一致。這樣,就可確定球體42的中心c被精確地移動到了目標點os。
在本發明的一個實例性的實施例中,為了便于計算,第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線相交于同一點os。但是,本發明不局限于此,第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線 也可以不相交于同一點。
在本發明的一個實例性的實施例中,為了便于計算,第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線的交點os作為目標點。但是,本發明不局限于此,目標點可以與前述交點os不重合。
在本發明的一個實例性的實施例中,為了便于計算,第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線相互正交。但是,本發明不局限于此,第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線也可以不相互垂直。
在本發明的一個實例性的實施例中,為了便于計算,第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線分別限定了傳感器坐標系xs、ys、zs的三個軸線方向,并且傳感器坐標系xs、ys、zs的原點與第一距離傳感器11的軸線、第二距離傳感器12的軸線和第三距離傳感器13的軸線的交點os重合。
在本發明的一個實例性的實施例中,如圖1-5所示,前述步驟s400包括:
s410:根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’控制機器人20以第一姿態pose#1將球體42的中心c移動到目標點,并記錄機器人20在目標點處的第一位姿數據;
s420:根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’控制機器人20以第二姿態pose#2將球體42的中心c移動到目標點,并記錄機器人在目標點處的第二位姿數據;
s430:根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’控制機器人20以第三姿態pose#3將球體42的中心c移動到目標點,并記錄機器人在目標點處的第三位姿數據;
s440:根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’控制機器人20以第四姿態pose#4將球體42的中心c移動到目標點,并記錄機器人在目標點處的第四位姿數據;和
s450:根據獲得的機器人的第一位姿數據、第二位姿數據、第三位姿數據和第四位姿數據計算出球體42的中心c相對于法蘭盤21的中心tool0的傳遞矩陣ts。
在本發明的一個實例性的實施例中,在前述步驟s420至s440中的每個步驟中,根據第一距離傳感器11檢測到的第一實際距離l1’與第一預定距離l1之間的第一距離誤差、第二距離傳感器12檢測到的第二實際距離l2’與第二預定距離l2之間的第二距離誤差、以及第三距離傳感器13檢測到的第三實際距離l3’與第三預定距離l3之間的第三距離誤差,對機器人20進行閉環反饋控制,直至第一距離誤差、第二距離誤差和第三距離誤差都等于零,即,直至球體42的中心c被精確地移動到目標點os。
在本發明的另一個實例性的實施例中,在步驟s420至s440中的每個步驟中,根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’計算出球體42的中心c在傳感器坐標系xs、ys、zs中的實際位置,并根據球體42的中心c在傳感器坐標系xs、ys、zs中的實際位置與目標點在傳感器坐標系xs、ys、zs中的目標位置之間的位置誤差,對機器人20進行閉環反饋控制,直至位置誤差等于零,即,直至球體42的中心c被精確地移動到目標點os。
在圖示的前述實施例中,根據三個距離傳感器11、12、13檢測到的三個實際距離l1’、l2’、l3’控制機器人20以四種不同的姿態pose#1、pose#2、pose#3、pose#4將球體42的中心c精確地移動到同一目標點os。但是,本發明不局限于圖示的實施例,機器人20也可以以兩種、三種、五種或更多種不同的姿態將球體42的中心c精確地移動到同一目標點。
在本發明的一個實例性的實施例中,三個距離傳感器11、12、13可以為但不限于非接觸式距離傳感器。
在本發明的一個實例性的實施例中,三個距離傳感器11、12、13可以為激光式距離傳感器或超聲波式距離傳感器。
在本發明的前述各個實施例中,在機器人20的法蘭盤21上安裝 一個球棒部件41、42,并且在目標點的周圍設置三個距離傳感器11、12、13。這樣,可以根據三個距離傳感器11、12、13檢測到的、與球體42的表面之間的三個實際距離l1’、l2’、l3’來控制機器人20將球體42的中心c精確地移動到已知的目標點,因此,無需根據圖像來識別球體42的中心,提高了機器人系統的標定效率。
雖然結合附圖對本發明進行了說明,但是附圖中公開的實施例旨在對本發明優選實施方式進行示例性說明,而不能理解為對本發明的一種限制。
雖然本總體發明構思的一些實施例已被顯示和說明,本領域普通技術人員將理解,在不背離本總體發明構思的原則和精神的情況下,可對這些實施例做出改變,本發明的范圍以權利要求和它們的等同物限定。
應注意,措詞“包括”不排除其它元件或步驟,措詞“一”或“一個”不排除多個。另外,權利要求的任何元件標號不應理解為限制本發明的范圍。