robotics system toolboxによる ロボティクスアプリケーション … · 10 what is ros...
Post on 21-Jan-2020
10 Views
Preview:
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