電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用DNN IP生成器的自主機器人控制建模

使用DNN IP生成器的自主機器人控制建模

2022-10-26 | zip | 0.27 MB | 次下載 | 2積分

資料介紹

描述

介紹

我們的目標是創(chuàng)建一個自主的室內(nèi)機器人,它使用不同的控制策略來處理它的運動。在這個項目中,我們提出了一種解決方案,它對傳感器進行建模并實施模型預測控制 (MPC)。

關(guān)于 MPC 控制的一些話: 模型預測控制 (MPC) 是一種眾所周知的用于解決在線優(yōu)化問題的控制策略,廣泛用于自動駕駛汽車應(yīng)用。MPC 的計算成本高且資源消耗大,尤其是當涉及到嵌入式計算平臺的有限資源時,例如片上系統(tǒng) (SoC) 和現(xiàn)場可編程門陣列 (FPGA) 平臺。最近,機器學習(ML)在減少執(zhí)行時間和資源消耗方面已成為經(jīng)典控制系統(tǒng)的有效替代方案。模型預測控制 (MPC) 是最常用的控制策略之一,因為它能夠解決在線優(yōu)化問題并處理軟約束和硬約束。但是,對于復雜的高非線性系統(tǒng),MPC的實現(xiàn)是一個很大的挑戰(zhàn);

深度神經(jīng)網(wǎng)絡(luò)被認為是一種自我優(yōu)化的方法,因為它能夠根據(jù)提供的信息優(yōu)化其行為,這使得 DNN 適用于復雜的動態(tài)系統(tǒng)。使用 Matlab Simulink 和 MPC 工具,我們發(fā)現(xiàn)這會讓人頭疼,因為我們使用的是小型 FPGA。出于這個原因,在米什科爾茨大學,我們創(chuàng)建了一個 DNN 工具,它從給定的輸入數(shù)據(jù)創(chuàng)建一個基于給定數(shù)據(jù)中的 System Generator 庫元素的可參數(shù)化 DNN 網(wǎng)絡(luò)

一個傳統(tǒng)的 MPC 控制器如圖 1 所示。MPC 控制器的預測策略是在預測范圍內(nèi)執(zhí)行的,它代表了控制器期待未來的下一個 P 時間步長。MPC 控制器模擬幾個未來場景,優(yōu)化器根據(jù)成本函數(shù)選擇最佳場景,成本函數(shù)代表參考目標和預測輸出之間的誤差。最優(yōu)方案對應(yīng)于最小成本函數(shù)。

poYBAGNYinOAUMZ_AAArI9svc3w896.png
圖 1 傳統(tǒng) MPC 圖。
?

該控制器計算量大,因為它解決了每個時間步的在線優(yōu)化問題,這需要高計算能力和大內(nèi)存。計算負載和高資源消耗使 MPC 在有限資源上的實現(xiàn)成為一個巨大的挑戰(zhàn)。

設(shè)計MPC模型的第一步是確定車輛內(nèi)部模型的輸入輸出信號,第二步是設(shè)置參數(shù)和確定約束條件。操縱變量(轉(zhuǎn)向角 δ)和擾動(vx ρ)被確定為輸入信號,而橫向速度 vy、橫向偏差 d、偏航角 θ 和偏航率 ω 被確定為輸出信號(見圖 2)。

pYYBAGNYinWADE1qAAAp0a2ct1k448.png
Fig.2 車輛模型的全局位置。
?

模型方程如下:

pYYBAGNYineAcswVAABe-9VqHeU444.png
圖 3 車輛方程。
?

約束條件如下確定:轉(zhuǎn)向角在 [-1.04, 1.04] rad 范圍內(nèi),偏航角速率在 [-0.26, 0.26] rad 范圍內(nèi)。在設(shè)計過程中保持這些參數(shù),直到獲得滿意的行為。MPC 和工廠模型的總體設(shè)計如圖 4 所示。

pYYBAGNYinmAYFZsAABUjm3y2jY789.png
圖4 MPC和工廠模型設(shè)計的總圖。
?

深度神經(jīng)網(wǎng)絡(luò) IP 程序的自動生成

設(shè)計步驟如下:

  • 首先制作了傳統(tǒng)的MPC控制器;驗證和測試 MPC 設(shè)計;深度神經(jīng)網(wǎng)絡(luò)模型設(shè)計,生成數(shù)據(jù)集;訓練 DNN 模型;驗證和測試 DNN 模型;(這些步驟對于每個新的 DNN 都是特定的,因此這里不介紹這些步驟);
  • 下一步是運行IP工具生成器(見附件中的工具);
  • 運行仿真硬件在環(huán)仿真(見模型和隨附的初始化文件);
  • FPGA 在硬件中的部署和測試。
  • 為 KRIA SOM KV260 創(chuàng)建自適應(yīng)硬件平臺(參見教程https://github.com/Xilinx/Vitis-Tutorials/tree/2021.2/Vitis_??Platform_Creation/Design_Tutorials/01-Edge-KV260)
  • 將 AXI IP DNN 導入 Vivado 或 Vitis(在編輯和提交項目時,我們沒有收到 Xilinx 的反饋如何在 Vitis 中導入翻譯后的項目)

對于深度神經(jīng)網(wǎng)絡(luò) IP 的自動生成,創(chuàng)建的 DNN 工具(見附件 DNN 工具 IP 生成器)。

首先使用 DNN 工具創(chuàng)建 DNN。一般而言,將使用該工具的人應(yīng)提供以下參數(shù):

該工具的輸入如下:

  • 每層的神經(jīng)元數(shù)量
  • 精度(浮點或 FIX16 或 FIX8)
  • 權(quán)重
  • 偏見

輸出是在 Matlab Simulink 中生成的 DNN IP。

備注:該工具正在工作,但應(yīng)考慮針對不同的 AMD Xilinx 平臺進行一些優(yōu)化和修飾。這是 PL(可編程邏輯)包含的神經(jīng)元和 DSP 元素數(shù)量的函數(shù)。該工具已針對 KC705 板和 Kria KV260 SOM 成功測試。

首先加載DNN_Generator.m文件并根據(jù)需要進行編輯:

%Edit model_parameters_here...神經(jīng)元計數(shù) = [6 20 10 10 1]; % 7 層中每一層的神經(jīng)元數(shù)量%starting model... init;

然后運行。該模型已創(chuàng)建并可用于自己的目的。

仿真/硬件在環(huán)仿真 (HIL)

在 Simulink 環(huán)境下進行了仿真,取得了不錯的效果。不幸的是,對于 Kria KV260 模塊,系統(tǒng)生成器不允許我們進行硬件在環(huán)仿真。我們使用 KC705 板為生成的 DNN 制作了 HIL。使用 KV260 仿真和使用 KC705 的 HIL 獲得的結(jié)果相似。

如下圖(圖 5)所示創(chuàng)建的 Vivado 項目已成功翻譯并導出到 Vitis。在 Vitis 軟件中,我們甚至無法運行“hello world”項目。Vitis 報告“平臺無法識別。

poYBAGNYinyATY10AAFXwN3leH4122.png
圖 5. Vivado 模塊設(shè)計視圖。
?

在圖中(圖 5)可以觀察到,我們創(chuàng)建了兩個 IP-s,一個與 AXI 兼容,一個沒有 AXI 接口。我們的經(jīng)驗是,沒有 AXI 接口的設(shè)備在 KC705 平臺上工作得更正確。

只是為了在下圖中顯示一個示例,我們展示了 KC705 模塊的結(jié)果,因為我們無法在 KV260 上進行 HIL 和測試。

pYYBAGNYin6AIIDBAAA9_CZZGxU041.png
圖 6. 在 FPGA 上計算的估計轉(zhuǎn)向角與傳統(tǒng) MPC 和 DNN 模型的仿真結(jié)果相比。
?
poYBAGNYioGAa7miAAAv0dQaMLk764.png
圖 7. 車輛對估計轉(zhuǎn)向角的橫向偏差響應(yīng):FPGA 和仿真結(jié)果的比較。
?
poYBAGNYioOADcEwAAA1OWyYzAQ807.png
圖 8. 偏航角對估計轉(zhuǎn)向角的車輛響應(yīng):FPGA 和仿真結(jié)果的比較。
?

結(jié)果

創(chuàng)建的 DNN_tool 可用于實現(xiàn)任何 DNN 網(wǎng)絡(luò),并且可以在 Simulink 中進行測試。模擬、HIL 和實施可以在 FGPA 中完成。

創(chuàng)建的工具可供任何人免費使用。

不幸的是,我們無法在 Kria 板上測試模型預測控制,但可能在不久的將來我們會在 AMD-Xilinx 工作人員的幫助下解決這個問題。

我們面臨的主要問題是如何在不使用 RTL 內(nèi)核向?qū)У那闆r下將 DNN MPC 模型集成到 Vitis。

評論

(對于具有高級知識的人)構(gòu)建一個項目需要多長時間?

答案是:1 小時來訓練和準備 DNN。5 分鐘安裝 DNN 工具并生成 IP。10-20 分鐘通過導入 IP 并進行所有必要的設(shè)置來創(chuàng)建 Vivado 項目。5-30 分鐘(取決于 DNN 的大小和優(yōu)化策略)創(chuàng)建比特流。10 分鐘遷移到 Vitis 并運行項目。30 - 60 分鐘編寫 C 程序并測試結(jié)果。

我們花了多長時間構(gòu)建 DNN 工具并在不同平臺上測試該工具?

答案是:5個月每天工作3-5小時左右。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費