matlab expo 2019 · matlab expo 2019 creating an embedded product with a very small development...

17
2Infinity Control Solutions MATLAB EXPO 2019 Creating an embedded product with a very small development team Neil Rutland Principal Consultant Brendan Joiner Senior Control Applications Engineer 30 May 2019

Upload: others

Post on 13-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

MATLAB EXPO 2019Creating an embedded product with

a very small development team

Neil RutlandPrincipal Consultant

Brendan JoinerSenior Control Applications Engineer

30 May 2019

Page 2: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Overview

• Personal experience creating embedded products

• MATLAB and Simulink experience

• What next?

– Design embedded products that seem simple because they

just work

– Sophisticated algorithms under the hood

– With a small team…

30 May 2019Proprietary

2

Page 3: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past - Embedded products

• Control of vibration in flexible rotors

– Using Active Magnetic Bearings

Proprietary3

30 May 2019

Page 4: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past - Embedded products

• Submarine autopilots

• Real-time simulator

30 May 2019Proprietary

4

Page 5: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past - Embedded products

• MBDA Meteor Air-to-Air missile

– G&C lead autopilot & homing guidance

– Large teams

– Model based design and auto-code generation

Proprietary5

30 May 2019

Page 6: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past - Embedded products

• Auto-steering agricultural vehicles

– Model based design

– Medium size team

– No auto-code generation

30 May 2019Proprietary

6

Page 7: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past - MATLAB & Simulink

• Numerical analysis and plotting data

• FEM flexible rotor

• Control system design

• Requirements specification

• Vehicle modelling

– Underwater, air and on ground

• Actuator modelling

30 May 2019Proprietary

7

Page 8: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past - MATLAB & Simulink

• Hydraulic modelling

• Sensor modelling, e.g., IMUs, seekers, GNSS

• Trials analysis

• GUIs visualising system performance

• Symbolic calculations

• Timesheets…anything and everything

30 May 2019Proprietary

8

Page 9: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past – MATLAB & Simulink

• Meteor project

– Modelling – auto-code generation for Simulink models

into Development Model (DM)

– G&C – algorithm design plus Algorithm Development

Model (ADM)

– G&C specified algorithms using STATEMATE by I-Logix

• Auto-coded into DM

• Duplicating algorithms running in ADM

Proprietary9

30 May 2019

Page 10: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Past – MATLAB & Simulink

• Next MBDA project

– See MATLAB EXPO 2015

• Accelerating FASGW(H) / ANL Image Processing with Model-

Based Design

Proprietary10

30 May 2019

Page 11: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Now – small team

• MATLAB & Simulink established and mature tool for

developing algorithms in embedded products

• Previously had multiple large teams

– 10’s G&C, Modelling and Software engineers to develop a

product

• Now one small team can do the same

– Using MathWorks tools…

30 May 2019Proprietary

11

Page 12: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Now – small team

• Another view is allowing development

without Systems Engineering

– Why do we use Systems Engineering?

30 May 2019Proprietary

12

Page 13: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Now – small team

• Simulator Mk1

– Simulink Desktop Real-Time

– Simulink Coder

– Vehicle Network Toolbox

– Running in Windows 10 with USB adapters

• Mk2 ported to ARM embedded platform

– Embedded Coder

– Initially M3 and now using M7

30 May 2019Proprietary

13

Page 14: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Now – small team

• Simulator used for HWIL development of RotoMate

product

30 May 2019Proprietary

14

Page 15: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Now – small team

• Return On Investment (ROI) – Country Maths

– Annual cost for The MathWorks tools $12K AUD

• MATLAB & Simulink

• MATLAB Coder, Simulink Coder and Embedded Coder

– Use existing target with GNU Tools

– Development effort for drivers, e.g. CAN, LED, USB

– One s/w engineer $70-120K AUD depending on experience

– ROI = $(70K+120K)/2 - $20K - $12K = $63K per year

30 May 2019Proprietary

15

S/w engineer Driver

dev

MathWorks

tools

Page 16: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

Future directions

• Develop algorithms using MathWorks tools

– Sell in embedded products

– Sell software modules/libraries for customers to use in their

products

– Keep the team small using the right tools

– Focus on the algorithms

30 May 2019Proprietary

16

Page 17: MATLAB EXPO 2019 · MATLAB EXPO 2019 Creating an embedded product with a very small development team ... •Duplicating algorithms running in ADM Proprietary 9 30 May 2019. 2Infinity

2Infinity Control Solutions

THE END

30 May 2019Proprietary

17