《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于DSP和FPGA的多軸運動控制系統(tǒng)設(shè)計
基于DSP和FPGA的多軸運動控制系統(tǒng)設(shè)計
來源:電子技術(shù)應(yīng)用2013年第3期
馬漢波,顏鋼鋒
浙江大學(xué) 電氣工程學(xué)院,浙江 杭州310027
摘要: 傳統(tǒng)的機器人運動控制器都是采用PC+運動控制卡的方法,成本較高。提出了一種基于DSP和FPGA的通用型運動控制系統(tǒng),大大降低了系統(tǒng)成本。利用FPGA內(nèi)部生成的雙端口RAM作為DSP與上位機之間的緩沖區(qū),同時采取串行轉(zhuǎn)并行的策略,簡化了系統(tǒng)的布線。在DSP上實現(xiàn)了直線與圓弧插補算法以及逆運動學(xué)的求解,并進(jìn)行了仿真。仿真結(jié)果表明,系統(tǒng)能夠按照預(yù)定軌跡運動,同時各軸的速度變化也較平穩(wěn)。
中圖分類號: TP242.2
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)03-0034-03
Multi-axis motion control system based on DSP and FPGA
Ma Hanbo,Yan Gangfeng
College of Electrical Engineering,Zhejiang University,Hangzhou 310027,China
Abstract: Traditional motion controllers for robots make use of PC and motion control board, which cost much. This article presents a generic motion control system,which saves cost. DPRAM implemented in FPGA is used to transmit data between DSP and upper computer. FPGA also converts data from serial to parallel and simplify the routing of board. The algorithm of curve interpolation and inverse kinematics is simulated on DSP. The result shows that this system works properly and the speed of each axis changes smoothly.
Key words : multi-axis motion control;DSP;DPRAM;interpolation

    工業(yè)機器人的控制系統(tǒng)是其核心主體,控制算法的好壞直接關(guān)系到整個機器人的運動效果。最早的機器人多采用封閉式的結(jié)構(gòu),即每個廠家針對自己的機器人開發(fā)了專用的控制系統(tǒng),且系統(tǒng)的接口沒有開放給用戶,不具有通用性,給以后的擴(kuò)展和升級造成了很大的困難[1]。因此,如何使機器人控制系統(tǒng)能夠很方便地進(jìn)行重構(gòu),在從一套控制系統(tǒng)換成另一套控制系統(tǒng)時,盡可能少做改動[2],已經(jīng)成為目前一個研究的熱門方向。對于這種開放式系統(tǒng),目前比較主流的構(gòu)架是PC+DSP運動控制卡。PC主要負(fù)責(zé)整個系統(tǒng)的管理以及人機交互界面的運行,DSP運動控制卡則實現(xiàn)插補算法和對伺服驅(qū)動器的操作。這種方法的優(yōu)點是可以利用現(xiàn)成的運動控制卡。但是,這些板卡的價格一般都較高,而且附帶了許多針對數(shù)控的功能模式,同時,它們還必須搭載PC環(huán)境,這對需要考慮成本和靈活性的情況不適用。因此,本文提出了一種基于浮點數(shù)DSP的多軸機器人控制系統(tǒng)解決方案,為系統(tǒng)的小型化和廉價化提供了可能,具有很高的實用價值。

1 系統(tǒng)硬件設(shè)計
1.1 總體架構(gòu)

    系統(tǒng)設(shè)計的難點在于逆運動學(xué)求解和插補算法的實時處理。為此,系統(tǒng)選用了具有快速計算能力的DSP處理芯片TMS320F28335作為核心單元。該處理器是TMS320C28X系列浮點DSP控制器,具有32位浮點處理單元,相對于單片機和ARM而言,在處理器結(jié)構(gòu)和指令系統(tǒng)方面都針對數(shù)學(xué)運算進(jìn)行了優(yōu)化,特別適合于機器人復(fù)雜的控制算法。
    另外,運動控制系統(tǒng)還需要連接伺服控制器來控制各關(guān)節(jié)的電機,以實現(xiàn)機器人的高精度定位。一般伺服控制器都提供了大量的I/O信號,如速度控制信號、異常報警信號、禁止信號等。通常,機器人的每個軸都需要單獨的伺服控制器,系統(tǒng)必須具有數(shù)百路I/O口來控制電機。考慮到DSP的I/O口數(shù)量十分有限,系統(tǒng)搭載了一塊FPGA進(jìn)行底層的邏輯操作。這里采用的是Altera公司Cyclone II系列的EP2C5Q208,該芯片能夠提供142路的I/O口,內(nèi)部還有大量的邏輯單元,可以滿足系統(tǒng)要求。針對這種構(gòu)思,給出系統(tǒng)的原理框圖如圖1所示。

 

 

1.3 DSP與上位機(ARM)數(shù)據(jù)的交換
    運動控制系統(tǒng)的指令是由ARM給出的,需要一種快速的數(shù)據(jù)交換機制。常規(guī)的通信方法有兩種。第一種是ARM通過串行總線的方式直接將數(shù)據(jù)傳送給DSP。由于機器人控制指令包含空間位置和姿態(tài),一般都較長,如果采用直接傳輸?shù)姆绞剑錅?zhǔn)確性和同步性很難保證。第二種是采用雙端口RAM的方法,利用兩套完全獨立的數(shù)據(jù)線、地址線和讀寫控制線,允許ARM和DSP同時對該存儲器的不同單元進(jìn)行訪問。但是,外擴(kuò)的雙端口RAM需要大量的地址線和數(shù)據(jù)線,對電路板的布局提出了很高的要求,同時芯片也消耗了大量的I/O口,這對系統(tǒng)的擴(kuò)展是不利的。
    本系統(tǒng)采用的方案是利用FPGA來存儲機器人運動控制指令。EP2C5Q208芯片內(nèi)部存在大量的M4K內(nèi)存單元,利用Altera的IP核可以將這些內(nèi)存單元配置成雙端口RAM。同時,利用FPGA強大的邏輯能力,可以實現(xiàn)串行與并行之間的轉(zhuǎn)換。
1.4 伺服驅(qū)動器控制電路
    對于多軸運動控制系統(tǒng),每一軸都需要連接伺服控制器。伺服控制器的調(diào)速通常為方向加脈沖的方式。即用一路信號的方向來表示正轉(zhuǎn)和反轉(zhuǎn);另一路信號每發(fā)出一個脈沖,伺服電機旋轉(zhuǎn)一拍。常見的伺服控制器控制電壓為24 V,它們和FPGA進(jìn)行通信時必須進(jìn)行電壓轉(zhuǎn)換。考慮到還需要對數(shù)字芯片的I/O口進(jìn)行保護(hù),因此采用了光耦隔離電路,其接口電路如圖3所示。

  
    有了前三軸的角度,可以很方便地計算后三軸的轉(zhuǎn)角[4]。由于TMS320F28335配備了支持浮點的寄存器和流水線,所以所有的運算都可以在浮點環(huán)境下進(jìn)行。只要利用TI自帶的浮點庫,即可在DSP上實現(xiàn)機器人的逆運動學(xué)求解。經(jīng)過實際測算,由DSP求逆解計算所引起的末端軌跡偏差在0.1 mm以內(nèi),精度可以滿足要求。
2.2 插補算法
    本系統(tǒng)主要完成直線和圓弧插補功能。即利用曲線上兩端點(直線)或三點(圓)的位姿矩陣,針對運行速度和插補周期,得到運行路徑上各點的姿態(tài)位置。
    具體的算法是利用幾何的方法直接求取曲線上點的坐標(biāo)作為該點機器人末端的位置。末端姿態(tài)則采用線性化的方法,把曲線首端和尾端兩點的姿態(tài)向量差根據(jù)當(dāng)前速度均勻地匹配到插補的每一步[5]。速度控制采用S曲線加減速的方法,能夠使速度和加速度曲線都平滑過渡,減小機械沖擊[6]。在兩條曲線交界處,速度的方向會有瞬變,進(jìn)而產(chǎn)生很大的加速度,對結(jié)構(gòu)造成沖擊。對此,每次需要讀取兩條指令,通過判斷兩條曲線的夾角來計算得到拐角處的速度。若設(shè)系統(tǒng)最大加速度為Amax,則有如下計算公式:
    
    可見該運動控制器已經(jīng)能夠很好地實現(xiàn)簡單路徑以及其組合的行走,并可以實現(xiàn)兩段路徑之間的平滑過渡。此時各關(guān)節(jié)的角加速度如圖5所示。

    由此可見,系統(tǒng)能夠按照預(yù)定的軌跡運行,并且各軸的關(guān)節(jié)速度都平穩(wěn)變化。利用CCS軟件還可以觀察執(zhí)行一次插補所需要的時間。實際測量得到的結(jié)果是:直線插補部分消耗時鐘周期15 761個,圓弧插補部分則需要17 591個時鐘周期。由于DSP的時鐘頻率為150 MHz,因此最長需要的插補時間是117 μs,小于0.2 ms。而若采用一般的PC+運動控制卡的方法,每一次插補所需時間則需要分成兩部分:一部分是插補算法本身所消耗的時間,另一部分是從上位機通過總線傳送給DSP的時間。這兩項都需要大量的時間。而且由于帶Windows操作系統(tǒng)的PC機實現(xiàn)精確計時的能力是很弱的,因此一般的做法都是預(yù)先計算出多步的數(shù)據(jù),然后一次性地放在運動控制卡的緩存中,讓運動控制卡定時取數(shù)。這樣又會給速度的實時控制帶來很大的困難。
    因此,本系統(tǒng)所采用的構(gòu)架利用DSP進(jìn)行插補運算,不但節(jié)約了緩存設(shè)備容量,而且不需要中間的傳輸環(huán)節(jié),對系統(tǒng)的實時性有很大的提高。
    本系統(tǒng)以浮點數(shù)DSP芯片TMS320F28335為核心,以EP2C5Q208 FPGA為輔助器件,實現(xiàn)了多軸機器人的運動控制器,整個系統(tǒng)具有小型化、成本低、實時性好的特點,有很大的實際意義。
參考文獻(xiàn)
[1] 談世哲,梅志千,楊汝清.基于DSP的工業(yè)機器人控制器的設(shè)計與實現(xiàn)[J].機器人,2002,24(2):134-139.
[2] 趙春紅,秦現(xiàn)生,唐虹.基于PC的開放式數(shù)控系統(tǒng)研究[J].機械科學(xué)與技術(shù),2005,24(9):1108-1113.
[3] 蔡自興.機器人學(xué)基礎(chǔ)[M].北京:機械工業(yè)出版社,2009.
[4] SPONG M W,HUTCHINSON S,VIDYASAGAR M.Robot dynamics and ntrol[M].Wiley,2005:85-92.
[5] 葉伯生.機器人空間三點圓弧功能的實現(xiàn)[J].華中科技大學(xué)學(xué)報,2007,5(8):5-8.
[6] 張得禮,周來水.數(shù)控加工運動的平滑處理[J].航空學(xué)報,2006,1(1):125-130.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
老司机午夜精品| 国产农村妇女毛片精品久久莱园子| 一本色道久久88综合亚洲精品ⅰ| 欧美亚洲免费| 午夜激情综合网| 亚洲影院色无极综合| 亚洲色诱最新| 一本一本久久| 一本色道久久综合亚洲精品不卡| 最新亚洲电影| 91久久综合| 最新国产成人在线观看| 亚洲国产精品精华液2区45 | 欧美激情一区二区| 免费观看一区| 欧美大片免费| 欧美精品1区2区3区| 欧美另类久久久品| 欧美日韩一区二区在线视频 | 国产精品日韩精品| 国产精品自拍在线| 国产视频一区在线观看| 国产亚洲欧美激情| 一区在线免费| 亚洲国产欧美在线 | 99精品视频一区二区三区| 亚洲靠逼com| 一本一道久久综合狠狠老精东影业| 99ri日韩精品视频| 亚洲天堂av高清| 亚洲欧美清纯在线制服| 欧美在线观看一二区| 亚洲高清色综合| 日韩一区二区精品葵司在线| 在线亚洲成人| 香港成人在线视频| 久久久999| 免费在线成人| 欧美四级在线观看| 国产亚洲观看| 亚洲国产欧美日韩精品| 夜夜嗨网站十八久久| 亚洲欧美在线看| 亚洲高清视频中文字幕| 日韩视频久久| 亚洲综合三区| 久久男人资源视频| 欧美国产免费| 国产精品v欧美精品v日韩精品| 国产欧美高清| 亚洲高清免费视频| 亚洲视频第一页| 久久精品国产久精国产思思| 日韩亚洲一区在线播放| 午夜精品国产精品大乳美女| 久久久噜噜噜久久| 欧美日韩精品一区| 国产偷国产偷精品高清尤物| 亚洲第一久久影院| 亚洲一二三区视频在线观看| 久久高清国产| 亚洲视频大全| 久久综合狠狠综合久久综青草| 欧美日韩国产成人高清视频| 国产日韩一区二区三区在线| 亚洲国产毛片完整版| 亚洲一区二区精品在线| 亚洲激情中文1区| 亚洲欧美文学| 欧美激情亚洲国产| 国产亚洲一区二区三区在线观看 | 裸体一区二区| 国产精品久久久久久久久免费樱桃 | 欧美激情一区在线观看| 国产欧美丝祙| 日韩视频国产视频| 久久精品一区蜜桃臀影院| 亚洲深夜影院| 欧美成人伊人久久综合网| 国产精品一区二区三区四区| 亚洲人成人一区二区在线观看| 先锋a资源在线看亚洲| 一区二区三区精品视频在线观看| 久久久高清一区二区三区| 国产精品99免费看| 亚洲国产精品日韩| 欧美在线三级| 亚洲欧美日韩久久精品| 欧美精品激情在线| 一区精品在线| 欧美影院精品一区| 午夜精品久久久久久久久| 欧美激情免费观看| 影音先锋日韩资源| 午夜精品久久久久久久男人的天堂| 99精品久久久| 老司机aⅴ在线精品导航| 国产日韩欧美一区在线| 亚洲视频一起| 一区二区三区**美女毛片| 免费视频最近日韩| 国内精品伊人久久久久av一坑| 亚洲一区二区少妇| 亚洲一区二区伦理| 欧美日韩成人在线| 亚洲精品国产精品国自产观看| 亚洲第一中文字幕| 久久精品日韩欧美| 国产香蕉97碰碰久久人人| 亚洲一区二区三区777| 亚洲视频在线观看三级| 欧美美女bb生活片| 亚洲日本无吗高清不卡| 最新国产成人av网站网址麻豆 | 亚洲靠逼com| 日韩一区二区精品| 欧美人与性动交α欧美精品济南到| 伊人精品在线| 久久国产精品72免费观看| 久久不见久久见免费视频1| 国产精品美女久久久久久久| 亚洲作爱视频| av不卡在线| 欧美日韩另类丝袜其他| 日韩亚洲国产欧美| 一区二区三区视频在线播放| 欧美日韩一区二| 一区二区激情视频| 亚洲综合成人在线| 国产精品美女xx| 午夜国产不卡在线观看视频| 欧美呦呦网站| 国产一区二区三区四区五区美女 | 久久久精品一区| 国内一区二区在线视频观看| 欧美在线视频导航| 久久在线观看视频| 在线播放日韩专区| 亚洲精品在线免费| 欧美日韩在线综合| 亚洲一区日本| 欧美中文字幕视频| 激情小说亚洲一区| 亚洲人体大胆视频| 欧美日韩国产高清视频| 一区二区高清视频在线观看| 亚洲欧美在线aaa| 国产自产在线视频一区| 亚洲国产精品成人综合| 欧美极品aⅴ影院| 一本色道久久综合亚洲精品小说| 欧美亚洲日本网站| 国户精品久久久久久久久久久不卡| 久久精品一二三| 欧美精品一区二区高清在线观看| 亚洲精品一区二区在线观看| 亚洲欧美日本另类| 狠狠色综合网| 一本一本久久a久久精品综合麻豆| 欧美日韩亚洲一区二区| 亚洲欧美美女| 欧美~级网站不卡| 一本一本久久a久久精品牛牛影视| 欧美在线观看网站| 亚洲成在人线av| 亚洲免费视频观看| 国内精品国语自产拍在线观看| 日韩午夜在线| 国产情人节一区| 亚洲精品极品| 国产精品亚洲аv天堂网| 最新国产成人av网站网址麻豆| 国产精品chinese| 亚洲国产成人精品久久| 欧美三区免费完整视频在线观看| 欧美在线高清视频| 欧美日韩免费高清一区色橹橹| 欧美一区二区三区在线视频 | 国产亚洲成av人片在线观看桃| 亚洲精品欧美在线| 国产精品免费一区豆花| 亚洲黄色成人| 国产精品区一区二区三区| 亚洲欧洲午夜| 国产女人水真多18毛片18精品视频| 亚洲欧洲日本国产| 国产精品私房写真福利视频| 日韩视频永久免费| 国产日产欧美一区| 中文在线不卡视频| 红桃视频亚洲| 亚洲欧美日韩国产综合在线| 亚洲电影免费观看高清| 欧美一区二区三区视频免费| 亚洲人体1000| 久久蜜桃资源一区二区老牛| 亚洲看片一区| 免费久久精品视频| 午夜精品影院| 国产精品福利在线观看|