本發(fā)明涉及研究對象數(shù)學模型構(gòu)建技術(shù)及自動化仿真控制技術(shù),尤其涉及一種模塊化機械臂的運動學模型的快速通用構(gòu)建及控制方法。
背景技術(shù):
:隨著機器人技術(shù)的不斷深入發(fā)展和機器人服務領(lǐng)域的不斷拓寬,機器人技術(shù)愈加廣泛的應用于人們的日常生活工作當中,并憑借其智能性、實時性、綜合性及交互性輔助人類完成多種類型工作,形成了包括工業(yè)機器人、空間機器人、醫(yī)療機器人等多種類型機器人。因此,針對機器人技術(shù)人們展開了廣泛深入的研究。在目前,利用機器人實驗仿真平臺來研究機器人對象的運動學、動力學性能以及其他特殊輔助性能,已經(jīng)成為機器人開發(fā)研究過程中必不可少的方法之一。由于機器人實驗仿真平臺開發(fā)成本較高,如果不能減少仿真平臺的二次開發(fā)代價,降低機器人仿真平臺的開發(fā)成本,將造成大量資源浪費于重復性的實驗仿真平臺再開發(fā)上。目前,開發(fā)面向通用機械臂對象的實驗仿真平臺研究已廣泛開展。而現(xiàn)有少數(shù)通用平臺的自動建模方法過于復雜,難以完成快速建模工作。因此,研究易于使用的通用性自動建模方法,并以此開發(fā)基于模塊化組件的機器人通用仿真平臺,對于加快機器人研究開發(fā)速度,以及減少資源投入是具有重要現(xiàn)實意義的。技術(shù)實現(xiàn)要素:有鑒于此,本發(fā)明實施例提供了一種易于使用的通用性自動建模方法,以實現(xiàn)基于模塊化組件的機械臂的快速建模。本發(fā)明實施例提供了一種方法,包括:一種模塊化機械臂的快速通用運動學建模方法,其特征在于,所述方法包括:依據(jù)模塊化機械臂組件的結(jié)構(gòu)尺寸,獲得所需機械臂組件節(jié)點參數(shù)值;依據(jù)模塊化機械臂裝配構(gòu)型,獲得機械臂搭建參數(shù)值;依據(jù)機械臂組件節(jié)點參數(shù)值及搭建參數(shù)值,利用通用建模方法,獲得機械臂運動學坐標系轉(zhuǎn)換矩陣,完成運動學建模。上述方法中,所述模塊化機械臂組件的節(jié)點參數(shù)值至少包括:組件節(jié)點類型,分為基座節(jié)點、連接件節(jié)點、轉(zhuǎn)動關(guān)節(jié)節(jié)點、移動關(guān)節(jié)節(jié)點以及末端執(zhí)行器節(jié)點;單元信息組合,單元信息組合是一個單元信息的集合,它記錄節(jié)點內(nèi)所包含的各個子單元信息。單元是指一個不存在自由度的無相對運動關(guān)系的單獨部件。根據(jù)節(jié)點類型,轉(zhuǎn)動和移動關(guān)節(jié)節(jié)點包含兩組單元信息,其余節(jié)點類型僅包含一組單元信息;單元間安裝參數(shù),如果某一個節(jié)點包含兩個單元,則單元間安裝參數(shù)負責記錄兩個單元間的安裝角度值或偏移值。除了基座節(jié)點內(nèi)單元的基系連接端口通過設定安裝位姿明確安裝關(guān)系,其余類型節(jié)點內(nèi)單元連接端口的標準安裝方式為:兩端口綁定坐標系z軸相反,偏移值為沿z軸正向兩端口坐標系原點距離,安裝角度為繞z軸正向旋轉(zhuǎn)的兩端口坐標系的x軸夾角。上述方法中,所述單元信息至少包括:可連接端口信息組合,是可連接端口信息的集合,每條信息負責記錄各可連接端口相對于基系的齊次變換矩陣上述方法中,所述機械臂搭建參數(shù)值至少包括:機械臂節(jié)點間安裝角度,通過機械臂的初始構(gòu)型獲取,為兩節(jié)點內(nèi)所包含的單元間安裝參數(shù)。上述方法中,所述通用建模方法包括:若為基座節(jié)點,運動學坐標系轉(zhuǎn)換矩陣Tk計算如下。Tk=Tran(x,y,z)·Rot(α,β,γ)其中,Tk用于記錄存在相對運動關(guān)系的兩個坐標系間的初始運動學坐標系轉(zhuǎn)換矩陣;Tran(x,y,z)表示坐標系分別沿x、y、z軸方向移動x、y、z米;Rot(α,βxγ)表示按照歐拉角方式進行姿態(tài)變換。若為轉(zhuǎn)動/移動關(guān)節(jié)節(jié)點,關(guān)節(jié)節(jié)點的單元一的安裝矩陣Ta計算如下式所示。Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在機械臂上一單元的安裝矩陣;表示上一單元輸出端口相對于基系的變換矩陣;表示本單元輸入端口相對于上一單元輸出端口的變換矩陣;表示表示本單元基系相對于輸入端口的變換矩陣。而轉(zhuǎn)動/移動關(guān)節(jié)節(jié)點的單元二的安裝矩陣Ta計算如下式所示。Ta=E(4,4)其中,E(4,4)表示單位陣。由于該節(jié)點為帶有運動副的節(jié)點,因此單元二需要記錄運動學坐標系轉(zhuǎn)換矩陣,即其基系相對于上一運動學坐標系的轉(zhuǎn)換矩陣。則Tk矩陣計算如下式。Tk=Tbr=Tbr·Tob·Tio·Tbi]]>其中,代表所在機械臂上一單元的安裝矩陣;表示上一單元輸出端口相對于基系的變換矩陣;表示本單元輸入端口相對于上一單元輸出端口的變換矩陣;表示表示本單元基系相對于輸入端口的變換矩陣。若為連接件節(jié)點,其安裝矩陣Ta計算如下Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在機械臂上一單元的安裝矩陣;表示上一單元輸出端口相對于基系的變換矩陣;表示本單元輸入端口相對于上一單元輸出端口的變換矩陣;表示表示本單元基系相對于輸入端口的變換矩陣。若為末端執(zhí)行器節(jié)點,其安裝矩陣Ta計算如下Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在機械臂上一單元的安裝矩陣;表示上一單元輸出端口相對于基系的變換矩陣;表示本單元輸入端口相對于上一單元輸出端口的變換矩陣;表示表示本單元基系相對于輸入端口的變換矩陣。則根據(jù)運動學坐標系轉(zhuǎn)換矩陣Tk,完成機械臂運動學建模。上述方法中,所述如下。若單元間存在轉(zhuǎn)角,則計算如下式所示。Tio=Rot(x,π)·Rot(z,θ)]]>其中,θ表示繞z軸旋轉(zhuǎn)角度。若單元間存在偏移,計算如下式所示。Tio=R(x,π)·Tran(0,0,z)]]>其中,z表示沿z軸偏移量。由以上技術(shù)方案可以看出,本發(fā)明實施例具有以下有益效果:本發(fā)明實施例的技術(shù)方案中,使用模塊化機械臂組件的物理結(jié)構(gòu)及功能特性參數(shù)進行機械臂組件描述,獲得組件基礎(chǔ)信息,根據(jù)機械臂構(gòu)建目標設置機械臂構(gòu)建參數(shù),從而完成機械臂構(gòu)建,并自動得到機械臂的運動學模型,因此能夠?qū)崿F(xiàn)快速的機械臂運動學模型構(gòu)建方式,為機器人仿真平臺面向不同機械臂對象提供控制接口,從而提高機器人仿真平臺使用效率,降低機器人研發(fā)的成本,促進機器人技術(shù)的快速發(fā)展?!靖綀D說明】為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1是本發(fā)明實施例所提供的機械臂的快速通用建模方法的流程示意圖;圖2是本發(fā)明實施例中模塊化組件理論模型圖;圖3是本發(fā)明實施例中機械臂節(jié)點安裝示意圖;圖4是本發(fā)明實施例中可連接端口坐標系示意圖?!揪唧w實施方式】為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例給出一種易于使用的基于模塊化組件的機械臂通用性建模方法,請參考圖1,其為本發(fā)明實施例所提供的機械臂的通用性建模方法的流程示意圖,如圖1所示,該方法包括以下步驟:步驟101,依據(jù)模塊化機械臂組件的物理結(jié)構(gòu)參數(shù)及功能特性,獲得所需機械臂組件基礎(chǔ)參數(shù)值。具體的,功能完整的機械臂一般會包含很多不同種類的基礎(chǔ)模塊,這些基礎(chǔ)模塊功能各不相同,結(jié)構(gòu)尺寸也根據(jù)需求的不同也變化很大,但相同系列的基礎(chǔ)模塊都具有相同的連接接口,保證組件能夠通過相互組合實現(xiàn)特定功能。模塊化組件一般可以分為基座模塊、連接件模塊、關(guān)節(jié)模塊以及末端執(zhí)行器模塊,以上這些模塊組件共同構(gòu)成了機械臂組件的基本單元,如基座模塊作為機械臂與環(huán)境的固聯(lián)裝置,起到了支撐機械臂的作用;關(guān)節(jié)模塊為機械臂的活動關(guān)節(jié),能夠為機械臂提供自由度;連接件模塊主要作用為增大機械臂活動范圍,或改變關(guān)節(jié)模塊間連接方式,為機械臂提供更加良好的工作空間;末端執(zhí)行器模塊使機械臂能夠完成抓捕放置目標物等操作。其中,各種類型模塊部件的相似功能特性經(jīng)過總結(jié)描述,可以實現(xiàn)各類型模塊的分類描述,在保證信息的完整性前提下,建立組件的抽象化數(shù)學模型。基于模型構(gòu)建需求,將模塊化組件劃分為三個層次,分別是可連接端口、單元與節(jié)點。其理論模型請參考圖2,其為本發(fā)明實施例中模塊化組件理論模型圖。1)節(jié)點節(jié)點是作為本仿真平臺對外接口的基礎(chǔ)單元進行描述的,它能夠完整地提供一個模塊化組件的全部信息。一個節(jié)點包含的信息有:節(jié)點名稱、節(jié)點類型以及單元組合。其中,節(jié)點名稱是一個節(jié)點的唯一標識符,用于節(jié)點的索引;節(jié)點類型按照需求,可以分為基座節(jié)點、連接件節(jié)點、關(guān)節(jié)節(jié)點以及末端執(zhí)行器節(jié)點,他們分別與模塊類型一一對應。同理,一個節(jié)點包含一個模塊化組件的全部參數(shù)信息;單元組合是一個單元信息集合,它記錄節(jié)點內(nèi)所包含的各個子單元信息??紤]到各類型節(jié)點特性,在本建模方法中,每個節(jié)點所包含的單元數(shù)量只有可能為一個或兩個;如果某一個節(jié)點共包含兩個單元,則單元間安裝參數(shù)負責記錄兩個單元間的安裝角度值或偏移值。2)單元單元是描述一個“零件”的基本單位,其描述對象是一個不存在自由度的無相對運動關(guān)系的單獨部件。其參數(shù)包括:可連接端口數(shù)目,取決于單元零件的具體可連接端口數(shù),由于每種零件必然包含輸入輸出端口,因此數(shù)目不得小于2;可連接端口信息組合,在可連接端口組合中,每條信息負責記錄對應端口相對于基系的變換信息,其中,0號端口建議作為基系使用;由于單元描述的對象不存在相對運動關(guān)系,因此,除在描述關(guān)節(jié)節(jié)點時,需要兩個單元來進行描述外,其余類型節(jié)點,僅需一項單元信息;最后,考慮模型構(gòu)建后的應用場景,添加建模對象應用平臺所需額外信息,如三維模型文件信息、碰撞檢測文件信息等。節(jié)點層的提出是為了提供給建模方法使用人員更加簡潔的搭建概念;但對于通用建模的內(nèi)部推導,它的基本單位是單元,通過設定各個單元的屬性,如是否為活動單元、安裝矩陣參數(shù)、運動矩陣參數(shù)等來記錄機械臂組件參數(shù)。3)可連接端口可連接端口用于描述一個單元的連接類型及相對于基系的齊次變換矩陣,是單元結(jié)構(gòu)參數(shù)的整理集合。每條可連接端口都包含有該端口的連接類型以及該端口綁定坐標系相對于單元零件基系的齊次變換矩陣可連接端口類型共分為五類,分別是轉(zhuǎn)動連接端類型、移動連接端類型、基座固定端類型、固定連接端類型以及末端抓取連接端類型。不同的連接類型代表不同的特性,具體限制選擇標準取決于其所在目標節(jié)點類型等。而齊次變換矩陣記錄了該端口坐標系相對于基系先平移{x,y,z},再根據(jù)Z-Y-X歐拉角原則旋轉(zhuǎn){α,β,λ}的變換結(jié)果,則可以得到齊次變換矩陣如下所示。Ti0=cα×cβcα×sβ×sγ-sα×cγcα×sβ×cγ+sα×sγxsα×cβsα×sβ×sγ+cα×cγsα×sβ×cγ-cα×sγy-sβcβ×sγcβ×cγz0001]]>其中,cα=cosα,sα=sinα??蛇B接端口記錄的相對于基系的齊次變換矩陣的實際意義是用于描述單元的連接系統(tǒng),是所在單元與其他單元連接的接口。在進行單元間的連接時,將會以兩單元各自連接接口綁定的坐標系為對象,通過設置初始安裝參數(shù),再按照設定的裝配原則,自動計算出安裝矩陣,完成組件的快速安裝。除了基座模塊的基系連接端口和環(huán)境的基系連接端口,通過設定安裝位姿明確安裝關(guān)系,其余類型節(jié)點連接端口的標準安裝方式為:兩端口坐標系原點重合,z軸相對,安裝角度為零時x軸重合。因此,可連接端口相對于基系的變換過程需要根據(jù)實際的接口安裝方式?jīng)Q定。在本模塊化組件設計當中,節(jié)點是模塊化組件的頂層接口。而單元可以對一個不存在相對運動關(guān)系的物件進行完整的描述。但是對于轉(zhuǎn)動關(guān)節(jié)來說,它作為一個節(jié)點,需要包含兩個單元分別作為它的固定端和活動端,因此,在單元的上層,又提出了節(jié)點作為模塊化組件的基礎(chǔ)單位。通過以上三個層次的劃分,很好地解決了模塊化組件的描述問題,并根據(jù)各層次類型的不同,分別設定對應約束條件,保證最終參數(shù)的正確性。通過提供以上統(tǒng)一的描述模板規(guī)則,完成模塊化組件的基礎(chǔ)參數(shù)值提取。步驟102,依據(jù)機械臂構(gòu)建目標,獲得機械臂搭建參數(shù)值。具體的,在機械臂的模型構(gòu)建中,由于機械臂基座Σrobot0相對于慣性系根節(jié)點Σroot存在相對運動關(guān)系,且機械臂構(gòu)建多叉樹內(nèi)部存在運動關(guān)節(jié),因此利用每棵子樹的根節(jié)點記錄其運動學矩陣,而其他單元的安裝矩陣則分別記錄在對應根節(jié)點下,作為葉子節(jié)點存在。其機械臂節(jié)點安裝示意圖如圖3所示。圖中列出了機械臂的一般組成結(jié)構(gòu)。機械臂的根節(jié)點必然是基座節(jié)點,末端節(jié)點是末端執(zhí)行器節(jié)點,中間可由連接節(jié)點和關(guān)節(jié)節(jié)點隨意組合連接構(gòu)成。圖3中Tk記錄了運動學坐標系的初始狀態(tài)矩陣,Ta負責記錄對應單元基系相對于所在運動學坐標系的安裝矩陣。由此,通過更新各關(guān)節(jié)的關(guān)節(jié)角或移動量,即可以對應更新Tk的參數(shù),從而達到對機械臂的運動控制要求。鑒于機械臂的構(gòu)成節(jié)點類型多樣,各種類型節(jié)點的安裝規(guī)則不盡相同,因此裝配時輸入的參數(shù)也不同。但最多需要以下幾種信息。節(jié)點對象:利用名稱索引在預置模塊化組件庫中搜索到對應節(jié)點信息;本節(jié)點安裝方向:分為順序安裝和逆序安裝。如果為關(guān)節(jié)節(jié)點,則順序安裝的輸入端接口從單元一中選擇,輸出端接口從單元二中選擇;如果是其它類型節(jié)點,由于只包含一個單元,默認為順序狀態(tài),輸入端與輸出端接口都從同一個單元中選擇;父節(jié)點輸出端口號:安裝在父節(jié)點對應子單元的連接端口號;本節(jié)點輸入端口號:本節(jié)點對應子單元的連接端口號;初始安裝參數(shù):子節(jié)點相對于父節(jié)點z軸的旋轉(zhuǎn)角度或z軸的偏移距離。通過輸入以上信息,即可獲得機械臂搭建參數(shù)值,保證機械臂節(jié)點的正確安裝。步驟103,依據(jù)機械臂組件基礎(chǔ)參數(shù)值及搭建參數(shù)值,完成運動學建模,得到機械臂控制參數(shù)。具體來說,依據(jù)機械臂組件基礎(chǔ)參數(shù)值及搭建參數(shù)值,即可完成運動學建模,得到機械臂控制參數(shù)。下面對各類型節(jié)點的安裝分別做以說明。1.基座節(jié)點鑒于基座節(jié)點的特性,在構(gòu)建機械臂時,根節(jié)點必須是基座節(jié)點。考慮到在移動機器人、自由漂浮狀態(tài)下的空間機器人中,機械臂的基座節(jié)點位姿相對于慣性系Σroot可能是變化的,因此在搭建機械臂時,通過輸入安裝參數(shù){xyzαβγ},構(gòu)建機械臂基座節(jié)點與慣性系節(jié)點Σroot的初始狀態(tài)關(guān)系。由于機械臂根節(jié)點與慣性系之間可能存在相對運動關(guān)系,因此,由Tk記錄相對于慣性系節(jié)點Σroot的運動學矩陣。由于機械臂的根節(jié)點類型必定是基座類型節(jié)點,因此Tk計算如下。Tk=Tran(x,y,z)·Rot(α,β,γ)其中,Tk用于記錄存在相對運動關(guān)系的兩個坐標系間的初始運動學坐標系轉(zhuǎn)換矩陣;Tran(x,y,z)表示坐標系分別沿x、y、z軸方向移動x、y、z米;Rot(α,β,γ)表示按照歐拉角方式進行姿態(tài)變換。因此,圖3中所示機械臂根系Σrobot0相對于慣性系Σroot的初始變換矩陣如下式所示。T0I=Tk]]>由于基座節(jié)點只包含有一個單元,因此,該單元對應安裝矩陣如下。Ta=E(4,4)所以機械臂零系下第一單元安裝矩陣如下。T1I0=Ta]]>2.關(guān)節(jié)節(jié)點除了基座節(jié)點和環(huán)境節(jié)點外,其他類型節(jié)點通過輸入初始關(guān)節(jié)角的方式實現(xiàn)節(jié)點安裝,如關(guān)節(jié)節(jié)點。如圖4中所示,在兩個單元進行連接時,默認兩個連接端口綁定坐標系按照如下標準組合:兩坐標系原點重合;兩坐標系z軸反向;兩坐標系以x軸重合狀態(tài)為初始安裝角為零的狀態(tài),通過設定初始安裝角,改變相對安裝角度。而移動關(guān)節(jié)組合標準為:兩坐標系z軸反向,x軸重合狀態(tài);兩坐標系原點重合狀態(tài)為初始偏移量為零的狀態(tài),通過設定初始偏移量,改變相對安裝距離。因此,轉(zhuǎn)動關(guān)節(jié)模塊的單元一的安裝矩陣Ta計算如下式所示。Ta=Tbr·Tob·Tio·Tbi]]>其中,代表所在機械臂上一單元的安裝矩陣,在上一節(jié)點安裝時計算完畢;表示上一單元輸出端口Σoutput相對于基系Σbase的變換矩陣,是組件創(chuàng)建時的基本信息;表示本單元輸入端口Σinput相對于上一單元輸出端口Σoutput的變換矩陣;表示表示本單元基系Σbase相對于輸入端口Σinput的變換矩陣,是組件創(chuàng)建時的基本信息。轉(zhuǎn)動關(guān)節(jié)計算如下式所示。Tio=Rot(x,π)·Rot(z,θ)]]>其中,θ表示繞z軸旋轉(zhuǎn)角度。若為移動關(guān)節(jié),則計算如下式所示。Tio=R(x,π)·Tran(0,0,z)]]>其中,z表示沿z軸偏移量。而轉(zhuǎn)動關(guān)節(jié)模塊的單元二的安裝矩陣Ta計算如下式所示。Ta=E(4,4)其中,E(4,4)表示單位陣,因為帶有轉(zhuǎn)動連接端類型的單元,其基系與運動學坐標系重合。由于該節(jié)點為轉(zhuǎn)動節(jié)點,因此單元二需要記錄新的運動學轉(zhuǎn)換矩陣。即其基系相對于上一運動學坐標系的轉(zhuǎn)換矩陣。則Tk矩陣計算如下式。Tk=Tbr=Tbr·Tob·Tio·Tbi]]>其中,各符號標志含義同前所述一致。3.連接件節(jié)點連接件節(jié)點同樣通過輸入初始關(guān)節(jié)角的方式實現(xiàn)節(jié)點安裝,由于其只包含一個單元,且不存在相對運動關(guān)系,因此,其安裝矩陣Ta計算如下Ta=Tbr·Tob·Tio·Tbi]]>其中,各符號標志含義同前所述一致。4.末端節(jié)點末端節(jié)點安裝同樣通過輸入初始關(guān)節(jié)角的方式實現(xiàn)節(jié)點安裝,也只包含一個單元,其安裝矩陣Ta計算如下。Ta=Tbr·Tob·Tio·Tbi]]>其中,各符號標志含義同前所述一致。在搭建機械臂對象過程中,僅需要對兩節(jié)點間連接端口及安裝角度/距離進行設置,即可通過本算法自動完成相應構(gòu)建信息計算。而通過以上信息的計算組合,即可實現(xiàn)機械臂各部件的組件裝配,完成機械臂的快速模型構(gòu)建。本發(fā)明實施例的技術(shù)方案具有以下有益效果:本發(fā)明實施例的技術(shù)方案中,依據(jù)模塊化機械臂組件的物理結(jié)構(gòu)參數(shù)及功能特性,從而獲得所需機械臂組件基礎(chǔ)參數(shù)值,依據(jù)機械臂構(gòu)建目標,獲得機械臂搭建參數(shù)值,依據(jù)機械臂組件基礎(chǔ)參數(shù)值及搭建參數(shù)值,以此完成運動學建模,得到機械臂控制參數(shù)。本發(fā)明通過將機械臂組件參數(shù)抽象簡單化,實現(xiàn)了機械臂組件的快速搭建,解決了傳統(tǒng)通用建模算法使用過程中的復雜性,很好地為非從業(yè)人員提供了快速機械臂模型構(gòu)建接口。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。當前第1頁1 2 3