
在MATLAB中,不仅能开汽车,而且能开飞机!
1、MATLAB的Powertrain Blockset和Vehicle Dynmics Blockset提供车辆模型,Automated Driving Toolbox和RoadRunner提供可视化场景,Simulink中还有罗技方向盘和踏板的现成驱动模块。MATLAB版飞车开起来,场景是可以自定义的!
2、MATLAB中也可以玩无人机,这就得用到MATLAB 2020b新发布的UAV Toolbox了。照样可以用罗技方向盘和踏板开起来~~
MATLAB提供的一个大福利是:学生、工程师可以通过Simulink模块式建模的方法非常方便地搭建各种算法、模型,即便你不懂任何代码!!!
但问题是,工程应用中,最终烧写到硬件中的只能是代码,而非Simulink模型,因此Simulink似乎只能停留在前期的仿真模拟,而不能应用于工程项目。针对这个大bug,MATLAB开发了代码生成工具——Embeded Coder,可以将Simulink模型转化成C/C++代码,而且是产品级的代码,打通了前期的仿真和后期的工程应用,这样我们就可以一直愉快地使用Simulink了。
你以为到此就结束了吗?还不够~ Embeded Coder因为是生成产品级的代码,为了让生成的代码足够优化和高效,需要在生成代码之前要做大量的设置工作。这些优化对于做快速控制原型和硬件在环仿真的用户来说,是完全没有必要的。MATLAB提供了MATLAB Coder和Simulink Coder来解决这个问题,这两个Coder也是将m语言和Simulink模型生成代码,不过生成的是非产品级、未经优化的代码,这个生成代码的过程很方便、快速,而且针对快速控制原型和硬件在环仿真很有效。
你以为到此就结束了吗?还没有~ Embeded Coder、MATLAB Coder和Simulink Coder生成的代码是C或C++,适用于CPU硬件,但不适用于FPGA和GPU硬件。丧心病狂的MATLAB又开发了HDL Coder,HDL Coder将Simulink模型转化成FPGA可运行的代码(HDL硬件描述语言)VHDL或Verilog。然后MATLAB又开发了GPU Coder,GPU Coder可以把模型转化成GPU可运行的CUDA代码。
HDL硬件描述语言是传统开发者不太熟悉的语言,直接手写HDL是相当痛苦的。HDL Coder用Simulink建模的方式来进行FPGA开发,让FPGA代码编写回归到了我们熟悉的Simulink建模。
对这些代码生成工具感兴趣的朋友,可以看看以下视频。
小迈步第四课主要涉及了HDL Coder的应用。
小迈步第二课主要涉及了MATLAB Coder和GPU Coder的应用。
