资料介绍
描述
介绍
我们的目标是创建一个自主的室内机器人,它使用不同的控制策略来处理它的运动。在这个项目中,我们提出了一种解决方案,它对传感器进行建模并实施模型预测控制 (MPC)。
关于 MPC 控制的一些话: 模型预测控制 (MPC) 是一种众所周知的用于解决在线优化问题的控制策略,广泛用于自动驾驶汽车应用。MPC 的计算成本高且资源消耗大,尤其是当涉及到嵌入式计算平台的有限资源时,例如片上系统 (SoC) 和现场可编程门阵列 (FPGA) 平台。最近,机器学习(ML)在减少执行时间和资源消耗方面已成为经典控制系统的有效替代方案。模型预测控制 (MPC) 是最常用的控制策略之一,因为它能够解决在线优化问题并处理软约束和硬约束。但是,对于复杂的高非线性系统,MPC的实现是一个很大的挑战;
深度神经网络被认为是一种自我优化的方法,因为它能够根据提供的信息优化其行为,这使得 DNN 适用于复杂的动态系统。使用 Matlab Simulink 和 MPC 工具,我们发现这会让人头疼,因为我们使用的是小型 FPGA。出于这个原因,在米什科尔茨大学,我们创建了一个 DNN 工具,它从给定的输入数据创建一个基于给定数据中的 System Generator 库元素的可参数化 DNN 网络。
一个传统的 MPC 控制器如图 1 所示。MPC 控制器的预测策略是在预测范围内执行的,它代表了控制器期待未来的下一个 P 时间步长。MPC 控制器模拟几个未来场景,优化器根据成本函数选择最佳场景,成本函数代表参考目标和预测输出之间的误差。最优方案对应于最小成本函数。
该控制器计算量大,因为它解决了每个时间步的在线优化问题,这需要高计算能力和大内存。计算负载和高资源消耗使 MPC 在有限资源上的实现成为一个巨大的挑战。
设计MPC模型的第一步是确定车辆内部模型的输入输出信号,第二步是设置参数和确定约束条件。操纵变量(转向角 δ)和扰动(vx ρ)被确定为输入信号,而横向速度 vy、横向偏差 d、偏航角 θ 和偏航率 ω 被确定为输出信号(见图 2)。
模型方程如下:
约束条件如下确定:转向角在 [-1.04, 1.04] rad 范围内,偏航角速率在 [-0.26, 0.26] rad 范围内。在设计过程中保持这些参数,直到获得满意的行为。MPC 和工厂模型的总体设计如图 4 所示。
深度神经网络 IP 程序的自动生成
设计步骤如下:
- 首先制作了传统的MPC控制器;验证和测试 MPC 设计;深度神经网络模型设计,生成数据集;训练 DNN 模型;验证和测试 DNN 模型;(这些步骤对于每个新的 DNN 都是特定的,因此这里不介绍这些步骤);
- 下一步是运行IP工具生成器(见附件中的工具);
- 运行仿真和硬件在环仿真(见模型和随附的初始化文件);
- FPGA 在硬件中的部署和测试。
- 为 KRIA SOM KV260 创建自适应硬件平台(参见教程https://github.com/Xilinx/Vitis-Tutorials/tree/2021.2/Vitis_Platform_Creation/Design_Tutorials/01-Edge-KV260)
- 将 AXI IP DNN 导入 Vivado 或 Vitis(在编辑和提交项目时,我们没有收到 Xilinx 的反馈如何在 Vitis 中导入翻译后的项目)
对于深度神经网络 IP 的自动生成,创建的 DNN 工具(见附件 DNN 工具 IP 生成器)。
首先使用 DNN 工具创建 DNN。一般而言,将使用该工具的人应提供以下参数:
该工具的输入如下:
- 每层的神经元数量
- 精度(浮点或 FIX16 或 FIX8)
- 权重
- 偏见
输出是在 Matlab Simulink 中生成的 DNN IP。
备注:该工具正在工作,但应考虑针对不同的 AMD Xilinx 平台进行一些优化和修饰。这是 PL(可编程逻辑)包含的神经元和 DSP 元素数量的函数。该工具已针对 KC705 板和 Kria KV260 SOM 成功测试。
首先加载DNN_Generator.m文件并根据需要进行编辑:
%Edit model_parameters_here...神经元计数 = [6 20 10 10 1]; % 7 层中每一层的神经元数量%starting model... init;
然后运行。该模型已创建并可用于自己的目的。
仿真/硬件在环仿真 (HIL)
在 Simulink 环境下进行了仿真,取得了不错的效果。不幸的是,对于 Kria KV260 模块,系统生成器不允许我们进行硬件在环仿真。我们使用 KC705 板为生成的 DNN 制作了 HIL。使用 KV260 仿真和使用 KC705 的 HIL 获得的结果相似。
如下图(图 5)所示创建的 Vivado 项目已成功翻译并导出到 Vitis。在 Vitis 软件中,我们甚至无法运行“hello world”项目。Vitis 报告“平台无法识别。
在图中(图 5)可以观察到,我们创建了两个 IP-s,一个与 AXI 兼容,一个没有 AXI 接口。我们的经验是,没有 AXI 接口的设备在 KC705 平台上工作得更正确。
只是为了在下图中显示一个示例,我们展示了 KC705 模块的结果,因为我们无法在 KV260 上进行 HIL 和测试。
结果
创建的 DNN_tool 可用于实现任何 DNN 网络,并且可以在 Simulink 中进行测试。模拟、HIL 和实施可以在 FGPA 中完成。
创建的工具可供任何人免费使用。
不幸的是,我们无法在 Kria 板上测试模型预测控制,但可能在不久的将来我们会在 AMD-Xilinx 工作人员的帮助下解决这个问题。
我们面临的主要问题是如何在不使用 RTL 内核向导的情况下将 DNN MPC 模型集成到 Vitis。
评论
(对于具有高级知识的人)构建一个项目需要多长时间?
答案是:1 小时来训练和准备 DNN。5 分钟安装 DNN 工具并生成 IP。10-20 分钟通过导入 IP 并进行所有必要的设置来创建 Vivado 项目。5-30 分钟(取决于 DNN 的大小和优化策略)创建比特流。10 分钟迁移到 Vitis 并运行项目。30 - 60 分钟编写 C 程序并测试结果。
我们花了多长时间构建 DNN 工具并在不同平台上测试该工具?
答案是:5个月每天工作3-5小时左右。
- 通用RFID生成器 1次下载
- 迷你自主机器人开源分享
- 自主机器人开源项目
- MIF文件生成器下载 18次下载
- AN-113:精密坡道生成器
- 基于生成器的图像分类对抗样本生成模型 2次下载
- Xilinx LogiCORE IP块内存生成器的产品指南 22次下载
- 自主机器人足球系统的通信机制 0次下载
- 自主机器人避障方法研究 0次下载
- 代码生成器的应用 0次下载
- 智能机器人的适应自主Agents的建模 10次下载
- LED段码生成器 97次下载
- 汉语句子联想生成器
- UOC III系列器件 DMP生成器 (DMP Create
- pim卡资料生成器
- 如何使用PLC控制机器人 789次阅读
- TSMaster报文发送的信号生成器操作说明 713次阅读
- 个性化地定制自己的uvm代码生成器模板和脚本 1766次阅读
- 代码生成器配置和软件UART的实现 1325次阅读
- 如何使用DonkeyCar平台构建一个自主机器人 2114次阅读
- 利用雷达目标生成器测试整个雷达系统的方法介绍 2488次阅读
- 机器人控制系统分类_机器人控制系统有哪些 2.6w次阅读
- 机器人控制器有哪些类型_机器人控制器发展 1.1w次阅读
- 移动机器人控制系统设计与仿真 3433次阅读
- 仙知机器人自主研发用于移动机器人应用专业级客户端软件Roboshop 6069次阅读
- 带你一起学习彻底搞懂Python生成器 2633次阅读
- 盘点机器人传感器的类型及其作用 7743次阅读
- 如何提高生成器G样本质量的新方法 5925次阅读
- 关于机器人传感器的种类介绍 1.3w次阅读
- 机器人自主充电座PCB图和自主充电原理图 9092次阅读
下载排行
本周
- 1美的电磁炉维修手册大全
- 1.56 MB | 5次下载 | 5 积分
- 2SMD LED选型手册 贴片灯珠
- 5.47 MB | 3次下载 | 免费
- 3基于PLC的拉丝机张力控制系统研究
- 0.14 MB | 2次下载 | 5 积分
- 4加密芯片的一种破解方法和对应加密方案改进设计
- 0.29 MB | 1次下载 | 免费
- 5万用表UT58A原理图
- 0.09 MB | 1次下载 | 5 积分
- 6多功能MPU芯片GC9005数据手册
- 2.67 MB | 1次下载 | 免费
- 7面向NXP i.MX8处理器的电源解决方案
- 47.47KB | 次下载 | 免费
- 8LP8733-Q1和LP8732-Q1为DRA78x和TDA3x供电的用户指南
- 61.31KB | 次下载 | 免费
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 20次下载 | 免费
- 3华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 14次下载 | 3 积分
- 4DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 53314A函数发生器维修手册
- 16.30 MB | 13次下载 | 免费
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 9次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8感应笔电路图
- 0.06 MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多