《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
亚洲视频观看| 亚洲国产高清一区二区三区| 国产精品一区二区久久国产| 亚洲一区黄色| 性欧美暴力猛交另类hd| 亚洲精品美女久久7777777| 国产深夜精品| 欧美午夜精品久久久久久超碰| 久久一二三国产| 性做久久久久久| 一区二区欧美视频| 亚洲欧洲综合另类在线| 午夜精品福利在线| 在线亚洲一区观看| 亚洲人精品午夜| 在线看片欧美| 国内精品模特av私拍在线观看| 国产精品久久久| 欧美日韩国产首页在线观看| 裸体一区二区| 久久天天狠狠| 久久九九精品| 欧美亚洲综合另类| 亚洲一区影院| 亚洲手机成人高清视频| 最新中文字幕一区二区三区| 香蕉尹人综合在线观看| 日韩一级黄色片| 亚洲国产精品成人综合| 影音先锋亚洲精品| 黄色亚洲精品| 国产一区二区三区av电影| 国产精品一区二区黑丝| 国产精品久久久久久久午夜| 欧美视频在线看| 欧美日韩a区| 欧美精品国产精品| 欧美激情第六页| 久久一区国产| 老色鬼久久亚洲一区二区 | 亚洲国产精品一区在线观看不卡| 小黄鸭精品密入口导航| 午夜精品www| 性欧美长视频| 久久精品官网| 亚洲人成7777| 日韩视频免费| 正在播放欧美一区| 亚洲欧美一区二区三区极速播放| 午夜在线视频一区二区区别| 性欧美videos另类喷潮| 欧美一区三区三区高中清蜜桃 | 欧美精品v日韩精品v国产精品 | 久久精品日韩一区二区三区| 亚洲高清自拍| 久久国产福利国产秒拍| 欧美在线高清| 欧美中文字幕在线播放| 欧美亚洲综合网| 亚洲激情电影在线| 亚洲少妇自拍| 欧美中文字幕在线观看| 久久久久久网| 欧美肥婆bbw| 国产精品v亚洲精品v日韩精品| 国产精品啊啊啊| 国产欧美日韩一区二区三区在线| 国产亚洲精品久久飘花| 在线观看精品| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 在线观看一区二区视频| 亚洲精品美女在线| 亚洲一区二区免费视频| 久久超碰97人人做人人爱| 最新69国产成人精品视频免费| 日韩一区二区精品视频| 亚洲一二三区精品| 久久精品一二三| 欧美成人dvd在线视频| 免费成人黄色片| 国产精品国产三级国产普通话蜜臀| 国产日韩欧美一区| 亚洲国产精品久久久久秋霞蜜臀| 一区二区三区视频免费在线观看| 欧美一区三区三区高中清蜜桃| 日韩视频免费大全中文字幕| 午夜国产精品视频免费体验区| 另类激情亚洲| 国产精品久久综合| 亚洲国产黄色| 性欧美办公室18xxxxhd| 99国产精品一区| 亚洲午夜久久久久久久久电影网| 欧美在线日韩| 欧美日韩91| 国产一区视频观看| av不卡在线观看| 亚洲国产精品悠悠久久琪琪| 亚洲自拍都市欧美小说| 欧美成人精品一区| 国产伦精品一区二区三区视频孕妇| 亚洲国产专区| 久久国产精品亚洲77777| 亚洲永久免费av| 欧美三级韩国三级日本三斤| 亚洲欧洲精品一区| 亚洲国产精品一区二区三区| 欧美一区午夜精品| 欧美日韩免费一区二区三区视频| 精品99一区二区三区| 亚洲一区免费在线观看| 99精品免费| 免费视频一区二区三区在线观看| 黄色工厂这里只有精品| 久久爱另类一区二区小说| 亚洲自拍16p| 欧美精品系列| 亚洲第一黄网| 亚洲第一网站| 久久久久久久精| 国产免费成人av| 国产精品99久久不卡二区| 亚洲美女黄网| 欧美插天视频在线播放| 国产主播精品| 午夜一区二区三区不卡视频| 亚洲一区二区三区成人在线视频精品 | 国产精品成人午夜| 亚洲老司机av| 亚洲乱亚洲高清| 欧美成年人网站| 亚洲成人在线免费| 亚洲国产精品va在线观看黑人 | 久久精品成人一区二区三区蜜臀 | 亚洲高清电影| 亚洲欧洲一区二区三区| 久久亚洲色图| 激情久久综合| 久久精品国产精品亚洲综合| 男人插女人欧美| 99国产精品视频免费观看| 亚洲欧美激情一区二区| 国产日韩1区| 亚洲国产欧美在线人成| 欧美精品一区二区高清在线观看| 99精品久久| 欧美在线在线| 亚洲丰满少妇videoshd| 一本色道久久综合亚洲精品高清 | 久久先锋影音av| 亚洲国产精品尤物yw在线观看| 一级日韩一区在线观看| 国产精品欧美风情| 久久大逼视频| 欧美伦理在线观看| 欧美精品激情blacked18| 亚洲欧美综合精品久久成人| 国产欧美一区二区色老头| 国产精品v欧美精品∨日韩| 欧美日韩在线不卡| 一区二区三区|亚洲午夜| 亚洲一区国产一区| 国产精品亚洲综合| 先锋影音国产一区| 久久视频国产精品免费视频在线| 激情视频一区二区三区| 亚洲黄网站黄| 欧美日韩不卡一区| 亚洲视频电影在线| 久久国产精品一区二区三区四区| 国产自产在线视频一区 | 亚洲国产欧美久久| 99精品99久久久久久宅男| 欧美视频在线观看视频极品| 亚洲先锋成人| 久久久美女艺术照精彩视频福利播放| 激情亚洲成人| 亚洲乱码国产乱码精品精天堂| 欧美日韩国产一中文字不卡| 亚洲视频在线观看视频| 欧美在线免费一级片| 精品成人久久| 亚洲天堂偷拍| 国产色产综合产在线视频| 亚洲国产高清在线观看视频| 欧美日韩1区2区3区| 亚洲综合三区| 毛片基地黄久久久久久天堂| 亚洲精品久久久久久久久| 午夜精品久久久久久99热| 狠狠操狠狠色综合网| 日韩一级成人av| 国产精品chinese| 久久精品国产欧美激情| 欧美日韩福利视频| 亚洲与欧洲av电影| 欧美国产日韩一区| 午夜亚洲性色福利视频| 欧美三区在线观看| 亚洲精品影院在线观看|