許多任務(wù)要求控制器實(shí)現(xiàn)貝塞爾等復(fù)雜曲線的軌跡插補(bǔ),并通過倒圓角算法平滑軌跡中的拐角。本文將重點(diǎn)介紹一般曲線軌跡的插補(bǔ)算法,并基于ZMC300E EtherCAT主站控制器,實(shí)現(xiàn)對文字輪廓的繪制。
?ZMC300E介紹
ZMC300E是廣州致遠(yuǎn)電子股份有限公司開發(fā)的最新一代智能總線型 EtherCAT 主站控制器,是面向工廠智能化時(shí)代的機(jī)器控制器。其采用工業(yè)領(lǐng)域內(nèi)先進(jìn)的嵌入式 ARM 方案,集實(shí)時(shí)操作系統(tǒng)、智能算法于一身,以 EtherCAT 工業(yè)以太網(wǎng)協(xié)議為向?qū)?,可以快速、有效、便捷的?gòu)建數(shù)控智能化設(shè)備,以適應(yīng)工廠智能化、信息化產(chǎn)業(yè)的變革。ZMC300E采用工業(yè)領(lǐng)域內(nèi)先進(jìn)的嵌入式 ARM 方案,使用TI的Cortex-A8內(nèi)核的AM335X應(yīng)用處理器為核心,配合Xenomai高實(shí)時(shí)性Linux系統(tǒng),精心設(shè)計(jì)了一路EtherCAT口作為主站使用,其通訊可實(shí)現(xiàn)ms周期任務(wù)抖動±15us以內(nèi),可滿足運(yùn)動控制器的高實(shí)時(shí)性要求。為了滿足不同的自動化應(yīng)用需求,ZMC300E還提供了多種豐富的硬件接口,包含1路CAN、1路485、2路以太網(wǎng)、32個用戶I/O等等。
圖1 ZMC300E接口示意圖
ZMC300E EtherCAT主站控制器是為設(shè)備制造商提供多軸數(shù)、多IO點(diǎn)數(shù)控制的新一代可靠智能的運(yùn)動控制解決方案,可以廣泛應(yīng)用于注塑行業(yè)、沖壓行業(yè)、車床行業(yè)、搬運(yùn)碼垛、關(guān)節(jié)機(jī)器人、噴涂、玻璃機(jī)、壓鑄機(jī)、包裝設(shè)備、3C設(shè)備、鋰電池設(shè)備、紡織、流水線工作站、非標(biāo)自動化裝備、特種機(jī)床等高端設(shè)備應(yīng)用。
?插補(bǔ)算法插補(bǔ)算法根據(jù)給定的信息進(jìn)行數(shù)字計(jì)算,不斷計(jì)算出參與運(yùn)動的各坐標(biāo)軸的進(jìn)給指令,然后分別驅(qū)動各自相應(yīng)的執(zhí)行部件產(chǎn)生協(xié)調(diào)運(yùn)動,以使被控機(jī)械部件按理想的路線與速度移動。插補(bǔ)最常見的兩種方式是直線插補(bǔ)和圓弧插補(bǔ)。插補(bǔ)運(yùn)動至少需要兩個軸參與,進(jìn)行插補(bǔ)運(yùn)動時(shí),首先需要建立坐標(biāo)系,將規(guī)劃軸映射到相應(yīng)的坐標(biāo)系中,運(yùn)動控制器根據(jù)坐標(biāo)映射關(guān)系,控制各軸運(yùn)動,實(shí)現(xiàn)要求的運(yùn)動軌跡。
目前,ZMC300E支持下面列出的軌跡插補(bǔ)算法:包括直線、平面圓弧、空間圓弧、螺旋線、漸開線、橢圓弧和貝塞爾曲線等。
圖2 軌跡插補(bǔ)算法示意圖線運(yùn)動的插補(bǔ)運(yùn)動:由起始點(diǎn)處沿 X 方向走一小段(給一個脈沖當(dāng)量軸走一段固定距離),發(fā)現(xiàn)終點(diǎn)在實(shí)際輪廓的下方,則下一條線段沿 Y 方向走一小段,此時(shí)如果線段終點(diǎn)還在實(shí)際輪廓下方,則繼續(xù)沿 Y 方向走一小段,直到在實(shí)際輪廓上方以后,再向 X 方向走一小段,依次循環(huán)類推,直到到達(dá)輪廓終點(diǎn)為止。
圖3 直線插補(bǔ)示意圖
弧插補(bǔ)與此類似,也是通過沿兩個方向運(yùn)動最終到達(dá)輪廓終點(diǎn),其示意圖如下。
圖4圓弧插補(bǔ)示意圖
而對于橢圓弧來說,我們需要根據(jù)每一個時(shí)間段移動的距離得出完成該位移時(shí)新的坐標(biāo),也就是用直線代替了這段位移,隨后使用直線插補(bǔ)的方法,最終實(shí)現(xiàn)對一般曲線的插補(bǔ),可見下面的橢圓弧示意圖。其中紅點(diǎn)對橢圓弧的總位移進(jìn)行了等分,相鄰兩個紅點(diǎn)間橢圓弧的位移相等。而分段越多,相應(yīng)直線段對橢圓弧的逼近就越好,此時(shí)在等分后的軌跡上完成插補(bǔ)即可。
圖5橢圓弧分段示意圖
另外,對于貝塞爾曲線等一般曲線來說,需要依據(jù)一段時(shí)間內(nèi)的位移得出其對應(yīng)的坐標(biāo),隨后采用插補(bǔ)進(jìn)而實(shí)現(xiàn)整個曲線軌跡的跟蹤。
軌跡前瞻運(yùn)動控制器的軌跡前瞻功能可以根據(jù)用戶的運(yùn)動路徑自動計(jì)算出平滑的速度規(guī)劃,以防止軌跡的拐角處速度過快。軌跡前瞻包括三種模式:拐角減速、倒角、小圓限速,而這三種模式也可混合使用。拐角減速會根據(jù)夾角大小確定拐角處的最大速度,倒角則會設(shè)置前后兩個軌跡在拐角處的倒角,而小圓限速則會對半徑小于設(shè)置值的圓弧軌跡進(jìn)行限速。
這里給出一個矩形以倒角圓作為前瞻的示例。一個普通的矩形軌跡如下圖。
圖6矩形軌跡示意圖
該矩形含有四段軌跡。
若開啟倒角圓作為前瞻,則矩形軌跡則會變?yōu)閳A角矩形,共含有其八段軌跡,包含四段直線和四段圓弧。
圖7開啟運(yùn)動前瞻圓角矩形示意圖
開啟運(yùn)動前瞻中的倒圓角。可以看到,在拐角處原來的直角彎改變?yōu)閳A弧,整個運(yùn)動軌跡上不再出現(xiàn)直接的拐角,這樣能夠消除軌跡改變時(shí)對機(jī)械的沖擊。
繪圖這里我們使用上面介紹的軌跡算法,繪制出復(fù)雜圖形。首先我們由一段確定了字體的文字,并根據(jù)其筆畫生成相應(yīng)的輪廓:包括直線和貝塞爾曲線,這里選擇的文字是“專業(yè)專注,只做第一”。
對于輸入的文字,我們可以根據(jù)其對應(yīng)的字體將它的筆畫分解為曲線或直線,其中曲線可以用貝塞爾曲線表示,這樣就可以得到對應(yīng)繪圖軌跡。
圖8由文字生成軌跡圖像
下圖是漢字“專”的底部輪廓,可以看到由貝塞爾曲線表示的輪廓具有良好的光滑性。
圖9局部筆畫
可以看到圖片包含眾多不連續(xù)的筆畫,那么,對于前后兩個不連續(xù)的筆畫來說需要提筆和進(jìn)筆,對應(yīng)z軸上下的運(yùn)動。加入筆畫的連接,可以得到以下的筆畫繪圖。圖10?筆畫繪畫示意圖
-
控制器
+關(guān)注
關(guān)注
112文章
16105瀏覽量
177082 -
機(jī)器
+關(guān)注
關(guān)注
0文章
777瀏覽量
40667
發(fā)布評論請先 登錄
相關(guān)推薦
評論