本發(fā)明涉及一種運(yùn)動控制器,尤其涉及一種軟硬件可重構(gòu)的柔性運(yùn)動控制器。
背景技術(shù):
工業(yè)機(jī)器人在汽車制造、機(jī)械加工、焊接、搬運(yùn)碼垛、裝配、噴涂等領(lǐng)域應(yīng)用廣泛。運(yùn)動控制器作為機(jī)器人的核心部分,在機(jī)器人運(yùn)動控制中起著至關(guān)重要的作用。在實(shí)際應(yīng)用中,由于機(jī)器人是一個(gè)耦合非線性不確定系統(tǒng),機(jī)器人的工作性能取決于控制器的控制算法,控制器需實(shí)現(xiàn)不同控制算法的擴(kuò)展,甚至復(fù)雜的智能控制算法。運(yùn)動控制器應(yīng)具有通用性的特點(diǎn),可以在不同的應(yīng)用場合以及機(jī)器人結(jié)構(gòu)本體的條件下容易實(shí)現(xiàn)匹配。
針對機(jī)器人運(yùn)動控制器需要實(shí)時(shí)性、易擴(kuò)展的特點(diǎn),本技術(shù)方案提出了一種軟、硬件可重構(gòu)的柔性運(yùn)動控制器,根據(jù)機(jī)器人結(jié)構(gòu)本體類型及應(yīng)用場合,對控制器進(jìn)行編程即可實(shí)現(xiàn)邏輯上的軟硬件重構(gòu)。
運(yùn)動控制器作為機(jī)器人的核心部件,在實(shí)際應(yīng)用中,承擔(dān)著數(shù)據(jù)采集、控制算法的實(shí)施、狀態(tài)反饋等任務(wù)。目前運(yùn)動控制器主要包括基于模擬器件的運(yùn)動控制器、基于微處理器的運(yùn)動控制器、基于專用芯片的運(yùn)動控制器、基于DSP(數(shù)字信號處理)的運(yùn)動控制器、基于可編程邏輯器件的運(yùn)動控制器等。基于模擬器件的運(yùn)動控制器存在系統(tǒng)穩(wěn)定性差、柔性擴(kuò)展差,一般無法對系統(tǒng)功能進(jìn)行升級改造;基于微處理器的運(yùn)動控制器由于微處理器采用的是馮-諾依曼結(jié)構(gòu),數(shù)據(jù)處理速度較低導(dǎo)致實(shí)時(shí)性較差;基于專用芯片的運(yùn)動控制器以專用運(yùn)動控制芯片作為核心,由于芯片具有針對性,芯片的功能無法改變,不能通過改進(jìn)控制算法改善系統(tǒng)性能,系統(tǒng)開發(fā)的靈活性欠佳;基于DSP的運(yùn)動控制器除了作為運(yùn)算單元還需實(shí)現(xiàn)運(yùn)動控制的功能,DSP的并行處理能力不佳導(dǎo)致系統(tǒng)的不穩(wěn)定,此種控制器也無法實(shí)現(xiàn)硬件電路的重構(gòu);基于可編程邏輯器件的運(yùn)動控制器以FPGA或CPLD為運(yùn)算和控制核心的控制器,雖然FPGA或CPLD代替分立元件可以實(shí)現(xiàn)軟硬件重構(gòu),但是運(yùn)算能力不如DSP。
其中FPGA(Field-Programmable Gate Array)芯片,是現(xiàn)場可編程門陣列的芯片。CPLD(Complex Programmable Logic Device)是復(fù)雜可編程邏輯器件。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種軟硬件可重構(gòu)的柔性運(yùn)動控制器,其能夠有效地適應(yīng)現(xiàn)場的不確定性,有效避免了電路重設(shè)計(jì)的過程。
本發(fā)明的運(yùn)動控制器包括FPGA芯片、DSP模塊、總線、D/A轉(zhuǎn)換電路和光耦,所述FPGA芯片通過編程生成有雙端口RAM,工業(yè)用計(jì)算機(jī)經(jīng)由所述總線與所述雙端口RAM通信連接以下達(dá)指令,DSP模塊與所述雙端口RAM通信連接,以讀取所述指令進(jìn)行控制計(jì)算,并將計(jì)算結(jié)果返回至所述雙端口RAM,以使得所述FPGA芯片讀取所述計(jì)算結(jié)果,將控制命令轉(zhuǎn)換為相應(yīng)脈沖數(shù)及脈沖方向后,經(jīng)過光耦隔離,D/A轉(zhuǎn)換電路處理后,信號通過放大器輸出到伺服系統(tǒng),以便控制機(jī)器人運(yùn)動。
優(yōu)選還包括A/D轉(zhuǎn)換電路,所述伺服系統(tǒng)中的狀態(tài)信息能夠通過光耦隔離,然后經(jīng)過A/D轉(zhuǎn)換電路處理,再通過所述FPGA芯片將處理好的數(shù)字信號保存到雙端口RAM中供所述工業(yè)用計(jì)算機(jī)獲取,以用于所述工業(yè)用計(jì)算機(jī)定時(shí)從雙端口RAM中獲取各種狀態(tài)并通過人機(jī)界面顯示出來
本發(fā)明通過DSP實(shí)現(xiàn)控制器所需要的控制算法,通過FPGA編程來實(shí)現(xiàn)邏輯上的硬件組合可以代替分立元件,有效避免了電路重設(shè)計(jì)的過程。
附圖說明
圖1運(yùn)動控制器主要結(jié)構(gòu)示意圖。
其中:1、FPGA芯片;2、DSP模塊;3、總線;4、A/D轉(zhuǎn)換電路;5、D/A轉(zhuǎn)換電路;6、光耦。
具體實(shí)施方式
下面結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步說明,但實(shí)施例不是對本發(fā)明的限定。
如圖1所示,用于機(jī)器人運(yùn)動控制系統(tǒng)的運(yùn)動控制器,包括FPGA1、DSP模塊2、總線3、A/D轉(zhuǎn)換電路4、D/A轉(zhuǎn)換電路5、光耦6等。
如圖1,系統(tǒng)啟動后,在工業(yè)PC上計(jì)算出的運(yùn)動控制指令及參數(shù)通過總線3下載到運(yùn)動控制器的雙端口RAM(random access memory,隨機(jī)存儲器)中,其中雙端口RAM功能通過FPGA1編程劃分一部分I/O空間來實(shí)現(xiàn)。DSP模塊2從雙端口RAM中獲取來自PC的指令后,啟動內(nèi)部的控制算法,將計(jì)算結(jié)果定期從結(jié)果隊(duì)列取出數(shù)據(jù)寫回雙端口RAM中,F(xiàn)PGA1從雙端口RAM中讀取運(yùn)算結(jié)果,將控制命令轉(zhuǎn)換為相應(yīng)脈沖數(shù)及脈沖方向后,經(jīng)過光耦6隔離,D/A轉(zhuǎn)換電路5處理后,信號通過放大器輸出到伺服系統(tǒng)。同時(shí),伺服系統(tǒng)中的狀態(tài)信息通過光耦6隔離,然后經(jīng)過A/D轉(zhuǎn)換電路4處理,F(xiàn)PGA1將處理好的數(shù)字信號保存到雙端口RAM中供PC獲取,最后PC定時(shí)從雙端口RAM中獲取各種狀態(tài)并通過人機(jī)界面顯示出來。