c++ properties_【自动驾驶】运动规划丨代码生成丨 MATLAB Coder将M代码生成C/C++代码...

7d367f446b5dc12ae8161479ed2b6300.png

背景

运动规划算法开发中,轨迹的生成多为高阶曲线,且多用到矩阵运算,以及实时计算曲线的系数,其精度不固定,用传统的Targetlink定标需要对所有符号定标,公式长了一旦出错不易查找,另外系数定标精度无法确定。目前多数开发在SoC上,也支持浮点运算。

Simulink Coder和 MATLAB Coder的区别

63f31423782a98a80911c7a5ca6a70ce.png

MATLAB Coder是把m函数转成c/cpp代码,同时也是使用Simulink Coder的一个前置条件,装Simulink Coder必须先装MATLAB Coder。

Simulink Coder跟MATLAB Coder的功能差不多,只不过Simulink Coder是把Simulink模型转成c/cpp代码。

基于这两者更上层的是Embedded Coder。 Embedded Coder 则允许更进一步的针对MATLAB Coder或者Simulink Coder 生成的代码进行优化和定制,从而生成可以应用到嵌入式产品中去的产品级代码。

自动生成代码及部署到硬件

MATLAB不仅在于提供了覆盖各个领域的工具箱,你可以快速方便地实现模型在环测试Model-in-lop(MIL),而且有各种代码生成工具,帮助实现快速控制原型Rapid Control Prototype(RCP)、软件在环测试Software-in-lop(SIL)、硬件在环测试Hardware-in-lop(HIL),还可以部署到硬件(CPU、GPU、FPGA)。
这些代码生成工具有:

  • MATLAB Coder
  • Simulink Coder
  • Embedded Coder
  • HDL Coder
  • GPU Coder

对于前三个Coder,基于模型设计(Model Based Design,MBD)会涉及。另外两个Coder,HDL Coder和GPU Coder分别用以将MATLAB/Simulink的代码、模型生成FPGA的代码(VHDL或Verilog)和CUDA代码。

41ee24984c1f938eea4b468feb9e3dd6.png
自动生成代码,部署深度学习模型

a6355aa035759a1df7a4ec32165c692f.png
MATLAB Coder和GPU Coder

HDL Coder的应用

54a121c98f7a344d932b5e46ae2c2274.png

Embedded Coder:参考链接

https://zhuanlan.zhihu.com/p/158179937​zhuanlan.zhihu.com

Simulink Coder 和 Embedded Coder的区别,为什么采用Embedded Coder,变量定标mpt package,标定量参数定标,信号关联properties,变量workspace存储.mat/.m文件

MATLAB Coder:参考链接

https://zhuanlan.zhihu.com/p/20758210​zhuanlan.zhihu.com
https://zhuanlan.zhihu.com/p/96930788​zhuanlan.zhihu.com
https://zhuanlan.zhihu.com/p/44847255​zhuanlan.zhihu.com
https://zhuanlan.zhihu.com/p/27151590​zhuanlan.zhihu.com

c534754006a7c9cd7c5bbe61f67d8a40.png

MATLAB Coder参考文档:

使用 MATLAB Coder App 生成 C 代码​ww2.mathworks.cn
9d3847cdf16c45d7ebaa211bdb93d50a.png
使用 MATLAB Coder App 生成 C 代码​cn.mathworks.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值