一种使用MATLAB/Simulink的Arduino模型化开发方法AET

MATLAB是由MathWorks公司发布的面对科学计算、可视化以及交互式程序设计的高性能计算环境。

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。

本文研究了基于模型的软件开发特点和在高安全软件开发领域主要工作流程,基于MATLAB/Simulink软件平台进行Arduino模型化开发实例分析,实现了模型设计、模型调试、自动代码生成、自动下载运行以及在线调试等功能,进行Arduino的模型化开发方法研究和分析。

1基于模型的软件开发

基于模型的软件开发使用了模型设计的工作流程和开发与测试相结合的软件开发平台,使得系统设计和验证过程相统一,减少了开发成本,缩短了开发周期,降低了软件缺陷率[5]。在基于模型的软件开发过程中,系统模型是设计的基础,需求分析、设计实现和测试验证的过程都是围绕系统模型进行的。模型在整个设计实现的过程中不断被细化、分解和复用,模型的测试和验证配合实际实现同步进行,产品的缺陷随着开发过程的进行不断地暴露和解决,避免了实现完成后测试发现问题再进行更改的现状,同时自动代码生成有效地减少了人为引入错误的可能,自动化的验证和确认使测试工程师能够开发完整的、基于需求并可在自动产生的代码上重用的测试用例。

1.1与传统软件开发方法的对比

传统的软件开发流程模型如图1所示。基于模型的设计流程模型如图2所示。

相对于传统的软件开发方法,基于模型的设计优势在于:

(1)开发和验证测试的过程始终结合在一起,产品从需求分析到设计和实现的各个阶段均通过模型进行不断的验证;(2)产品的缺陷可以在初期的需求分析阶段通过模型验证暴露出来,大大降低了后期设计完成后测试的难度和更改量,开发者只需关心算法和模型设计,源代码使用工具软件自动进行生成和测试验证;(3)缩短了开发周期,降低了开发成本。

1.2基于模型的软件开发工作流程

1.2.1行业标准

DO-178B定义了5个软件层级:A、B、C、D、E,这5个软件层次所导致的失效状态是由系统安全评估过程决定的[9]。确定的构件级别应与其能够产生的最严重的失效条件相对应,A级为失效会产生最严重后果的等级,之后依次弱化,E级表述为“无安全性影响”[10]。更新的DO-178C[11]标准以附件形式发布了以模型开发、形式化验证、面向对象、工具鉴定等为代表的新一代软件研制技术[12]。

1.2.2生命周期

DO-178B/C定义了各层软件都应满足的各个过程的具体目标,定义的软件生命周期可以划分为3类过程[13]。软件计划过程:定义并协调一个项目的软件开发与系统集成过程;软件开发过程:包括软件需求分析、设计、编码、整合过程,同时还包括各过程间的跟踪;整合过程:保证软件生命周期及其输出的正确、可控、可信,包括验证、软件配置管理、软件质量保证、合格审定联络过程。

1.2.3工作流程

根据上述基于模型设计的工作流程和DO178B/C软件生命周期的各个过程,结合MATLAB/Simulink软件得到具体的模型化开发方法[14]的工作流程如图3所示。

1.3Arduino的模型化开发方法

在MATLAB_supportPackages的配合下,调试完成后的Simulink模型可以直接在Arduino平台上独立运行或者与连接的PC配合运行。Arduino平台可以帮助用户在不需要手动编程的情况下理解嵌入式系统的设计流程,可以使用Simulink来设计控制系统和机器人应用算法,可以应用基于模型设计技术,在仿真中验证算法,验证过程可以符合DO-178B标准,也可以将算法作为独立的应用程序,在Arduino平台上的ATmega处理器上实现。结合基于模型的软件开发工作流程,Arduino的模型化开发方法可以总结为:

(1)使用Simulink建立仿真模型,在建立的过程中,验证和确认该模型;(2)模型验证和确认后,使用Simulink自动生成可以在Arduino上运行的C语言代码;(3)生成的代码编译后下载到Arduino目标机上运行,运行过程数据可以在MATLAB软件中观察并且在Simulink中在线整定和修改。

安装MATLAB_supportPackages后,Simulink中封装Arduino平台模型库。

2Arduino模型化开发

2.1功能需求

示例开发的功能为通过Arduino模拟量输入口获取的热敏电阻的电阻值,采样量化后通过一定的算法将该电阻值转换为当前的温度值,在白板上写出温度值,如果温度改变,则擦除原有数据,重新写出当前温度值。硬件连接好之后,软件功能可以细分为:(1)读取Arduino的一路模拟量输入口;(2)处理模拟数据为温度值;(3)将温度值传送到输出模块;(4)输出模块擦除原来温度值,写入新的温度值。本节采用模型化的方法对上述功能需求进行开发。

2.2模型设计

2.2.1算法设计

热敏电阻是电阻值随温度变化的半导体传感器,其典型特点是电阻值对温度非常敏感,在不同的温度下会表现出不同的电阻值,从而根据表现的电阻值逆推出其所处的环境温度值。本文选用负温度系数热敏电阻(NTC)503,其电阻值随温度的升高而降低,存在一个非线性的已知关系:

2.2.2模型设计和调试

根据式(2)及具体参数值,设计经过Arduino模拟量读取端口采样和量化(0~1023)后的电阻值转换为温度值的算法模型图4所示。

通过MATLAB模拟采样后端口输入信号,输入0~1023全部数据,模型相应输出经过计算后的温度值。

2.2.3模型集成

新建一个Simulink项目,图5所示为建立读取Arduino的模拟量输入口和处理模拟数据为温度值以及将温度值传送到输出模块的模型。设置PulseGeneartor,更改需要的频率、占空比,以及相应的pinnumber等。

2.3自动生成代码和运行

在线调试完以后可以进行自动生成代码和在线烧写,打开配置窗口,选择“PreparetoRun”,选择对应的控制板型号为ArduinoMega2560,设置端口(可以选自动或手动),设置波特率(相当于IDE编程时setup()函数中的Serial.begin())。设置完成保存后,回到Simulink编辑窗口,点击"Run"开始自动下载并在完成后运行。

2.4在线调试

本文使用的Arduinomega2560硬件平台,具有4路串行通信端口与PC进行数据交互,可以在Simulink环境中直接在线整定PID参数、监视实际信号变化,通过Scope工具查看转换后的实时温度输出信号,如图6所示。

3分析和验证

生成程序代码共9794行,其中有效代码行数为5924行,占60.17%,注释行数为2541行,占25.81%。有9个程序头文件,25个c/cpp程序文件,可执行文件hex和bin各一个,可以直接下载到目标机运行,其他中间文件40个。生成的代码和程序涉及的功能如表1所示。

传统软件和系统开发的验证步骤一般位于项目的末尾,如瀑布模型等。对于复杂系统与软件项目,如果仅依靠后期验证发现问题再进行修改,其代价往往是难以估量的,因为问题可能在需求或者设计阶段就已经存在了。在基于模型的设计过程中,可以将验证过程提前到模型设计阶段,通过系统早期验证提高产品质量,缩短开发周期,减少纠错成本。

4结论

基于模型的软件开发是一种新颖的软件开发的理念和方法,在高安全环境要求下的软件领域有着广泛应用。本文介绍了基于模型的软件开发特点和行业标准,并且与传统的软件开发方法进行了对比,总结了基于模型的软件开发的典型工作流程。在此基础上,基于MATLAB/Simulink软件平台进行Arduino模型化开发实例分析,实现了模型设计、模型调试、自动代码生成、自动下载运行以及在线调试等功能,并且进行了生成代码分析和协议符合性验证,探索了完整的Arduino的模型化开发方法。

参考文献

[1]BIGLARIH.Past,presentandfutureofsatety-criticalrealtimeembeddedsoftwaredevelopment[M].NewYork:FairchildControlCorporation,2008.

[2]王伟,李育挺,马松辉.基于模型的验证与测试技术[J].计算机测量与控制,2013,21(4):987-989.

[4]赵广元,王文庆,蔡秀梅.基于Arduino和Matlab/Simulink的仿真环境设计研究[J].测控技术,2015,34(8):123-125.

[5]YuShitao,YangShiwei,YangLin,etal.Module-baseddevelopmentofreal-timesoftwaresystemforelectronicunitpumpsystem[J].ChineseJournalofMechanicalEngineering,2007,20(1):25-30.

[6]金志威,刘万和,薛茜男,等.形式化方法在机载电子硬件研制中的应用研究[J].电子技术应用,2015,41(6):143-146.

[7]RTCA/DO-178B.Softwareconsiderationsinairbornesystemsandequipmentcertification[Z].WashingtonD.C:RadioTechnicalCommissionforAeronautics,Inc.,1992.

[8]何鑫,刘畅,郑军.基于DO-178B的软件测试技术研究[J].计算机测量与控制,2013,21(6):1470-1473.

[9]蔡喁,郑征,蔡开元,等.机载软件适航标准DO-178B/C研究[M].上海:上海交通大学出版社,2013:129-130.

[10]朱和铨,徐浩军,张鹏,等.模型驱动的软件构件研制保证水平验证方法[J].航空学报,2015,36(3):907-920.

[11]RTCA/DO-178C.Softwareconsiderationsinairbornesystemsandequipmentcertification[Z].WashingtonD.C:RadioTechnicalCommissionforAeronautics,Inc.,2008.

[12]王金林,牟明,邢亮.GJB5000A与DO-178B/C的综合应用研究[J].航空计算技术,2015,45(1):100-102,107.

[13]刘杰.基于模型的设计及其嵌入式实现[M].北京:北京航空航天大学出版社,2010:345-349.

[14]渠博岗,易映萍.基于CCS与MATLAB/Simulink联合仿真平台的构建与实现[J].电子技术应用,2016,42(4):106-110.

THE END
1.深入解析大模型:从基础理论到实际应用正则化技术:为了防止大模型过拟合,需要引入正则化技术,如L1/L2正则化、Dropout等。 优化算法:大模型的训练过程需要高效的优化算法,如随机梯度下降(SGD)、Adam等。 三、大模型在自然语言处理中的应用 大模型在自然语言处理(NLP)领域有着广泛的应用,如语言模型、机器翻译和文本生成等。下面我们以Java语言示例,展示如何https://www.ctyun.cn/zhishi/p-433372
2.aigc生成式人工智能- 深度学习与神经网络:生成对抗网络(GANs)、变分自动编码器(VAEs)、Transformer架构等是实现高质量内容生成的核心算法。这些模型能够从大量数据中学习复杂的模式,并根据给定的提示或输入生成新的、独特的输出。 - 自然语言处理(NLP):通过大规模预训练模型如BERT、GPT系列,机器可以理解和生成人类语言,用于撰写文章、对话https://fuxi.163.com/database/1344
3.AI大模型:从基础到进阶的概念解析1.什么是大模型? 大模型(Large Model)是指在人工智能领域,参数规模较大、模型结构复杂的神经网络模型。大模型具有强大的拟合能力,能够在语音识别、图像识别、自然语言处理等任务中取得优异的表现。 2.大模型的发展历程 (1)深度学习的兴起:2006年,深度学习理论逐渐成熟,神经网络模型在多个领域取得突破性进展。 https://www.bilibili.com/read/cv40092739
4.AI算法模型线上部署方法总结jpmmltensorrt一、机器学习算法线上部署方法 来自:机器学习算法线上部署方法 ? 我们经常会碰到一个问题:用了复杂的GBDT或者xgboost大大提升了模型效果,可是在上线的时候又犯难了,工程师说这个模型太复杂了,我没法上线,满足不了工程的要求,你帮我转换成LR吧,直接套用一个公式就好了,速度飞速,肯定满足工程要求。这个时候你又屁颠https://blog.csdn.net/SeafyLiang/article/details/121213681
5.强化学习离线模型离线模型和在线模型在推荐算法领域,时常会出现模型离线评测效果好,比如AUC、准召等指标大涨,但上线后业务指标效果不佳,甚至下降的情况,比如线上CTR或CVR下跌。 本文尝试列举一些常见的原因,为大家排查问题提供一点思路。 1. 离线、在线特征不一致 离线、在线特征不一致通常是模型线上效果不好的主要原因,然而,造成离在线特征不一致的原因https://blog.51cto.com/u_14499/11815202
6.亚马逊COSMOLM新算法将取代A9算法重塑亚马逊搜索规则?3. 多样化在线服务。COSMO系统为亚马逊提供了多样化的在线服务,包括搜索相关性、基于会话的推荐等。 4. 持续的技术创新。论文介绍的COSMO系统不断利用大型语言模型和人机协同注释等训练技术手段来提升知识图谱的质量和适用性。 COSMO-LM新算法会采用用户画像和大数据搜索成交习惯,智能推荐产品给潜在的买家。对于卖家而言,https://www.cifnews.com/article/156691
7.算法服务平台算法模型服务平台是一个面向企业用户的数字化服务平台,旨在为用户提供高效、先进的算法模型。它以数据为核心,利用机器学习、深度学习等前沿技术,为用户提供行业定制化的算法模型解决方案。 应用场景 用户情感分析 使用情感分析模型,对文本进行情感分析,用于市场调研,客户服务和社交媒体监测。 https://wakedata.com/wakeAI.html
8.2023年重大网络安全政策法规盘点11月29日,北京市科学技术委员会、中关村科技园区管理委员会在AICC 2023人工智能计算大会上发布了《北京市人工智能行业大模型创新应用白皮书(2023年)》。《白皮书》从大模型全球发展态势、国内外行业应用概述、北京应用情况和发展建议等方面进行了系统分析和阐述。 https://www.eet-china.com/mp/a273064.html
9.图解机器学习模型评估方法与准则腾讯云开发者社区1.模型评估的目标 模型评估的目标是选出泛化能力强的模型完成机器学习任务。实际的机器学习任务往往需要进行大量的实验,经过反复调参、使用多种模型算法(甚至多模型融合策略)来完成自己的机器学习问题,并观察哪种模型算法在什么样的参数下能够最好地完成任务。 https://cloud.tencent.com/developer/article/1953727
10.蚂蚁金服核心技术:百亿特征实时推荐算法揭秘阿里妹导读:本文来自蚂蚁金服人工智能部认知计算组的基础算法团队,文章提出一整套创新算法与架构,通过对TensorFlow底层的弹性改造,解决了在线学习的弹性特征伸缩和稳定性问题,并以GroupLasso和特征在线频次过滤等自研算法优化了模型稀疏性,在支付宝核心推荐业务获得了uvctr的显著提升,并较大地提升了链路效率。 https://maimai.cn/article/detail?fid=1010621115&efid=mIQCHnkj0zjxlpygUmo5mg
11.干货一文读懂工业大数据的算法与模型基本知识与应用细分算法常见的应用是客户细分,购物中心根据会员的消费金额、消费频次和最近一次消费时间将会员划分为不同价值的群体。在实施细分算法之前,我们并不知道这些会员可能被分为几类,每个类别是什么,只有建立细分模型之后,才能根据划分出类别在这三个方面表现出的特点归纳出每一类具体是什么。 https://www.evget.com/doclib/s/14/10645
12.深蓝汽车发布S7i和SL03i搭载智能操作系统和智驾辅助在环境感知方面,深蓝汽车利用AI视觉识别和多模型并行概率融合的感知识别技术,实现了快速、稳定和高效的感知能力,并提升了目标测距精度和场景泛化能力,从而增强了处理复杂场景的能力。 决策精准的算法模型 在行为决策方面,深蓝汽车研发了多目标交互预测决策模型和基于场景特征耦合风险评估的主动防御式类人决策算法,结合动态占https://www.pcauto.com.cn/hj/article/2278216.html
13.朱庆华宋珊珊风险视角下生成式人工智能的司法应用路径如简易版的模型治理对策流程:(1)数据采集——生成式人工智能司法需要准确的数据作为输入,因此在数据采集方面需建立严格的数据标准和评估机制,可通过采取错位学习、多元数据来源验证等方式,以确保数据的真实性和可靠性。(2)算法建模——在开发生成式人工智能司法算法模型时,应注重正义的重塑效应。如,避免算法偏见、公正https://www.jfdaily.com/sgh/detail?id=1247369
14.关于AIGC这些算法是以手工设计为基础的功能,并且是有限的,可以生成复杂多样的图像。2014年,生成对抗网络(Generative Adversarial Networks,简称GAN)首次被提出,这是该领域的一个重要里程碑,因为它在各种应用中取得了令人瞩目的成果。变分自编码器(VAE)和其他方法(如扩散生成模型)也被开发出来,用于对图像生成过程进行更精细的https://www.aigc.cn/about
15.软考高级——信息系统项目管理师(第4版)思维导图模板建模分析。提供大数据、人工智能分析的算法模型和物理、化学等各类仿真工具,结合数字孪生、 工业智能等技术,对海量数据挖掘分析, 实现数据驱动的科学决策和智能应用。 知识复用。将工业经验知识转化为平台上的模型库、 知识库,并通过工业微服务组件方式, 方便二次开发和重复调用,加速共性能力沉淀和普及。 https://www.processon.com/view/654c455f8f11b40fe56ece43
16.李丰对话连文昭:大模型的想象与泡沫,机器人的「不可能三角」与如果当下的技术进展提早实现,Google X和Vicarious会有什么不同? 李丰:回顾你在 Google X 做Make这部分的机器人,以及之前在 Vicarious想用机器人来证明上一轮的AGI,两者都面临着各自的挑战和目标。今天回过头来看,假如当前的大模型、Transformer 算法等软硬件技术在当时已经有了,Vicarious的机器人或 Google X 的 Intrihttps://36kr.com/p/2739773975865608
17.《深度学习:数学基础算法模型与实战》(于子叶)简介书评当当网图书频道在线销售正版《深度学习:数学基础、算法模型与实战》,作者:于子叶,出版社:机械工业出版社。最新《深度学习:数学基础、算法模型与实战》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《深度学习:数学基础、算法模型与实战》,就上当http://product.dangdang.com/29559261.html
18.省大数据局关于印发贵州省数据要素登记服务管理办法(试行)的通知第二十三条 初始登记是指登记主体对通过投入劳动及其他要素,汇聚、整理、加工形成的数据资源、算法模型、算力资源以及综合形成的数据产品进行初始登记的行为。 登记主体办理初始登记前,应与其他利害关系人就登记内容达成一致。 通过初始登记,登记主体获得数据要素登记凭证和数据用益凭证。 https://dsj.guizhou.gov.cn/zwgk/xxgkml/zcwj/bmwj/202311/t20231115_83084263.html
19.轻松看懂机器学习十大常用算法西南石油大学通过本篇文章大家可以对ML的常用算法形成常识性的认识。没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题)。以后有机会再对单个算法做深入地解析。 一、决策树 二、随机森林算法 三、逻辑回归 四、SVM 五、朴素贝叶斯 https://www.swpu.edu.cn/eelab/info/1090/2296.htm
20.基于阿里云PAI平台搭建知识库检索增强的大模型对话系统它提供的弹性扩缩容和蓝绿部署等功能,可以支撑您以较低的资源成本获取高并发且稳定的在线算法模型服务。此外,PAI-EAS还提供了资源组管理、版本控制以及资源监控等功能,方便您将模型服务应用于业务。PAI-EAS适用于实时推理、近实时异步推理等多种AI推理场景,并具备自动扩缩容和完整运维监控体系等能力。 在LLM检索增强https://developer.aliyun.com/article/1369412