38
1 © 2015 The MathWorks, Inc. MATLAB/Simulink在机器人开发中的应用 加速从想法到实现 杨兴 [email protected] MathWorks 应用工程师

MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 [email protected] MathWorks 应用工程师 2 大纲

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

1© 2015 The MathWorks, Inc.

MATLAB/Simulink在机器人开发中的应用—加速从想法到实现

杨兴

[email protected]

MathWorks 应用工程师

Page 2: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

2

大纲

MATLAB/Simulink平台对机器人开发的支持应用场景:

– 制造机器人

– 机器人教育和学习

– 基于现有的机器人开发各种应用

机器人工具箱为开发机器人应用提供便利– 机器人算法

– 与机器人/仿真器(ROS)的接口

Page 3: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

3

使用MATLAB来开发机器人是一种什么样的体验?

Page 4: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

4

Ethernet

CPU2

Main CPU

实现机器人开发所面对的挑战

Enc

IMU

LIDAR

摇杆

运动学与控制

远程机器

WiFi

你的算法

图像处理

相机

定位与地图

GUI

Visual SLAM

摇杆

电机控制

地图服务

本地规划器

全局规划器

Page 5: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

5

研究机器人的目的是什么?

制造机器人

1基于现有的机器人开发各种应用

2机器人教育和学习

3

Page 6: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

6

借助MATLAB/Simulink来 “制造机器人”

机器人模型控制算法+

-

输入 输出

Festo公司仿生手臂 DLR 类人机器人 YZU 机器手

Page 7: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

7

比如我们想设计这样的机械臂

Page 8: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

8

我们可以使用 Simscape Mutibody来模拟三维机械动力学…

SimMechanics Model

Page 9: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

9

Simscape Mutibody

我们可以使用 Simscape Mutibody来模拟三维机械动力学…

把它连接到其它物理域的模型实现更复杂的多物理域系统…

Simscape Electronics/Power System

Page 10: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

11

我们还可以将它连接到控制器 形成“闭环”…

reference+

-

controller

将控制算法和被控对象在同一个建模环境下实现出来更容易实现整个系统的分析和优化

S1 S2

S3

Page 11: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

12

通过仿真来测试和验证整个系统设计…

reference+

-

controller

S1 S2

S3

Page 12: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

13

我们还可以将模型与其它仿真环境、输入设备连接…

Interact with models using custom GUI’s and/or external devices , and use Simulink 3D Animation to create and visualize detailed virtual environments

Page 13: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

14

自动生成C代码…

硬件接口代码

调度

核心控制算法

Page 14: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

15

您开发机器人的目的是什么?

1 32

制造机器人 基于现有的机器人开发各种应用

机器人教育/学习

Page 15: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

16

机器人教育/学习的常见低成本硬件/控制器

Page 16: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

17

以乐高 LEGO MINDSTORMS 为例

3 驱动端口

4 传感器端口

控制模块

1 USB口

Page 17: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

18

提供 LEGO NXT/EV3 驱动库模块

输入, 传感器

输出, 执行器

案例

Page 18: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

19

MATLAB/Simulink算法模型

Page 19: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

20

一键实现到硬件

Page 20: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

21

免费硬件支持包下载通道

Page 21: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

23

使用MATLAB/Simulink “机器人教育/学习”

提供免费硬件支持包

• Simulink模型一键下载• 不需要C/C++/Python编程• 提供了硬件接口驱动

您需要构造低成本硬件的机器人?

机器人工具箱

• 提供与ROS/Gazebo的接口• 模型可直接生成ROS节点• 提供内置算法

您需要基于ROS的强大机器人?

更多信息:

www.mathworks.com/hardware

更多信息:

www.mathworks.com/products/robotics

ROS : Robot Operating System

Page 22: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

24

什么是 ROS?

It provides operating system-like functionalities。– including hardware abstraction, device drivers, libraries,

visualizers, message-passing, package management.

Page 23: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

25

基于 ROS 的机器人…

25

Page 24: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

27

Gazebo

Page 25: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

28

您开发机器人的目的是什么?

1 32

制造机器人 基于现有的机器人开发各种应用

机器人教育/学习

Page 26: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

29

使用 MATLAB / Simulink 来“开发机器人应用”

你现在有?

电脑 + MATLAB

1: 接口

2: 算法

还需要?

Page 27: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

30

机器人工具箱可以帮助你解决这些问题

• ROS的接口(真实以及仿真器)

• 持续增加机器人应用算法

• coordinate conversion

• Map utilization,

• path planning,

• path following

• …

Page 28: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

31

仿真测试算法

Page 29: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

33

真实机器人测试算法

Page 30: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

34

案例1: 设计和测试机器人算法

基于MATLAB

设计算法原型(如路径搜索)

在仿真器(Gazebo)上测试算法

在机器人上测试并分析实际性能

rosbag

Page 31: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

35

设计和测试机器人算法

• 在MATLAB下,设计路径搜索算法原型

Page 32: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

36

设计和测试机器人算法

• 在MATLAB下,设计路径搜索算法原型

• 通过MATLAB-ROS 接口在Gazebo仿真器下测试算法

Page 33: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

37

设计和测试机器人算法

• 在MATLAB下,设计路径搜索算法原型

• 通过MATLAB-ROS 接口在Gazebo仿真器下测试算法

• 在真实机器人(ROS)上测试算法

Page 34: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

38

案例 2: 从Simulink模型生成ROS节点

算法原型(例如:防撞)

Simulink

测试算法仿真器或者机器人

(ROS)

从Simulink模型生成ROS 节点

Page 35: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

39

还可以与其他MATLAB工具箱结合开发复杂机器人算法

计算机视觉工具箱Computer Vision System Toolbox

相控阵工具箱Phased Array System Toolbox

Page 36: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

40

MATLAB/Simulink开发机器人

MATLAB/Simulink(数据处理、显示、记录、

机器人控制)

MATLAB/Simulink

算法设计开发平台

发布到硬件

处理记录数据

ROS

数据文件 与仿真器交互

与真实机器人交互

显示 /

分析

机器人工具箱

Page 37: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

41

欢迎使用 MATLAB/Simulink/机器人工具箱来开发您的机器人

1 32

制造机器人 基于现有的机器人开发各种应用

机器人教育/学习

Page 38: MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用 —加速从想法到实现 杨兴 Amy.yang@mathworks.cn MathWorks 应用工程师 2 大纲

42© 2015 The MathWorks, Inc.

MATLAB/Simulink在机器人开发中的应用

杨兴

[email protected]

迈斯沃克软件

谢谢…