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

之前只是用Matlab做一些算法的仿真,数据的计算分析处理,知道MATLAB中包含有Simulink,只知道Simulink用于控制一类的仿真,最近深入接触了一下Simulink,发现这个工具实在是太强大了。如果说仅仅把MATLAB/Simulink想象成一个仿真计算的工具,那实在是太落伍了。
目前MATLAB/Simulink更多的是在产品的实现阶段发挥更重要的作用,例如之前我要开发一个机器人产品原型,我要去实现产品,需要做什么:

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

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


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

MATLAB/Simulink不光用来做仿真、数据处理,可以直接完成软硬件集成、调试、测试、报告等过程,实现产品数字化、自动化设计过程,人花费精力最大是产品的设计过程,而产品的实现和测试由Simulink工具完成。这也就是基于模型的设计(MBD)的概念,成为当今产品研发的主流模式。在汽车行业,要讲究开发效率和可靠性,所以几乎所有的软件都以这种模式进行开发,逐渐成为一个行业标准。
欢迎大家添加我们的公众号,基于模型的智能系统研发。会在公众号中分享更多基于模型的开发案例,包括一些低成本硬件如STM32、ARM、树莓派等,并提供最前沿的MATLAB技术发展咨询。


下面就以平衡机器人的开发为例,进行介绍,做这个东西,搭乐高机器人用了半天时间,调试开发环境和模型用了两天,所以公用两天半完成平衡机器人的原型开发。
基于模型的开发,你可以直接找成熟的硬件,MATLAB/Simulink包含有相关的硬件驱动,可以直接在Simulink环境中完成数据的读取、设备的控制,并将算法直接生成代码下载到硬件当中。本项目MATLAB/Simulink通过WiFi与乐高EV3机器人相连接,通过Simulink对EV3控制系统进行建模,模型自动生成代码下载到EV3中运行,并生成报告,将传感器数据实时采集到模型中进行仿真并显示。

目录

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

    • 目录
    • 乐高机器人
    • MATLAB与乐高
    • 1 开发环境
    • 2 开发过程
    • 3 调试注意事项
    • 4 基于模型的开发带来的好处

乐高机器人

  • 乐高机器人被广泛用于编程、机器人设计、控制设计等领域的入门教学。在美国和日本,乐高机器人被广泛用于学生和爱好者的竞赛当中。在中国,我们也发现越来越多的少儿教育中,开始引入这些低成本的教学平台,用于激发学生的学习兴趣,同时也帮助提高学生的动手能力。
  • 如果用传统的方式学习制作机器人,我们得先学习电脑基本概论,接着要了解电子电路、数位逻辑和微处理器,才能制作出基本的微电脑控制电路。然后还要学习汇编语言(Assembly)或C语言,撰写微处理器的程序…对了,也许最麻烦的是机械结构,我们得决定要用步进马达还是一般的直流马达,不同的驱动形式,信号的驱动和回馈处理方式也不一样;而且即便是采用最单纯的轮胎或履带作为行走方式,也可能要搭配各种齿轮来调配扭力和速度。想到要学习、DIY这么多东西,很多对自制机器人怀抱憧憬的业余玩家,满腔热血到此就凉了大半截。
  • 最新一代的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/


2) 构建MATLAB/Simulink控制系统模型
打开GyroBoy模型,相关模型下载见公众号

平衡车系统模型:



硬件驱动部分:

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

然后在主界面中,确认仿真模式为External模式,点击运行按钮, 等待30s-60s,会弹出报告生成界面,
通过Simulink模型自动生成平衡车代码,相关报告:

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

运行效果图:

相关视频见:
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前沿技术干货,及更多工程实践。

MATLAB/Simulink模型开发乐高EV3 双足平衡机器人相关推荐

  1. ev3双足行驶机器人_每天行驶3年后的想法

    ev3双足行驶机器人 So I have been driving EVs (electric vehicles) for the past three years now, and during t ...

  2. 双馈风机虚拟惯性控制+下垂控制参与系统一次调频的Matlab/Simulink模型,调频结束后转速回复,造成频率二次跌落

    双馈风机虚拟惯性控制+下垂控制参与系统一次调频的Matlab/Simulink模型,调频结束后转速回复,造成频率二次跌落 系统为三机九节点模型,所有参数已调好且可调,可直接运行,风电渗透率19.4% ...

  3. 双馈风机虚拟惯性控制参与系统一次调频的Matlab Simulink模型

    双馈风机虚拟惯性控制参与系统一次调频的Matlab Simulink模型 系统为三机九节点模型,所有参数已调好且可调,可直接运行,风电渗透率19.4% 风机采用虚拟惯性控制,转速回复模块,在系统频率跌 ...

  4. 频率二次跌落,双馈风机虚拟惯性控制+下垂控制参与系统一次调频的Matlab/Simulink模型,调频结束后转速回复,造成频率二次跌落

    Matlab/simulink 频率二次跌落,双馈风机虚拟惯性控制+下垂控制参与系统一次调频的Matlab/Simulink模型,调频结束后转速回复,造成频率二次跌落 系统为三机九节点模型,所有参数已 ...

  5. 双馈风机调频,风电调频,风火水调频,虚拟惯性控制,下垂控制 参与系统一次调频的Matlab Simulink模型

    双馈风机调频,风电调频,风火水调频,虚拟惯性控制,下垂控制 参与系统一次调频的Matlab Simulink模型 系统为三机九节点模型,所有参数已调好且可调,可直接运行,风电渗透率20% 也可研究风火 ...

  6. 线控转向,包含设计说明书,carsim模型,MATLAB Simulink模型全套

    线控转向,包含设计说明书,carsim模型,MATLAB Simulink模型全套 (工程项目线上支持) 线控转向系统是应用在车辆领域处于研究热点和技术代表的动力转向系统,是全世界在转向系统研究中的先 ...

  7. 移花接木,玩转CANoe的几种扩展接口应用(六)——Matlab/Simulink模型

    文章目录 前言 Matlab/Simulink模型 连接方法 配置方法 调用方法 分析和应用 总结 前言 见<移花接木,玩转CANoe的几种扩展接口应用(一)--便携式接口设备> 见< ...

  8. MATLAB simulink 模型验证学习笔记

    MATLAB simulink 模型验证学习笔记 一.静态验证 1.Model Advisor 模型验证意思是用matlab自带的规范检查工具来检查自己画的模型是否符合规范. 进行模型验证需要用到的模 ...

  9. 线控转向,包含设计说明书,carsim模型,MATLAB Simulink模型

    线控转向,包含设计说明书,carsim模型,MATLAB Simulink模型全套(工程项目线上支持) 线控转向系统是应用在车辆领域处于研究热点和技术代表的动力转向系统,是全世界在转向系统研究中的先进 ...

最新文章

  1. mysql的root用户添加密码
  2. C语言实验大纲2010答案,C语言试验大纲(2010年修订).doc
  3. Rancher前奏--配置Nexus
  4. Android通过Scheme协议打开APP界面
  5. JavaScript笔记-使用JS管理URL链接(前端小技巧)
  6. WEB站点服务器安全配置
  7. 2019安装软件安装管家_【软件安装管家】Br 2019软件安装包+安装教程
  8. Winodws 10中pyCharm 2017安装
  9. 基于SSM的手机商城
  10. Tomcat9-默认登录名/密码
  11. Kconfig的两种用法
  12. RDO方式安装Openstack Allinone问题记录
  13. spacy词性标注解释【dep、pos、tag】
  14. 如何注册一个免费的网站空间和域名
  15. [转载]如何为Foxmail设置gmail客户端
  16. 基于深度学习的语义分割
  17. 真正中文攻略之 SAKURA~雪月華~ 花鳥風月プレミアムエディション 汉化、攻略...
  18. Flex 布局 flex-grow 占用空间
  19. delphi DCC32命令行方式编译delphi工程源码
  20. 4.24 使用计算命令制作图像合成艺术效果 [原创Ps教程]

热门文章

  1. 电脑遇到蓝屏的时候怎么解决
  2. 洛谷 P3373 【模板】线段树 2 题解
  3. layui多选下拉框,多选
  4. Apple M1(Mac Arm64) 安装开发工具
  5. border(边框)的两种写法
  6. 数梦工场:我们帮你实现你驾驭数据的梦想
  7. 切换电脑计算机名称软件,多电脑切换器
  8. wps将word转换成html,wps如何转换成word(word转换成wps的方法)
  9. u盘中毒文件被隐藏恢复方法
  10. vue2和vue3 的 keep-alive的用法