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