robotics system toolboxによる ロボティクスアプリケーション … · 10 what is ros...

Post on 21-Jan-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1© 2015 The MathWorks, Inc.

Robotics Applications Development Using

Robotics System Toolbox™

(Robotics System Toolboxによるロボティクスアプリケーション開発)

MathWorks

Application Engineering

Fred Noto & Carlos Santacruz-Rosero

2

Complexities of Robotics Application Development

MATLAB® and Simulink® can help resolve challenges with

robotics application development

3

Agenda

Introduction

ROS and Robotics System Toolbox

Robotics development workflow

Demo: Baxter Checkers Demo

Conclusion

4

MATLAB and Simulink in Robotics

Algorithm prototyping

Wide variety of resources on using MATLAB/Simulink in Robotics

5

What Is Robotics Development?

MathWorks tools are already being used in complex system development

6

MATLAB / Simulink in Robotics Development

PlantController+

-

Input Output

Festo Bionic Arm DLR Humanoid Robot YZU Robot Hand

Efficient system level design that yields higher quality robotics systems

7

Experiences In Robotics Development

Ph.D. in Mechano-Informatics from The University of Tokyo

Motion planning and control of full-sized humanoid robots

R&D in Autonomous Navigation of mobile robots.

8

Advanced Robotic Systems

High number of DoF

Nonlinearity

Multiple Layers of Control

Multiple States or Modes

Real time and No real-

time software

9

Robotics System Toolbox for Robotics Development

Connecting MATLAB/Simulink to ROS

ROS data exploration and analysis

Algorithms and transformation functions

ROS

Features for flexible and convenient robotics development

10

What is ROS (Robot Operating System)?

With the intent to enable researchers to

rapidly develop new robotic systems without

having to “reinvent the wheel” through use of

standard tools and interfaces.

Jonathan Bohren

ROS Crash-Course, Part I: Introduction to ROS distribution, build system and infrastructure

Architecture for distributed inter-process

communication

Multilanguage interface (C++, Python, Lua,

Java, MATLAB)

Tools for runtime and data analysis

Packages for common algorithms and drivers

Open source

11

Gazebo Simulator

Gazebo is one of the most

popular robotics simulators

Many robot manufacturers

provide plugins for Gazebo that

help simulate their robots

(TurtleBot, Baxter, Husky, …)

Download a VM with Gazebohttp://www.mathworks.com/supportfiles/robotics/ros/

virtual_machines/v1/installation_instructions.htm

Add visualization to simulations for effective algorithm evaluations

12

Ethernet

Main CPU

Developing Robotic Applications with ROS

Kinematics& Control

MATLAB

Image pre-

processing

Localization &

Mapping

Image

Processing

Map server

Local

Planner

Global

Planner

NODE NODE NODE

NODE NODE NODE

NODE

NODE

Sensors /

ActuatorsRobot (CPU 2)

NODE

NODE

NODENODE

NODE

ROS nodes communicate through well-defined message interfaces

13

ROS Network Overview

ROS MasterManage Registration

ROS Node ROS Node

Register Register

Data Exchange

RosbagPlayback

Log Log

ROS Node

Data Exchange

Management of data transmissions through the ROS network

14

Topics

Services

/topic

ROS Node Communication Methods

ROS

Node(s)

Publish

Subscribe

Publish

Subscribe

ROS

Node

ROS

NodeRequest

Response

ROS

Node(s)

Service

Server

Service

Client

ROS message selection based on data usage and needs

15

The Trend in Robotics Development

ROS

– #1 middleware for robotics

applications development

– Yearly increase in users

– Simplify component compatibility

through standalone interfaces

– Integrate with simulation

environments (e.g. Gazebo)

http://rosindustrial.org/ric-americas/

Popular in research and gaining great momentum in industry

16

Previous Challenges Using ROS

• Need for expertise using ROS, Linux, C++, etc.

• Not suitable for algorithm prototyping

• Not able to interface with MATLAB / Simulink

Typical ROS Network

willowgarage.com/Blog

17

Utilizing Robotics System Toolbox

Connect MATLAB/Simulink to ROS for efficient algorithm development

20

General Robotics Development Workflow

Explore Robot

Interface

Develop

Algorithm

Test and

Refine in

Simulation

Test and

Refine on Real

Robot

Verify algorithms at each step to refine design and prevent rework

21

Demo: Playing Checkers with Baxter

Utilizing the power of MATLAB and interfacing with ROS

22

State ControllerImage ProcessingGame Algorithm Path PlanningInterpolation

Low Level Control Inverse Kinematics

Topics:- Camera- End Effector State- Joint State

Topics:- Joint Commands- End Effector Commands- Display Image

Algorithms Developed in MATLAB/Simulink

Data processing and command calculations done in MATLAB/Simulink

23

Step 1 : Explore Robot Interface

Connect to simulated / real robot

over ROS

Explore available sensors and

actuators

Retrieve some sensor data

Control the robot motion

ROS

Explore Robot

Interface

Develop

Algorithm

Test and

Refine in

Simulation

Test and

Refine on Real

Robot

24

Step 2 : Prototype Algorithm

Develop the algorithm in MATLAB using image processing tools

Run tests to ensure the algorithm behaves as expected

Explore Robot

Interface

Develop

Algorithm

Test and

Refine in

Simulation

Test and

Refine on Real

Robot

25

Step 3 : Test Algorithm in Simulator

Explore Robot

Interface

Develop

Algorithm

Test and

Refine in

Simulation

Test and

Refine on Real

Robot

26

Step 4 : Test your algorithm with actual robot

Explore Robot

Interface

Develop

Algorithm

Test and

Refine in

Simulation

Test and

Refine on Real

Robot

27

Next Step: Deploying your Algorithm

Generate ROS

Node with

Simulink

Create a

Stand Alone

Executable

with MATLAB

Compiler™

Generate a

shared library

with MATLAB

Coder™

Determine deployment methods based on application

28

Optional Products for Robotics Applications Development

Image Processing

Toolbox™

Contrast adjustment

Geometric transformations

Various filters

Segmentation

Object analysis

Computer Vision System Toolbox™

High-speed video I/O

Point Cloud processing

Tracking

Stereovision

Image Acquisition Toolbox™

Image capture from standard H/W

Analog, Camera Link, DCAM,

GigE Vision, USB camera, etc

Microsoft Kinect Support

Statistics and Machine Learning

Toolbox™

Multivariate statistics

Probability distribution

Machine learning

Experimental design

Statistical process control

29

Optional Products for Robotics Applications Development

Control System Toolbox™

Linear analysis

Classical

control design

Modern

control design

Simulink Design Optimization™

Model parameter estimation from

test data

Optimization of

parameters

Response

optimization

Simulink Control Design™

Automatic tuning of PID

Controller blocks

Linearization of

Simulink models

Continuous-

Discrete time

conversions

Robust Control Toolbox™

Robust control design

Automatic tuning

of gain-scheduled

controllers

30

Connect MATLAB/Simulink to ROS

Utilize useful toolboxes for algorithm development(Image Processing, Machine Learning, CVST, etc.)

Use simulator to verify algorithms virtually

Deploy algorithms through code generation

A New MathWorks Solution for Robotics Development

Robotics System Toolbox

Integrate MATLAB with ROS using Robotics System Toolbox

ROS

31

Process

logged data

Log file

Message

communication

with robots

Message

communication

with Simulator

Visualization /

Data analysis

Deploy on

Hardware/PIL

Robotics

System

ToolboxMATLAB/Simulink

Algorithm/Controls

development

(data processing,

visualization, logging,

robot controls, etc.)

Conclusion

MATLAB/Simulink Tools to Increase Efficiency of Robotics Development

32

Training and Consulting Services

Investment Effectiveness Training Services

Routine Training Tokyo, Nagoya, Osaka

Onsite Training Held at customer sites

Curriculum customization available

Consulting Services

Custom “Jumpstart” Short-term focused tool adoption support

Advisory Service

Maximize ROI

Course: Designing Robotics Algorithms in MATLAB

(MLRO - MATLAB と ROS によるロボティクス)

33

What Next?

Investigate training courses

Request a trial and test with downloadable Virtual Machine http://www.mathworks.com/supportfiles/robotics/ros/virtual_machines/v1/installation_instructions.htm

Come see Baxter in action at the demo booth!

34

Thank You For Your Attention

ご清聴ありがとうございました

© 2015 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.

top related