天天看点

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

之前只是用Matlab做一些算法的仿真,数据的计算分析处理,知道MATLAB中包含有Simulink,只知道Simulink用于控制一类的仿真,最近深入接触了一下Simulink,发现这个工具实在是太强大了。如果说仅仅把MATLAB/Simulink想象成一个仿真计算的工具,那实在是太落伍了。

目前MATLAB/Simulink更多的是在产品的实现阶段发挥更重要的作用,例如之前我要开发一个机器人产品原型,我要去实现产品,需要做什么:

  • 硬件设计及生产;
  • 根据实际硬件,不断调试软硬件接口、驱动;
  • 算法仿真;
  • 针对硬件进行算法编码,部署到硬件上更改算法的各项参数

    事实上传统模式花费功夫最大的是硬件及软件编码,而产品最重要的算法设计往往精力分配不够。

下面一段话是本文的中心思想,也是做这个项目的目的:

MATLAB/Simulink不光用来做仿真、数据处理,可以直接完成软硬件集成、调试、测试、报告等过程,实现产品数字化、自动化设计过程,人花费精力最大是产品的设计过程,而产品的实现和测试由Simulink工具完成。这也就是基于模型的设计(MBD)的概念,成为当今产品研发的主流模式。在汽车行业,要讲究开发效率和可靠性,所以几乎所有的软件都以这种模式进行开发,逐渐成为一个行业标准。

欢迎大家添加我们的公众号,基于模型的智能系统研发。会在公众号中分享更多基于模型的开发案例,包括一些低成本硬件如STM32、ARM、树莓派等,并提供最前沿的MATLAB技术发展咨询。

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

下面就以平衡机器人的开发为例,进行介绍,做这个东西,搭乐高机器人用了半天时间,调试开发环境和模型用了两天,所以公用两天半完成平衡机器人的原型开发。

基于模型的开发,你可以直接找成熟的硬件,MATLAB/Simulink包含有相关的硬件驱动,可以直接在Simulink环境中完成数据的读取、设备的控制,并将算法直接生成代码下载到硬件当中。本项目MATLAB/Simulink通过WiFi与乐高EV3机器人相连接,通过Simulink对EV3控制系统进行建模,模型自动生成代码下载到EV3中运行,并生成报告,将传感器数据实时采集到模型中进行仿真并显示。

目录

  • MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)
      • 目录
      • 乐高机器人
      • MATLAB与乐高
      • 1 开发环境
      • 2 开发过程
      • 3 调试注意事项
      • 4 基于模型的开发带来的好处

乐高机器人

  • 乐高机器人被广泛用于编程、机器人设计、控制设计等领域的入门教学。在美国和日本,乐高机器人被广泛用于学生和爱好者的竞赛当中。在中国,我们也发现越来越多的少儿教育中,开始引入这些低成本的教学平台,用于激发学生的学习兴趣,同时也帮助提高学生的动手能力。
  • 如果用传统的方式学习制作机器人,我们得先学习电脑基本概论,接着要了解电子电路、数位逻辑和微处理器,才能制作出基本的微电脑控制电路。然后还要学习汇编语言(Assembly)或C语言,撰写微处理器的程序…对了,也许最麻烦的是机械结构,我们得决定要用步进马达还是一般的直流马达,不同的驱动形式,信号的驱动和回馈处理方式也不一样;而且即便是采用最单纯的轮胎或履带作为行走方式,也可能要搭配各种齿轮来调配扭力和速度。想到要学习、DIY这么多东西,很多对自制机器人怀抱憧憬的业余玩家,满腔热血到此就凉了大半截。
    MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)
  • 最新一代的LEGO头脑风暴系列的主控–EV3。它的按钮可以发光,根据光的颜色可看出EV3的状态.更高的分辨率的黑白显示器,内置扬声器,USB端口,一个迷你SD读卡器,四个输入端口和四个输出端口。支持USB2.0,蓝牙和WiFi与电脑通讯。还有一个编程接口用于编程和数据日志上传和下载。兼容与移动设备,(安卓、IOS)由AA电池或EV3充电直流电池供电。

MATLAB与乐高

通过安装在MATLAB上的乐高硬件支持包,你可以通过Simulink编程,并用USB线、蓝牙、WiFi、网线来控制乐高Mindstorms机器人,从而:

  • 不需要任何其他工具箱就可以直接开始编程
  • 在MATLAB工作环境中交互式地开发调试和排除故障
  • 开发自定义的图像用户界面来用于控制机器人
  • *使用MATLAB来分析传感数据并使其可视化

1 开发环境

Simulink 乐高EV3 

项目 版本 备注
计算机 Win10 64位 带WiFi、蓝牙模块
MATLAB/Simulink 2018a 安装乐高硬件支持包
LEGO EV3 45544,固件:V1.08E 配件: WiFi模块、USB线,EV3自带蓝牙,产品ID:001653******

2 开发过程

1) 组装乐高机器人:

组装过程见http://robotsquare.com/2013/10/01/education-ev3-45544-instruction/

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

2) 构建MATLAB/Simulink控制系统模型

打开GyroBoy模型,相关模型下载见公众号

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

平衡车系统模型:

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)
MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)
MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

硬件驱动部分:

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

在模型界面点击Tools- Run on Hardware – Options, 在Harware Implementation中,选择EV3,设置为WiFi模式,填入相应的ID和IP地址,点击OK。

Simulink与乐高通讯相关设置:

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

然后在主界面中,确认仿真模式为External模式,点击运行按钮, 等待30s-60s,会弹出报告生成界面,

通过Simulink模型自动生成平衡车代码,相关报告:

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

平衡车上的传感器数据实时采集返回到Simulink中,并在模型中完成参数实时更改调试:

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

运行效果图:

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频)

相关视频见:

http://www.56.com/u52/v_MTUxNjEwNjY1.html

3 调试注意事项

对EV3的1.09版本兼容性不够,需要对EV3版本进行确认,最好使用1.03-1.08版本。固件更改可通过下载乐高官方软件进行固件升级,参考乐高官方文件。目前采用WiFi模式,如果调试有问题,请确认各项设置是否正确,多试几次。对于USB、蓝牙等模式还在调试当中。

4 基于模型的开发带来的好处

核心控制器软件的开发仅需一名工程师,使用MATLAB和Simulink,设计师不再亲自为控制器编写一个控制算法及底层驱动代码,无需要担心低层次细节,如指针、内存分配、类型声明、预处理、编译或链接等,所以有更多的时间去探索实际的编程概念和实践。在将后续进行产品化时,使用Embedded Coder针对嵌入式处理器,从现有的控制器模型直接生成代码,大大缩减开发时间。

欢迎大家关注公众号,分享更多MATLAB/Simulink前沿技术干货,及更多工程实践。

继续阅读