一種機(jī)器人的控制方法以及裝置與系統(tǒng)的制作方法
【專利摘要】本發(fā)明適用于機(jī)器人控制【技術(shù)領(lǐng)域】,提供了機(jī)器人的控制方法以及裝置與系統(tǒng),所述方法包括:獲取類G代碼,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令x表示第x行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;將獲取的類G代碼編碼打包成數(shù)據(jù)幀;將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。本發(fā)明通過采用類G代碼來調(diào)度機(jī)器人運動,可提高多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提高控制編程的效率。
【專利說明】一種機(jī)器人的控制方法以及裝置與系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于機(jī)器人控制【技術(shù)領(lǐng)域】,尤其涉及一種機(jī)器人的控制方法以及裝置與系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)代化工業(yè)生產(chǎn)和機(jī)器人研究要求工業(yè)機(jī)器人具有更大的工作柔性和更強(qiáng)大的編程能力,面對一些復(fù)雜的、需要高效率的、并行完成的任務(wù)時,單個機(jī)器人卻難以勝任。為了解決這類問題,機(jī)器人學(xué)的一個研究方向是在現(xiàn)有機(jī)器人的基礎(chǔ)上,通過多個機(jī)器人之間的協(xié)調(diào)工作來完成復(fù)雜的任務(wù)。多機(jī)器人系統(tǒng)的核心是多機(jī)器人控制系統(tǒng)。
[0003]面對單個機(jī)器人在工業(yè)現(xiàn)代化上的不足,多機(jī)器人控制系統(tǒng)具有更好的空間分布、功能分布、時間分布、信息分布、資源分布等特性。系統(tǒng)中的各個機(jī)器人可以實現(xiàn)多種信息的分享,相互協(xié)同工作,使得系統(tǒng)具有并行性、高效性。
[0004]多機(jī)器人控制系統(tǒng)體系結(jié)構(gòu)有集中式和分散式兩種。集中式的結(jié)構(gòu)中由一個總的控制器控制系統(tǒng)內(nèi)各個機(jī)器人的具體任務(wù),分散式結(jié)構(gòu)則采用現(xiàn)場總線的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)中各個機(jī)器人具有不同的工藝功能,它們相對獨立而又相互通信互聯(lián),允許控制功能模塊化和界面標(biāo)準(zhǔn)化。
[0005]目前市場上流行的多機(jī)器人控制系統(tǒng)大多采用PC+運動控制卡的上下位機(jī)結(jié)構(gòu),上位機(jī)界面通過廠商提供的運動函數(shù)庫在通用開發(fā)平臺上進(jìn)行二次開發(fā),下位機(jī)采用DSP或?qū)S眠\動控制芯片作為控制卡的核心控制器。
[0006]現(xiàn)有多機(jī)器人控制系統(tǒng)存在以下缺點:一是在運動控制技術(shù)上,一個控制器獨立控制一個機(jī)器人的技術(shù)比較成熟,但在多機(jī)器人協(xié)同工作方面還沒有一個相對成熟和接受的方案,運動協(xié)調(diào)性差;二是在軟件編程方面,需通過廠商提供運動函數(shù)庫進(jìn)行二次開發(fā),對用戶的技術(shù)要求高,并且編程效率低。
[0007]綜上所述,現(xiàn)有技術(shù)中機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性差,編程效率低。
【發(fā)明內(nèi)容】
[0008]本發(fā)明實施例的目的在于提供一種機(jī)器人的控制方法,旨在解決現(xiàn)有技術(shù)中機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性差,編程效率低的問題。
[0009]本發(fā)明實施例是這樣實現(xiàn)的,一種機(jī)器人的控制方法,所述方法包括:
[0010]獲取類G代碼,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;
[0011]將獲取的類G代碼編碼打包成數(shù)據(jù)幀;
[0012]將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0013]本發(fā)明實施例還提供了另一種機(jī)器人的控制方法,所述方法包括:[0014]接收上位機(jī)控制器發(fā)送的數(shù)據(jù)幀,所述數(shù)據(jù)幀是由所述上位機(jī)控制器將獲取的類G代碼編碼打包成的數(shù)據(jù)幀,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;
[0015]將接收到的數(shù)據(jù)幀進(jìn)行解碼;
[0016]根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0017]本發(fā)明實施例還提供了 一種上位機(jī)遠(yuǎn)程控制裝置,所述上位機(jī)遠(yuǎn)程控制裝置包括:
[0018]獲取單元,用于獲取類G代碼,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;
[0019]編碼單元,將獲取的類G代碼編碼打包成數(shù)據(jù)幀;
[0020]發(fā)送單元,將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0021]本發(fā)明實施例還提供了一種下位機(jī)控制器,所述下位機(jī)控制器包括:
[0022]接收單元,用于接收上位機(jī)控制器發(fā)送的數(shù)據(jù)幀,所述數(shù)據(jù)幀是由所述上位機(jī)控制器將獲取的類G代碼編碼打包成的數(shù)據(jù)幀,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;
[0023]解碼單元,用于將接收到的數(shù)據(jù)幀進(jìn)行解碼;
[0024]運動調(diào)度單元,用于根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0025]本發(fā)明實施例還提供了一種多機(jī)器人控制系統(tǒng),所述系統(tǒng)包括上位機(jī)遠(yuǎn)程控制裝置及與所述上位機(jī)遠(yuǎn)程控制裝置連接的兩個以上的下位機(jī)控制器;
[0026]所述上位機(jī)遠(yuǎn)程控制裝置包括:
[0027]獲取單元,用于獲取類G代碼,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;
[0028]編碼單元,用于將所述獲取單元獲取到的類G代碼編碼打包成數(shù)據(jù)幀;
[0029]發(fā)送單元,用于發(fā)送所述數(shù)據(jù)幀;
[0030]所述下位機(jī)控制器包括:
[0031]接收單元,用于接收所述發(fā)送單元發(fā)送的數(shù)據(jù)幀;
[0032]解碼單元,用于將所述接收單元接收到的數(shù)據(jù)幀進(jìn)行解碼;
[0033]運動調(diào)度單元,用于根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0034]本發(fā)明實施例與現(xiàn)有技術(shù)相比,有益效果在于:通過采用類G代碼來調(diào)度機(jī)器人運動,可提聞多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提聞控制編程的效率。
【專利附圖】
【附圖說明】[0035]圖1是本發(fā)明實施例提供的多機(jī)器人控制系統(tǒng)的框架示意圖;
[0036]圖2是本發(fā)明實施例提供的多機(jī)器人控制系統(tǒng)的示意圖;
[0037]圖3是本發(fā)明實施例提供的機(jī)器人的控制方法的流程圖;
[0038]圖4是本發(fā)明實施例中的類G代碼格式示意圖;
[0039]圖5是本發(fā)明實施例提供的另一種機(jī)器人的控制方法的流程圖;
[0040]圖6是本發(fā)明實施例提供的上位機(jī)遠(yuǎn)程控制裝置的示意圖;
[0041]圖7是本發(fā)明實施例提供的下位機(jī)控制器的示意圖。
【具體實施方式】
[0042]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0043]本發(fā)明實施例提供的實施方案如下:
[0044]本發(fā)明實施例提供一種機(jī)器人的控制方法。該方法應(yīng)用于多機(jī)器人控制系統(tǒng)。
[0045]請參閱圖1和圖2,該多機(jī)器人控制系統(tǒng)包括:上位機(jī)遠(yuǎn)程控制裝置30及與所述上位機(jī)遠(yuǎn)程控制裝置連接30的兩個以上的下位機(jī)控制器40 ;所述上位機(jī)遠(yuǎn)程控制裝置包括獲取單元301、編碼單元302及發(fā)送單元303,所述下位機(jī)控制器40包括接收單元401,解碼單元402及運動調(diào)度單元403。優(yōu)選的,獲取單元301還包括參數(shù)設(shè)置模塊3011,接收單元401還包括參數(shù)接收模塊4011。優(yōu)選的,下位機(jī)控制器40還包括輸出單元404,上位機(jī)遠(yuǎn)程控制裝置還包括狀態(tài)顯示單元304。
[0046]優(yōu)選的,上位機(jī)遠(yuǎn)程控制裝置30和各個下位機(jī)控制器40之間采用工業(yè)以太網(wǎng)連接在一起,它們都是網(wǎng)絡(luò)上的一個節(jié)點。該系統(tǒng)采用了工業(yè)以太網(wǎng)網(wǎng)絡(luò),在上面可以掛接多個機(jī)器人,每個機(jī)器人配備一個下位機(jī)控制器,控制各自機(jī)器人的運動。上位機(jī)遠(yuǎn)程控制裝置30與各個下位機(jī)控制器40之間以及各個下位機(jī)控制器40彼此之間均可通信,通信方式是在工業(yè)以太網(wǎng)網(wǎng)絡(luò)上發(fā)送接收數(shù)據(jù)幀。上位機(jī)遠(yuǎn)程控制裝置30和各個下位機(jī)控制器40各分配一個網(wǎng)絡(luò)地址,數(shù)據(jù)幀通過網(wǎng)絡(luò)地址傳輸。
[0047]請參閱圖3,該方法以上位機(jī)遠(yuǎn)程控制裝置為執(zhí)行主體,所述方法包括:
[0048]101,獲取類G代碼,如圖4所示,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號。
[0049]目前標(biāo)準(zhǔn)的G代碼多應(yīng)用于數(shù)控機(jī)床,該類G代碼與標(biāo)準(zhǔn)的G代碼格式相比多了一個指示動作機(jī)器人的Rj部分。通過將該類G代碼應(yīng)用于機(jī)器人的上位機(jī)遠(yuǎn)程控制裝置中,可提聞系統(tǒng)的運動協(xié)調(diào)性,提聞控制編程的效率。
[0050]應(yīng)用中,可根據(jù)機(jī)器人的工作任務(wù)及類G代碼命令格式在上位機(jī)遠(yuǎn)程控制裝置上編寫機(jī)器人運動控制代碼。本發(fā)明提出的類G代碼的命令格式有兩個特點:一是G代碼行號表征了多機(jī)器人工作任務(wù)的先后順序,即命令代碼的先后不是表示某個機(jī)器人動作的先后,而是整個系統(tǒng)任務(wù)的工藝先后;二是上位機(jī)遠(yuǎn)程控制裝置編輯的所有G代碼命令會下載到每一個機(jī)器人對應(yīng)的下位機(jī)控制器上,每條命令帶有動作機(jī)器人編號,各個機(jī)器人根據(jù)這個編號來判斷各自該執(zhí)行的命令。這兩個特點為運動調(diào)度單元403的功能應(yīng)用打下了很好的基礎(chǔ)。
[0051]執(zhí)行該方法的上位機(jī)遠(yuǎn)程控制裝置可提供一個人機(jī)交互界面,可通過VC平臺來開發(fā),操作人員可在該人機(jī)交互界面上通過鍵盤及鼠標(biāo)輸入、編輯各機(jī)器人的運動、動作命令,并通過編譯和譯碼,將各條命令打包成定義的數(shù)據(jù)幀格式。操作人員除了可在人機(jī)交互界面上編輯機(jī)器人運動控制代碼即上述的類G代碼,還可編譯類G代碼的格式語法錯誤,通過該人機(jī)交互界面,可方便獲取類G代碼;還可以進(jìn)行參數(shù)設(shè)置,如執(zhí)行命令的時間、配置機(jī)器人的編號、地址及機(jī)械結(jié)構(gòu)參數(shù)等;還可以在該人機(jī)交互界面上顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0052]在本發(fā)明實施例中,所述方法還包括以下步驟:
[0053]設(shè)置參數(shù),所述參數(shù)包括執(zhí)行命令的時間、配置機(jī)器人的編號、地址及機(jī)械結(jié)構(gòu)參數(shù)。從而可提高控制對象的多樣性和操作的靈活性。
[0054]102,將獲取的類G代碼編碼打包成數(shù)據(jù)幀。
[0055]在發(fā)送節(jié)點上,可根據(jù)幀類型、幀結(jié)構(gòu)及傳輸協(xié)議編碼打包數(shù)據(jù)幀,在接收節(jié)點上則是根據(jù)傳輸協(xié)議解碼數(shù)據(jù)幀。
[0056]在本步驟中,所述數(shù)據(jù)幀的幀結(jié)構(gòu)包括:幀起始、地址碼、幀長度、指令碼、數(shù)據(jù)域和幀結(jié)束六個部分。幀起始和幀結(jié)束部分主要作用是通知其他網(wǎng)絡(luò)節(jié)點一個新幀傳輸開始及結(jié)束,同步各個設(shè)備的通信控制程序。地址碼表征幀目的節(jié)點的地址,即該條數(shù)據(jù)幀僅對該地址的設(shè)備有效。幀長度表征該條數(shù)據(jù)幀總的字節(jié)長度。指令碼表征數(shù)據(jù)幀的類型。數(shù)據(jù)域包含了各類數(shù)據(jù)幀實際傳輸?shù)拿顮顟B(tài)數(shù)據(jù)。所述數(shù)據(jù)幀的類型有代碼幀、參數(shù)幀、狀態(tài)幀以及請求幀。
[0057]103,將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0058]通過采用類G代碼來調(diào)度機(jī)器人運動,可提高多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提高控制編程的效率。
[0059]在本發(fā)明的實施例中,所述根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號的步驟具體為:
[0060]解析解碼后的類G代碼;
[0061]獲取執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令;
[0062]根據(jù)執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令向由所述下位機(jī)控制器控制的機(jī)器人發(fā)送機(jī)器人控制信號。
[0063]機(jī)器人會接收機(jī)器人控制信號,并根據(jù)接收到的機(jī)器人控制信號執(zhí)行命令。
[0064]從而可協(xié)調(diào)各個機(jī)器人之間的動作,保證機(jī)器人控制系統(tǒng)有條不紊地運行,完成設(shè)定的任務(wù)。
[0065]當(dāng)機(jī)器人執(zhí)行完一行G代碼命令后會發(fā)出運動狀態(tài)幀,該運動狀態(tài)幀用于指示G代碼的運行情況及機(jī)器人的狀態(tài)。
[0066]在本發(fā)明的實施例中,所述方法還包括:
[0067]接收并顯示下位機(jī)控制器發(fā)送的機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0068]在本發(fā)明實施例中,所述下位機(jī)控制器基體為嵌入式ARM處理芯片。該嵌入式ARM處理芯片具有運動控制性能好、成本低、易于維護(hù)及適應(yīng)性強(qiáng)等優(yōu)點,更易于開發(fā)本發(fā)明實施例中上述的接收單元401、解碼單元402及運動調(diào)度單元403。
[0069]請參閱圖5,本發(fā)明實施例提供了另一種機(jī)器人的控制方法。該方法應(yīng)用于上述多機(jī)器人控制系統(tǒng)。
[0070]本實施例方法以下位機(jī)控制器為執(zhí)行主體,該方法包括:
[0071]201,接收上位機(jī)控制器發(fā)送的數(shù)據(jù)幀,所述數(shù)據(jù)幀是由所述上位機(jī)控制器將獲取的類G代碼編碼打包成的數(shù)據(jù)幀,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號。
[0072]202,將接收到的數(shù)據(jù)幀進(jìn)行解碼。
[0073]可根據(jù)傳輸協(xié)議解碼數(shù)據(jù)幀。
[0074]203,根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0075]通過采用類G代碼來調(diào)度機(jī)器人運動,可提高多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提高控制編程的效率。
[0076]在本發(fā)明的實施例中,所述根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號的步驟具體為:
[0077]解析解碼后的類G代碼;
[0078]獲取執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令;
[0079]根據(jù)執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令向由所述下位機(jī)控制器控制的機(jī)器人發(fā)送機(jī)器人控制信號。
[0080]機(jī)器人會接收機(jī)器人控制信號,并根據(jù)接收到的機(jī)器人控制信號執(zhí)行命令。
[0081]當(dāng)機(jī)器人執(zhí)行完一行G代碼命令后會發(fā)出運動狀態(tài)幀,該運動狀態(tài)幀用于指示G代碼的運行情況及機(jī)器人的狀態(tài)。
[0082]在本發(fā)明的一個實施例中,所述方法還包括:
[0083]將機(jī)器人狀態(tài)信息及類G代碼運行狀況信息輸出給上位機(jī)遠(yuǎn)程控制裝置,以便所述上位機(jī)遠(yuǎn)程控制裝置顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0084]在本發(fā)明的實施例中,類G代碼中的命令X可能是運動軌跡或動作,當(dāng)為動作時,步驟203中所述根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號的步驟具體為:根據(jù)解碼后的類G代碼生成相應(yīng)的運動信號。當(dāng)為運動軌跡時,步驟203中所述根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號的步驟具體為:根據(jù)解碼后的類G代碼進(jìn)行運動學(xué)計算,生成相應(yīng)的脈沖信號。
[0085]請參閱圖6,本發(fā)明實施例還提供了一種上位機(jī)遠(yuǎn)程控制裝置,所述上位機(jī)遠(yuǎn)程控制裝置包括:
[0086]獲取單元301,用于獲取類G代碼,所述類G代碼的命令格式為:Nx命令x Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號。
[0087]編碼單元302,將獲取的類G代碼編碼打包成數(shù)據(jù)幀。
[0088]發(fā)送單元303,將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0089]通過采用類G代碼來調(diào)度機(jī)器人運動,可提高多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提高控制編程的效率。
[0090]在本發(fā)明的實施例中,該發(fā)送單元303,具體用于將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼,并解析解碼后的類G代碼以獲取執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令,根據(jù)執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令向由所述下位機(jī)控制器控制的機(jī)器人發(fā)送機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0091]在本發(fā)明的實施例中,所述獲取單元301,還用于接收下位機(jī)控制器40發(fā)送的機(jī)器人狀態(tài)信息及類G代碼運行狀況信息;
[0092]所述上位機(jī)遠(yuǎn)程控制裝置30還包括:
[0093]狀態(tài)顯示單元304,用于顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0094]在本發(fā)明的實施例中,所述獲取單元301還包括:
[0095]參數(shù)設(shè)置模塊3011,用于設(shè)置參數(shù),所述參數(shù)包括執(zhí)行命令的時間、配置機(jī)器人的編號、地址及機(jī)械結(jié)構(gòu)參數(shù)。從而可提高控制對象的多樣性和操作的靈活性。
[0096]相應(yīng)的,下位機(jī)控制器中的參數(shù)接收模塊4011,用于接收參數(shù)設(shè)置模塊3011設(shè)置的參數(shù)。
[0097]上位機(jī)遠(yuǎn)程控制裝置的細(xì)節(jié)方案已在方法中描述,在此不再贅述。
[0098]請參閱圖7,本發(fā)明實施例提供了一種下位機(jī)控制器,所述下位機(jī)控制器包括:
[0099]接收單元401,用于接收上位機(jī)控制器發(fā)送的數(shù)據(jù)幀,所述數(shù)據(jù)幀是由所述上位機(jī)控制器將獲取的類G代碼編碼打包成的數(shù)據(jù)幀,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號。
[0100]解碼單元402,用于將接收到的數(shù)據(jù)幀進(jìn)行解碼。
[0101]運動調(diào)度單元403,用于根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0102]通過采用類G代碼來調(diào)度機(jī)器人運動,可提高多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提高控制編程的效率。
[0103]在本發(fā)明的實施例中,該運動調(diào)度單元403,具體包括:
[0104]解析模塊4031,用于解析解碼后的類G代碼;
[0105]獲取模塊4032,用于獲取執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令;
[0106]運動調(diào)度模塊4033,用于根據(jù)執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令向由所述下位機(jī)控制器控制的機(jī)器人發(fā)送機(jī)器人控制信號,調(diào)度相應(yīng)機(jī)器人運動。
[0107]通過運動調(diào)度單元403,可協(xié)調(diào)各個機(jī)器人之間的動作,保證多機(jī)器人控制系統(tǒng)有條不紊地運行,完成設(shè)定的任務(wù)。
[0108]在本發(fā)明的實施例中,所述下位機(jī)控制器還包括:
[0109]輸出單元404,用于將機(jī)器人狀態(tài)信息及類G代碼運行狀況信息輸出給所述上位機(jī)遠(yuǎn)程控制裝置,以便所述上位機(jī)遠(yuǎn)程控制裝置顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。[0110]具體的,該輸出單元404將機(jī)器人狀態(tài)信息及類G代碼運行狀況信息輸出給獲取單元301,上位機(jī)遠(yuǎn)程控制裝置中的狀態(tài)顯示單元304則會顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0111]在本發(fā)明實的實施例中,下位機(jī)控制器40的接收單元401還包括:
[0112]參數(shù)接收模塊4011,用于接收上位機(jī)遠(yuǎn)程控制裝置30的獲取單元301中的參數(shù)設(shè)置模塊3011所設(shè)置的參數(shù)。
[0113]下位機(jī)控制器的細(xì)節(jié)方案已在方法中描述,在此不再贅述。
[0114]請參閱圖1和圖2,本發(fā)明實施例還提供了一種多機(jī)器人控制系統(tǒng),所述系統(tǒng)包括上位機(jī)遠(yuǎn)程控制裝置30及與所述上位機(jī)遠(yuǎn)程控制裝置30連接的兩個以上的下位機(jī)控制器40 ;
[0115]所述上位機(jī)遠(yuǎn)程控制裝置30包括:
[0116]獲取單元301,用于獲取類G代碼,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號;
[0117]編碼單元302,用于將所述獲取單元獲取到的類G代碼編碼打包成數(shù)據(jù)幀;
[0118]發(fā)送單元303,用于發(fā)送所述數(shù)據(jù)幀;
[0119]所述下位機(jī)控制器40包括:
[0120]接收單元401,用于接收所述發(fā)送單元發(fā)送的數(shù)據(jù)幀;
[0121]解碼單元402,用于將所述接收單元接收到的數(shù)據(jù)幀進(jìn)行解碼;
[0122]運動調(diào)度單元403,用于根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0123]通過采用類G代碼來調(diào)度機(jī)器人運動,可提高多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提高控制編程的效率。
[0124]在本發(fā)明的實施例中,運動調(diào)度單元403,具體包括:
[0125]解析模塊4031,用于解析解碼后的類G代碼;
[0126]獲取模塊4032,用于獲取執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令;
[0127]運動調(diào)度模塊4033,用于根據(jù)執(zhí)行命令的時間、執(zhí)行命令的行號及與該行號對應(yīng)的具體的G代碼命令向由所述下位機(jī)控制器控制的機(jī)器人發(fā)送機(jī)器人控制信號,調(diào)度相應(yīng)機(jī)器人運動。
[0128]通過運動調(diào)度單元403,可協(xié)調(diào)各個機(jī)器人之間的動作,保證多機(jī)器人控制系統(tǒng)有條不紊地運行,完成設(shè)定的任務(wù)。
[0129]在本發(fā)明的實施例中,所述下位機(jī)控制器40還包括:
[0130]輸出單元404,用于輸出機(jī)器人狀態(tài)信息及類G代碼運行狀況信息;
[0131]所述獲取單元301,還用于接收所述機(jī)器人狀態(tài)信息及類G代碼運行狀況信息;
[0132]所述上位機(jī)遠(yuǎn)程控制裝置30還包括:
[0133]狀態(tài)顯示單元304,用于顯示所述機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0134]在本發(fā)明的實施例中,所述獲取單元301還包括:
[0135]參數(shù)設(shè)置模塊3011,用于設(shè)置參數(shù),所述參數(shù)包括執(zhí)行命令的時間、配置機(jī)器人的編號、地址及機(jī)械結(jié)構(gòu)參數(shù)。從而可提高控制對象的多樣性和操作的靈活性。
[0136]所述接收單元401還包括:
[0137]參數(shù)接收模塊4011,用于接收所述參數(shù)設(shè)置模塊設(shè)置的參數(shù)。
[0138]在本發(fā)明的一個實施例中,所述下位機(jī)控制器40還包括:
[0139]輸出單元404,用于輸出機(jī)器人狀態(tài)信息及類G代碼運行狀況信息;
[0140]所述獲取單元301,還用于接收機(jī)器人狀態(tài)信息及類G代碼運行狀況信息;
[0141 ] 所述上位機(jī)遠(yuǎn)程控制裝置30還包括:
[0142]狀態(tài)顯示單元304,用于顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
[0143]各個機(jī)器人運行完一條G代碼后都會發(fā)出一條運動狀態(tài)幀,用于指示G代碼的運行情況及機(jī)器人的狀態(tài)。上位機(jī)遠(yuǎn)程控制裝置都會接收這幀數(shù)據(jù)并顯示出來。
[0144]在本發(fā)明的實施例中,所述上位機(jī)遠(yuǎn)程控制裝置30與所述下位機(jī)控制器40通過工業(yè)以太網(wǎng)連接。
[0145]在本發(fā)明實施例中,上位機(jī)遠(yuǎn)程控制裝置和下位機(jī)控制器均包括一個工業(yè)以太網(wǎng)接口模塊,用于彼此間的網(wǎng)絡(luò)連接。鑒于通用工業(yè)現(xiàn)場總線的標(biāo)準(zhǔn)過多、相互兼容性差、速度較低及開發(fā)成本高的缺點,本發(fā)明優(yōu)選工業(yè)以太網(wǎng)作為多機(jī)器人系統(tǒng)的通信網(wǎng)絡(luò),具有網(wǎng)絡(luò)抗干擾能力強(qiáng)、安裝方便、易于與PC機(jī)通信的優(yōu)點。
[0146]在本發(fā)明實施例中,下位機(jī)控制器還包括控制機(jī)器人接口,用于向機(jī)器人輸出控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
[0147]在本發(fā)明的一個實施例中,所述下位機(jī)控制器40優(yōu)選采用嵌入式ARM處理器芯片,具有運動控制性能好、成本較低、易于維護(hù)、適應(yīng)性強(qiáng)等優(yōu)點。
[0148]系統(tǒng)中的細(xì)節(jié)方案已在上述方法和裝置中描述,在此不再贅述。
[0149]本發(fā)明的機(jī)器人控制方法以及裝置與系統(tǒng),通過采用類G代碼來調(diào)度機(jī)器人運動,可提聞多機(jī)器人控制系統(tǒng)的運動協(xié)調(diào)性,并提聞控制編程的效率。
[0150]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種機(jī)器人的控制方法,其特征在于,所述方法包括: 獲取類G代碼,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號; 將獲取的類G代碼編碼打包成數(shù)據(jù)幀; 將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收并顯示下位機(jī)控制器發(fā)送的機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
3.—種機(jī)器人的控制方法,其特征在于,所述方法包括: 接收上位機(jī)控制器發(fā)送的數(shù)據(jù)幀,所述數(shù)據(jù)幀是由所述上位機(jī)控制器將獲取的類G代碼編碼打包成的數(shù)據(jù)幀,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號; 將接收到的數(shù)據(jù)幀進(jìn)行解碼; 根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
4.如權(quán)利要求 3所述的方法,其特征在于,所述方法還包括: 將機(jī)器人狀態(tài)信息及類G代碼運行狀況信息輸出給上位機(jī)遠(yuǎn)程控制裝置,以便所述上位機(jī)遠(yuǎn)程控制裝置顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
5.一種上位機(jī)遠(yuǎn)程控制裝置,其特征在于,所述上位機(jī)遠(yuǎn)程控制裝置包括: 獲取單元,用于獲取類G代碼,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號; 編碼單元,將獲取的類G代碼編碼打包成數(shù)據(jù)幀; 發(fā)送單元,將所述數(shù)據(jù)幀發(fā)送給下位機(jī)控制器,以便所述下位機(jī)控制器將所述數(shù)據(jù)幀進(jìn)行解碼并根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
6.如權(quán)利要求5所述的裝置,其特征在于,所述獲取單元,還用于接收下位機(jī)控制器發(fā)送的機(jī)器人狀態(tài)信息及類G代碼運行狀況信息; 所述上位機(jī)遠(yuǎn)程控制裝置還包括: 狀態(tài)顯示單元,用于顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
7.一種下位機(jī)控制器,其特征在于,所述下位機(jī)控制器包括: 接收單元,用于接收上位機(jī)控制器發(fā)送的數(shù)據(jù)幀,所述數(shù)據(jù)幀是由所述上位機(jī)控制器將獲取的類G代碼編碼打包成的數(shù)據(jù)幀,所述類G代碼的命令格式為:Nx命令X Rj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號; 解碼單元,用于將接收到的數(shù)據(jù)幀進(jìn)行解碼; 運動調(diào)度單元,用于根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
8.如權(quán)利要求7所述的下位機(jī)控制器,其特征在于,所述下位機(jī)控制器還包括:輸出單元,用于將機(jī)器人狀態(tài)信息及類G代碼運行狀況信息輸出給所述上位機(jī)遠(yuǎn)程控制裝置,以便所述上位機(jī)遠(yuǎn)程控制裝置顯示機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
9.一種多機(jī)器人控制系統(tǒng),其特征在于,所述系統(tǒng)包括上位機(jī)遠(yuǎn)程控制裝置及與所述上位機(jī)遠(yuǎn)程控制裝置連接的兩個以上的下位機(jī)控制器; 所述上位機(jī)遠(yuǎn)程控制裝置包括: 獲取單元,用于獲取類G代碼,所述類G代碼的命令格式為:Nx命令xRj,其中Nx表示該條命令的行號,命令X表示第X行的具體的G代碼命令,Rj指示該條命令在哪個機(jī)器人上執(zhí)行,其中j為機(jī)器人的編號; 編碼單元,用于將所述獲取單元獲取到的類G代碼編碼打包成數(shù)據(jù)幀; 發(fā)送單元,用于發(fā)送所述數(shù)據(jù)幀; 所述下位機(jī)控制器包括: 接收單元,用于接收所述發(fā)送單元發(fā)送的數(shù)據(jù)幀; 解碼單元,用于將所述接收單元接收到的數(shù)據(jù)幀進(jìn)行解碼; 運動調(diào)度單元,用于根據(jù)解碼后的類G代碼產(chǎn)生機(jī)器人控制信號,以調(diào)度相應(yīng)機(jī)器人運動。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述下位機(jī)控制器還包括: 輸出單元,用于輸出機(jī)器人狀態(tài)信息及類G代碼運行狀況信息; 所述獲取單元,還用于接收所述機(jī)器人狀態(tài)信息及類G代碼運行狀況信息; 所述上位機(jī)遠(yuǎn)程控制裝置還包括: 狀態(tài)顯示單元,用于顯示所述機(jī)器人狀態(tài)信息及類G代碼運行狀況信息。
【文檔編號】B25J9/16GK103538069SQ201310495892
【公開日】2014年1月29日 申請日期:2013年10月21日 優(yōu)先權(quán)日:2013年10月21日
【發(fā)明者】何凱, 汪正東, 方海濤, 杜如虛 申請人:深圳先進(jìn)技術(shù)研究院