本(ben)文比力了機(ji)器臂跟移動(dong)機(ji)器人兩種工業機(ji)器人的控制系統(tong)計劃,對(dui)其(qi)特(te)色停止(zhi)了先容(rong)。
以上(shang)分類是依據使用工具,另(ling)外,市面上(shang)更多的(de)是通(tong)用型運動(dong)控制(zhi)器,即節制(zhi)非標設(she)備(bei)的(de)。
1控(kong)制器(qi)底層(ceng)計劃(hua)1.1機(ji)器(qi)臂類機(ji)器(qi)臂類的控(kong)制器(qi)開展(zhan)較早,絕(jue)對成熟,先(xian)去(qu)看看現有的控(kong)制系(xi)統(tong)底層(ceng)計劃(hua)。
1.2移(yi)動(dong)機(ji)(ji)器人(ren)類移(yi)動(dong)機(ji)(ji)器人(ren)的(de)控制器屬于較新的(de)標的(de)目的(de),工業移(yi)動(dong)機(ji)(ji)器人(ren)有AGV、無人(ren)駕(jia)駛工程機(ji)(ji)械等(deng)情(qing)勢。
1.3比照
機(ji)器(qi)臂對精(jing)度跟運(yun)動穩定性(xing)的(de)要(yao)求(qiu)較下,是以計較量(liang)年夜(ye)、周期(qi)短,比移動機(ji)器(qi)人(ren)普通要(yao)下1到2個量(liang)級。移動機(ji)器(qi)人(ren)普通對同(tong)步精(jing)度要(yao)求(qiu)不高,其設(she)置(zhi)絕對較低。
機(ji)(ji)器臂普(pu)(pu)通事情于流動的區域,其控制器平(ping)常安排(pai)于機(ji)(ji)箱內,是(shi)(shi)以防護(hu)等級(ji)不高,普(pu)(pu)通是(shi)(shi)IP20。
移動(dong)機器人因(yin)為須要(yao)時(shi)常運動(dong),特別是(shi)室外工程機器,要(yao)思(si)量防(fang)(fang)水防(fang)(fang)塵,其防(fang)(fang)護(hu)等級較下,普通是(shi)IP67。
2CoDeSys先容2.1CoDeSys的構成
您會發(fa)明(ming),良多的機器人(ren)控制軟件皆(jie)是(shi)借(jie)助CoDeSys實現的,那么甚(shen)么是(shi)CoDeSys呢?
CoDeSys是一款付費的硬PLC開發軟(ruan)件,簡略來講,它包羅(luo)兩部門(men):DevelopmentSystem跟RuntimeSystem。DevelopmentSystem就(jiu)是用(yong)來編程的軟(ruan)件界面(便(bian)像VisualStudio、Eclipse等軟(ruan)件,也可以稱(cheng)為(wei)IDE),計劃、調試、編譯PLC順序(xu)皆正在IDE中停止,這部分(fen)是用(yong)戶時常打交(jiao)道的;
PLC順(shun)序寫好了當前,就要把它轉(zhuan)移到硬件設備中運轉(zhuan)。但是這時候(hou)天生的PLC順(shun)序本人是沒(mei)法運轉(zhuan)的,它還要正在必然的軟(ruan)件情況(kuang)中才氣(qi)事情,這個情況(kuang)就是RuntimeSystem,這部分是用戶(hu)看(kan)不到的。
分揀機器人matlab仿真兩者裝置的(de)地位(wei)平常分歧(qi),IDE普通裝置正(zheng)在開(kai)辟電腦上,RuntimeSystem則位(wei)于起(qi)節制作用(yong)的(de)硬件設備(bei)上,兩者普通利用(yong)網(wang)(wang)線毗鄰,順序經由(you)過(guo)程網(wang)(wang)線下載到(dao)Runtime中運轉。
CoDeSys正在(zai)海內知(zhi)名(ming)度(du)不高,可是正在(zai)歐洲久負盛名(ming),特別正在(zai)工業(ye)節制(zhi)范疇(chou)。咱們(men)下面提到的良多機器(qi)人公司皆利用了它的產物,例如KEBA、倍福、固高,另有簡直一切的移動機器(qi)人控制(zhi)器(qi)廠家。
計(ji)劃(hua)CoDeSys的3S公(gong)司只賣(mai)軟件(jian),不賣(mai)硬(ying)件(jian)。硬(ying)件(jian)電路須要由(you)用戶(hu)(hu)(hu)本人計(ji)劃(hua),3S公(gong)司擔任(ren)將RuntimeSystem移植到客(ke)戶(hu)(hu)(hu)的硬(ying)件(jian)上。RuntimeSystem可(ke)以裸跑正在硬(ying)件(jian)上,但(dan)普通是運轉正在操(cao)(cao)作系統上,設(she)置操(cao)(cao)作系統也(ye)是客(ke)戶(hu)(hu)(hu)的事情(qing)。
若(ruo)是客戶要求,CoDeSys的(de)IDE可以定制,換成客戶的(de)logo跟表面,那就是為何您會(hui)發明分歧廠(chang)家的(de)開辟平(ping)臺長(chang)得沒有一樣,但氣(qi)勢派(pai)頭(tou)又(you)比力類(lei)似。
當然(ran),用(yong)戶也可以利(li)用(yong)別的IDE,例(li)如倍福便利(li)用(yong)了微軟的VisualStudio,而背(bei)地的編譯器等內核和函數庫(ku)依然(ran)采(cai)取CoDeSys的計劃。
分揀機器人優點缺點CoDeSys的(de)Runtime存在壯大的(de)適應性,撐持(chi)絕大多數的(de)操作(zuo)系統跟硬件芯片架(jia)構。
2.2CoDeSysRuntime原理CoDeSys的(de)IDE部門是(shi)收費(fei)的(de),您可以從其官網下載(zai)體驗體驗。真正(zheng)免費(fei)的(de)是(shi)運轉體系RuntimeSystem。
CoDeSys正在計(ji)劃之初便將功(gong)用分別為(wei)若干組件模(mo)塊,例如總線和談棧、可(ke)視化(hua)界面(mian)、運(yun)動節制、安(an)全控制等等,用戶可(ke)以像(xiang)搭積木一(yi)樣選(xuan)購必須的模(mo)塊搭建本人的體系,最初造成一(yi)個定(ding)制化(hua)的節制軟件平臺。
自動分揀機器人去哪買一些初度(du)打仗硬PLC的用(yong)戶能夠對(dui)這部分覺得(de)目生(sheng),但實(shi)在(zai)這類(lei)計劃(hua)方(fang)法十分遍及(ji)(ji)。舉(ju)幾個例子,MATLABSimulink的及(ji)(ji)時工具(ju)箱就是如(ru)許的事情方(fang)法,用(yong)戶正在(zai)Simulink的圖形界面(mian)里經由過程拖拽計劃(hua)控制程序,然后下載到真實(shi)的硬件中跑,可以正在(zai)這里相識。
另有像倍(bei)禍(huo)(huo)也是如(ru)許的(de)(de)利用方法,用戶正在TwinCATIDE里停止編程,然后(hou)下載到倍(bei)禍(huo)(huo)的(de)(de)控制(zhi)器(qi)中,控制(zhi)器(qi)內里實(shi)在曾經預裝了(le)一(yi)個Runtime。西門(men)子的(de)(de)STEP7也是一(yi)款(kuan)IDE,它的(de)(de)PLC中也存在一(yi)個配套(tao)的(de)(de)Runtime。
用戶編寫的PLC順序便像咱們電(dian)腦(nao)里(li)的應用程序,它運(yun)轉(zhuan)正在RuntimeSystem上(shang),而RuntimeSystem又運(yun)轉(zhuan)正在操作系統之(zhi)上(shang)。
RuntimeSystem位于(yu)應用程序(xu)跟操作(zuo)系統之間。以(yi)是(shi)可以(yi)被稱為中(zhong)間件。正在機器人軟件內里,處于(yu)一樣位置的另有ROS、OROCOS(Real-TimeToolkit)等等。
機器人(ren)(ren)的(de)節(jie)制,像數控機床一樣,對實時(shi)(shi)性有要(yao)求,是(shi)以咱們取舍(she)的(de)操作(zuo)系(xi)統(tong)最好是(shi)實時(shi)(shi)操作(zuo)系(xi)統(tong)。遺憾的(de)是(shi),咱們時(shi)(shi)常用的(de)操作(zuo)系(xi)統(tong)皆不是(shi)及時(shi)(shi)的(de),例(li)如Windows跟(gen)Linux。但榮幸的(de)是(shi),有人(ren)(ren)對它們停止了改革,也就(jiu)是(shi)參加及時(shi)(shi)補釘。
常用的(de)實時操作(zuo)系統有:VxWorks、QNX、WindowsRTX、Xenomai、RTLinux、LinuxRTAI、WinCE、μC/OS、SylixOs等(deng)等(deng)。思量到Windows跟Linux那(nei)兩款操作(zuo)系統的(de)用戶(hu)較多(duo),CoDeSys推(tui)出了響應(ying)的(de)及時補釘,為用戶(hu)免去了改(gai)革的(de)懊惱。
三維分揀機器人念相識(shi)更多的CoDeSysRuntime信息可以瀏覽(lan)官(guan)方的文檔(dang)[MathProcessingError][1][2][1][2]。
2.3CoDeSys的缺陷
CoDeSys給(gei)咱們開辟控(kong)制(zhi)器帶來(lai)了便當,省去(qu)了從零開始的(de)(de)貧苦(ku),可(ke)是(shi)依賴CoDeSys這類商業(ye)軟件開辟本人(ren)的(de)(de)控(kong)制(zhi)器產物(wu)也存(cun)在很(hen)多的(de)(de)缺(que)陷(xian):
底層算法沒有公然
CoDeSys集成的(de)運動(dong)節制組件、總線和談(tan)棧皆是(shi)封裝好的(de),用戶沒法(fa)相識(shi)其外部細(xi)節,也沒法(fa)針對本人(ren)(ren)的(de)詳細(xi)需要停止定制優化,只(zhi)能(neng)簡略(lve)天挪用。用戶只(zhi)能(neng)依附(fu)于(yu)CoDeSys平臺,難以造成本人(ren)(ren)的(de)核心技術(shu)。
功用有限,難以擴展
此(ci)刻以機械視覺(jue)、人(ren)工智能、自動駕駛(shi)等為(wei)代表的新(xin)(xin)技(ji)巧日新(xin)(xin)月異(yi),而工業(ye)節制上(shang)的良多技(ji)巧依然逗留正在(zai)20年前。以移動機器人(ren)中的導航(hang)場景為(wei)例(li),基于視覺(jue)或(huo)許激(ji)光的導航(hang)方式須要收羅大(da)批的數據(ju)并對其停止處置(zhi)懲(cheng)罰,此(ci)中波及相稱多的矩陣計較。
而此刻PLC只能停止(zhi)落后(hou)的(de)(de)(de)一維數(shu)(shu)字計(ji)較(jiao)(jiao),難以(yi)實現龐大的(de)(de)(de)算法。與人工智能圈子喜好開(kai)源的(de)(de)(de)氣勢(shi)派(pai)頭(tou)正好相(xiang)反,工業節(jie)制圈子彼此封鎖(suo),誰皆不(bu)愿開(kai)放(fang)自家(jia)的(de)(de)(de)函(han)數(shu)(shu)庫(ku)(ku),開(kai)源函(han)數(shu)(shu)庫(ku)(ku)少少,便連最根(gen)本(ben)(ben)的(de)(de)(de)濾波算法、矩陣計(ji)較(jiao)(jiao)皆要本(ben)(ben)人從頭(tou)開(kai)始寫(xie)。并且,國際(ji)標準供給的(de)(de)(de)根(gen)本(ben)(ben)函(han)數(shu)(shu)太(tai)甚(shen)有限,完(wan)整沒法順應新的(de)(de)(de)場(chang)景,急需(xu)擴(kuo)展。
難以更新
因為完整(zheng)依(yi)附(fu)CoDeSys,客(ke)戶(hu)本(ben)(ben)人產物硬件(jian)的(de)升級換代須(xu)要(yao)從頭定制移植,招(zhao)致成本(ben)(ben)增加(jia)。
3開源計劃
現階段存在(zai)一些開源的控制系統計(ji)劃,例如(ru)Beremiz、Orocos、OpenPLC、OpenRTM、ORCA。
開(kai)辟機器人控制器是個沉重(zhong)的事情,要(yao)明白一系列機能要(yao)求,起(qi)首是實時性。
實(shi)時性(xing)(xing)關于工業(ye)機器人來講普(pu)通是(shi)(shi)必(bi)需的(de)(de),關于效勞或(huo)文娛機器人則一定(ding)。普(pu)通人很(hen)簡單錯把“實(shi)時性(xing)(xing)”明(ming)白為(wei)處(chu)置懲罰或(huo)許響應速度快,可是(shi)(shi)實(shi)在(zai)“實(shi)時性(xing)(xing)”默示工夫上的(de)(de)“確定(ding)性(xing)(xing)”,例如(ru)實(shi)時操作系統中的(de)(de)中止相應或(huo)許歷程切換的(de)(de)延(yan)遲時間必(bi)然是(shi)(shi)正(zheng)在(zai)一個工夫規模內。
咱們(men)(men)常用的(de)(de)操(cao)(cao)作(zuo)系統(tong)皆不(bu)(bu)是(shi)實時(shi)操(cao)(cao)作(zuo)系統(tong),由于它(ta)們(men)(men)計劃的(de)(de)初志是(shi)吞吐(tu)量,不(bu)(bu)克不(bu)(bu)及(ji)保障每一(yi)個事宜皆正在必然規模內(nei)失(shi)掉處置懲(cheng)罰。再(zai)好比,尺(chi)度以太網的(de)(de)傳輸(shu)速度比及(ji)時(shi)工業以太網快多了,可是(shi)它(ta)也卻不(bu)(bu)是(shi)及(ji)時(shi)的(de)(de),由于它(ta)一(yi)樣不(bu)(bu)克不(bu)(bu)及(ji)保證(zheng)數(shu)據正在給定(ding)的(de)(de)工夫內(nei)實現(xian)傳輸(shu)。
明白(bai)實時(shi)性(xing)不太難(nan),但(dan)是機器(qi)人哪(na)些的使命須要(yao)及時(shi)運轉呢?若何依據機器(qi)人的機能要(yao)求肯定程序運行的工夫(fu)距離呢?實時(shi)性(xing)在于硬件仍是軟(ruan)件呢?
若何依據實(shi)時性取(qu)舍(she)詳細的軟硬(ying)件呢(該取(qu)舍(she)ARM仍是X86、LinuxRTAI仍是VxWorks)?網上短(duan)少這(zhe)方面的深化探討,各(ge)大(da)機(ji)器人廠家也不會(hui)公然(ran)本人的測試跟實(shi)驗成果,好像這(zhe)方面次要依賴履歷跟試錯。
這里我也只能(neng)供給幾個目標,現(xian)階段(duan)工(gong)業機(ji)器臂的節制周期是1ms擺布,機(ji)能(neng)較下(xia)的伺服驅動(dong)器地位環的節制周期可以到達125[MathProcessingError]musμs。PLCopen界說了伺服跟(gen)運(yun)動(dong)節制的一些尺度(du),包(bao)羅編程(cheng)語言、運(yun)動(dong)節制根底函數塊(kuai)、輸(shu)入輸(shu)出接口的參數等。
貨物分揀機器人發展水果分揀機器人價格智能快速分揀機器人