Innovation For Cyber-Physical Systems - MathWorks

Transcription

How Simscape SupportsInnovation for Cyber-PhysicalSystemsRick Hyde 2015 The MathWorks, Inc.1

How can we use system-level modelling tosupport innovative product design?2

Innovation in electric and hybrid vehiclesElectricalMechanicalFluid3

Innovation in robotics4

Example: Quadruped running robotBiologically-inspired design (Biomimetics) Animal terrestrial motion––––Muscles are inefficient (30%)Muscles are also the energy storeRunning gait uses kinetic energy recoveryThe leg is well modelled by a linear springv Innovation: Use equivalent inverted pendulummodel as basis for robotuyxp5

vRunning robot design exampleuDesign step #1 – gait selection Fixed parametersyxp– Leg length– Running speed– Mass Design parameters– Leg (spring) stiffness– Stance height Simple point-mass model– MATLAB script for trade-off6

Running robot design exampleDesign step #2 – actuator requirementsfrom inverse dynamics7

Running robot design exampleDesign step #3 – actuator selectionProvideactuation yelectricmotorChemicalArtificialmuscleIC LinearRotaryDC motorInductionmotorPneumaticcylinderLimited travelrotaryShuntmotorServo motor(PM rotor)Air musclePneumaticmotorSeries woundmotorVariablereluctance8

Running robot design exampleDesign step #3 – actuator selection9

Running robot design exampleDesign step #4 – actuation validation10

Running robot design exampleDesign step #5 – evaluationMotor efficiency at rated load 95%Motor efficiency for trotting gait ange/64237-running-robot-model-in-simscape11

Running robot design exampleDesign step automation using MATLAB scripting Automation permits greater understanding of design trade-offs– e.g. see effect of gearbox ratio on efficiencyGear ratio80100120Efficiency84%81%78%12

Running robot design exampleKey points1.2.3.4.5.Multiple modelsEach model matched to a design taskDesign data passed between modelsAutomation to support analysis &optimisationCode generation for HIL testingEnables product design innovation in away that starting with the CAD tool couldnever do13

Building the right model for the task at hand can be challengingRequirementsnot understoodby projectmanagementIdentification ofrequiredmodelling detail14

Identify required modelling detail for PMSM drivesSystem-level simulation–––2.Component validation––3.Torque-speed behaviourModel motor losses as part of overallefficiency calculationThermal & fault modellingEnsure motor stays within manufactureroperating limitsDetailed analysis of impact on othercomponents e.g. power harmonicsMechanical/controlengineerModeling detail1.Component design–––Motor and/or drive circuitryDetermine overall actuation lossesUnderstand/predict fault behaviourMotordesigner andelectronicsengineer15

Building the right model for the task at hand can be challengingRequirementsnot understoodby projectmanagementIdentification ofrequiredmodelling detailLimited timeand nothing tobuild on –starting fromscratchLackingdomainknowledge16

Simscape library components provide a useful starting pointand encapsulate some domain knowledgeModeling detail17

Building the right model for the task at hand can be challengingRequirementsnot understoodby projectmanagementIdentification ofrequiredmodelling detailNo dataLimited timeand nothing tobuild on –starting fromscratchLackingdomainknowledge18

Modelling a PMSM with limited supplier dataTune to measurement dataSee PMSM parameter identification example in Track 2 at 16:15pm19

Using abstraction to deal with limited dataR2017a/R2017b:elec auto ev.slxR2016b/R2016a/R2015b:elec electric vehicle.slx24

Multidomain example with fluids25

26

27

28

29

30

31

32

Building the right model for the task at hand can be challengingRequirementsnot understoodby projectmanagementIdentification ofrequiredmodelling detailNo dataLimited timeand nothingto build on –starting fromscratchLackingdomainknowledge33

Building the right model for the task at hand can be challengingRequirementsnot understoodby projectmanagementIdentification ofrequiredmodelling detailLimited timeand nothingto build on –starting fromscratchNo dataLackingdomainknowledge34

Simscape libraries enable you to build representative models fast35

Creating custom Simscape componentsExample: McKibben air muscleSteps:1. Write out definingequations2. Find starting point inSimscape foundationlibrary3. Incrementally addfunctionality, testing asyou goMcKibben air muscleIncrease pressure36

Creating custom Simscape componentsStep 1: Write out equations𝐿𝑢 Un-stretched length𝐿𝑠 Additional stretch due to force, FAssumptions: Volume is approximately constantStretch force is proportional to LsFp1Lu(p1)Equations: 𝐿 𝐿𝑢 𝑝 𝐿𝑠 𝐹 𝑘 𝐿𝑠 𝑝𝑉 𝑛𝑅𝑇Lsp2Lu(p2)37

Creating custom Simscape componentsStep 2: Find starting point from foundation library Has equation of stateNeed to add mechanicalports & equations38

Creating custom Simscape componentsStep 3: Incrementally add functionalityAdd: Two mechanical ports Two additional new equations𝐿 𝐿𝑢 𝑝 𝐿𝑠𝐹 𝑘 𝐿𝑠39

Creating custom Simscape componentsStep 3: Incrementally add functionalityAdd definitions for: Variables Parameters40

Creating custom Simscape componentsStep 4: Build library and run test model41

Why use Simscape?42

Why use Simscape? Plant and control43

Why use Simscape? Plant and controlMultidomain– Electrical– Mechanical– Thermal– Fluid44

Why use Simscape? Plant and controlMultidomainCode generation and V&V tools– Test controller on HIL plant– Deploy to simulator– Use plant model in real-time controller45

Why use Simscape? Plant and controlMultidomainCode generation and V&V toolsLibraries, examples, documentation & webinars46

Why use Simscape? Plant and controlMultidomainCode generation and V&V toolsLibraries, examples, documentation & webinarsSimscape language – build custom componentsFp47

Why use Simscape? Plant and controlMultidomainCode generation and V&V toolsLibraries, examples, documentation & webinarsSimscape language – build custom componentsWorkflow– Tight integration with MathWorks control and optimization tools– MATLAB for scripting and automation– Fault-capable components (R, L, C, Servomotor, )48

Why use Simscape? Plant and controlMultidomainCode generation and V&V toolsLibraries, examples, documentation & webinarsSimscape language – build custom componentsWorkflow– Tight integration with MathWorks control and optimization tools– MATLAB for scripting and automation– Fault-capable components (R, L, C, Servomotor, ) Support, training, consultingMATLAB Central49

How to find out more MathWorks physical modelling page:– ing.html Steve Miller’s introduction video– -introduction-75883.html MATLAB Central File Exchange– ge/ Contact us direct50

49 Why use Simscape? Plant and control Multidomain Code generation and V&V tools Libraries, examples, documentation & webinars Simscape language -build custom components Workflow -Tight integration with MathWorks control and optimization tools -MATLAB for scripting and automation