modelling of a complex system using sysml in a...

24
1 Automation and Robotics Section European Space Agency Modelling of a Complex System using SysML in a Model Based Design Approach Thomas Krueger Automation & Robotics Section (TEC-MMA) 13.04.2011

Upload: trinhlien

Post on 25-Aug-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

1Automation and Robotics Section

European Space Agency

Modelling of a Complex System using SysMLin a Model Based Design Approach

Thomas Krueger

Automation & Robotics Section (TEC-MMA)

13.04.2011

2Automation and Robotics Section

European Space Agency

Content

1. Introduction

2. Modelling process

3. Composing of the simulation

4. Summary & Outlook

3Automation and Robotics Section

European Space Agency

Modelling and Simulation of complex systems

Complex system

– Many interacting components

– Exhibit behaviour that is not

encapsulated by the sum of its

parts

Modelling & Design

– Description of the system model

– Specialised modelling tools for its

components

Requirements

Control

MechanicalElectrical

System Model

Mechanical Design CAD / FEM

Electrical DesignCAD / Simulations

Control Dynamics analysis tool(s)

Build a simulation of the system

4Automation and Robotics Section

European Space Agency

Research project

Aim: Demonstrate a method to build of a simulation of a complex system

– Parallel development of system design and Simulation

– Use standards (tools, methods, hardware)

Modelling approach

– Using SysML for the modelling of the system model

– Modelling of the components in specialised tools - re-use of existing models

– Required: Simulation tools providing automated code generation

Demonstration System

– ExoMars - Sample Preparation and Distribution System (SPDS)

– Complex system with identified scope and boundaries

– Developed and designed by Kayser-Threde

5Automation and Robotics Section

European Space Agency

Modelling of the system - Components

SPDS_Pkg::SPDS«block»

Drill«block»

Control_System«block»

itsRover:Rover1

1 1 11 1 1

Analytical_Instruments«block»

11

6Automation and Robotics Section

European Space Agency

Modelling of the system - Components

SPDS«block»

«block»

11 1

CSHS«block»

1

PSHS«block»

11

CS«block»

11

PSDDS

Sample_Processing

«block» Analytical_Instr

Analyse_Sample

«block» SPDS

«block» PSHS

Transport_Sample_to_Analytical_Instrument

«block» PSDDS

Dispense_the_sample_to_Ovens

«block» CS

Crushing_the_Sample

«block» CSHS

Retrieving_Sample_From_Drill

Deliver_Sample_to_CS

«block» Drill

Drilling

«block» Analytical_Instr

Analyse_Sample

«block» SPDS

«block» PSHS

Transport_Sample_to_Analytical_Instrument

«block» PSDDS

Dispense_the_sample_to_Ovens

«block» CS

Crushing_the_Sample

«block» CSHS

Retrieving_Sample_From_Drill

Deliver_Sample_to_CS

«block» Drill

Drilling

«block» Analytical_Instr

Analyse_Sample

«block» SPDS

«block» PSHS

Transport_Sample_to_Analytical_Instrument

«block» PSDDS

Dispense_the_sample_to_Ovens

«block» CS

Crushing_the_Sample

«block» CSHS

Retrieving_Sample_From_Drill

Deliver_Sample_to_CS

«block» Drill

Drilling

«block» Analytical_Instr

Analyse_Sample

«block» SPDS

«block» PSHS

Transport_Sample_to_Analytical_Instrument

«block» PSDDS

Dispense_the_sample_to_Ovens

«block» CS

Crushing_the_Sample

«block» CSHS

Retrieving_Sample_From_Drill

Deliver_Sample_to_CS

«block» Drill

Drilling

7Automation and Robotics Section

European Space Agency

Modelling of the system - Components

PSDDS«block»

Dosing_Station«block»

2 1

Positionier«block»

1

Rover.itsSPDS:SPDS1

itsPSDDS:PSDDS1

itsPositionier:Positionier1Attributes

Drive_Activated:boolPosition_Setpoint:doubleActuator_Position:doubleDamaged:bool

itsDosing_Station_1:Dosing_Station1Attributes

Dosing_Drive_Active:boolDosing_Drive_Position:intIs_Piezo_Active:boolTheoretical_Content_ml:float

Modelling in SysML stopped at a certain level of detail

8Automation and Robotics Section

European Space Agency

Modelling of the system - Behaviour

Functional & Logical

–State machines according to the system capabilities

–Inside the system model

Dynamical

–Representation of physical behaviour

(mechanical, electrical, control algorithms, signal processing)

–Modelled in equations or graphical syntax of the specialised tool

–Outside of the system model

9Automation and Robotics Section

European Space Agency

Modelling of the system - Components

PSDDS«block»

Dosing_Station«block»

2 1

Positionier«block»

1

Rover.itsSPDS:SPDS1

itsPSDDS:PSDDS1

itsPositionier:Positionier1Attributes

Drive_Activated:boolPosition_Setpoint:doubleActuator_Position:doubleDamaged:bool

itsDosing_Station_1:Dosing_Station1Attributes

Dosing_Drive_Active:boolDosing_Drive_Position:intIs_Piezo_Active:boolTheoretical_Content_ml:float

10Automation and Robotics Section

European Space Agency

Functional behaviour - State charts

DS_Positioner_States

Undefined_Position

Positioning

[Drive_Activated == true]

Position_DS1_at_Caroussel_ExPtPosition_DS1_at_CS Position_DS2_at_CS Position_DS2_at_Caroussel_ExPt

[Actuator_Position == DS1_at_CarEPt_Position]

[Actuator_Position == DS1_at_CS_Position]

[Actuator_Position == DS2_at_CS_Position]

[Actuator_Position == DS2_at_CarEPt_Position]

[Drive_Activated == false]

Positioning

Positioning[Drive_Activated == true]

[Actuator_Position == DS1_at_CarEPt_Position]

[Actuator_Position == DS1_at_CS_Position]

[Actuator_Position == DS2_at_CS_Position]

[Actuator_Position == DS2_at_CarEPt_Position]

[Drive_Activated == false]

[Drive_Activated == true][Drive_Activated == true] [Drive_Activated == true] [Drive_Activated == true]

itsPositionier:Positionier1Attributes

Drive_Activated:boolPosition_Setpoint:doubleActuator_Position:doubleDamaged:bool

11Automation and Robotics Section

European Space Agency

Dynamical behaviour

rateRateLimit

Movement_Check

LinearSystem

Limit

limIntegrate

KGain1

KGain

Drive_Activated

Actuator_PositionPosition_Setpoint

itsPositionier:Positionier1Attributes

Drive_Activated:boolPosition_Setpoint:doubleActuator_Position:doubleDamaged:bool

Modelled “outside” in a specialised tool

12Automation and Robotics Section

European Space Agency

Resume

Modelled

–Modelling of the system hierarchies

–Individual system blocks with attributes

–Functional behaviour via state charts

–Dynamical behaviour modelled in

specialised tools

Missing

–Interaction of the systems

–Realisation via Ports / Flow Ports

SPDS«block»

«block»11 1

CSHS «block»1

PSHS«block»11

CS«block»11

PSDDS

itsPositionier:Positionier1Attributes

Drive_Activated:boolPosition_Setpoint:doubleActuator_Position:doubleDamaged:bool

rate

RateLimit

Movement_Check

LinearSystem

Limit

lim

Integrate

K

Gain1

K

Gain

Drive_Activated

Actuator_Position

Position_Setpoint

13Automation and Robotics Section

European Space Agency

Interaction of the components

Rover.itsSPDS:SPDS1

itsPSDDS:PSDDS1

itsDosing_Station_1:Dosing_Station1

Dosing_Drive_Position:int

Dosing_Drive_Active:bool

Dosing_Station_Port

itsPositionier:Positionier1

Position_Setpoint:double

Actuator_Position:double

Drive_Activated:bool

Positioner_Port

Rover.itsControl_System1

PSDDS_Dosing_Station_Flow_Emulation_1

PSDDS_Dosing_Drive_Sensor_1:intPSDDS_Dosing_Drive_Output_1:bool

Rover_SPDS_PSDDS_Positioner_COM

Rover.itsSPDS:SPDS1

itsPSDDS:PSDDS1

itsPositionier:Positionier1

AttributesDrive_Activated:boolPosition_Setpoint:doubleActuator_Position:doubleDamaged:bool

itsDosing_Station_1:Dosing_Station1

AttributesDosing_Drive_Active:boolDosing_Drive_Position:intIs_Piezo_Active:boolTheoretical_Content_ml:float

14Automation and Robotics Section

European Space Agency

Simulation & Technical realisation

Composing the of the simulation

–Generation of executable code out of the SysML model

–Code generated for the models of the components

Integration dynamical behaviour

–Internal: inside the generated code out of SysML

–External: separate processe

15Automation and Robotics Section

European Space Agency

Integration - Internal simulation

PSDDS«block»

Positionier1Attributes

Actuator_Position:doublePosition_Setpoint:double

Drive_Activated:boolDamaged:bool

Actuator_Position:double

Drive_Activated:bool

Position_Setpoint:double

PSDDS_Simulation_Block1Attributes

Drive_Activated:boolPosition_SetPoint:doubleActuator_Position:double

OperationsInit():voidUpdate():voidClean():void

Initialisation

Calculation

tm(100)tm(100)

Terminate

Splitter1rate

RateLimit

Movement_Check

Movement_Check

1

90s + 1LinearSystem1Limit

lim

Integrate

KGain1

KGain

Drive_Activated

Actual_Positionpos_setpoint

16Automation and Robotics Section

European Space Agency

External simulation as method of choice

Internal simulation (not recommended)

– Direct integration of code enlarges the model

– Difficult to maintain

– Computing power vs. Real-time simulation

External simulation

– Models are running as independent processes

– Distributed simulation Real-Time through more computation power

– More independence (platforms, operation systems)

Realisation via Data Distribution Service (DDS)

– Easy implementation (integration of communication modules in the models)

– Hard real-time capability

17Automation and Robotics Section

European Space Agency

Distributed simulation architecture

System Model Virtual Reality

.

PSDDS Movement CS Control

Positioner_Setpoint

Actual_Postion & Drive_Activated

Crushing_Drive_Activated

Motor_Current & Jaw_Temperature

Simulation Node (process) DDS

Splitter1 rateRateLimit

Movement_Check

Movement_Check

1

90s+1LinearSystem1Limit

lim

Integrate

KGain1

KGain

Drive_Activated

Actual_Positionpos_setpoint

PC Windows Graphics WorkstationWindows Multi - core high-performance PC – RT-Linux

Simulation platform

18Automation and Robotics Section

European Space Agency

Integration – External simulation

PSDDS«block»

Positionier1Attributes

Actuator_Position:doublePosition_Setpoint:double

Drive_Activated:boolDamaged:bool

Actuator_Position:double

Drive_Activated:bool

Position_Setpoint:double

PSDDS_Simulation_Block1Attributes

Drive_Activated:boolPosition_SetPoint:doubleActuator_Position:double

OperationsInit():voidUpdate():voidClean():void

Initialisation

Calculation

tm(100)tm(100)

Terminate

Splitter1rate

RateLimit

Movement_Check

Movement_Check

1

90s + 1LinearSystem1Limit

lim

Integrate

KGain1

KGain

Drive_Activated

Actual_Positionpos_setpoint

PSDDS_DDS_Receive_Block1DDS_SubscriberSpecific_ReaderActuator_Position:doubleDrive_Activated:bool

PSDDS_DDS_Receive_Block()Data_Received()Init_Reader():voidDDS_Take():voidWait_for_DDS_Data():void

PSDDS_DDS_Send_Block1Position_Setpoint:doubleData_to_SendDDS_PublisherSpecific_Writer

chPosition_Setpoint()PSDDS_DDS_Send_Block()

DDS_Init_Writer():voidDDS_Write():void

19Automation and Robotics Section

European Space Agency

Virtual reality

Part of the simulation

– Visualisation

– Simulated physics environment

– Full measurable system

– Simulation Node (DDS connected)

Purposes

– Simulation of sample flow

– Checking congruency system states

and reality

– Test environment: possibility of

manipulation everything

20Automation and Robotics Section

European Space Agency

Simulating…

21Automation and Robotics Section

European Space Agency

Summary

Technology Demonstration

– System model in SysML as base for the Simulation: (hierarchy, structure & functional behaviour)

– Dynamical behaviour via individual modelled subcomponents

– Methods for the integration of sub-simulations

– Distributed real-time simulation through DDS

Advantages

– Re-use of existing models

– Block oriented design (eases development and maintenance)

– Use specialised tools according to the technical domain

Required

– Tools providing automated code generation

– Development & integration of communication modules for the DDS connection

22Automation and Robotics Section

European Space Agency

Outlook

Next steps• Enhance the simulation

• Distribute the simulation nodes to different systems

– Investigate appropriate system infrastructures (network, hardware, OS)

– Limits of DDS???

• Verification

• Using the simulation to support the system development

– Using simulation results and insights

– Creation of test scenarios (worst case) Automated testing

– Test experimental system designs and configurations

Guidelines for developments• Re-use of existing models

• Integration via standards and avoidance of custom coding

• Minimal differences between system design and simulation design

23Automation and Robotics Section

European Space Agency

Thanks for your attention!

Questions?

24Automation and Robotics Section

European Space Agency

Independence of the control system

• Independent from device state-charts

• Device states charts represent the true state of the system

• Control system inputs are dependent on virtual sensors

• Virtual sensors can be biased or have faulty behaviour

Example: The Position of the CSTM is exactly at the Drill exchange

point but the sensors, according to their precision, deliver a

slightly different position to the control system.

VR COM Device Ctrl. SysCTSM_Pos = 9.56 CTSM_Pos = 9.56

State: Moving

CTSM_Pos_Sen = 10

Sensor

Prec: 1.