專利名稱:多功能機(jī)器人控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于控制機(jī)器人的裝置和方法,尤其涉及一種用于控制各種電動機(jī)械結(jié)構(gòu)的機(jī)器人。
背景技術(shù):
在二十世紀(jì)七十年代后期,工業(yè)機(jī)器人和類似的高度靈活的機(jī)械工具贏得了商業(yè)上的接受。從那時(shí)起,工業(yè)機(jī)器人的使用才開始增加,特別是在汽車制造中。
工業(yè)機(jī)器人的主導(dǎo)意圖就是制造的靈活性。機(jī)器人使得各個(gè)裝配線和工作單元不利用或利用最小的手工設(shè)備的改變制造不同的物品。在制造領(lǐng)域中,機(jī)器人的應(yīng)用方面是很廣闊的,并且一直在延伸。例子有計(jì)算機(jī)視覺檢查、點(diǎn)焊和電弧焊、噴漆、鉆井、部件放置及粘結(jié)應(yīng)用。
機(jī)器人和機(jī)械工具之間的界限并沒有嚴(yán)格的限定。與傳統(tǒng)的機(jī)械工具相比,機(jī)器人一般具有更多移動的關(guān)節(jié)(或軸),這些關(guān)節(jié)為定位末端受動器提供更大的自由度。在機(jī)器人領(lǐng)域中,術(shù)語“末端受動器”被用來泛指由機(jī)器人執(zhí)行的各種運(yùn)動設(shè)備。這種設(shè)備根據(jù)制造應(yīng)用的不同而不同,如點(diǎn)焊。
機(jī)器人一般包括具有機(jī)械關(guān)節(jié)的定位臂、使關(guān)節(jié)移動的動力裝置如馬達(dá)、輔助確定機(jī)器人的位置(或姿勢)的傳感器。雖然大部分的機(jī)器人包括這些組件,但新舊機(jī)器人在電子機(jī)械結(jié)構(gòu)上存在巨大的差別。
例如,當(dāng)一些機(jī)器人裝配有線性軸和轉(zhuǎn)動軸時(shí),就要依賴于轉(zhuǎn)動(即旋轉(zhuǎn))關(guān)節(jié)。具有一系列延伸臂和轉(zhuǎn)動關(guān)節(jié)的機(jī)器人被稱作有關(guān)節(jié)的機(jī)器人。
甚至在特定類的機(jī)器人中,也存在機(jī)械的差別。例如,有關(guān)節(jié)的機(jī)器人的轉(zhuǎn)動關(guān)節(jié)可以從其支撐臂--肩關(guān)節(jié)偏置,可以集中到支撐臂--肘關(guān)節(jié),或者軸向上排列支撐臂--腕關(guān)節(jié)。同樣,線性關(guān)節(jié)可以是共線的或正交的。動力裝置和反饋傳感器是不同結(jié)構(gòu)的另一個(gè)來源。例如,一些機(jī)器人裝備有步進(jìn)馬達(dá)和其它伺服馬達(dá)。
電子控制系統(tǒng)用來控制和安排機(jī)器人的動作。對于末端受動器和機(jī)器人定位之間的必要的協(xié)調(diào)動作,優(yōu)選為機(jī)器人控制系統(tǒng)為域I/O和末端受動器子系統(tǒng)提供一定水平的軟件設(shè)計(jì)和界面。傳統(tǒng)的機(jī)器人控制系統(tǒng)是因機(jī)器人結(jié)構(gòu)和機(jī)器人制造商而異的各種用戶化電子技術(shù)的集合。
在制造過程中,機(jī)器人由一系列控制指令指揮來移動末端受動器通過機(jī)器人工作空間中一系列點(diǎn)。機(jī)器人指令系列(或程序)優(yōu)選為存儲在永久性存儲系統(tǒng)中(如磁盤中的計(jì)算機(jī)文件)。
制造公司(機(jī)器人用戶)通過它們的工程師和技師,已經(jīng)達(dá)到了要求制造控制系統(tǒng)的兩個(gè)重要特征。第一個(gè),機(jī)器人用戶利用商業(yè)化的標(biāo)準(zhǔn)計(jì)算機(jī)和操作系統(tǒng)界面不是用戶化的私有系統(tǒng)來尋求實(shí)施的控制系統(tǒng)。這種向商業(yè)化水平的計(jì)算機(jī)硬件和軟件的使用趨勢被稱為“開放系統(tǒng)移動”。
選擇基于標(biāo)準(zhǔn)計(jì)算機(jī)的控制系統(tǒng)是因?yàn)樗鼈兿蛴脩籼峁┝私柚跇?biāo)準(zhǔn)網(wǎng)絡(luò)和I/O設(shè)備(如標(biāo)準(zhǔn)軟驅(qū))簡化訪問制造數(shù)據(jù)的途徑,運(yùn)行其它軟件的能力,以及對于取代和擴(kuò)充部件的有競爭力的市場。利用開放系統(tǒng)移動是減少用戶長期以來因?yàn)橄到y(tǒng)變化和維護(hù)依賴機(jī)器工具和機(jī)器人的制造商的目的。
機(jī)器人用戶尋求的第二個(gè)特征是對于所有機(jī)器人共同的操作和程序界面和設(shè)備。對于所有機(jī)器人共同的界面減少了特殊操作員的需要,這些特殊操作員需要訓(xùn)練如何使用用戶化的私有系統(tǒng)。
對于開放系統(tǒng)特征,因?yàn)橥ㄓ貌僮飨到y(tǒng)的局限性,基于標(biāo)準(zhǔn)用途的計(jì)算機(jī)系統(tǒng)傳輸機(jī)器人控制系統(tǒng)的嘗試還沒有完全成功。機(jī)器人安全和精確的需要要求機(jī)器人控制系統(tǒng)是高度可靠的,即抗撞擊,并且要求實(shí)時(shí)捆綁。
對于通用操作系統(tǒng)如Microsoft Windows NT的多特征設(shè)計(jì)目標(biāo),最后產(chǎn)出的是復(fù)雜的,不太可靠的軟件平臺。此外,這種系統(tǒng)不能保證實(shí)時(shí)控制系統(tǒng)的執(zhí)行。
對于共同操作界面特征,對操作界面提供甚至非常有限的標(biāo)準(zhǔn)的嘗試還沒有沿伸到一個(gè)機(jī)器人具體制造商之外。盡管存在使不同機(jī)器人制造商合作的困難,但電子機(jī)械結(jié)構(gòu)的巨大差別實(shí)際已經(jīng)阻礙了具有共同操作界面的機(jī)器人控制系統(tǒng)的發(fā)展。
相應(yīng)地,提供一種改進(jìn)的機(jī)器人控制系統(tǒng),既利用商業(yè)標(biāo)準(zhǔn)的計(jì)算機(jī)系統(tǒng),又適合不同結(jié)構(gòu)的機(jī)器人將是理想的。特別地,對機(jī)器人控制提供一種開放系統(tǒng)和共同操作界面的優(yōu)勢將是理想的。
發(fā)明內(nèi)容
本發(fā)明的機(jī)器人控制系統(tǒng)提供利用商業(yè)標(biāo)準(zhǔn)通用計(jì)算機(jī)軟件和硬件的機(jī)器人控制。根據(jù)本發(fā)明的控制系統(tǒng)和方法適用于各種機(jī)械結(jié)構(gòu)的機(jī)器人,這種控制系統(tǒng)和方法使不同的機(jī)器人制造商具有一個(gè)共同的操作界面。
本發(fā)明提供了一種用于運(yùn)行或處理裝備有機(jī)械關(guān)節(jié)的機(jī)器人的機(jī)器人指令程序,一種移動關(guān)節(jié)的動力裝置,以及一種位置反饋傳感器。機(jī)器人機(jī)械動力裝置接收一個(gè)運(yùn)動信號,而反饋傳感器提供一個(gè)位置信號。
根據(jù)本發(fā)明的一種控制系統(tǒng)包括一個(gè)具有通用操作系統(tǒng)的通用計(jì)算機(jī)和一個(gè)實(shí)時(shí)計(jì)算機(jī)系統(tǒng),實(shí)時(shí)計(jì)算機(jī)系統(tǒng)與通用計(jì)算機(jī)進(jìn)行電子通訊,并且操作性的鏈接到機(jī)械動力裝置和位置反饋傳感器。通用計(jì)算機(jī)包括一個(gè)程序執(zhí)行模塊,用于選擇性地開始和中止機(jī)器人指令的程序的處理并且產(chǎn)生多個(gè)機(jī)器人移動指令。
在實(shí)時(shí)計(jì)算機(jī)系統(tǒng)中,移動指令數(shù)據(jù)緩沖器用于存儲多個(gè)移動指令。實(shí)時(shí)計(jì)算機(jī)系統(tǒng)還包括一個(gè)機(jī)器人移動模塊和一個(gè)控制計(jì)算法則。移動模塊鏈接到數(shù)據(jù)緩沖器用于連續(xù)處理多個(gè)移動指令并計(jì)算機(jī)械關(guān)節(jié)所需的位置??刂朴?jì)算法則與機(jī)器人移動模塊保持軟件通訊用來重復(fù)計(jì)算基于反饋信號的所需運(yùn)動信號以及機(jī)械關(guān)節(jié)所需的位置。
本發(fā)明的另一部分提供了一種適用于控制不同電子機(jī)械結(jié)構(gòu)的機(jī)器人的機(jī)器人控制系統(tǒng)??刂葡到y(tǒng)包括與機(jī)器人具體控制器單元保持電子或軟件通訊的機(jī)器人獨(dú)立計(jì)算機(jī)單元。
機(jī)器人獨(dú)立計(jì)算機(jī)單元操作性地通過I/O界面與機(jī)器人連接,其包括一個(gè)視頻顯示器和一個(gè)運(yùn)行產(chǎn)生一系列機(jī)器人移動指令的操作界面模塊的第一數(shù)字信息處理器。機(jī)器人具體控制器單元包括一個(gè)運(yùn)行實(shí)時(shí)捆綁操作系統(tǒng)的第二數(shù)字信息處理器和執(zhí)行機(jī)器人移動指令的機(jī)器人移動模塊。
操作界面模塊優(yōu)選為包括一個(gè)結(jié)構(gòu)變量,用于存儲限定機(jī)器人電子機(jī)械結(jié)構(gòu)的數(shù)據(jù);一個(gè)第一代碼段,用于根據(jù)第一電子機(jī)械結(jié)構(gòu)產(chǎn)生一個(gè)第一操作顯示;一個(gè)第二代碼段,用于根據(jù)一個(gè)第二電子機(jī)械結(jié)構(gòu)產(chǎn)生一個(gè)第二操作顯示;以及一個(gè)第三代碼段,用于根據(jù)電子機(jī)械結(jié)構(gòu)選擇第一或第二代碼段。
在形成說明書一個(gè)部分的所附附圖中,相同的圖號所指的部件相同。
圖1說明根據(jù)本發(fā)明的機(jī)器人控制系統(tǒng)的軟件程序、計(jì)算機(jī)軟件和機(jī)器人連接示意框圖;圖2是提供一個(gè)提供通用計(jì)算機(jī)與實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)雙向通訊監(jiān)視器的軟件和方法步驟的優(yōu)選實(shí)施例的簡單流程圖;圖3是一個(gè)說明由本發(fā)明實(shí)施例可控制的另一類型機(jī)器人結(jié)構(gòu)的有關(guān)節(jié)工業(yè)機(jī)器人的側(cè)面正視圖;圖4是一個(gè)裝備有線性關(guān)節(jié)的工業(yè)機(jī)器人的側(cè)面正視圖,說明由本發(fā)明實(shí)施例可控制的多型機(jī)器人結(jié)構(gòu)的其中之一;圖5是一個(gè)適合不同電子機(jī)械結(jié)構(gòu)的機(jī)器人并說明根據(jù)本發(fā)明的控制系統(tǒng)結(jié)構(gòu)中結(jié)構(gòu)變量作用的優(yōu)選軟件和方法步驟的簡單流程圖;圖6是一個(gè)對存儲在說明旋轉(zhuǎn)關(guān)節(jié)結(jié)構(gòu)的結(jié)構(gòu)變量中的數(shù)據(jù)響應(yīng)產(chǎn)生的模仿操作界面顯示屏;以及圖7是一個(gè)對存儲在說明線性關(guān)節(jié)結(jié)構(gòu)的結(jié)構(gòu)變量中的數(shù)據(jù)響應(yīng)產(chǎn)生的范例操作界面顯示屏;具體實(shí)施方式
本發(fā)明公開的是許多不同形式可以實(shí)施方案。在附圖中顯示的以及在下文中詳細(xì)描述的都是本發(fā)明的優(yōu)選實(shí)施例。然而,應(yīng)當(dāng)明白本公開是本發(fā)明原理的范例,并不是將本發(fā)明限定到說明的實(shí)施例。
在各圖中,一個(gè)方框或單元可以指示集中起來執(zhí)行相同的單一功能的多個(gè)單獨(dú)軟件和/或硬件。同樣地,一條線可以代表多個(gè)單個(gè)的信號或多個(gè)軟件數(shù)據(jù)共享或相互連接的情況。
機(jī)器人和其它制造機(jī)械一樣都包括具有機(jī)械關(guān)節(jié)的定位臂,用于關(guān)節(jié)移動的定位動力裝置如馬達(dá),以及用于指示機(jī)器人某個(gè)部件位置的位置反饋傳感器。此處使用的“機(jī)械動力裝置”術(shù)語是指用于機(jī)器人運(yùn)動的各種裝置。典型的機(jī)器人動力裝置是液壓活塞、氣動活塞、伺服馬達(dá)、步進(jìn)馬達(dá)和線性馬達(dá)。
參照圖1,顯示了工業(yè)機(jī)器人4,Cincinnati Milacron776馬達(dá)的控制系統(tǒng)10的各個(gè)元件。機(jī)器人4包括一系列對應(yīng)于伺服馬達(dá)的轉(zhuǎn)動關(guān)節(jié)5、6、7和8以及末端受動器9。控制系統(tǒng)10包括一個(gè)通用計(jì)算機(jī)14和一個(gè)實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16。
此處所用的“通用計(jì)算機(jī)”是指商業(yè)標(biāo)準(zhǔn)的計(jì)算機(jī),是相對于基于CPU的用戶化電子設(shè)備,用于特殊應(yīng)用的多用途設(shè)計(jì)如設(shè)備控制。例如,包括熟知的傳統(tǒng)的IBM-兼容個(gè)人計(jì)算機(jī)組或更多的PC機(jī)組。PC機(jī)是基于Intel公司(INTEL)、Advanced Micro Devices,Inc.(AMD)以及VIATechnologies,Inc.的復(fù)雜指令設(shè)置的(CISC)CPU。相關(guān)地,INTEL的CPU生產(chǎn)線中CPU集成芯片可以利用的有名稱為“80486”、“Pentium”、“PentiumII”、“PentiumIII”。AMD生產(chǎn)的通用計(jì)算機(jī)范例CPU生產(chǎn)線可以利用的是名稱為“AMD-K6”。VIATechnologies,Inc.的通用計(jì)算機(jī)CPU可用的名稱為“Cyrix”。
基于減化的指令設(shè)置(RISC)CPU也是熟知的。如可以利用CompaqComputer Corporation生產(chǎn)的基于Alpha集成芯片的計(jì)算機(jī)。
如圖1所示,通用計(jì)算機(jī)14利用通用計(jì)算機(jī)操作系統(tǒng)來進(jìn)行操作?!巴ㄓ貌僮飨到y(tǒng)”是指商業(yè)標(biāo)準(zhǔn)的操作系統(tǒng)如可以利用Microsoft Corp.生產(chǎn)的名為MS-DOS、WINDOWS 95、WINDOWS 98、WINDOWSNT及WINDOWS 2000。通用操作系統(tǒng)的其它例子包括Macintosh(AppleComputers,Inc.)、UNIX(不同經(jīng)銷商)、Open VMS(Compaq ComputerCorporation)。
在通用計(jì)算機(jī)上運(yùn)行所安裝的是一個(gè)程序執(zhí)行模塊18、一個(gè)操作界面模塊20以及監(jiān)視通訊代碼段22。術(shù)語“模塊”在此處是指軟件元素如程序、輔程序、軟件處理、子程序或代碼段組等??刂葡到y(tǒng)10的軟件模塊優(yōu)選為作為具體處理運(yùn)行的具體可執(zhí)行的程序。除非有相反的指示,軟件模塊和代碼段通過調(diào)用子程序享用各個(gè)需要的軟件變量和常量的訪問,共享存儲空間等。
程序執(zhí)行模塊18處理機(jī)器人指令24的程序,這些程序可以被存儲作如圖1表示的數(shù)據(jù)文件。執(zhí)行機(jī)器人指令程序24,程序執(zhí)行模塊18產(chǎn)生了機(jī)器人移動指令26,傳送到實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16。通過執(zhí)行模塊18,由機(jī)器人操作員制作的相對更人性化的可讀機(jī)器人指令24被解釋并轉(zhuǎn)換成實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16的移動指令26。
同樣,借助于操作界面模塊20在響應(yīng)操作員的提示中,程序執(zhí)行模塊18允許通過選擇開始和中止移動指令26對實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16進(jìn)行機(jī)器人程序24運(yùn)行的操作控制。
操作界面模塊20操作性地與操作顯示屏28,鍵盤和/或鼠標(biāo)30,以及其它想用的標(biāo)準(zhǔn)外圍設(shè)備連接。在優(yōu)選的實(shí)施例中,顯示屏28是一個(gè)觸摸屏,其允許機(jī)器人操作員通過顯示屏以及鍵盤/鼠標(biāo)30輸入提示符和數(shù)據(jù)。
對于機(jī)器人操作提示符和選擇,操作界面模塊20使得通過磁盤上載的并通過程序執(zhí)行模塊18處理(或執(zhí)行)的機(jī)器人指令文件24控制地移動機(jī)器人4。操作界面模塊20生成操作屏并接受操作員的數(shù)字?jǐn)?shù)據(jù)和提示符。數(shù)字?jǐn)?shù)據(jù)輸入項(xiàng)被傳送到其它需要的程序模塊。由機(jī)器人操作員輸入開始或中止機(jī)器人程序的運(yùn)行的提示符被操作界面模塊20接收并發(fā)送到執(zhí)行模塊18。
除了接收用于上載、開始及中止程序24的操作員輸入之外,操作界面20優(yōu)選為包括操作員使用的編輯器來產(chǎn)生新的機(jī)器人指令程序25。因?yàn)楸景l(fā)明提供了一個(gè)依賴于通用計(jì)算機(jī)如Windows NT PC機(jī)的控制系統(tǒng),所以還有同樣可能在另外一臺PC機(jī)如辦公PC機(jī)上產(chǎn)生一個(gè)機(jī)器人程序,然后通過標(biāo)準(zhǔn)外圍設(shè)備如磁盤驅(qū)動器或計(jì)算機(jī)網(wǎng)絡(luò)鏈接將該文件轉(zhuǎn)移到通用計(jì)算機(jī)14。
通用計(jì)算機(jī)14與實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16電連接,用于數(shù)據(jù)交換(即,通訊)。實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16優(yōu)選為包括一個(gè)用于過程控制應(yīng)用設(shè)計(jì)的硬件、固件和軟件組合。相對于具有通用操作系統(tǒng)的通用計(jì)算機(jī),實(shí)時(shí)計(jì)算機(jī)提供了具有相對快速周期(如0.5-2msec)的多個(gè)控制回路所需的計(jì)算的實(shí)質(zhì)未中斷的執(zhí)行。
因?yàn)閳?zhí)行信號處理需要,實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16的CPU計(jì)算機(jī)優(yōu)選為DSP基的計(jì)算機(jī)。在DSP基控制計(jì)算機(jī)的分類中,Delta Tau DataSystem,Inc.(Chatsworth,CA)制造的可利用的商業(yè)化的系統(tǒng)中,名稱為“PMAC”、“PMAC2”、“Turbo PMAC”和“UMAC”是優(yōu)選的。
實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16包括一個(gè)機(jī)器人移動模塊32,一個(gè)移動指令數(shù)據(jù)緩沖器34,運(yùn)動學(xué)模型36,伺服控制算法38,以及監(jiān)視互相通訊代碼段40。實(shí)時(shí)子系統(tǒng)16還包括了提供同機(jī)器人定位相關(guān)電子設(shè)備可操作連接的I/O硬件及軟件驅(qū)動。框42所表示的是接收和轉(zhuǎn)換機(jī)器人反饋信號44到計(jì)算機(jī)數(shù)據(jù)反饋信號46所必需的硬件及軟件組件。類似地,框48表示將計(jì)算機(jī)數(shù)據(jù)調(diào)整點(diǎn)50轉(zhuǎn)化為相應(yīng)動力裝置的適合的運(yùn)動信號52所必需的組件。
根據(jù)機(jī)器人4的結(jié)構(gòu),運(yùn)動信號52和反饋信號44可以是類似的信號、數(shù)字信號或兩種信號的合成。例如,典型的電機(jī)放大動力裝置要求一種相似的運(yùn)動信號。最新的稱為“靈巧”的裝置可以直接由數(shù)字信號致動。這樣,通過I/O系統(tǒng)42和48執(zhí)行的信號轉(zhuǎn)換類型因機(jī)器人的結(jié)構(gòu)不同而不同。
機(jī)器人移動模塊32駐留在實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16中用于接受移動指令26和反饋信號44/46來產(chǎn)生必須的運(yùn)動信號50/52。機(jī)器人移動模塊32依賴于運(yùn)動學(xué)模型36和伺服控制算法38轉(zhuǎn)變?yōu)殛P(guān)節(jié)位置需要的移動指令26進(jìn)而轉(zhuǎn)變?yōu)楹线m的運(yùn)動信號調(diào)整點(diǎn)50。在本發(fā)明的優(yōu)選實(shí)施例中,移動指令26表達(dá)為關(guān)節(jié)位置的變化或末端受動器位置的變化。
基于關(guān)節(jié)位置的移動指令依賴于一維關(guān)節(jié)軸模型的預(yù)定范圍,如旋轉(zhuǎn)軸在+90°到-90°的范圍內(nèi),線性關(guān)節(jié)在0-1200毫米(mm)范圍內(nèi)?;陉P(guān)節(jié)位置的移動指令的一個(gè)例子是“以60°設(shè)定關(guān)節(jié)一”。在本發(fā)明的優(yōu)選實(shí)施例中,機(jī)器人移動模塊32被設(shè)計(jì)用來接受關(guān)節(jié)移動指令作為一個(gè)功能調(diào)用說明所有機(jī)器人機(jī)械關(guān)節(jié)5、6、7和8的位置,從而使其中之一或所有的關(guān)節(jié)移動。
表達(dá)為末端受動器位置的移動指令依賴于一個(gè)預(yù)定的而且用戶化的三維坐標(biāo)系統(tǒng),這個(gè)三維坐標(biāo)用于查找末端受動器的位置?;谀┒耸軇悠魑恢玫囊粋€(gè)移動指令是一個(gè)將末端受動器移動到末端受動器空間中一點(diǎn)的調(diào)用。
對于關(guān)節(jié)位置移動指令,機(jī)器人移動模塊32包括用于將來自反饋信號46的數(shù)據(jù)轉(zhuǎn)換成關(guān)節(jié)位置的軟件模型。所需的計(jì)算因所用的關(guān)節(jié)類型和反饋信號的類型而異。例如,直接測量關(guān)節(jié)位置的讀數(shù)的位置反饋傳感器需要簡單的轉(zhuǎn)換,而測量定位馬達(dá)旋轉(zhuǎn)數(shù)時(shí)就需要更復(fù)雜的轉(zhuǎn)換。
為了處理基于末端受動器位置的移動指令,如果末端受動器9能夠得到一個(gè)理想的位置,機(jī)器人移動模塊32另外還包括一個(gè)計(jì)算關(guān)節(jié)5、6、7和8關(guān)節(jié)所需位置的運(yùn)動學(xué)模型。
更具體地,實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16利用運(yùn)動學(xué)模型算法計(jì)算機(jī)器人的正運(yùn)動和逆運(yùn)動。正運(yùn)動特征是指通過給定機(jī)器人的關(guān)節(jié)位置或動力裝置的位置,確定末端受動器的位置和方向。逆運(yùn)動是指通過給定末端受動器位置,確定動力裝置位置或關(guān)節(jié)角度。
圖1中框36展示了單個(gè)關(guān)節(jié)軸模塊和所有運(yùn)動學(xué)模型所需的結(jié)合。在其它專利和技術(shù)文獻(xiàn)中描述的運(yùn)動學(xué)算法見Addison-Wesley 1989年所著的《Introduction toRoboticsMechanics and Control》第二版Craig,JohnJ.中的第3及第4章。具體的模型應(yīng)用則根據(jù)所控機(jī)器人的電子機(jī)械結(jié)構(gòu)不同而不同。
由于定位動力裝置及反饋傳感器的組合構(gòu)成了一個(gè)動態(tài)系統(tǒng),實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16還包括了提供必要的動態(tài)計(jì)算的控制算法38。在可利用的閉環(huán)伺服馬達(dá)控制方案中優(yōu)選的是帶前饋算法的比例-積分-導(dǎo)數(shù)(PID)控制算法。
數(shù)據(jù)緩沖器34是一個(gè)軟件變量,它能在通用計(jì)算機(jī)14和實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16上實(shí)現(xiàn)編程來存儲從程序執(zhí)行模塊18接收的多個(gè)動指令26。盡管理想的數(shù)據(jù)緩沖器34的存儲容量可以變化,但在本發(fā)明的優(yōu)選實(shí)施例中,數(shù)據(jù)緩沖器34和連接的模塊優(yōu)選配置為有2-10個(gè)移動指令被存儲,更優(yōu)選為有3到4的移動指令被存儲。
對于移動指令緩沖器34,甚至在通用計(jì)算機(jī)中對程序執(zhí)行響應(yīng)延遲的情況下控制系統(tǒng)10提供了對機(jī)器人4充分連續(xù)的、無中斷的控制。
綜上說明,運(yùn)行通用操作系統(tǒng)的通用計(jì)算機(jī)是相對不可靠的,顯露出不可預(yù)料的控制程序中斷。由于機(jī)器人移動模塊32能連續(xù)從數(shù)據(jù)緩沖器34提取移動指令26,實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16對機(jī)器人4的精確移動控制是不受通用計(jì)算機(jī)14的操作方面不可預(yù)料的延遲的影響。
盡管可能利用各種數(shù)據(jù)轉(zhuǎn)換機(jī)制來提供通用計(jì)算機(jī)14和實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16之間的電子及軟件級的通訊,但優(yōu)選為商業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)總線后面板。數(shù)據(jù)總線的連接在圖1中通過參照標(biāo)號54符號化地表示。ISA總線、PCI總線以及VME總線是典型的數(shù)據(jù)總線,目前優(yōu)選為ISA總線。
為了數(shù)據(jù)總線54方便的、節(jié)省空間的連接,通用計(jì)算機(jī)14及實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16的主板部分是數(shù)據(jù)總線卡。這里用到的“總線卡”是指印刷電路板,它帶有電子組件以及能插入數(shù)據(jù)總線托架中插槽的多個(gè)接觸點(diǎn)的接頭。上面講述的Delta Tau Data Systems,Inc制造的DSP實(shí)時(shí)計(jì)算機(jī)可以利用為ISA數(shù)據(jù)總線卡。
在優(yōu)選的實(shí)施例中,控制系統(tǒng)10包括了一個(gè)通用計(jì)算機(jī)14和實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16之間的安全(監(jiān)視)通訊(框22和40)。流程圖2顯示了優(yōu)選的用于維持監(jiān)視管理的代碼段。如圖例所展示的,優(yōu)選的監(jiān)視方案包括能在通用計(jì)算機(jī)14和實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16執(zhí)行的代碼段。駐留在通用計(jì)算機(jī)14中的是一個(gè)狀態(tài)代碼段56,駐留在實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)的是一個(gè)時(shí)鐘代碼段58和一個(gè)時(shí)鐘復(fù)位代碼60段以及一個(gè)操作失敗時(shí)保護(hù)代碼段62。
代碼段交互作用于兩個(gè)軟件變量激活軟件開關(guān)(ASW)64,用于表明通用計(jì)算機(jī)14中的程序是激活的或者是出錯(cuò)閑置的,以及時(shí)鐘變量(TV)66,用于存儲時(shí)耗的讀數(shù)。時(shí)鐘變量66駐留在實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16中而激活軟件開關(guān)64是通過數(shù)據(jù)總線54或者其它方式共享的,激活軟件開關(guān)64是作為一個(gè)整型軟件變量應(yīng)用的0表示未設(shè)定位置,1表示確定激活的位置。
狀態(tài)代碼段56是可選的,但最好同程序執(zhí)行模塊18(框68)相繼運(yùn)行并重復(fù)地將激活程序開關(guān)設(shè)成激活位置(框74)。在一個(gè)程序執(zhí)行模塊18運(yùn)行循環(huán)結(jié)束后,狀態(tài)代碼段56檢查指示特定錯(cuò)誤的其它軟件變量(框70)或者在通用計(jì)算機(jī)14中執(zhí)行的其它程序的延遲(框72)。相應(yīng)地,如果程序執(zhí)行模塊18中斷或者檢測到錯(cuò)誤或其它的延遲,激活開關(guān)64不被設(shè)置。
時(shí)鐘代碼段58根據(jù)消耗時(shí)間減小時(shí)鐘變量66。時(shí)鐘代碼段58優(yōu)選為實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16的系統(tǒng)服務(wù)功能并體現(xiàn)在執(zhí)行循環(huán)中。
當(dāng)激活軟件開關(guān)處在激活位置(框76)時(shí),時(shí)鐘復(fù)位代碼段60重復(fù)地將時(shí)鐘變量復(fù)位到規(guī)定的時(shí)間值(框78;優(yōu)選為2秒)并重復(fù)地將激活軟件開關(guān)設(shè)回不確定位置(框80)。失敗保護(hù)代碼段62通過激活信號50/52以及其它的機(jī)器人I/O關(guān)閉機(jī)器人4來響應(yīng)時(shí)鐘變量的溢出。
在通用計(jì)算機(jī)的操作停止或者延遲超過2秒鐘時(shí),代碼段56、58、60和62一起作用提供一個(gè)關(guān)閉機(jī)器人4的監(jiān)視服務(wù)。
回來參考圖1,本發(fā)明的另一個(gè)特征是提供給通用計(jì)算機(jī)14的軟件適用于控制不同電子機(jī)械結(jié)構(gòu)的機(jī)器人。根據(jù)發(fā)明的這個(gè)方面,通用計(jì)算機(jī)14充當(dāng)了一個(gè)機(jī)器人獨(dú)立的計(jì)算機(jī)單元,而實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16充當(dāng)了一個(gè)一定程度上的機(jī)器人具體控制器單元或者是用戶化的機(jī)器人的接口或適配器。
對于本發(fā)明的多配置部分重要的是操作界面模塊20的強(qiáng)化多功能性。圖3和圖4說明了利用不同電子機(jī)械結(jié)構(gòu)的機(jī)器人工作挑戰(zhàn)性。圖3是圖1中的帶關(guān)節(jié)機(jī)器人4的側(cè)面圖,只不過是用稍大的比例去顯示更細(xì)的細(xì)節(jié)。機(jī)器人4的臂是通過一系列轉(zhuǎn)動(旋轉(zhuǎn))關(guān)節(jié)5、6、7和8連接起來的。對照而言,圖4是機(jī)器人86的側(cè)面圖,它是由一個(gè)轉(zhuǎn)動軀干(torso)關(guān)節(jié)87和2個(gè)線性關(guān)節(jié)88、89組成。
根據(jù)上述的關(guān)節(jié)數(shù),機(jī)器人4的第2、3關(guān)節(jié)與機(jī)器人86的第2、3關(guān)節(jié)是不同類型的關(guān)節(jié)。為了克服在結(jié)構(gòu)上不同,本發(fā)明的操作界面包括了一個(gè)結(jié)構(gòu)變量,用于存儲指定機(jī)器人電子機(jī)械結(jié)構(gòu)的數(shù)據(jù)并顯示每種結(jié)構(gòu)產(chǎn)生的代碼段。
在優(yōu)選的實(shí)施例中,結(jié)構(gòu)變量被定義并/或指定大小,用來儲存數(shù)據(jù),這些數(shù)據(jù)定義機(jī)器人關(guān)節(jié)的類型是線性的還是轉(zhuǎn)動的,以及指定的轉(zhuǎn)動是不是可繞轉(zhuǎn)的,也就是說能不能轉(zhuǎn)動超過360度。
圖5到圖7提供了一個(gè)實(shí)例,說明操作界面模塊20怎樣用結(jié)構(gòu)變量來適應(yīng)不同的機(jī)器人。如圖5所示,選中代碼段90的顯示響應(yīng)操作請求將關(guān)節(jié)/坐標(biāo)軸3(框92)設(shè)置限定。代碼段90在結(jié)構(gòu)變量94中檢查數(shù)據(jù),確定關(guān)節(jié)3是線性的還是轉(zhuǎn)動的(框96)。
根據(jù)要控制的機(jī)器人的第3個(gè)關(guān)節(jié)是否是轉(zhuǎn)動的(如機(jī)器人4),或線性的(如機(jī)器人86),代碼段90選擇2個(gè)可能的顯示之一來設(shè)置關(guān)節(jié)限定。對于轉(zhuǎn)動關(guān)節(jié)類型,框98被選中,屏幕28上產(chǎn)生圖6的旋轉(zhuǎn)關(guān)節(jié)/坐標(biāo)軸的顯示。對于線性關(guān)節(jié)類型,框100被選中,產(chǎn)生圖7的線性關(guān)節(jié)/坐標(biāo)軸的顯示。
前述說明及附圖應(yīng)視為對本發(fā)明的說明而不應(yīng)當(dāng)是限制本發(fā)明的。在本發(fā)明的精神和范圍的其它結(jié)構(gòu)和實(shí)施例是可能的,對于本領(lǐng)域技術(shù)人員是很容易想到的。
權(quán)利要求
1.一種控制系統(tǒng),用于運(yùn)行具有一個(gè)機(jī)械關(guān)節(jié)、一個(gè)移動關(guān)節(jié)的機(jī)械動力裝置以及一個(gè)位置反饋傳感器的機(jī)器人的機(jī)器人指令程序,機(jī)械動力裝置用來接收一個(gè)運(yùn)動信號,反饋傳感器提供一個(gè)位置信號,其包括一個(gè)具有通用操作系統(tǒng)的通用計(jì)算機(jī),所述的通用計(jì)算機(jī)包括一個(gè)程序執(zhí)行模塊,用于選擇性地開始和中止機(jī)器人指令的程序的處理并且產(chǎn)生多個(gè)機(jī)器人移動指令;和一個(gè)實(shí)時(shí)計(jì)算機(jī)系統(tǒng),實(shí)時(shí)計(jì)算機(jī)系統(tǒng)與通用計(jì)算機(jī)進(jìn)行電子通訊,并且操作性的與機(jī)械動力裝置和位置反饋傳感器連接,一個(gè)移動指令數(shù)據(jù)緩沖器用于存儲所述的多個(gè)移動指令,一個(gè)機(jī)器人移動模塊,與所述的數(shù)據(jù)緩沖器相連,用于連續(xù)處理所述的多個(gè)移動指令并計(jì)算機(jī)械關(guān)節(jié)所需的位置,以及一個(gè)控制算法,其與所述的機(jī)器人移動模塊保持軟件通訊,用來重復(fù)計(jì)算基于反饋信號的需要的運(yùn)動信號以及所述的機(jī)械關(guān)節(jié)需要的位置。
2.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其進(jìn)一步包括一個(gè)在所述實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)與所述通用計(jì)算機(jī)進(jìn)行通訊的監(jiān)視雙向通訊,用于探測所述通用計(jì)算機(jī)的操作中斷。
3.根據(jù)權(quán)利要求2所述的控制系統(tǒng),其中,所述的監(jiān)視雙向通訊包括一個(gè)時(shí)鐘變量,用于存儲一個(gè)時(shí)耗讀數(shù);一個(gè)時(shí)鐘代碼段,用于根據(jù)消逝的時(shí)間調(diào)整所述的時(shí)鐘變量;一個(gè)激活軟件開關(guān),其具有一個(gè)激活位置和一個(gè)未設(shè)置位置;一個(gè)狀態(tài)代碼段,其安裝在所述的通用計(jì)算機(jī)中,用于重復(fù)將所述的激活軟件開關(guān)切換到所述的激活位置;一個(gè)時(shí)鐘復(fù)位代碼段,其安裝在所述的實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)中,用于當(dāng)所述激活軟件開關(guān)在所述激活的位置時(shí)重復(fù)將所述時(shí)鐘變量復(fù)位到規(guī)定的時(shí)間量,并重復(fù)將所述激活軟件開關(guān)設(shè)置到未設(shè)置的位置上;以及一個(gè)失敗安全代碼段,其安裝在所述的實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)中,如果所述的時(shí)鐘變量達(dá)到一個(gè)規(guī)定的值時(shí),用于重復(fù)檢查所述時(shí)鐘變量,并設(shè)定所述激活信號來關(guān)閉機(jī)器人。
4.根據(jù)權(quán)利要求3所述的控制系統(tǒng),其中,所述的激活軟件開關(guān)是作為一個(gè)整型軟件變量應(yīng)用的,0表示未設(shè)定位置,1表示激活的位置。
5.根據(jù)權(quán)利要求1所述的控制系統(tǒng),進(jìn)一步包括一個(gè)數(shù)據(jù)總線,用于接收總線卡,其中,所述的實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)包括一個(gè)具有中央處理單元的總線卡,所述的總線卡安裝在所述的數(shù)據(jù)總線中。
6.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用計(jì)算機(jī)和所述的實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)通過標(biāo)準(zhǔn)數(shù)據(jù)總線電連接。
7.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用計(jì)算機(jī)和所述的實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)通過ISA數(shù)據(jù)總線電連接。
8.根據(jù)權(quán)利要求1所述的控制系統(tǒng),進(jìn)一步包括一個(gè)數(shù)據(jù)總線,用于接收總線卡,其中所述的實(shí)時(shí)計(jì)算機(jī)包括一個(gè)具有中央處理單元的第一總線卡,所述的通用計(jì)算機(jī)包括一個(gè)具有中央處理單元的第二總線卡,所述的第一和第二總線卡都安裝在所述的數(shù)據(jù)總線。
9.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)包括一個(gè)具有數(shù)字信號處理器(DSP)的計(jì)算機(jī)。
10.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用計(jì)算機(jī)是一個(gè)具有Intel Pentium處理器的計(jì)算機(jī)。
11.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用計(jì)算機(jī)是一個(gè)具有DEC/Compaq Alpha處理器的計(jì)算機(jī)。
12.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用操作系統(tǒng)是一個(gè)非捆綁實(shí)時(shí)系統(tǒng)。
13.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用操作系統(tǒng)選自WINDOWSNT、WINDOWS 2000、WINDOWS 95、WINDOWS 98、Open VMS、PC/MS DOS、Unix中的一種。
14.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述的通用計(jì)算機(jī)是一個(gè)具有Intel Pentium處理器的計(jì)算機(jī)并且所述通用操作系統(tǒng)是MicrosoftWindows NT。
15.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中機(jī)械動力裝置是伺服馬達(dá)并且所述的控制算法是伺服控制算法。
16.根據(jù)權(quán)利要求1所述的控制系統(tǒng),其中所述機(jī)器人移動模塊包括一個(gè)運(yùn)動學(xué)械型,用于計(jì)算響應(yīng)移動指令所需的關(guān)節(jié)位置。
17.一種多功能機(jī)器人控制系統(tǒng),適用于控制不同電子機(jī)械結(jié)構(gòu)的機(jī)器人,控制系統(tǒng)包括機(jī)器人獨(dú)立計(jì)算機(jī)單元,包括一個(gè)視頻顯示器和一個(gè)第一數(shù)字處理器,第一數(shù)字處理器運(yùn)行一個(gè)操作界面模塊,產(chǎn)生系列機(jī)器人移動指令;以及具體機(jī)器人控制器單元,其與機(jī)器人操作性地連接,其包括一個(gè)運(yùn)行實(shí)時(shí)捆綁操作系統(tǒng)的第二數(shù)字處理器,以及一個(gè)執(zhí)行所述機(jī)器人移動指令的機(jī)器人移動模塊,所述的機(jī)器人具體控制器單元與所述機(jī)器人獨(dú)立計(jì)算單元保持電子通訊。
18.根據(jù)權(quán)利要求17所述的控制系統(tǒng),其中所述通用計(jì)算機(jī)和所述實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)通過標(biāo)準(zhǔn)數(shù)據(jù)總線電連接。
19.根據(jù)權(quán)利要求17所述的控制系統(tǒng),其中所述的第一數(shù)字處理器運(yùn)行一個(gè)操作界面模塊,該操作界面模塊包括一個(gè)結(jié)構(gòu)變量,用于存儲指定機(jī)器人電子機(jī)械結(jié)構(gòu)的數(shù)據(jù);一個(gè)第一代碼段,用于根據(jù)第一電子機(jī)械結(jié)構(gòu)產(chǎn)生一個(gè)第一操作顯示;一個(gè)第二代碼段,用于根據(jù)第二電子機(jī)械結(jié)構(gòu)產(chǎn)生一個(gè)第二操作顯示;以及一個(gè)第三代碼段,用于根據(jù)所述的電子機(jī)械結(jié)構(gòu)選擇所述的第一電子機(jī)械結(jié)構(gòu)或第二電子機(jī)械結(jié)構(gòu)。
20.根據(jù)權(quán)利要求19所述的控制系統(tǒng),其中所述的第一代碼段產(chǎn)生一個(gè)請求操作限定為轉(zhuǎn)動關(guān)節(jié)的操作顯示。
21.根據(jù)權(quán)利要求19所述的控制系統(tǒng),其中所述的第二代碼段產(chǎn)生一個(gè)請求線性關(guān)節(jié)操作限定的操作顯示。
22.根據(jù)權(quán)利要求19所述的控制系統(tǒng),其中所述的結(jié)構(gòu)變量被限定用于存儲指定機(jī)器人關(guān)節(jié)類型的數(shù)據(jù)。
23.根據(jù)權(quán)利要求19所述的控制系統(tǒng),其中所述的結(jié)構(gòu)變量被限定用于存儲指定機(jī)器人線性關(guān)節(jié)類型的數(shù)據(jù)。
24.根據(jù)權(quán)利要求19所述的控制系統(tǒng),其中所述的結(jié)構(gòu)變量被限定用于存儲指定機(jī)器人轉(zhuǎn)動關(guān)節(jié)類型的數(shù)據(jù)。
25.根據(jù)權(quán)利要求19所述的控制系統(tǒng),其中所述的結(jié)構(gòu)變量被限定用于存儲指定是否機(jī)器人關(guān)節(jié)是可繞轉(zhuǎn)的數(shù)據(jù)。
26.一種操作界面模塊,用于控制不同電子機(jī)械結(jié)構(gòu)的機(jī)器人,操作界面模塊包括一個(gè)第一代碼段,用于根據(jù)第一電子機(jī)械結(jié)構(gòu)產(chǎn)生一個(gè)第一操作顯示;一個(gè)第二代碼段,用于根據(jù)第二電子機(jī)械結(jié)構(gòu)產(chǎn)生一個(gè)第二操作顯示;一個(gè)第三代碼段,用于根據(jù)所述的電子機(jī)械結(jié)構(gòu)選擇第一或第二代碼段。
27.根據(jù)權(quán)利要求26所述的操作界面,其中所述的第一代碼段產(chǎn)生一個(gè)請求轉(zhuǎn)動關(guān)節(jié)的操作限定的操作顯示。
28.根據(jù)權(quán)利要求26所述的操作界面,其中所述的第二代碼段產(chǎn)生一個(gè)請求線性關(guān)節(jié)的操作限定的操作顯示。
29.根據(jù)權(quán)利要求26所述的操作界面模塊,其中所述的結(jié)構(gòu)變量被限定用于存儲指定機(jī)器人關(guān)節(jié)類型的數(shù)據(jù)。
30.根據(jù)權(quán)利要求26所述的操作界面模塊,其中所述的結(jié)構(gòu)變量被限定用于存儲指定機(jī)器人線性關(guān)節(jié)類型的數(shù)據(jù)。
31.根據(jù)權(quán)利要求26所述的操作界面模塊,其中所述的結(jié)構(gòu)變量被限定用于存儲指定機(jī)器人轉(zhuǎn)動關(guān)節(jié)類型的數(shù)據(jù)。
32.根據(jù)權(quán)利要求26所述的操作界面模塊,其中所述的結(jié)構(gòu)變量被限定用于存儲指定是否機(jī)器人關(guān)節(jié)是繞轉(zhuǎn)的數(shù)據(jù)。
全文摘要
一種改進(jìn)的多功能機(jī)器人控制系統(tǒng)10包括一個(gè)通用計(jì)算機(jī)14,其具有一個(gè)與實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16保持電子通訊的通用操作系統(tǒng)。通用計(jì)算機(jī)包括一個(gè)程序執(zhí)行模塊18,用于選擇性地開始或中止機(jī)器人指令24的程序處理,并產(chǎn)生多個(gè)機(jī)器人移動指令26。實(shí)時(shí)計(jì)算機(jī)子系統(tǒng)16包括一個(gè)移動指令數(shù)據(jù)緩沖器34,用于存儲多個(gè)移動指令26,一個(gè)與數(shù)據(jù)緩沖器34相連的機(jī)器人移動模塊32,用于連續(xù)處理移動并計(jì)算機(jī)器人機(jī)械關(guān)節(jié)所需的位置。實(shí)時(shí)計(jì)算機(jī)系統(tǒng)16還包括一個(gè)6動態(tài)控制算法38,與移動模塊32保持軟件通訊,基于機(jī)器人關(guān)節(jié)反饋信號44/46,重復(fù)計(jì)算動力裝置運(yùn)動信號50/52。
文檔編號G06F19/00GK1484807SQ01821647
公開日2004年3月24日 申請日期2001年12月20日 優(yōu)先權(quán)日2000年12月28日
發(fā)明者約翰R·拉帕姆, 約翰R 拉帕姆 申請人:自動裝置工作空間技術(shù)有限公司