MATLAB and Simulink for Embedded Systems and Robotics Sean de Wolski Application Engineer © 2014 The MathWorks, Inc.1 Agenda for today MATLAB & SIMULINK Theory to Practice – Trying out concepts from Controls, Signal Processing, Communications, Mapping, etc. – Testing on low-cost hardware 2 Demo: Exploring Rover 3 Why an Embedded System? 4 MathWorks products MATLAB + Toolboxes – Data Analysis and Visualization Statistical analysis Mathematical Modeling Signal Processing Etc. Simulink + Blocksets – System modeling, simulation, testing and implementation Communication system design Physical system design – hydraulic, mechanical, electrical, etc. Controller designing, tuning and implementation Etc. 5 MATLAB for Data Analysis and Visualization Access Explore & Discover Files Data Analysis & Modeling Software Algorithm Development Share Reporting and Documentation Outputs for Design Code & Applications Hardware Application Development Deployment Automate 6 Simulink The leading environment for modeling, simulating, and implementing dynamic and embedded systems Block-diagram environment Model, simulate and analyze multi-domain systems Accurately design, implement, and test: – Control systems – Signal processing systems – Communications systems – And other dynamic systems Platform for Model-Based Design 7 MATLAB & Simulink in industry Eurocopter: Helicopters IAV: CNG/LPG EMS Eaton: Hybrid Delivery Truck GM: HVAC Caterpillar: Construction Machine Delphi: Common Rail Diesel Dongfeng: BMS Honeywell: Flight Controls GM: Hybrid Powertrain Daimler: Vehicle Controller Lear: BCM Vodafone: Telematics 88 Targeting Hardware ANSI-C Code generation for embedded microprocessors – MATLAB Coder – Simulink Coder – Embedded Coder HDL Code Generation for FPGAs and ASICs – HDL Coder – HDL Verifier PLC Code Generation – Simulink PLC Coder 9 Simulink Hardware Support for ProjectBased Learning Run Simulink models on low-cost target hardware With just a click, your model moves from Simulink onto hardware Supported target hardware – – – – – – Arduino® Uno ($30), Mega 2560 ($65) LEGO® MINDSTORMS® NXT ($280) Raspberry Pi Model B ($35) BeagleBoard-xM ($150) PandaBoard ($180) Gumstix Overo hardware ($180) Available in Student Version 10 Demo: MATLAB Rover 11 We will discuss: Part 1: Simulink for – Embedded Logic Design, Test and Implementation Part 2: Stateflow for designing – Event-driven systems, asynchronous sequencing logic Part 3: MATLAB, Simulink and Stateflow working together Part 4: MATLAB for Data Analysis and Visualization – Plotting data on maps 12 LEGO MINDSTORMS NXT Technology NXT Intelligent Brick 3 Actuator Ports 1 USB Port 4 Sensor Ports 13 Part 1: Embedded Logic Design, Test and Implementation Design complex dynamic behavior and program robot Task for robot: Maintain: 𝑺𝒑𝒆𝒆𝒅 ∝ 𝑶𝒃𝒔𝒕. 𝑫𝒊𝒔𝒕. Stop if: 𝑶𝒃𝒔𝒕. 𝑫𝒊𝒔𝒕. < 𝟐𝟎 𝒄𝒎 Approach Model intelligent behavior in Simulink Program the robot – using Hardware Support Package 14 Part 2: State Machine Design with Stateflow Designing event-driven systems and sequencing logic Task for robot: Exist in IDLE or MOVING States Change States based on obstruction distance Approach Design state machine using Stateflow Program robot 15 Part 3: Interfacing with MATLAB Interface MATLAB and Simulink Task: Control block parameters using MATLAB commands Log sensor data and save to MATLAB workspace Approach Use SET_PARAM command Use SINK blocks with model in EXTERNAL MODE 16 Part 4: Post-process data in MATLAB MATLAB for Data Analysis and Visualization Task: Display collected data on maps Approach Use tools in Mapping Toolbox 17 Demo: MATLAB Rover MATLAB GUI Simulink & Stateflow Change Model Parameters Tune Parameters View Logged Data Log Sensor Data Hardware Support Package for LEGO MINDSTORMS NXT USB & Bluetooth Analyze and Visualize Logged Data 18 Video Demo: Arduino Bumper Bot 19 Video Demo: Raspberry Pi Object Detection 20 Key takeaways MATLAB commands to remember >> targetinstaller >> simulink >> doc To learn more – MATLAB and Simulink based Interactive Tutorials http://www.mathworks.com/academia/student_center/tutorials/ – Supported hardware for project based learning: http://www.mathworks.com/academia/hardware-resources/ 21 © 2014 The MathWorks, Inc. 22