Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
1© 2015 The MathWorks, Inc.
MATLAB/Simulink在机器人开发中的应用—加速从想法到实现
杨兴
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在机器人开发中的应用
杨兴
迈斯沃克软件
谢谢…