使用 Simulink 设计和部署 PARROT 四旋翼无人机飞行控制 胡乐华 高级应用工程师 MathWorks 中国 2018 The MathWorks, Inc. 1
MATLAB 产品家族 基于 MATLAB 和 Simulink 的近百种工具箱和扩展模块 正应用于当下的各行各业 基于事件的建模 物理建模 应用 快速原型与 HIL 仿真 验证 确认和测试 仿真图示和报告 控制系统 Simulink 仿真以及基于模型设计并行计算 MATLAB 科学计算语言 代码生成 信号处理和通讯图像和视频处理测试测量金融计算 数学, 统计, 优化应用程序数据库和报告 生物计算 2
Polyspace Code Prover Simscape Predictive Maintenance Toolbox Vehicle Dynamics Blockset Computer Vision System Toolbox Deep Learning Toolbox Simulink Design Verifier Model Predictive Control Toolbox Stateflow HDL Coder Financial Toolbox Simulink Model-Based Calibration Toolbox Antenna Toolbox MATLAB Aerospace Blockset Powertrain Blockset Automated Driving System Toolbox Simulink Control Design Control System Toolbox Optimization Toolbox IEC Certification Kit Simulink Test Communications Toolbox SimBiology DO Qualification Kit Parallel Computing Toolbox Optimization Toolbox Signal Processing Toolbox Embedded Coder LTE Toolbox MATLAB Report Generator Simulink Code Inspector GPU Coder Simulink Coverage Sensor Fusion and Tracking Toolbox System Identification Toolbox Vehicle Dynamics Blockset 3
内容安排 Simulink 建模与仿真快速入门 Simulink 项目实践 为 PARROT Mambo 四旋翼无人机设计并部署飞行控制系统 4
Simulink 建模与仿真快速入门 Simulink 项目实践 为 PARROT Mambo 四旋翼无人机设计并部署飞行控制系统 5
什么是 Simulink? 6
什么是 Simulink? 图形化模块化环境 动态系统建模和仿真 设计 实现和测试 : 连续 离散和混合 控制系统 信号处理系统 通信系统 其他动态系统 基于模型设计的平台 7
8
9
Simulink 在多领域的应用 11 11
12
13
14
15
16
Simulink 启动 17
Simulink 库浏览器 工具箱 模块库 模块 模块描述 18
新建模型 模型 模型浏览器 19
添加模块 从 Simulink 模块库中拖拽一个模块到模型 20
模块连线 21
仿真时间 设置仿真时间 启动仿真 22
示例 1: 从数学公式到模型仿真 A t = 10sin 2π 2 t + 30 dt 3 23
1. 确认所需模块 A t = 10sin 2π 2 t + 30 dt 3 24
2. 模块连线 A t = 10sin 2π 2 t + 30 dt 3 25
3. 模块参数设置 A t = 10sin 2π 2 t + 30 dt 3 模块参数 26
4. 模型参数设置 A t = 10sin 2π 2 t + 30 dt 3 模型参数 27
5. 仿真结果演示 A t = 10sin 2π 2 t + 30 dt 3 28
Simulink Onramp 29
如何开始学习 下载安装 R2018b 下载安装 Simulink Onramp 安装包 启动 Simulink, 登陆 MathWorks ID 从开始页面进入, 开始 Simulink 学习之旅 30
你能学到什么? 概述 Simulink 图形界面介绍查看信号基本算法搭建如何使用帮助在 Simulink 中使用 MATLAB 动态系统建模 ( 连续 离散 ) 仿真时间设置 练习 31
32
玩转 Simulink Simulink 建模与仿真快速入门 Simulink 项目实践 为 PARROT Mambo 四旋翼无人机设计并部署飞行控制系统 33
基于项目的学习 以项目为基础的学习是一种综合性的课堂教学方法, 它旨在使学生参与真实问题的研究 * Motivating Project-Based Learning: Sustaining the Doing, Supporting the Learning, Educational Psychologist Volume 26, Issue 3-4, 1991 34
自动代码生成 Simulink Coder 为 Simulink 模型,Stateflow 流程图和 MATLAB 函数生成 C/C++ 代码 验证 代码生成 Simulink Coder Embedded Coder C C++ 可用于实时和非实时应用 可用于加速仿真, 快速原型和硬件加速 Embedded Coder: 优化的 C/C++ 代码 ( 内存 速度和可读性 ) SIL PIL 仿真 数据对象用于数据管理和定制化 针对指定硬件深层次优化 适用于 MCU 和 DSP ( 定点 浮点支持 ) 35
Simulink 和硬件实现 C 代码生成 代码部署 PARROT Mambo 树莓派 Pi,Pi2,Pi3 乐高机器人 MINDSTORMS NXT/EV3 36
多种硬件支持 Arduino Nano, Uno, Mega 2560 Raspberry Pi TM Raspberry Pi TM 2 Apple ios Devices LEGO MINDSTORMS EV3 LEGO MINDSTORMS NXT KINECT TM for Windows RTL-SDR Radio PARROT Mambo Minidroes BeagleBoard /PandaBoard Digilent Analog Discovery TM TurtleBot KINECT TM for Windows V2 所有支持硬件 : http://mathworks.com/hardware-support 37
概况介绍 软件要求 MATLAB R2018B Simulink Simulink Support Package for PARROT Minidrones Embedded Coder Aerospace Blockset Simulink 3D Animation 38
硬件要求 39
40
概述 1) 什么是基于模型设计? 2) 什么是 Simulink Coder 3) 什么是 PARROT 迷你无人机? 4) 什么是 Simulink Support for PARROT Minidrones? 5) 什么是 Aerospace Blockset? 41
什么是基于模型设计? 42
什么是 Simulink Coder 43
什么是 PARROT 迷你无人机? 44
什么是 Simulink Support for PARROT Minidrones? 45
基于 Aerospace Blockset 飞行动力学建模和仿真 如何在软件例子中查找并打开 Quadcopter 项目 四旋翼飞行仿真模型介绍 如何在 Simulink 中仿真模型 46
例子介绍演示 47
配置无人机硬件和无线通信 下载并硬件支持包 (Hardware Support Package, HSP) 安装蓝牙驱动, 配置蓝牙通信, 并建立连接 代码生成并部署到无人机上 48
连接演示 49
配置无人机硬件和无线通信 50
演示 下装并自动悬停 51
飞行测试 : 悬停 52
流程总结 被控对象和控制算法建模 模型在环仿真测试验证 安装支持包和蓝牙驱动 配置蓝牙和无人机通信 下载控制系统代码到无人机 使用控制界面启动无人机 53
2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. 2018 The MathWorks, Inc. 54