Developing software that drives...
Transcript of Developing software that drives...
Developing software that drives machines
Klaas Gadeyne
© FMTC vzw 2010 • p2
Outline
+Flanders' Mechatronics Technology Centre+Some aspects of SW development for mechatronic machines
– The mechatronics domain– Software platforms for mechatronic SW development
• The AutoSAR platform– Business models used during mechatronic SW development
• The Simulink tool/model
© FMTC vzw 2010 • p3
Weekend Knack...
Ask me a question before you fall asleep...
© FMTC vzw 2010 • p5
Market trends lead to distributed intelligent machines
Market Trends:• Increased Productivity• Comfort for operator• Better Energy-efficiency• Customization• Flexible machines• Faster product-innovation• Improved Reliability• Total Solutions• Additional Services
Enabling Product Trends:• intelligent control & sensing• modular & platform-based design•telemonitoring, telediagnostics, service architecture
© FMTC vzw 2010 • p6
Mission of FMTC
Jointly develop new and improve existing generic mechatronic competences and technologies to improve the competitive edge of its member companies
© FMTC vzw 2010 • p7
Members
© FMTC vzw 2010 • p8
FMTC bridges the research gap between academia and industry
Universities & Research Centres (PMA)
FMTC
Consulting Centres (Sirris)
ytp = year to product
Fundamental Research
TopCompetences
Joint Projects
Consultancy
Contract Research
2 ytp4 ytp6 ytp
Strategic Research
Collective Research
8
48
370
Companies
© FMTC vzw 2010 • p9
FMTC in graphs (2008)
It’s the ambition to double the size of the centre by 2012.
© FMTC vzw 2010 • p10
IPR Policy
FMTC has a unique partnership model for collective research
CollectiveResearch
PMA & otherResearchCenters
Participatingcompanies
Steering commission perprojectDefinition Evaluation
cooperation
Resultsresidents
Cases
Use inbilateralcontracts
© FMTC vzw 2010 • p11
Demand-driven joint projects
+/- 40 projectideas
+/- 7 projects
Clustering
Com
panyInterest
Selection
Com
panyInterest
Advise Board
idea fair
Visionary seminars
© FMTC vzw 2010 • p12
Energy-efficientelectro-mechanicaldrive lines
Wireless ControlArchitectures
Smartself-diagnostics
Control designElectrical actuatorsSystem modeling
Industrial communicationControl software Engineering
Condition Monitoring Algorithms Customized sensing
Ecological Machines Flexible Machines Intelligent Machines
Mechatronic System Design
FMTC projects and top competences are grouped in three clusters
© FMTC vzw 2010 • p13
FMTC project clusterecological machines
+Iterative learning control applied on various use cases:
– For realizing smooth wet-plate clutching
– For active vibration and noise reduction
– Improved wire winding– Motion control of linear actuator – Learning and scheduled control
+Design of application-specific piezo- and electromagnetic actuators+Lumped parameter physics-based dynamic modeling for:
– Moving mass actuator design– Tablet press analysis– Winder machine design
Load cellLoad cell
© FMTC vzw 2010 • p14
The FMTC project clusterflexible machines+Industrial Communication Technologies:
Bluetooth Control profileClock Synchronization for CANOpen EtherCAT masterZigbee sensorsWiMedia CommunicationWireless power solutions
+Machine Control Engineering Methods:
OROCOS (open real-time control services) FrameworkMachine Emulator PlatformEclipse tool chain for model based SW development
COMBINE CONTROL MODULE 3
SHAFTSPEED
MONITOR
COMBINE CONTROL MODULE 1
COMBINE CONTROL MODULE 2
RIGHTHAND
MODULEHANDLE
ENGINEGOVERNOR
MODULE
CAN BUS
SERVICE TOOL /END OF LINE TOOL
T
P
ADVANCEDSTONE
DETECTION
T
T
CNH Software
Standard
Optional
CNH Control
Terminator
PCMCIA Card
T
PC
INTEGRATED COMBINEDISPLAY
UNIT
D/GPSRECEIVER
PC
GRAINQUALITYMONITOR
YMIU
Moisture Sensor
Grain Flow Sensor
Bypass ControlCOMBINE CONTROL MODULE 3
SHAFTSPEED
MONITOR
COMBINE CONTROL MODULE 1
COMBINE CONTROL MODULE 2
RIGHTHAND
MODULEHANDLE
ENGINEGOVERNOR
MODULE
CAN BUS
SERVICE TOOL /END OF LINE TOOL
T
P
ADVANCEDSTONE
DETECTION
T
T
CNH Software
Standard
Optional
CNH Control
Terminator
PCMCIA Card
T
PC
CNH Software
Standard
Optional
CNH Control
Terminator
PCMCIA Card
T
PC
INTEGRATED COMBINEDISPLAY
UNIT
D/GPSRECEIVER
PC
GRAINQUALITYMONITOR
YMIU
Moisture Sensor
Grain Flow Sensor
Bypass Control
© FMTC vzw 2010 • p15
The FMTC project cluster intelligent machines
+Condition monitoring – steel wire quality detection at Bekaert– preventive maintenance for FEI and
Océ: combination of data mining and prognostics
– Model-based diagnostics and Bayesian network diagnostics on an Airco
– bearing damage in weaving machines and gearboxes
+Customized sensors:– Radial force measurments.– Torque estimation.– Contactless measurement of
temperature distributions– Detection and localization of
intermittent connector faults– Ultrasonic inspection of steal fibre
mats.+(Networked Machines)
transmittersreceivers transmittersreceivers transmittersreceivers
© FMTC vzw 2010 • p16
Badminton robots brings FMTC competences together (youtube → jada badminton)+Highly dynamic application.+3-axis actuation system.+3D vision system in the loop.+This year:
– Energy efficient actuation.– Wireless in the loop.– Automatic failure diagnostics.– SysML based system design flow
© FMTC vzw 2010 • p17
FMTC is looking forward to collaborating with you !The mechatronics domain
© FMTC vzw 2010 • p18
Mechatronics domain model
ECUECU ECU
© FMTC vzw 2010 • p19
Applied to the Badminton Robot
© FMTC vzw 2010 • p20
Mechatronics machines
+What are differentiatiors with other SW development?– Involving (control of a) “physical” machine– Involving interaction between different domain experts
• Hardware specialists– Mechanics– Thermal– Electrical
• Software specialists• Computer Hardware (ECU) specialists
+What varies even in mechatronics sector– Going from expensive one-off prototype machines such as
badminton robots driven by COTS computer hardware to production sizes of over 6000 million cars (VW, 2007).
– For some designs, particular domains are more important than others
© FMTC vzw 2010 • p21
Traditional SW development
In traditional development methods information is stored in documents. But, every time the information is processed by humans, it is actually transformed into a model – a mental model. We don’t think in terms of linear text when we reason about technical solutions. Instead we create some sort of model of the system in our head and reason in terms of that model. It may well happen of course that different people get different mental models from the same linear text as there may be several ways to transform it into a mental model.
© FMTC vzw 2010 • p22
Model Based SW development
+The solution is the set of models
+Test as much as possible on the solution
+The solution can be transformed into the final deliverable
– Code generation– Manual coding
Requirements
Code
Models test
© FMTC vzw 2010 • p23
Now that you are all mechatronic experts
+What do I mean with– Software Platforms– Typical models for Mechatronic SW development
© FMTC vzw 2010 • p24
One step back: requirements
© FMTC vzw 2010 • p25
+ AutoSAR key features (from the AutoSAR website)
Platform
ScalabilityModularity
Flexibility
Maintenance
Reliability
Configurability
© FMTC vzw 2010 • p26
(Software) Platforms are typically covering NFR
© FMTC vzw 2010 • p27
Mechatronics domain model
ECUECU ECU
SW PlatformBusiness SW
© FMTC vzw 2010 • p28
One such platform: The AutoSAR platform
© FMTC vzw 2010 • p29
AutoSAR: Configurability “solved” by the platform
© FMTC vzw 2010 • p30
(AutoSAR) Component model
© FMTC vzw 2010 • p31
Component models in the Mechatronics world
+Depending on the “subbranch” of mechatronics, often a different component model is used
– They all look the same (similar)...– Sure: most non-functional requirements leading to the
AutoSAR component model are not automotive specific, hence...
– One of them is the AutoSAR component model+Typical for these frameworks is the presence of so-called
“data-flow” ports...– Because often the models used are data-flow models...
© FMTC vzw 2010 • p32
Platform Model(ing) language
+A mechatronics SW architecture is typically a set of SW components working together
+Notice that this is a graphical model, describing part of the solution...
© FMTC vzw 2010 • p33
(Business) Models in the mechatronics world
+Remember: everything is a model ;-)– Platform models– Business logic (functional) models (Platform Independent Models)– Configuration models– Combinations...
+This section: PIM modeling
© FMTC vzw 2010 • p34
Business models are typically covering
© FMTC vzw 2010 • p35
UML can do this too, right?
© FMTC vzw 2010 • p36
“Limits” of UML (for mechatronic SW development)+No real formal semantics, especially when it comes to
behavioural modeling– Semantic variation points– No executable semantics
+(Generally) Poor tool support for model execution– FSM Simulation is an exception
+Complex for non-SW engineers– In mechatronic SW development, the models fulfulling functional
and performance requirements (the business logic) are typically created by “domain experts”, which have little affinity with SW (and hence SW modeling languages)
© FMTC vzw 2010 • p37
(Executable) Behavioral modeling languages
+Different modeling paradigma's to describe physical systems– Some unifying theories such as DEVS (prof. VanGheluwe)
+In practice– Dynamic Systems behaviour modeling languages such as
modelica– Simulink as de facto standard
© FMTC vzw 2010 • p38
Simulink models
© FMTC vzw 2010 • p39
Executable models, debuggable models, ...
© FMTC vzw 2010 • p40
Where does this model fit?
ECUECU ECU
SW PlatformBusiness SW
© FMTC vzw 2010 • p41
Where does this model fit?
ECUECU ECU
SW Platform
© FMTC vzw 2010 • p42
Howto FIT Platform & business model? Example -> AutoSAR modeling tool + Simulink
© FMTC vzw 2010 • p43
Example -> FMTC Eclipse plugin
Add MATLAB model to project: drop into models folder
Select subsystem to be used
Mark auxiliary files (MATLAB script, library, ...)
Examine model in MATLAB
Points to the main mdl.
© FMTC vzw 2010 • p44
Eclipse plugin (bis)Overview of ports & parameters in Project Explorer
Details in model elements tab
Relevant properties of generated code
© FMTC vzw 2010 • p45
Wrap up
+ Mechatronic SW development involves creating SW that drives physical machines
+Some of its requirements can be fulfilled using appropriate “platforms”. SW platforms such as the AutoSAR platform are one example of such a platform.
+Fulfilling functional and performance requirements is typically not done by the SW engineer but by other domain experts. The SW engineer reuses their models and “merges” them with the SW architecture models.
+Some requirements cross these borders ...