嚴(yán)浩,樊旭,何頂新
(華中科技大學(xué) 自動化學(xué)院,武漢 430074)
基于Zynq平臺的室內(nèi)機(jī)器人航向測量系統(tǒng)設(shè)計(jì)
嚴(yán)浩,樊旭,何頂新
(華中科技大學(xué) 自動化學(xué)院,武漢 430074)
為獲得室內(nèi)移動機(jī)器人的準(zhǔn)確航向,利用慣性傳感器與磁力計(jì)搭建了一套基于Zynq的航向測量系統(tǒng)。該系統(tǒng)使用ARM和FPGA相結(jié)合的形式,實(shí)現(xiàn)了高性能、高集成度的控制算法。本系統(tǒng)中FPGA部分實(shí)現(xiàn)了計(jì)算性能要求高的擴(kuò)展卡爾曼濾波算法,ARM部分實(shí)現(xiàn)了可移植性強(qiáng)的數(shù)據(jù)采集模塊與數(shù)據(jù)濾波算法等。實(shí)驗(yàn)結(jié)果表明,該航向測量系統(tǒng)準(zhǔn)確可靠,并且算法執(zhí)行效率相較于傳統(tǒng)方案有很大提高,取得了較好的效果。
航向測量系統(tǒng);擴(kuò)展卡爾曼濾波算法;軟硬件協(xié)同設(shè)計(jì);XC7Z020-CLG484
基于GPS與圖像視覺的移動機(jī)器人航向測量系統(tǒng)易受到遮擋、光線等因素干擾,而基于慣性傳感器的航向測量系統(tǒng)對外界環(huán)境依賴性不強(qiáng),適合用在短距離室內(nèi)機(jī)器人定位中[1]。目前基于慣性傳感器的航向測量算法中精度最高的算法為EKF[2](Extended Kalman Filter)算法,EKF算法是一種動態(tài)自適應(yīng)算法,可以提供高精度的解算結(jié)果,并有效地抑制傳感器噪聲,但是EKF算法需要進(jìn)行大規(guī)模的矩陣運(yùn)算,對MCU的性能要求很高[3]。
EKF算法復(fù)雜度高,使用純軟件算法無法提供高頻率的解算信息,而使用純硬件方案實(shí)現(xiàn)的開發(fā)難度大、周期長、靈活性欠佳,針對這一矛盾,目前廣泛提出的解決方案是使用軟硬件協(xié)同設(shè)計(jì)的方法進(jìn)行系統(tǒng)設(shè)計(jì)。出于低成本、高可靠性、高擴(kuò)展性的考慮,設(shè)計(jì)中使用了異構(gòu)多核平臺XC7Z020-CLG484作為實(shí)現(xiàn)平臺,采用了軟硬件協(xié)同設(shè)計(jì)的方案,通過功能劃分合理地分配軟硬件的任務(wù)。另外,針對FPGA[4]開發(fā)難度大的特點(diǎn),設(shè)計(jì)中通過Vivado HLS[5]提供的高層次綜合的方法,使用C語言對FPGA進(jìn)行開發(fā),大大縮短了開發(fā)周期。
1.1 異構(gòu)多核平臺Zynq
Zynq平臺(XC7Z020-CLG484)是由Xilinx公司推出的一款全可編程的異構(gòu)多核片上系統(tǒng)。Xilinx公司推出該芯片旨在將其應(yīng)用在復(fù)雜圖像處理、高性能視頻處理、高性能工業(yè)控制和高級汽車電子等方面[7]。Zynq平臺的結(jié)構(gòu)如圖1所示,Zynq平臺分為處理器系統(tǒng)(PS)和可編程邏輯(PL)兩部分,其中處理器系統(tǒng)包含了運(yùn)行主頻為667 MHz的Cortex-A9雙核ARM、輸入/輸出接口、內(nèi)部總線、以及存儲器接口等單元;可編程邏輯部分為Artix-7系列FPGA,最高主頻可達(dá)250 MHz,包含有85K邏輯單元、53.2K查找表(LUT)、106K觸發(fā)器、220個DSP單元。PS和PL之間通過片內(nèi)AXI總線進(jìn)行通信,該總線是一種主從模式的數(shù)據(jù)通信總線,用于CPU與IP CORE之間的通信并支持多種通信機(jī)制,具備突發(fā)數(shù)據(jù)傳輸、DMA數(shù)據(jù)傳輸?shù)裙δ?,其按照吞吐量與接口類型可被分為AXI_HP、AXI_ACP、AXI_GP三種,可以靈活地按照系統(tǒng)的實(shí)際需求進(jìn)行配置。
1.2 基于Zynq平臺的系統(tǒng)開發(fā)
基于Zynq平臺的系統(tǒng)開發(fā)流程如圖1所示,首先根據(jù)系統(tǒng)需求進(jìn)行軟硬件劃分,其中軟件系統(tǒng)的開發(fā)方式與一般軟件開發(fā)方式相同,可以使用Xilinx公司的軟件開發(fā)工具 SDK進(jìn)行開發(fā)。在軟件、硬件劃分完成之后,被劃分為硬件部分的系統(tǒng)會按照實(shí)際設(shè)計(jì)的形式進(jìn)行模塊劃分,其中功能固定、實(shí)現(xiàn)難度小的部分使用HDL代碼的形式實(shí)現(xiàn),而其中功能復(fù)雜,實(shí)現(xiàn)難度大的部分使用HLS工具設(shè)計(jì)實(shí)現(xiàn),然后將兩部分設(shè)計(jì)通過Xilinx公司的Vivado軟件完成綜合、實(shí)現(xiàn)。
圖1 Zynq平臺開發(fā)流程
在進(jìn)行軟硬件劃分后,PS與PL部分可分別進(jìn)行開發(fā)。其中PS部分可被視作一個特殊的包含了完善的外部通信接口與豐富系統(tǒng)資源的IP核,在對其進(jìn)行開發(fā)之前,需要通過Vivado工具對其進(jìn)行配置。在Vivado工具中,PS部分被封裝為ZYNQ7 Processing System模塊,通過圖形化的配置界面,可以對I/O接口、AIX總線、內(nèi)存接口、時鐘等進(jìn)行配置,并將配置信息導(dǎo)入BSP(Board Support Package)中。隨后在SDK軟件中導(dǎo)入BSP,就可在SDK中按照一般的Cortex-A9的開發(fā)方法對PS部分進(jìn)行軟件開發(fā)。
PL部分使用Xilinx公司的7系列FPGA實(shí)現(xiàn),因此可以使用Xilinx公司的標(biāo)準(zhǔn) FPGA 開發(fā)套件和工具實(shí)現(xiàn)代碼開發(fā)、綜合實(shí)現(xiàn)以及可執(zhí)行文件的生成。針對FPGA開發(fā)難度大、開發(fā)周期長的缺點(diǎn),PL部分可以使用高層次綜合的方式進(jìn)行開發(fā),使用Vivado HLS工具將無時序約束的高層次代碼C、C++轉(zhuǎn)換成完全按照時序運(yùn)行的HDL代碼。使用Vivado HLS工具開發(fā)的主要流程如下:
① 使用C、C++實(shí)現(xiàn)所需功能,但是由于設(shè)計(jì)的代碼最終要與實(shí)際的 FPGA 硬件相對應(yīng),所以不是所有的數(shù)據(jù)類型與系統(tǒng)調(diào)用都能被成功轉(zhuǎn)化,因此在代碼編寫時應(yīng)使用HLS 工具支持的數(shù)據(jù)類型與函數(shù)方法。另外,為了節(jié)約FPGA的資源,應(yīng)盡量縮短各數(shù)據(jù)的存儲空間。
② 使用Vivado HLS工具將編譯無誤的代碼綜合為HDL代碼并生成報告,其中綜合報告中包含有通用信息、性能與時間估計(jì)、資源使用率等信息,性能報告中給出了設(shè)計(jì)中各部分代碼執(zhí)行的執(zhí)行順序與時間消耗。
③ 按照性能報告與綜合報告的信息對原始的代碼進(jìn)行優(yōu)化,即在C、C++設(shè)計(jì)中增加優(yōu)化條件。循環(huán)展開是最常用的優(yōu)化方法,Vivado HLS工具提供了多種展開的策略,如PIPELINE展開與UNROLL展開等,不同的策略加速效果不同,資源消耗也不同,用戶可以按照需求與資源消耗進(jìn)行選擇。另外,Vivado HLS工具中也可以對變量的存儲類型與交換策略進(jìn)行優(yōu)化,例如可以將頻繁使用的數(shù)據(jù)存入RAM之中,還可以把數(shù)組接口綜合為單口RAM、雙口RAM、FIFO或者把它們展開為多個獨(dú)立的端口。
④ 多次進(jìn)行代碼綜合并查看報告,按照報告進(jìn)行優(yōu)化,直至設(shè)計(jì)滿足要求。最后,使用Vivado HLS工具將生成的HDL代碼導(dǎo)出為硬件IP核的形式以供使用。
2.1 航向測量系統(tǒng)模型
航向測量系統(tǒng)最終得到的是系統(tǒng)相對于地理坐標(biāo)系的航向信息,可被包含于一個表示了三維空間旋轉(zhuǎn)全部信息的方向余弦矩陣之中。
設(shè)地理坐標(biāo)系為n系,載體坐標(biāo)系為b系,則根據(jù)坐標(biāo)系的旋轉(zhuǎn)關(guān)系有:
(1)
(2)
考慮載體運(yùn)動時旋轉(zhuǎn)矩陣的變化率有:
(3)
(4)
(5)
其中,R(Δt)可認(rèn)為由3個繞xb,yb,zb軸旋轉(zhuǎn)的微小旋轉(zhuǎn)a、b、c組成,忽略高次項(xiàng)系數(shù)有:
(6)
由矩陣運(yùn)算可知,坐標(biāo)軸分解的旋轉(zhuǎn)順序?qū)⒉粫绊懡Y(jié)果,結(jié)合式(3)、(5)、(6)可得:
(7)
其中S(ω)為角速度矩陣:
(8)
由上式可知,機(jī)器人的位姿信息變化率可由角速度積分得到。
使用旋轉(zhuǎn)矩陣表示的計(jì)算量大,實(shí)時計(jì)算困難,工程中使用四元素表述位姿信息。四元素是一種高階復(fù)數(shù)q=(q0+q1×i+q2×j+q3×k),常用在捷聯(lián)慣導(dǎo)系統(tǒng)中,表示一個繞(q1,q2,q3)向量旋轉(zhuǎn)q0角度的旋轉(zhuǎn)變換。四元素可以和旋轉(zhuǎn)矩陣表示法進(jìn)行相互轉(zhuǎn)換:
(9)
通過四元素法也可以對姿態(tài)進(jìn)行更新,根據(jù)參考文獻(xiàn)[8]與式(7),可以得到連續(xù)系統(tǒng)下四元素的更新律為:
(10)
(11)
將此連續(xù)系統(tǒng)離散化,并設(shè)每次算法更新的時間間隔為T,可以得到離散系統(tǒng)的四元素法更新律為:
(12)
2.2 基于EKF算法的航向測量系統(tǒng)解算原理
航向測量系統(tǒng)解算的根本思想是利用陀螺儀所提供的角加速度,結(jié)合航向測量系統(tǒng)模型進(jìn)行迭代積分運(yùn)算,但是由于陀螺儀糟糕的低頻特性將會產(chǎn)生很大的漂移,因此需要使用加速度計(jì)與磁力計(jì)對低頻數(shù)據(jù)進(jìn)行修正,從而改善航向測量系統(tǒng)計(jì)算中的靜態(tài)特性。EKF是目前廣泛使用在多傳感器融合領(lǐng)域的算法,其主要算法如下:
(13)
根據(jù)上一時刻的協(xié)方差計(jì)算當(dāng)前先驗(yàn)預(yù)測的協(xié)方差:
(14)
式中Rt為引入的高斯噪聲的方差。使用加速度計(jì)與磁力計(jì)的值Zt=[Da,Db]T+RK=[ax,ay,az,mx,my,mz]T作為系統(tǒng)的觀測量,式中RK為估計(jì)誤差,則系統(tǒng)的測量方程為:
(15)
(16)
其中,bx與bz為地磁場在世界坐標(biāo)系中的值,具體數(shù)值可以根據(jù)當(dāng)?shù)亟?jīng)緯度查詢。為了求取卡爾曼增益,需要計(jì)算量測方程的雅可比矩陣:
(17)
可以得到系統(tǒng)的卡爾曼增益KE與四元素后驗(yàn)估計(jì)qt為:
(18)
(19)
至此,可以得到當(dāng)前時刻位姿的最優(yōu)估計(jì),為了使迭代算法可以繼續(xù),需要計(jì)算方差后驗(yàn)估計(jì):
(20)
當(dāng)誤差收斂后,可以得到穩(wěn)定的四元素值,進(jìn)一步可將其轉(zhuǎn)換為歐拉角,其中yaw角即為系統(tǒng)相對于地理坐標(biāo)系的航向角:
(21)
3.1 整體架構(gòu)
系統(tǒng)采用軟硬件協(xié)同方法,結(jié)合處理器與可編程硬件的優(yōu)勢,PS端進(jìn)行整體流程控制以及交互控制功能的實(shí)現(xiàn),通過USART端口與上位機(jī)進(jìn)行通信,使用SPI接口獲得傳感器數(shù)據(jù),并將運(yùn)行時產(chǎn)生的數(shù)據(jù)存儲在外置大容量SD卡中。
PL端中運(yùn)行EKF算法,使用并行計(jì)算以縮短EKF算法所需的時間。PS與PL之間使用片內(nèi)高速AXI-BUS總線進(jìn)行連接,由于PS與PL的數(shù)據(jù)交互量不大,在保證性能的情況下,使用資源占用量小、吞吐率較小的AXI_GP[9]總線,其數(shù)據(jù)吞吐率可達(dá)600MB/s。
傳感器平臺由兩部分組成: 6自由度IMU傳感器和電子羅盤。IMU傳感器選用了ST公司iNEMO系列高性能慣性傳感器lsm6dsltr,該傳感器在一個極小的封裝中集成了一個3自由度陀螺儀與一個3自由度加速度計(jì)。電子羅盤選用了Honeywell公司的HMC5983,HMC5983是一款為汽車和個人導(dǎo)航應(yīng)用設(shè)計(jì)的,帶溫度補(bǔ)償?shù)?自由度磁力計(jì),具有極低的成本與很高的精確度。整體架構(gòu)如圖2所示。
圖2 整體架構(gòu)
3.2 ARM部分軟件設(shè)計(jì)
ARM部分通過SPI總線和lsm6dsltr芯片與HMC5983芯片進(jìn)行連接,完成了數(shù)據(jù)采集并在進(jìn)行數(shù)據(jù)采集后,對原始的傳感器數(shù)據(jù)采用了平滑濾波與零點(diǎn)修正濾波,去除了靜態(tài)偏置并抑制了高頻隨機(jī)噪聲的干擾,最后將傳感器數(shù)據(jù)傳送給PL端。
慣性傳感器lsm6dsltr可被配置成不同狀態(tài),可以改變芯片的輸出頻率、量程、片內(nèi)補(bǔ)償?shù)龋渑渲媒涌谥С諷PI總線接口和I2C總線接口。本設(shè)計(jì)采用SPI接口來配置lsm6dsltr,系統(tǒng)被用于移動機(jī)器人,考慮實(shí)際的機(jī)器人運(yùn)行情況,選用加速度量程為±8g,角速度量程為±500 dps。在進(jìn)行傳感器數(shù)據(jù)的預(yù)處理時會損失傳感器數(shù)據(jù)的輸出頻率,因此設(shè)置lsm6dsltr的輸出頻率為最高,其中加速度的輸出頻率為6 664 Hz,陀螺儀的輸出頻率為3 332 Hz。
電子羅盤HMC5983也通過SPI總線對內(nèi)部寄存器進(jìn)行配置,結(jié)合實(shí)際情況,配置其輸出頻率為220 Hz,輸出范圍為±2 gauss。為了降低漂移所帶來的誤差,在讀取磁力計(jì)的數(shù)據(jù)后,需要補(bǔ)償傾斜、硬鐵和軟鐵效應(yīng)帶來的畸變。
3.3 FPGA部分軟件設(shè)計(jì)
FPGA端的主要工作是設(shè)計(jì)EKF算法的IP核,由于算法邏輯復(fù)雜,使用Verilog語言實(shí)現(xiàn)的難度較高,因此采用高層次綜合方法(HLS)實(shí)現(xiàn),即用C語言完成算法流程,并由 Vivado HLS工具轉(zhuǎn)化為Verilog。使用FPGA進(jìn)行開發(fā)的關(guān)鍵在于充分利用FPGA資源以減少運(yùn)算時間,使用空間換取時間[10]。本設(shè)計(jì)中主要對以下3個方面進(jìn)行了優(yōu)化:
① 對于矩陣中的元素采用非阻塞的并行賦值方法,設(shè)計(jì)中對矩陣賦值的函數(shù)使用高并行度的UNROLL策略進(jìn)行循環(huán)展開,并設(shè)置矩陣的存儲類型為RAM_2P,使用并行處理的方法大幅提高賦值運(yùn)算的速率。
② Vivado HLS工具提供了循環(huán)展開的優(yōu)化策略,可化串行運(yùn)算為并行運(yùn)算。設(shè)計(jì)中針對算法中最多的矩陣乘法運(yùn)算使用了循環(huán)展開的優(yōu)化策略,對其進(jìn)行了并行加速,由于矩陣乘法運(yùn)算的規(guī)模很大,使用了較為節(jié)省資源的PIPELINE策略進(jìn)行循環(huán)展開。
③ 設(shè)計(jì)中使用Gauss-Jordan消元法求解矩陣的逆矩陣,該算法有著整個EKF算法中最高的時間復(fù)雜度與空間復(fù)雜度。為了加快運(yùn)算速度,提前為中間變量開辟了RAM_1P類型的存儲空間,并將行初等變化的算法采用并行加速,考慮到LUT(查找表)的不足,使用較為節(jié)省資源的PIPELINE策略進(jìn)行循環(huán)展開。
4.1 誤差分析
將傳感器板固定在高精度手動R軸旋轉(zhuǎn)臺上,調(diào)節(jié)傳感器初始位置在零點(diǎn),航向測量系統(tǒng)運(yùn)算周期為1 kHz。在初始條件下令q=[1,0,0,0]T,取當(dāng)?shù)氐闹亓铀俣葦?shù)值|g|=9.7936 m/s2,當(dāng)?shù)氐牡卮艌鰪?qiáng)度近似為B=[3.41×10-50 3.57×10-5]T,系統(tǒng)的協(xié)方差矩陣Rt為:
首先測試系統(tǒng)的靜態(tài)性能,將系統(tǒng)靜置120s后,各傳感器的輸出如圖3~圖5所示??梢钥闯鐾勇輧x有一個很小的靜態(tài)偏移,如果不使用加速度計(jì)與磁力計(jì)對其進(jìn)行修正,那么系統(tǒng)在積分的作用下將會產(chǎn)生很大的誤差。另外加速度計(jì)與磁力計(jì)的數(shù)據(jù)穩(wěn)定、靜態(tài)性能優(yōu)秀,可以很好地起到修正作用。
圖3 陀螺儀輸出的角速度值
圖4 加速度計(jì)輸出的加速度值
圖5 磁力計(jì)輸出的磁場值
通過解算后可以得到靜止時姿態(tài)角輸出,如圖6所示,其中最大漂移誤差0.384 8°,方差為0.003 5,反映出系統(tǒng)具有很好的靜態(tài)特性。
圖6 靜止時姿態(tài)角輸出
為了測試本航向系統(tǒng)算法性能,將旋轉(zhuǎn)臺順時針旋轉(zhuǎn)180°與逆時針旋轉(zhuǎn)180°,每隔30°記錄下航向系統(tǒng)的輸出,重復(fù)做10組實(shí)驗(yàn),取平均值列表如表1所列。
經(jīng)過多次實(shí)驗(yàn),在較為穩(wěn)定的磁場環(huán)境中,本系統(tǒng)的航向角定向精度為±1.5°,數(shù)據(jù)的一致性高,性能可滿足需求。
4.2 性能分析
系統(tǒng)性能主要考慮EKF算法的執(zhí)行效率,實(shí)驗(yàn)中測試了相同的求解算法在嵌入式系統(tǒng)上的執(zhí)行效率,并與Zynq平臺進(jìn)行了對比,結(jié)果如表2所列。
從對比測試可以看出,本文提出的方案,時間消耗降低了3個數(shù)量級,大大提升了計(jì)算速度,證實(shí)了該方案的優(yōu)越性。
從表3中FPGA資源使用可以看出, LUT的數(shù)量不足是制約算法速率提升的主要因素,這是因?yàn)樵谶M(jìn)行算法優(yōu)化時,大量的循環(huán)展開運(yùn)算將消耗大量的LUT資源。但是系統(tǒng)中對BRAM_18K的利用率并不高,因此想要進(jìn)一步提高解算速度,可以將大量重復(fù)使用的數(shù)據(jù)提前運(yùn)算并存儲到BRAM_18K中,減少重復(fù)運(yùn)算的時間。
表1 航向角誤差測試結(jié)果
表2 時間消耗對比
表3 FPGA資源使用
[1] Geiger W, Bartholomeyczik J, Breng U, et al. MEMS IMU for AHRS applications[C]//2008 IEEE/ION Position, Location and Navigation Symposium,Monterey CA USA, 2008:225-231.
[2] Sabatelli S, Galgani M, Fanucci L, et al. A Double-Stage Kalman Filter for Orientation Tracking With an Integrated Processor in 9-D IMU[J]. Instrumentation & Measurement IEEE Transactions on, 2013, 62(3):590-598.
[3] Cavallo A, Cirillo A, Cirillo P, et al. Experimental Comparison of Sensor Fusion Algorithms for Attitude Estimation[J]. IFAC Proceedings Volumes, 2014, 47(3):7585-7591.
[4] Kung Y S, Shu G S. Development of a FPGA-based motion control IC for robot arm[C]//2005 IEEE International Conference on Industrial Technology ,Hong Kong,2005:1397-1402.
[5] Xilinx. Zynq-7000 All Programmable SoC Technical Reference Manual [EB/OL].[2017-02].http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf.
[6] Xilinx. Vivado Design Suite User Guide High-Level Synthesis [EB/OL].[2017-02].http://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_2/ug902-vivado-high-level-synthesis.pdf.
[7] 任慰. 以實(shí)時操作系統(tǒng)為中心的嵌入式系統(tǒng)平臺化設(shè)計(jì)研究[D].武漢:華中科技大學(xué),2013.
[8] Vicci L. Quaternions and Rotations in 3-Space: The Algebra and its Geometric Interpretation[J]. Physiological Research, 2001, 59(2):305-308.
[9] 牛盼情, 康翔宇, 何頂新. 基于Zynq的PMSM驅(qū)動控制系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2015(5):65-68.
[10] 王曉璐. 基于Zynq的LS-SVM算法加速器設(shè)計(jì)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2015.
嚴(yán)浩(碩士研究生),主要研究方向?yàn)檫\(yùn)動控制,智能機(jī)器人;樊旭(碩士研究生),主要研究方向是模式識別、嵌入式系統(tǒng);何頂新(副教授),主要研究方向是嵌入式系統(tǒng)、智能機(jī)器人。
參考文獻(xiàn)
[1] 任曉鋒.全自動立體車庫控制系統(tǒng)的研究與構(gòu)建[D].西安:陜西科技大學(xué),2014.
[2] 邢飛,郭文成.利用計(jì)算機(jī)視覺庫的Android平臺系統(tǒng)道路識別[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(2):35-37.
[3] 師艷偉,楊晶東.移動機(jī)器人目標(biāo)識別算法[J].光學(xué)技術(shù),2015(1):27-33.
[4] 黃佳.基于OPENCV的計(jì)算機(jī)視覺技術(shù)研究[D].上海:華東理工大學(xué),2013.
[5] Alex Krizhevsky,Ilya Sutskever,Geoffrey E Hinton.Imagenet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems(NIPS2012),2012:1097-1105.
[6] DAHL G E,Yu D,Deng L,et al.Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J].IEEE Transactions on Audio,Speech and Language Processing,2012,20(1):30-42.
[7] Russakovsky O,Deng J,Su H,et al.ImageNet large scale visual recognition challenge[J].International Journal of Computer Vision,2015,115(3):211-252.
[8] HINTON G E,OSINDERO S,TEH Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[9] 尹寶才,王文通,王立春.深度學(xué)習(xí)研究綜述[J].北京工業(yè)大學(xué)學(xué)報,2015(1):48-59.
[10] 王茜,張海仙.基于深度神經(jīng)網(wǎng)絡(luò)的汽車車型識別[J].現(xiàn)代計(jì)算機(jī):專業(yè)版,2015(35):61-64.
[11] HUBEL D H,WIESEL T N.Receptive fields,binocular interaction and functional architecture in the cat's visual cortex[J].The Journal of Physiology,1962,160(1):106.
[12] Gando G,Yamada T,Sato H,et al.Fine-tuning deep convolutional neural networks for distinguishing illustrations from photographs[J].expert systems with applications,2016,66(10):295-301.
[13] 趙永科.深度學(xué)習(xí):21天實(shí)戰(zhàn)Caffe[M].北京:電子工業(yè)出版社,2016.
茅正沖(副教授),主要從事機(jī)器人視聽覺識別的研究;韓毅(碩士研究生),主要研究方向?yàn)榭刂乒こ碳皯?yīng)用。
(責(zé)任編輯:薛士然 收稿日期:2017-03-15)
Indoor Robot's Heading Measurement System Based on Zynq Platform
Yan Hao,Fan Xu,He Dingxin
(School of Automation,Huazhong University of Science and Technology,Wuhan 430074,China)
In order to obtain the accurate course of indoor mobile robot,a set of Zynq-based on heading measurement system is built using the inertial sensor and magnetometer.In the system, ARM and FPGA are combinated to realize the high integration of the high performance control algorithm.In this system,the extended Kalman filter algorithm is realized in FPGA for high computational performance requirements,while high data acquisition module and data filtering algorithm are realized in ARM for high scalability.The experiment results show that the heading system is accurate and reliable,and it is more efficient compared with traditional methods.
heading measurement system;EKF algorithm;software and hardware co-design;XC7Z020-CLG484
TP249
A
?迪娜
2017-02-21)