本發(fā)明涉及一種自動控制系統(tǒng)及方法,特別是涉及一種自動化控制系統(tǒng)及方法、機(jī)械設(shè)備。
背景技術(shù):
3C就是電腦、通訊和消費(fèi)性電子(Computer、Communication、Consumer Electronic)的簡稱。由于半導(dǎo)體的不斷發(fā)展以及網(wǎng)際網(wǎng)路普及,3C產(chǎn)業(yè)漸漸發(fā)展為世界性的新興科技產(chǎn)業(yè)。3C產(chǎn)業(yè)所涵蓋的范圍相當(dāng)廣大,電腦方面包括筆記型電腦,各種電腦硬體及各項(xiàng)周邊設(shè)備等;通訊方面則包括無線通訊設(shè)備、用戶終端設(shè)備、交換設(shè)備、傳輸設(shè)備,近年則以行動電話及電信產(chǎn)業(yè)為主軸;消費(fèi)性電子包括數(shù)位相機(jī)、PDA、電子辭典、隨身碟等各種數(shù)位化的商品。
相比傳統(tǒng)市場,3C行業(yè)自動化設(shè)備趨向輕量級發(fā)展,但其對速度與精度的要求也隨之變高。為了滿足電子產(chǎn)品組裝加工日益嚴(yán)格的要求,高效、高精度并且簡單易用的輕量級自動化設(shè)備越來越受到市場的追捧。
現(xiàn)有的運(yùn)動控制器多數(shù)僅僅實(shí)現(xiàn)運(yùn)動控制,由運(yùn)動控制器和電機(jī)驅(qū)動器通過外部總線連接后實(shí)現(xiàn)的。這種方式不僅成本較高,而且在運(yùn)動精度、實(shí)時性方面都存在很多不足。
另外,現(xiàn)有的自動化設(shè)備以單一功能的編程為主,功能模塊簡單,主要進(jìn)行重復(fù)操作。對于復(fù)雜狀況或意外情況無法自動應(yīng)變和校正,需要由操作人員重新編程,也就增加了工作量。例如,工業(yè)機(jī)器人多以示教方式工作,雖然使用簡單方便,但同樣會使功能編輯變得困難,難以使用各種傳感器進(jìn)行條件分支。這樣一方面會造成一定的安全隱患,另一方面不利于工業(yè)機(jī)器人的智能化控制。
技術(shù)實(shí)現(xiàn)要素:
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種自動化控制系統(tǒng)及方法、機(jī)械設(shè)備,通過嵌入式編程、驅(qū)控一體的方式實(shí)現(xiàn)安全、高速的自動化控制,其成本低、運(yùn)算精度高、可擴(kuò)展性高,便于系統(tǒng)升級和擴(kuò)展。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種自動化控制系統(tǒng),用于實(shí)現(xiàn)對機(jī)械本體的自動化控制,包括運(yùn)動控制器和伺服驅(qū)動器;所述運(yùn)動控制器用于接收客戶端發(fā)送來的控制指令并根據(jù)所述控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至所述伺服驅(qū)動器,以及接收由所述伺服驅(qū)動器發(fā)送來的機(jī)械本體的運(yùn)動信息;所述伺服驅(qū)動器用于根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),以及獲取機(jī)械本體的運(yùn)動信息并發(fā)送至所述運(yùn)動控制器。
于本發(fā)明一實(shí)施例中,還包括客戶端,所述客戶端用于發(fā)送控制指令至所述運(yùn)動控制器,以及接收由所述運(yùn)動控制器發(fā)送來的機(jī)械本體的運(yùn)動信息。
于本發(fā)明一實(shí)施例中,所述運(yùn)動控制器包括路徑規(guī)劃單元、逆運(yùn)動學(xué)單元、插補(bǔ)平滑單元、網(wǎng)絡(luò)通信單元和SPI通信單元;
所述網(wǎng)絡(luò)通信單元用于通過以太網(wǎng)實(shí)現(xiàn)與客戶端之間的通信;
所述路徑規(guī)劃單元用于根據(jù)所述控制指令規(guī)劃機(jī)械本體的路徑;
所述插補(bǔ)平滑單元用于平滑所規(guī)劃的機(jī)械本體路徑;
所述逆運(yùn)動學(xué)單元用于將平滑后的機(jī)械本體路徑的位置信息轉(zhuǎn)換為機(jī)械本體各關(guān)節(jié)的位置數(shù)據(jù);
所述SPI通信單元用于通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。
于本發(fā)明一實(shí)施例中,還包括圖像獲取裝置,所述圖像獲取裝置用于獲取機(jī)械本體所處的實(shí)時環(huán)境圖像,并發(fā)送至所述運(yùn)動控制器;
所述運(yùn)動控制器包括環(huán)境檢測單元、路徑規(guī)劃單元、逆運(yùn)動學(xué)單元、插補(bǔ)平滑單元、網(wǎng)絡(luò)通信單元和SPI通信單元;
所述環(huán)境檢測單元用于根據(jù)機(jī)械本體所處的實(shí)時環(huán)境圖像,獲取機(jī)械本體所處的實(shí)時環(huán)境信息;
所述路徑規(guī)劃單元用于根據(jù)所述控制指令和機(jī)械本體所處的實(shí)時環(huán)境信息為機(jī)械本體規(guī)劃路徑;
所述插補(bǔ)平滑單元用于平滑所規(guī)劃的機(jī)械本體路徑;
所述逆運(yùn)動學(xué)單元用于將平滑后的機(jī)械本體路徑的位置信息轉(zhuǎn)換為機(jī)械本體各關(guān)節(jié)的位置數(shù)據(jù);
所述網(wǎng)絡(luò)通信單元用于通過以太網(wǎng)實(shí)現(xiàn)與客戶端之間的通信;
所述SPI通信單元用于通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。
于本發(fā)明一實(shí)施例中,所述伺服驅(qū)動器包括電機(jī)位置和速度控制單元和SPI通信單元;
所述電機(jī)位置和速度控制單元用于根據(jù)機(jī)械本體上各個電機(jī)的控制參數(shù)控制各個電機(jī)的運(yùn)動,以及獲取機(jī)械本體的運(yùn)動信息;
所述SPI通信單元用于實(shí)現(xiàn)與運(yùn)動控制器之間的通信。
于本發(fā)明一實(shí)施例中,所述伺服驅(qū)動器和所述機(jī)械本體上的電機(jī)通過RS485總線連接。
于本發(fā)明一實(shí)施例中,所述運(yùn)動控制器和所述伺服驅(qū)動器集成于同一片上系統(tǒng)。
同時,本發(fā)明還提供一種機(jī)械設(shè)備,包括機(jī)械本體、與機(jī)械本體相連的上述任一所述的自動化控制系統(tǒng),以通過所述自動化控制系統(tǒng)對所述機(jī)械本體進(jìn)行控制。
于本發(fā)明一實(shí)施例中,所述機(jī)械本體為機(jī)器人本體。
相應(yīng)地,本發(fā)明還提供一種自動化控制方法,用于實(shí)現(xiàn)對機(jī)械本體的自動化控制,包括以下步驟:
通過運(yùn)動控制器接收客戶端發(fā)送來的控制指令并根據(jù)控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至伺服驅(qū)動器,同時接收由伺服驅(qū)動器發(fā)送來的機(jī)械本體的運(yùn)動信息;
通過伺服驅(qū)動器根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),同時獲取機(jī)械本體的運(yùn)動信息并發(fā)送至運(yùn)動控制器。
于本發(fā)明一實(shí)施例中,還包括:通過客戶端發(fā)送控制指令至所述運(yùn)動控制器,以及接收由所述運(yùn)動控制器發(fā)送來的機(jī)械本體的運(yùn)動信息。
于本發(fā)明一實(shí)施例中,所述運(yùn)動控制器執(zhí)行以下操作:
通過網(wǎng)絡(luò)實(shí)現(xiàn)與客戶端之間的通信;
根據(jù)控制指令規(guī)劃機(jī)械本體的路徑;
平滑所規(guī)劃的機(jī)械本體路徑;
將平滑后的機(jī)械本體路徑的位置信息轉(zhuǎn)換為機(jī)械本體各關(guān)節(jié)的位置數(shù)據(jù);
通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。
于本發(fā)明一實(shí)施例中,還包括通過圖像獲取裝置獲取機(jī)械本體所處的實(shí)時環(huán)境圖像,并發(fā)送至所述運(yùn)動控制器;
所述運(yùn)動控制器執(zhí)行以下操作;
根據(jù)機(jī)械本體所處的實(shí)時環(huán)境圖像,獲取機(jī)械本體所處的實(shí)時環(huán)境信息;
根據(jù)控制指令和機(jī)械本體所處的實(shí)時環(huán)境信息為機(jī)械本體規(guī)劃路徑;
平滑所規(guī)劃的機(jī)械本體路徑;
將平滑后的機(jī)械本體路徑的位置信息轉(zhuǎn)換為機(jī)械本體各關(guān)節(jié)的位置數(shù)據(jù);
通過網(wǎng)絡(luò)實(shí)現(xiàn)與客戶端之間的通信;
通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。
于本發(fā)明一實(shí)施例中,所述伺服驅(qū)動器執(zhí)行以下操作:
根據(jù)機(jī)械本體上各個電機(jī)的控制參數(shù)控制各個電機(jī)的運(yùn)動,以及獲取機(jī)械本體的運(yùn)動信息;
通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。
于本發(fā)明一實(shí)施例中,所述伺服驅(qū)動器和所述機(jī)械本體上的電機(jī)通過RS485總線連接。
于本發(fā)明一實(shí)施例中,所述運(yùn)動控制器和所述伺服驅(qū)動器集成于同一片上系統(tǒng)。
如上所述,本發(fā)明的自動化控制系統(tǒng)及方法、機(jī)械設(shè)備,具有以下有益效果:
(1)通過嵌入式編程實(shí)現(xiàn)安全、高速的自動化控制,其成本低、運(yùn)算精度高;
(2)將自動化控制系統(tǒng)分成了用戶層、運(yùn)動控制層和伺服驅(qū)動層,各層之間分工明確且緊密銜接;運(yùn)動控制層和伺服驅(qū)動層之間的協(xié)議內(nèi)容能夠自定義,能夠以最小的數(shù)據(jù)量傳輸最大的信息量以實(shí)現(xiàn)最大的響應(yīng)時間和更快的運(yùn)行速度;
(3)將運(yùn)動控制器和伺服驅(qū)動器集成在一起,實(shí)現(xiàn)驅(qū)控一體,便于進(jìn)行軟硬件升級,易于快速適應(yīng)于不同的機(jī)械本體;
(4)克服現(xiàn)有示教編程的弊端,能夠智能地實(shí)時結(jié)合外部環(huán)境進(jìn)行自動化控制,保證以最優(yōu)且最安全的方式運(yùn)行;
(5)能夠同時支持六軸同步運(yùn)動,八軸獨(dú)立控制,具有極大的靈活性與較廣的適用范圍。
附圖說明
圖1顯示為本發(fā)明的自動化控制系統(tǒng)的一個實(shí)施例的結(jié)構(gòu)示意圖;
圖2顯示為本發(fā)明的運(yùn)動控制器的結(jié)構(gòu)示意圖;
圖3顯示為本發(fā)明的伺服驅(qū)動器的結(jié)構(gòu)示意圖;
圖4顯示為本發(fā)明的自動化控制系統(tǒng)的另一個實(shí)施例的結(jié)構(gòu)示意圖;
圖5顯示為本發(fā)明的機(jī)械設(shè)備的結(jié)構(gòu)示意圖;
圖6顯示為本發(fā)明的自動化控制方法的流程圖。
元件標(biāo)號說明
1 自動化控制系統(tǒng)
11 客戶端
12 運(yùn)動控制器
121 路徑規(guī)劃單元
122 插補(bǔ)平滑單元
123 逆運(yùn)動學(xué)單元
124 網(wǎng)絡(luò)通信單元
125 SPI通信單元
13 伺服驅(qū)動器
131 SPI通信單元
132 電機(jī)位置和速度控制單元
14 圖像獲取裝置
2 機(jī)械本體
具體實(shí)施方式
以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
本發(fā)明的自動化控制系統(tǒng)用于實(shí)現(xiàn)對機(jī)械本體的自動化控制,包括運(yùn)動控制器和伺服驅(qū)動器;所述運(yùn)動控制器用于接收客戶端發(fā)送來的控制指令并根據(jù)所述控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至所述伺服驅(qū)動器,以及接收由所述伺服驅(qū)動器發(fā)送來的機(jī)械本體的運(yùn)動信息;所述伺服驅(qū)動器用于根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),以及獲取機(jī)械本體的運(yùn)動信息并發(fā)送至所述運(yùn)動控制器
參照圖1,本發(fā)明的自動化控制系統(tǒng)1用于實(shí)現(xiàn)對機(jī)械本體的自動化控制,包括客戶端11、運(yùn)動控制器12和伺服驅(qū)動器13。
客戶端11用于發(fā)送控制指令至運(yùn)動控制器,以及接收由運(yùn)動控制器發(fā)送來的機(jī)械本體的運(yùn)動信息。
具體地,客戶端11可以發(fā)送單一控制指令,也可以發(fā)送系列控制指令。其中,單一控制指令用于控制機(jī)械本體執(zhí)行單一的動作,如啟動、停止、暫停、恢復(fù)、左轉(zhuǎn)、右轉(zhuǎn)、前移、后移等等。系列控制指令用于控制機(jī)械本體執(zhí)行一系列操作,如拾取操作、旋轉(zhuǎn)操作等等。
機(jī)械本體的運(yùn)動信息包括運(yùn)動狀態(tài)信息以及各個關(guān)節(jié)的位置數(shù)據(jù)。其中,運(yùn)動狀態(tài)信息包括正常運(yùn)動、異常運(yùn)動等等。
客戶端11可以采用觸摸屏、按鈕等發(fā)送控制指令,通過顯示屏顯示接收到的機(jī)械本體反饋的運(yùn)動信息,以及顯示機(jī)械本體的仿真運(yùn)動。
優(yōu)選地,客戶端11采用上位機(jī),即可以直接發(fā)出操控命令的計(jì)算機(jī)。上位機(jī)可以是示教器或者工控機(jī)。其中,示教器又叫示教編程器,是由電子系統(tǒng)或計(jì)算機(jī)系統(tǒng)執(zhí)行的。工控機(jī)(Industrial Personal Computer,IPC)即工業(yè)控制計(jì)算機(jī),是一種采用總線結(jié)構(gòu),對生產(chǎn)過程及機(jī)電設(shè)備、工藝裝備進(jìn)行檢測與控制的工具總稱。工控機(jī)具有重要的計(jì)算機(jī)屬性和特征,如具有計(jì)算機(jī)CPU、硬盤、內(nèi)存、外設(shè)及接口,并有操作系統(tǒng)、控制網(wǎng)絡(luò)和協(xié)議、計(jì)算能力、友好的人機(jī)界面。工控行業(yè)的產(chǎn)品和技術(shù)非常特殊,屬于中間產(chǎn)品,是為其他各行業(yè)提供可靠、嵌入式、智能化的工業(yè)計(jì)算機(jī)。
在本發(fā)明一實(shí)施例中,客戶端11可通過離線編程來生成控制指令。其中,客戶端可使用的語言包括G代碼、PYTHON語言和C/C++語言??蛻舳诉€包括仿真環(huán)境,能夠根據(jù)要求離線仿真出機(jī)械本體的運(yùn)動軌跡并且評估運(yùn)動的可行性,同時能夠根據(jù)反饋回來的機(jī)械本體的每個關(guān)節(jié)的位置數(shù)據(jù)實(shí)時模擬機(jī)械本體的最新運(yùn)動情況。
運(yùn)動控制器12用于根據(jù)控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至伺服驅(qū)動器13,以及接收由伺服驅(qū)動器13發(fā)送來的機(jī)械本體的運(yùn)動信息并發(fā)送至客戶端。
其中,運(yùn)動控制器12集成于一片上系統(tǒng),用于運(yùn)行一運(yùn)動控制程序,以根據(jù)控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至伺服驅(qū)動器13,以及接收由伺服驅(qū)動器13發(fā)送來的機(jī)械本體的運(yùn)動信息并發(fā)送至客戶端。
運(yùn)動控制器12與客戶端之間通過網(wǎng)絡(luò)實(shí)現(xiàn)通信;運(yùn)動控制器12與伺服控制器13之間通過SPI總線連接,采用全雙工數(shù)據(jù)傳輸。
運(yùn)動控制器12由嵌入式系統(tǒng)來實(shí)現(xiàn)。具體地,運(yùn)動控制器采用四核ARM構(gòu)架,cortex A8處理器,主頻為900M Hz,運(yùn)行Linux操作系統(tǒng),能夠接收客戶端發(fā)送來的控制指令、數(shù)據(jù)等,且針對不同的控制指令,生成對應(yīng)的各關(guān)節(jié)的位置數(shù)據(jù)。對于本領(lǐng)域技術(shù)人員人員,根據(jù)控制指令和機(jī)械本體所處的環(huán)境信息來生成對應(yīng)的各個關(guān)節(jié)的位置數(shù)據(jù)是已經(jīng)比較成熟的算法,是能夠?qū)崿F(xiàn)的。該算法的具體實(shí)現(xiàn)不是本發(fā)明的重點(diǎn)所在,故在此不再贅述。
如圖2所示,在本發(fā)明一優(yōu)選實(shí)施例中,運(yùn)動控制器12包括路徑規(guī)劃單元121、插補(bǔ)平滑單元122、逆運(yùn)動學(xué)單元123、網(wǎng)絡(luò)通信單元124和SPI通信單元125。
網(wǎng)絡(luò)通信單元124用于通過以太網(wǎng)實(shí)現(xiàn)與客戶端之間的通信。具體地,網(wǎng)絡(luò)通信單元124接收客戶端發(fā)送來的控制指令,及發(fā)送機(jī)械本體的運(yùn)動信息至客戶端。
路徑規(guī)劃單元121用于規(guī)劃機(jī)械本體的路徑。其中,路徑規(guī)劃單元121可根據(jù)不同的標(biāo)準(zhǔn)規(guī)劃不同的路徑,如最短路徑、最平緩路徑、最遠(yuǎn)路徑等等。
插補(bǔ)平滑單元122用于平滑所規(guī)劃的機(jī)械本體路徑。平滑處理后的路徑避免了機(jī)械本體不必要的劇烈轉(zhuǎn)動。對于本領(lǐng)域技術(shù)人員而言,平滑路徑已經(jīng)是非常成熟的現(xiàn)有技術(shù),包括多種算法,在此不再贅述。
逆運(yùn)動學(xué)單元123用于將平滑后的機(jī)械本體路徑的位置信息轉(zhuǎn)換為機(jī)械本體各關(guān)節(jié)的位置數(shù)據(jù)。逆運(yùn)動學(xué)是決定要達(dá)成所需要的姿勢所要設(shè)置的關(guān)節(jié)可活動對象的參數(shù)的過程。
SPI通信單元125用于通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。具體地,SPI通信單元125通過SPI總線發(fā)送機(jī)械本體的控制數(shù)據(jù)至伺服驅(qū)動器,及接收伺服控制器發(fā)送來的機(jī)械本體的運(yùn)動信息。
優(yōu)選地,運(yùn)動控制器12還包括IO控制單元、錯誤處理單元和測試單元。IO控制單元用于負(fù)責(zé)接收IO狀態(tài),并將IO進(jìn)行清零或置位。錯誤處理單元用于接收并上報伺服驅(qū)動器發(fā)送來的錯誤信息。測試單元用于對運(yùn)動控制器進(jìn)行系統(tǒng)測試和調(diào)試。
伺服驅(qū)動器13用于根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),以及獲取機(jī)械本體的運(yùn)動信息并發(fā)送至運(yùn)動控制器12。
其中,伺服驅(qū)動器13集成于一片上系統(tǒng),用于運(yùn)行一伺服驅(qū)動程序,以根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),以及獲取機(jī)械本體的運(yùn)動信息并發(fā)送至運(yùn)動控制器12。
具體地,伺服驅(qū)動器13由嵌入式系統(tǒng)來實(shí)現(xiàn)。在本發(fā)明的一個優(yōu)選實(shí)施例中,采用FPGA運(yùn)行NIOS和VERILOG,以SPI NIOS核接收各個關(guān)節(jié)的位置數(shù)據(jù)并轉(zhuǎn)換成每個電機(jī)的控制參數(shù),然后通過Mailbox將每個電機(jī)的控制參數(shù)分發(fā)到六個電機(jī)控制NIOS核中,達(dá)到六軸同步控制的目的。
其中,伺服驅(qū)動器13和機(jī)械本體上的電機(jī)通過RS485總線連接。
如圖3所示,在本發(fā)明一優(yōu)選實(shí)施例中,伺服驅(qū)動器13包括SPI通信單元131和電機(jī)位置和速度控制單元132。
SPI通信單元131用于通過SPI總線實(shí)現(xiàn)與運(yùn)動控制器之間的通信。具體地,SPI通信單元通過SPI總線接收機(jī)械本體上各個電機(jī)的控制參數(shù),并將機(jī)械本體的運(yùn)動信息發(fā)送至運(yùn)動控制器。
電機(jī)位置和速度控制單元132用于根據(jù)機(jī)械本體上各個電機(jī)的控制參數(shù)控制各個電機(jī)的運(yùn)動,以及獲取機(jī)械本體的運(yùn)動信息。具體地,電機(jī)位置和速度控制單元通過ENDAT2.2協(xié)議根據(jù)機(jī)械本體上各個電機(jī)的控制參數(shù)控制各個電機(jī)的運(yùn)動,以及獲取機(jī)械本體的運(yùn)動信息。
優(yōu)選地,伺服驅(qū)動器13還包括節(jié)能單元、錯誤檢測單元和硬件測試單元。節(jié)能單元用于根據(jù)檢測到的機(jī)械本體的電機(jī)驅(qū)動板的各個狀態(tài),調(diào)節(jié)功率輸出。錯誤檢測單元用于檢測伺服驅(qū)動器的錯誤信息。硬件測試單元用于對伺服驅(qū)動器的硬件進(jìn)行測試和調(diào)試。
優(yōu)選地,如圖4所示,本發(fā)明的自動化控制系統(tǒng)還包括圖像獲取裝置14,該圖像獲取裝置14用于獲取機(jī)械本體所處的實(shí)時環(huán)境圖像,并發(fā)送至運(yùn)動控制器。其中,圖像獲取裝置采用攝像頭。
圖像獲取裝置14可以設(shè)置在機(jī)械本體上,也可以設(shè)置在能夠獲取機(jī)械本體所處的環(huán)境圖像的任意位置處。圖像獲取裝置14可以與運(yùn)動控制器12直接相連,也可以通過無線通信的方式進(jìn)行連接。
相應(yīng)地,運(yùn)動控制器12還包括環(huán)境檢測單元,該環(huán)境檢測單元用于根據(jù)機(jī)械本體所處的實(shí)時環(huán)境圖像,獲取機(jī)械本體所處的實(shí)時環(huán)境信息。
路徑規(guī)劃單元用于根據(jù)機(jī)械本體所處的實(shí)時環(huán)境信息為機(jī)械本體規(guī)劃路徑。例如,路徑規(guī)劃單元規(guī)劃路徑時,若實(shí)時環(huán)境信息表明路徑前方有障礙物,則重新規(guī)劃路徑。
優(yōu)選地,本發(fā)明的自動化控制系統(tǒng)中,運(yùn)動控制器12和伺服驅(qū)動器13集成于同一片上系統(tǒng)。
參照圖5,本發(fā)明的機(jī)械設(shè)備包括機(jī)械本體2,與機(jī)械本體相連的上述自動化控制系統(tǒng)1,以通過自動化控制系統(tǒng)實(shí)現(xiàn)對機(jī)械本體的自動化控制。
參照圖6,本發(fā)明的自動化控制方法用于實(shí)現(xiàn)對機(jī)械本體的自動化控制,包括以下步驟:
步驟S1、通過客戶端發(fā)送控制指令至運(yùn)動控制器,同時接收由運(yùn)動控制器發(fā)送來的機(jī)械本體的運(yùn)動信息。
具體地,客戶端可以發(fā)送單一控制指令,也可以發(fā)送系列控制指令。其中,單一控制指令用于控制機(jī)械本體執(zhí)行單一的動作,如啟動、停止、暫停、恢復(fù)、左轉(zhuǎn)、右轉(zhuǎn)、前移、后移等等。系列控制指令用于控制機(jī)械本體執(zhí)行一系列操作,如拾取操作、旋轉(zhuǎn)操作等等。
機(jī)械本體的運(yùn)動信息包括運(yùn)動狀態(tài)信息以及各個關(guān)節(jié)的位置數(shù)據(jù)。其中,運(yùn)動狀態(tài)信息包括正常運(yùn)動、異常運(yùn)動等等。
客戶端可以采用觸摸屏、按鈕等發(fā)送控制指令,通過顯示屏顯示接收到的機(jī)械本體反饋的運(yùn)動信息,以及顯示機(jī)械本體的仿真運(yùn)動。
優(yōu)選地,客戶端采用上位機(jī),即可以直接發(fā)出操控命令的計(jì)算機(jī)。上位機(jī)可以是示教器或者工控機(jī)。其中,示教器又叫示教編程器,是由電子系統(tǒng)或計(jì)算機(jī)系統(tǒng)執(zhí)行的。工控機(jī)(Industrial Personal Computer,IPC)即工業(yè)控制計(jì)算機(jī),是一種采用總線結(jié)構(gòu),對生產(chǎn)過程及機(jī)電設(shè)備、工藝裝備進(jìn)行檢測與控制的工具總稱。工控機(jī)具有重要的計(jì)算機(jī)屬性和特征,如具有計(jì)算機(jī)CPU、硬盤、內(nèi)存、外設(shè)及接口,并有操作系統(tǒng)、控制網(wǎng)絡(luò)和協(xié)議、計(jì)算能力、友好的人機(jī)界面。工控行業(yè)的產(chǎn)品和技術(shù)非常特殊,屬于中間產(chǎn)品,是為其他各行業(yè)提供可靠、嵌入式、智能化的工業(yè)計(jì)算機(jī)。
在本發(fā)明一實(shí)施例中,客戶端可通過離線編程來生成控制指令。其中,客戶端可使用的語言包括G代碼、PYTHON語言和C/C++語言。客戶端還包括仿真環(huán)境,能夠根據(jù)要求離線仿真出機(jī)械本體的運(yùn)動軌跡并且評估運(yùn)動的可行性,同時能夠根據(jù)反饋回來的機(jī)械本體的每個關(guān)節(jié)的位置數(shù)據(jù)實(shí)時模擬機(jī)械本體的最新運(yùn)動情況。
步驟S2、通過運(yùn)動控制器根據(jù)控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至伺服驅(qū)動器,同時接收由伺服驅(qū)動器發(fā)送來的機(jī)械本體的運(yùn)動信息并發(fā)送至客戶端。
其中,運(yùn)動控制器集成于一片上系統(tǒng),用于運(yùn)行一運(yùn)動控制程序,以根據(jù)控制指令生成機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)并發(fā)送至伺服驅(qū)動器,以及接收由伺服驅(qū)動器發(fā)送來的機(jī)械本體的運(yùn)動信息并發(fā)送至客戶端。
運(yùn)動控制器與客戶端之間通過網(wǎng)絡(luò)實(shí)現(xiàn)通信;運(yùn)動控制器與伺服控制器之間通過SPI總線連接,采用全雙工數(shù)據(jù)傳輸。
運(yùn)動控制器由嵌入式系統(tǒng)來實(shí)現(xiàn)。具體地,運(yùn)動控制器采用四核ARM構(gòu)架,cortex A8處理器,主頻為900MHz,運(yùn)行Linux操作系統(tǒng),能夠接收客戶端發(fā)送來的控制指令、數(shù)據(jù)等,且針對不同的控制指令,生成對應(yīng)的各關(guān)節(jié)的位置數(shù)據(jù)。對于本領(lǐng)域技術(shù)人員人員,根據(jù)控制指令和機(jī)械本體所處的環(huán)境信息來生成對應(yīng)的各個關(guān)節(jié)的位置數(shù)據(jù)是已經(jīng)比較成熟的算法,是能夠?qū)崿F(xiàn)的。該算法的具體實(shí)現(xiàn)不是本發(fā)明的重點(diǎn)所在,故在此不再贅述。
在本發(fā)明一優(yōu)選實(shí)施例中,運(yùn)動控制器執(zhí)行以下操作:
1)通過網(wǎng)絡(luò)實(shí)現(xiàn)與客戶端之間的通信。
具體地,通過網(wǎng)絡(luò)接收客戶端發(fā)送來的控制指令,及發(fā)送機(jī)械本體的運(yùn)動信息至客戶端。
2)規(guī)劃機(jī)械本體的路徑。
其中,路徑規(guī)劃單元可根據(jù)不同的標(biāo)準(zhǔn)規(guī)劃不同的路徑,如最短路徑、最平緩路徑、最遠(yuǎn)路徑等等。
3)平滑所規(guī)劃的機(jī)械本體路徑。
平滑處理后的路徑避免了機(jī)械本體不必要的劇烈轉(zhuǎn)動。對于本領(lǐng)域技術(shù)人員而言,平滑路徑已經(jīng)是非常成熟的現(xiàn)有技術(shù),包括多種算法,在此不再贅述。
4)將平滑后的機(jī)械本體路徑的位置信息轉(zhuǎn)換為機(jī)械本體各關(guān)節(jié)的位置數(shù)據(jù)。
逆運(yùn)動學(xué)是決定要達(dá)成所需要的姿勢所要設(shè)置的關(guān)節(jié)可活動對象的參數(shù)的過程。
5)通過SPI總線實(shí)現(xiàn)與伺服驅(qū)動器之間的通信。
具體地,通過SPI總線發(fā)送機(jī)械本體的控制數(shù)據(jù)至伺服驅(qū)動器,及接收伺服控制器發(fā)送來的機(jī)械本體的運(yùn)動信息。
優(yōu)選地,運(yùn)動控制器還包括檢測運(yùn)動控制器的錯誤信息,對運(yùn)動控制器進(jìn)行系統(tǒng)測試和調(diào)試,以及接收IO狀態(tài),并將IO進(jìn)行清零或置位。
步驟S3、通過伺服驅(qū)動器根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),同時獲取機(jī)械本體的運(yùn)動信息并發(fā)送至運(yùn)動控制器。
其中,伺服驅(qū)動器集成于一片上系統(tǒng),用于運(yùn)行一伺服驅(qū)動程序,以根據(jù)機(jī)械本體各個關(guān)節(jié)的位置數(shù)據(jù)生成機(jī)械本體上各個電機(jī)的控制參數(shù),以及獲取機(jī)械本體的運(yùn)動信息并發(fā)送至運(yùn)動控制器。
具體地,伺服驅(qū)動器由嵌入式系統(tǒng)來實(shí)現(xiàn)。在本發(fā)明的一個優(yōu)選實(shí)施例中,采用FPGA運(yùn)行NIOS和VERILOG,以SPI NIOS核接收各個關(guān)節(jié)的位置數(shù)據(jù)并轉(zhuǎn)換成每個電機(jī)的控制參數(shù),然后通過Mailbox將每個電機(jī)的控制參數(shù)分發(fā)到六個電機(jī)控制NIOS核中,達(dá)到六軸同步控制的目的。
其中,伺服驅(qū)動器和機(jī)械本體上的電機(jī)通過RS485總線連接。
在本發(fā)明一優(yōu)選實(shí)施例中,伺服驅(qū)動器執(zhí)行以下操作:
1)根據(jù)機(jī)械本體上各個電機(jī)的控制參數(shù)控制各個電機(jī)的運(yùn)動,以及獲取機(jī)械本體的運(yùn)動信息。
具體地,通過ENDAT2.2協(xié)議根據(jù)機(jī)械本體上各個電機(jī)的控制參數(shù)控制各個電機(jī)的運(yùn)動,以及獲取機(jī)械本體的運(yùn)動信息。
2)通過SPI總線實(shí)現(xiàn)與運(yùn)動控制器之間的通信。
具體地,通過SPI總線接收機(jī)械本體上各個電機(jī)的控制參數(shù),并將機(jī)械本體的運(yùn)動信息發(fā)送至運(yùn)動控制器。
優(yōu)選地,伺服驅(qū)動器還能夠根據(jù)檢測到的機(jī)械本體的電機(jī)驅(qū)動板的各個狀態(tài),調(diào)節(jié)功率輸出的節(jié)能效果、檢測伺服驅(qū)動器的錯誤信息,以及對伺服驅(qū)動器的硬件進(jìn)行測試和調(diào)試。
優(yōu)選地,本發(fā)明的自動化控制方法還包括通過圖像獲取裝置獲取機(jī)械本體所處的實(shí)時環(huán)境圖像,并發(fā)送至運(yùn)動控制器。其中,圖像獲取裝置采用攝像頭。
圖像獲取裝置可以設(shè)置在機(jī)械本體上,也可以設(shè)置在能夠獲取機(jī)械本體所處的環(huán)境圖像的任意位置處。圖像獲取裝置可以與運(yùn)動控制器直接相連,也可以通過無線通信的方式進(jìn)行連接。
相應(yīng)地,運(yùn)動控制器還包括執(zhí)行以下操作:根據(jù)機(jī)械本體所處的實(shí)時環(huán)境圖像,獲取機(jī)械本體所處的實(shí)時環(huán)境信息;根據(jù)機(jī)械本體所處的實(shí)時環(huán)境信息為機(jī)械本體規(guī)劃路徑。例如,路徑規(guī)劃單元規(guī)劃路徑時,若實(shí)時環(huán)境信息表明路徑前方有障礙物,則重新規(guī)劃路徑。
優(yōu)選地,本發(fā)明的自動化控制方法中,運(yùn)動控制器和伺服驅(qū)動器集成于同一片上系統(tǒng)。
綜上所述,本發(fā)明的自動化控制系統(tǒng)及方法、機(jī)械設(shè)備通過嵌入式編程實(shí)現(xiàn)安全、高速的自動化控制,其成本低、運(yùn)算精度高;將自動化控制系統(tǒng)分成了用戶層、運(yùn)動控制層和伺服驅(qū)動層,各層之間分工明確且緊密銜接;運(yùn)動控制層和伺服驅(qū)動層之間的協(xié)議內(nèi)容能夠自定義,能夠以最小的數(shù)據(jù)量傳輸最大的信息量以實(shí)現(xiàn)最大的響應(yīng)時間和更快的運(yùn)行速度;將運(yùn)動控制器和伺服驅(qū)動器集成在一起,實(shí)現(xiàn)驅(qū)控一體,便于進(jìn)行軟硬件升級,易于快速適應(yīng)于不同的機(jī)械本體;克服現(xiàn)有示教編程的弊端,能夠智能地實(shí)時結(jié)合外部環(huán)境進(jìn)行自動化控制,保證以最優(yōu)且最安全的方式運(yùn)行;能夠同時支持六軸同步運(yùn)動,八軸獨(dú)立控制,具有極大的靈活性與較廣的適用范圍。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價值。
上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。