MATLAB & Simulink - Robotics System Toolbox...MATLAB/Simulink 在机器人开发中的应用...

Preview:

Citation preview

1© 2015 The MathWorks, Inc.

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

杨兴

Amy.yang@mathworks.cn

MathWorks 应用工程师

2

大纲

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

– 制造机器人

– 机器人教育和学习

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

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

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

3

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

4

Ethernet

CPU2

Main CPU

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

Enc

IMU

LIDAR

摇杆

运动学与控制

远程机器

WiFi

你的算法

图像处理

相机

定位与地图

GUI

Visual SLAM

摇杆

电机控制

地图服务

本地规划器

全局规划器

5

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

制造机器人

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

2机器人教育和学习

3

6

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

机器人模型控制算法+

-

输入 输出

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

7

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

8

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

SimMechanics Model

9

Simscape Mutibody

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

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

Simscape Electronics/Power System

11

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

reference+

-

controller

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

S1 S2

S3

12

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

reference+

-

controller

S1 S2

S3

13

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

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

14

自动生成C代码…

硬件接口代码

调度

核心控制算法

15

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

1 32

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

机器人教育/学习

16

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

17

以乐高 LEGO MINDSTORMS 为例

3 驱动端口

4 传感器端口

控制模块

1 USB口

18

提供 LEGO NXT/EV3 驱动库模块

输入, 传感器

输出, 执行器

案例

19

MATLAB/Simulink算法模型

20

一键实现到硬件

21

免费硬件支持包下载通道

23

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

提供免费硬件支持包

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

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

机器人工具箱

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

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

更多信息:

www.mathworks.com/hardware

更多信息:

www.mathworks.com/products/robotics

ROS : Robot Operating System

24

什么是 ROS?

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

visualizers, message-passing, package management.

25

基于 ROS 的机器人…

25

27

Gazebo

28

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

1 32

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

机器人教育/学习

29

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

你现在有?

电脑 + MATLAB

1: 接口

2: 算法

还需要?

30

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

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

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

• coordinate conversion

• Map utilization,

• path planning,

• path following

• …

31

仿真测试算法

33

真实机器人测试算法

34

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

基于MATLAB

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

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

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

rosbag

35

设计和测试机器人算法

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

36

设计和测试机器人算法

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

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

37

设计和测试机器人算法

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

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

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

38

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

算法原型(例如:防撞)

Simulink

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

(ROS)

从Simulink模型生成ROS 节点

39

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

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

相控阵工具箱Phased Array System Toolbox

40

MATLAB/Simulink开发机器人

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

机器人控制)

MATLAB/Simulink

算法设计开发平台

发布到硬件

处理记录数据

ROS

数据文件 与仿真器交互

与真实机器人交互

显示 /

分析

机器人工具箱

41

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

1 32

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

机器人教育/学习

42© 2015 The MathWorks, Inc.

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

杨兴

Amy.yang@mathworks.cn

迈斯沃克软件

谢谢…