Robotics Applications Development Using Robotics System Toolbox™ (Robotics System Toolboxによるロボティクスアプリケーション開発)
MathWorks Application Engineering Fred Noto & Carlos Santacruz-Rosero
© 2015 The MathWorks, Inc.1 Complexities of Robotics Application Development
MATLAB® and Simulink® can help resolve challenges with robotics application development
2 Agenda
. Introduction
. ROS and Robotics System Toolbox
. Robotics development workflow
. Demo: Baxter Checkers Demo
. Conclusion
3 MATLAB and Simulink in Robotics
Algorithm prototyping
Wide variety of resources on using MATLAB/Simulink in Robotics
4 What Is Robotics Development?
MathWorks tools are already being used in complex system development
5 MATLAB / Simulink in Robotics Development
Input + Output Controller Plant -
Festo Bionic Arm DLR Humanoid Robot YZU Robot Hand
Efficient system level design that yields higher quality robotics systems
6 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.
7 Advanced Robotic Systems
. High number of DoF
. Nonlinearity
. Multiple Layers of Control
. Multiple States or Modes
. Real time and No real- time software
8 Robotics System Toolbox for Robotics Development
. Connecting MATLAB/Simulink to ROS ROS
. ROS data exploration and analysis
. Algorithms and transformation functions
Features for flexible and convenient robotics development
9 What is ROS (Robot Operating System)?
. 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 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 10 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 Gazebo http://www.mathworks.com/supportfiles/robotics/ros/ virtual_machines/v1/installation_instructions.htm
Add visualization to simulations for effective algorithm evaluations
11 Developing Robotic Applications with ROS
NODE NODE NODE NODE MATLAB Main CPU Image NODE Processing
Ethernet NODE
NODE NODE NODE Global Image pre- Map server Planner processing Sensors / Robot (CPU 2) Actuators NODE NODE NODE Local Kinematics Localization & NODE Planner & Control Mapping
ROS nodes communicate through well-defined message interfaces 12 ROS Network Overview
ROS Master Manage Registration
Register Register
Data Exchange Data Exchange
ROS Node ROS Node ROS Node
Log Log
Rosbag Playback
Management of data transmissions through the ROS network 13 ROS Node Communication Methods
. Topics Publish Publish ROS /topic ROS Node(s) Subscribe Subscribe Node(s)
. Services Response ROS ROS Node Request Node
Service Service Server Client
ROS message selection based on data usage and needs
14 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
15 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 16 Utilizing Robotics System Toolbox
Connect MATLAB/Simulink to ROS for efficient algorithm development
17 General Robotics Development Workflow
Test and Test and Explore Robot Develop Refine in Refine on Real Interface Algorithm Simulation Robot
Verify algorithms at each step to refine design and prevent rework
20 Demo: Playing Checkers with Baxter
Utilizing the power of MATLAB and interfacing with ROS 21 Algorithms Developed in MATLAB/Simulink
Topics: - Camera - End Effector State - Joint State
Topics: State Controller - Joint Commands - End Effector Commands Image Processing - Display Image Game Algorithm Low Level Control Path Planning Inverse Kinematics Interpolation
Data processing and command calculations done in MATLAB/Simulink 22 Step 1 : Explore Robot Interface
Test and Test and Explore Robot Develop Refine in Refine on Real Interface Algorithm Simulation Robot
. Connect to simulated / real robot ROS over ROS . Explore available sensors and actuators . Retrieve some sensor data . Control the robot motion
23 Step 2 : Prototype Algorithm
Test and Test and Explore Robot Develop Refine in Refine on Real Interface Algorithm Simulation Robot
. Develop the algorithm in MATLAB using image processing tools
. Run tests to ensure the algorithm behaves as expected
24 Step 3 : Test Algorithm in Simulator
Test and Test and Explore Robot Develop Refine in Refine on Real Interface Algorithm Simulation Robot
25 Step 4 : Test your algorithm with actual robot
Test and Test and Explore Robot Develop Refine in Refine on Real Interface Algorithm Simulation Robot
26 Next Step: Deploying your Algorithm
Create a Generate a Generate ROS Stand Alone shared library Node with Executable with MATLAB Simulink with MATLAB Coder™ Compiler™
Determine deployment methods based on application
27 Optional Products for Robotics Applications Development
Image Processing Computer Vision System Toolbox™ Toolbox™ . High-speed video I/O . Contrast adjustment . Point Cloud processing . Geometric transformations . Tracking . Various filters . Stereovision . Segmentation . Object analysis
Image Acquisition Toolbox™ Statistics and Machine Learning . Image capture from standard H/W Toolbox™ . Analog, Camera Link, DCAM, . Multivariate statistics GigE Vision, USB camera, etc . Probability distribution . Microsoft Kinect Support . Machine learning . Experimental design . Statistical process control
28 Optional Products for Robotics Applications Development
Control System Toolbox™ Simulink Design Optimization™ . Linear analysis . Model parameter estimation from . Classical test data control design . Optimization of . Modern parameters control design . Response optimization
Robust Control Toolbox™ Simulink Control Design™ . Robust control design . Automatic tuning of PID . Automatic tuning Controller blocks of gain-scheduled . Linearization of controllers Simulink models . Continuous- Discrete time conversions
29 A New MathWorks Solution for Robotics Development Robotics System Toolbox ROS . 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
Integrate MATLAB with ROS using Robotics System Toolbox
30 Conclusion
Log file Message communication Process with Simulator logged data Message Robotics communication with robots System Toolbox Deploy on Hardware/PIL MATLAB/Simulink Algorithm/Controls Visualization / development Data analysis (data processing, visualization, logging, robot controls, etc.)
MATLAB/Simulink Tools to Increase Efficiency of Robotics Development
31 Training and Consulting Services
Training Services Investment Effectiveness 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 によるロボティクス) 32 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!
33 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.
34