《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的數字卷積加減速算法的設計與實現
基于FPGA的數字卷積加減速算法的設計與實現
2015年電子技術應用第8期
程文雅,高 敏,李盛培
西南科技大學 信息工程學院,四川 綿陽621000
摘要: 為了減小計算量,引入了數字卷積采用FPGA硬件編程的方式實現加減速控制算法,提高了算法的穩定性和運算速度;為了減小速度誤差和位置誤差,在不同情況下采用相應的補償算法來實現對定點數運算過程中的余數處理;針對數字卷積運算之前產生的余數,在速度序列的末尾添加速度補償序列來消除余數誤差;對于數字卷積運算過程中產生的余數,采用余數累加的方式來減小余數誤差。
中圖分類號: TH16;TP311
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.012
中文引用格式: 程文雅,高敏,李盛培. 基于FPGA的數字卷積加減速算法的設計與實現[J].電子技術應用,2015,41(8):43-46.
英文引用格式: Cheng Wenya,Gao Min,Li Shengpei. Design and implementation of a FPGA-based digital convolution acceleration and deceleration algorithm[J].Application of Electronic Technique,2015,41(8):43-46.
Design and implementation of a FPGA-based digital convolution acceleration and deceleration algorithm
Cheng Wenya,Gao Min,Li Shengpei
School of Information Engeneering,Southwest University of Science and Technology,Mianyang 621000,China
Abstract: In order to reduce the amount of calculation, the way of digital convolution being realized by using FPGA hardware programming is introduced to realize acceleration/deceleration motion algorithm and improves the stability and speed of the algorithm. In order to reduce the speed error and position error, corresponding compensation algorithm is used according to the different condition to realize the remainder in the process of processing operations on fixed-point number. For the remainder produced before digital convolution computation, add the speed compensation sequence to the end of the speed sequence to remove the remainder error. For the remainder produced in the process of digital convolution operation, adopt the way of accumulating remainders, to reduce the remainder error.
Key words : acceleration and deceleration;direct convolution;trapezoidal curve;S curve;FPGA

    

0 引言

    現代數控系統、工業機器人正向著高速和高精度的方向發展,而加減速控制算法在實現其運動的高速、高精度上起著至關重要的作用。哈爾濱工程大學鄭金興等[1]提出了基于梯形速度控制的變插補周期實時插補算法,該算法可有效地控制加工精度,充分發揮了各軸聯動的加減速能力,但在運動的高速和實時性上不是很理想;朱明等[2]提出了一種實用的S曲線加減速控制算法,該算法加速度連續變化,速度變化平穩,減小了加工過程中速度突變造成的沖擊,但算法稍復雜,計算量大。目前,應用于數控系統和工業機器人中的加減速運動控制算法有很多。如梯形曲線加減速、S形曲線加減速、多項式加減速、三角函數加減速[3-4]等控制算法。這些加減速算法都可以通過軟件編程的方式實現,但由于計算量較大使得很難通過硬件編程的方式實現。為了減小計算量,實現加減速控制算法的高速與高精度,Chen和LEE[5]提出了基于FIR濾波器的加減速速度規劃算法。該算法采用濾波技術對加減速度進行光滑處理,實現了加減速的連續變化,減少了加工中由于加減速突變而產生的振動,進而實現高精度加工,同時又能達到良好的加減速性能,實現高速的加工;但其算法稍復雜,實現上有一定的難度。KIM D[6]提出了一種基于卷積的加減速運動規劃算法。該算法通過對速度進行卷積,使得在計算過程中只包含加法與除法運算,簡化了復雜的計算過程,提高了加減速控制算法的運算速度。

    本文在以上研究基礎上,引入數字卷積,采用FPGA硬件編程的方式實現數字卷積加減速控制算法,提高了運算速度與精度。該算法采用定點數進行計算,節約了FPGA的邏輯門的數量并且減小了計算誤差。

1 數字卷積加減速算法

    基于數字卷積加減速算法[7]卷積算子表達式為:

wdz3-gs1-2.gif

    由于式(2)是迭代表達式,并且只包含加法和除法運算,因此采用FPGA硬件去實現將極大地降低計算量。

    對于固定速度Vmax輸入經過一次數字卷積后得到如圖1所示的梯形加減速曲線。其中,總的運行時間nTs等于曲線的長度除以固定速度Vmax。經過數字卷積后速度的位移距離必須保持一致,因此,H1的值取為1/n1Ts。如果想要得到光滑、高柔性的S形加減速速度曲線,可以對固定速度輸入進行兩次數字卷積,即對得到的梯形速度曲線再進行一次數字卷積如圖2所示。另外,為了確保在經過兩次數字卷積后能夠達到最大速度Vmax,n2Ts的時間必須小于n1Ts,否則在經過數字卷積后得到的最大速度將小于固定的速度值Vmax。

wdz3-t1.gif

wdz3-t2.gif

2 數字卷積加減速算法的硬件實現

2.1 梯形加減速算法的實現

    對于單軸點對點的梯形加減速運動,S為總的運動距離,Vmax為最大速度,N1為梯形加減速數字卷積序列長度??偟倪\行時間為S除以Vmax;在FPGA硬件設計時采用定點數進行計算,在運算過程中涉及到除法運算。因此,為了減小誤差要考慮余數的問題。文中的運動距離S、速度Vmax及余數之間的關系表達式如式(3):

    wdz3-gs3.gif

    其中,N表示速度為Vmax時的速度序列脈沖數,R為余數。另外,輸入速度序列為X1[k],如圖3所示。

    wdz3-gs4.gif

wdz3-t3.gif

    卷積算子序列Y1[i]如圖4所示,數字卷積序列長度為N1,其中N1<N/2。通過對X1[k]與Y1[i]進行一次數字卷積得到梯形加減速運動控制速度序列如圖5所示,其表達式為式(5):

    wdz3-gs5.gif

wdz3-t4-5.gif

    如果忽略余數R,在運動過程中將出現速度誤差,進而導致位置誤差。為了解決這個問題,本文采用速度補償的方式,在速度序列的末尾添加補償速度序列來消除余數誤差,得到的速度輸出序列如圖6所示。

wdz3-t6.gif

2.2 S形曲線加減速算法的實現

    如果對X1[k]進行兩次數字卷積將得到S形加減速曲線;對于S曲線加減速,第二次數字卷積的序列長度為N2。為了保證在經過兩次數字卷積后,能夠達到最大速度Vmax,N2的取值必須小于N1,卷積算子序列Y2[n]如圖7所示。通過X2[j]與Y2[n]進行數字卷積可得到S形加減速曲線速度序列X4[q],如圖8所示。

    wdz3-gs6.gif

wdz3-t7-8.gif

    與梯形加減速類似,如果忽略余數R將導致速度誤差和位置誤差。為了解決這個問題,本文采用速度補償的方式,在速度序列的末尾添加補償速度序列來消除余數誤差,得到的速度輸出序列X5(h)如圖9所示。

wdz3-t9.gif

2.3 余數補償算法

    由于在通過FPGA實現的過程中采用定點數進行計算,因此,在卷積計算的除法運算過程中,需要考慮余數問題[8]。事實上,在整個數字卷積的計算中有兩種情況會產生余數:第一種情況是在數字卷積之前卷積序列長度N的計算,如式(3)所示;另一種情況是在數字卷積計算過程中產生的余數如式(2)所示。為了解決上述問題,針對不同情況下的余數問題采用不同的算法來實現補償。

    對于在數字卷積之前產生的余數,余數R的計算如式(3)所示,這種情況下采用在速度序列的末尾添加速度補償序列。梯形加減速的卷積序列X2[N1+N-1]如式(5)所示,余數R可表示為:

    wdz3-gs7.gif

    其中,V是X2[N1+N-1]序列的值;A表示速度為V時的速度補償序列脈沖數;B表示最終補償脈沖序列的誤差值。另外,P表示在圖7中總的添加的補償速度序列脈沖數。

    wdz3-gs8.gif

    類似地,對于S形曲線加減速速度序列X4[N+N1+N2-1]如式(6)所示,余數R可以表示為:

    wdz3-gs9.gif

    其中,W是X4[N+N1+N2-1]序列的值;C表示速度為W時的速度補償序列脈沖數;D表示最終補償脈沖序列的誤差值。另外,P表示總的添加補償速度序列脈沖數。

    wdz3-gs10.gif

3 仿真與驗證分析

    仿真驗證過程在Matlab和Quartus II 13.1開發環境下采用硬件描述語言Verilog,在Altera的Cyclone IV器件上進行仿真和驗證實現。圖10為在MATLAB上S=250,Vmax=10,N1=7時的梯形曲線加減速運動控制實驗結果;圖11為S=250,Vmax=10,N1=7,N2=4時的S形曲線加減速運動控制實驗結果;圖12、圖13分別為梯形和S形曲線加減速速度誤差圖,從圖中可以看出速度的誤差保持在±0.02范圍內。圖14為S=250,Vmax=10,N1=7時的梯形曲線加減速通過FPGA硬件實現后在Modelsim上的仿真波形圖,圖15為S=250,Vmax=10,N1=7,N2=4時的S形曲線加減速通過FPGA硬件實現后的仿真波形,其中,標有圓圈部分為添加的余數補償速度部分。

wdz3-t10.gif

wdz3-t11.gif

wdz3-t12.gif

wdz3-t13.gif

wdz3-t14.gif

wdz3-t15.gif

4 結論

    針對工業機器人、數控系統中的加減速控制算法引入了數字卷積,減小了計算量,并通過FPGA硬件編程的方式實現了數字卷積的梯形曲線、S形曲線加減速控制算法。本文詳細分析了采用定點數計算數字卷積加減速算法過程的余數的處理方式。對與數字卷積運算之前產生的余數,在速度序列的末尾添加速度補償序列來消除余數誤差;對于數字卷積運算過程中產生的余數,采用余數累加的方式,來減小余數誤差。采用FPGA硬件編程的方式實現加減速控制算法,簡化系統結構,提高運算效率和算法的穩定性。

參考文獻

[1] 鄭金興,張銘鈞.梯形速度控制變插補周期的實時插補算法研究[J].機床與液壓,2007(1):77-80.

[2] 朱明,游有鵬,何均.S形加減速算法前瞻處理研究[J].小型微型計算機系統,2011(10):2140-2144.

[3] 陳曉兵,廖文和.基于分段刀軌S曲線加減速控制的進給速度優化研究[J].組合機床與自動化加工技術,2012(10):44-47.

[4] 劉筱,吳文江,鄭飂默.柔性S型加減速控制算法研究[J].組合機床與自動化加工技術,2014(3):66-68.

[5] CHEN C S,LEE A C.Design of acceleration deceleration profiles in motion control based on digital FHR filters[J].Journal of Machine Tools & Manufacture,2001,38:799-825.

[6] KIM D I,JEON J W,KIM S.Software acceleration/deceleration methods for industrial robots and cnc maching tools[J].Mechatronics,1994,4(1):37-53.

[7] 陳偉娜,賴乙宗,李松,等.數控系統線性加減速算法分析與實現[J].科學技術與工程,2012(3):546-550.

[8] 王昕,王均偉,饒志,等.基于NURBS曲線軌跡規劃與速度規劃的研究[J].系統仿真學報,2008(15):3973-3980.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区高清在线观看| 性久久久久久| 亚洲线精品一区二区三区八戒| 在线日韩成人| 国产精品自拍网站| 欧美手机在线视频| 欧美日韩国产电影| 欧美交受高潮1| 免费在线视频一区| 毛片一区二区三区| 麻豆精品视频| 免费精品99久久国产综合精品| 久久精品国产清自在天天线| 欧美一区二区三区四区在线| 亚洲欧美日韩一区二区| 亚洲一区日韩在线| 亚洲一区二区三区精品动漫| 亚洲视频免费在线| 亚洲影院在线| 午夜精彩国产免费不卡不顿大片| 亚洲免费在线视频| 小嫩嫩精品导航| 久久国产88| 久久免费一区| 玖玖玖免费嫩草在线影院一区| 久久在线免费| 男男成人高潮片免费网站| 欧美.com| 欧美伦理91| 欧美午夜www高清视频| 国产精品久久久久久久电影 | 日韩视频中文字幕| 一区二区三区高清视频在线观看| 亚洲一区二区三区免费观看| 亚洲综合久久久久| 久久精品主播| 欧美成人69av| 欧美日韩在线亚洲一区蜜芽| 国产精品私房写真福利视频| 国产在线麻豆精品观看| 亚洲高清免费视频| 一本色道久久综合| 欧美亚洲系列| 亚洲精品一区二区三区婷婷月| 一区二区三区精品在线| 亚洲男人第一av网站| 久久久久成人精品| 欧美日韩91| 国产伦精品一区二区三| 136国产福利精品导航网址应用| 亚洲麻豆国产自偷在线| 亚洲欧美日韩国产综合精品二区| 久久精品五月| 亚洲视频综合在线| 久久国产婷婷国产香蕉| 美女91精品| 国产精品国产三级国产普通话蜜臀 | 欧美午夜电影一区| 国产日产欧美精品| 亚洲欧洲一区二区三区久久| 亚洲一区在线观看免费观看电影高清| 久久精品国产亚洲a| 一区二区免费在线播放| 久久精品天堂| 欧美日韩亚洲视频| 精品不卡视频| 亚洲视频一二三| 亚洲国产精品国自产拍av秋霞| 亚洲性av在线| 六月婷婷一区| 国产目拍亚洲精品99久久精品| 最新日韩在线| 久久超碰97人人做人人爱| 这里只有精品视频在线| 久久蜜桃精品| 国产精品久久久久9999吃药| 伊人久久大香线蕉综合热线| 亚洲视频日本| 一区二区三区 在线观看视| 久久久天天操| 欧美午夜精品久久久久免费视| 在线观看欧美亚洲| 亚洲午夜激情免费视频| 亚洲精品一区二区三区四区高清| 久久精品亚洲国产奇米99| 欧美日韩三级| 在线精品视频免费观看| 亚洲欧美一级二级三级| 一区二区三区日韩在线观看| 久久视频国产精品免费视频在线| 国产精品久久久999| 亚洲精品视频在线看| 亚洲盗摄视频| 久久成人资源| 欧美日韩在线大尺度| 亚洲欧洲日本在线| 亚洲国产欧美久久| 久久精品夜色噜噜亚洲a∨| 欧美日韩专区| 亚洲美女少妇无套啪啪呻吟| 亚洲日本中文| 欧美 日韩 国产 一区| 国产一区二区三区四区老人| 亚洲一区二区三区成人在线视频精品| 日韩亚洲不卡在线| 欧美 日韩 国产精品免费观看| 黄色欧美成人| 欧美在现视频| 久久精品一区二区三区不卡牛牛| 国产精品入口日韩视频大尺度| 一本色道久久88精品综合| 在线视频你懂得一区二区三区| 欧美人与性禽动交情品| 亚洲激情一区| 亚洲最新合集| 欧美日韩一区二区三区在线视频| 亚洲精品视频在线观看网站| 日韩一区二区精品视频| 欧美国产日韩a欧美在线观看| 激情丁香综合| 久久精品2019中文字幕| 久久蜜臀精品av| 黄色亚洲在线| 亚洲黄色在线视频| 免费亚洲电影在线| 最新亚洲视频| 一级日韩一区在线观看| 欧美日韩国产精品自在自线| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品视频免费观看| 欧美激情第9页| 日韩视频免费| 亚洲男同1069视频| 国产精品永久免费| 久久9热精品视频| 狂野欧美激情性xxxx| 亚洲大胆视频| 99精品欧美一区| 国产精品成人播放| 亚洲一区久久| 久久九九久久九九| 伊人久久噜噜噜躁狠狠躁| 亚洲精选久久| 欧美日韩综合在线免费观看| 亚洲网址在线| 久久激五月天综合精品| 影音先锋久久久| 99热这里只有成人精品国产| 国产精品高潮粉嫩av| 性欧美激情精品| 开元免费观看欧美电视剧网站| 亚洲国产一区二区在线| 这里只有精品视频| 国产欧美一区二区精品婷婷| 亚洲国产精品一区二区第四页av | 国产精品免费网站在线观看| 性欧美长视频| 牛牛影视久久网| 一本色道久久加勒比88综合| 欧美在线www| 亚洲国产成人精品视频| 亚洲一区在线观看视频| 国产日韩三区| 亚洲免费av网站| 国产精品久久一级| 亚洲大片免费看| 欧美日韩视频在线一区二区| 亚洲免费在线精品一区| 免费精品视频| 亚洲香蕉网站| 欧美成人资源网| 亚洲一区二区三区在线播放| 蜜桃视频一区| 亚洲一区欧美激情| 欧美成人小视频| 亚洲自拍偷拍一区| 欧美成人黄色小视频| 亚洲午夜av| 欧美 日韩 国产 一区| 这里只有精品视频在线| 久热国产精品| 亚洲天堂免费观看| 欧美va亚洲va国产综合| 亚洲欧美激情精品一区二区| 欧美国产丝袜视频| 午夜精品视频在线观看一区二区| 欧美国产日本韩| 欧美一区二区三区日韩视频| 欧美日韩黄色大片| 久久精品二区三区| 国产精品久久久久久久浪潮网站| 亚洲国产精品电影| 国产精品一区二区三区四区 | 欧美激情一区二区三区不卡| 亚洲免费视频成人| 欧美日韩中文字幕在线视频| 亚洲国产精品成人| 国产欧美日韩亚洲| 亚洲线精品一区二区三区八戒| 在线成人激情视频|