26
Technische Universität München Lehrstuhl für Flugsystemdynamik Development of an Interface between CAD- Systems and SimMechanics Prototyping and Optimization of Mechatronic Systems MATLAB EXPO 2014 9 th July 2014 Dipl.-Ing. Christopher Schropp [email protected] 1

Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Development of an Interface between CAD-

Systems and SimMechanics

Prototyping and Optimization of Mechatronic Systems

MATLAB EXPO 2014

9th July 2014

Dipl.-Ing. Christopher Schropp

[email protected]

1

Page 2: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Current Situation / Motivation

Very common tools in industry: MATLAB, Simulink, CATIA V5, …

There is no direct, bidirectional interface

Separation of the development process of mechatronic systems

CONSEQUENCE:

An overall optimization of the development is difficult.

There is a lot of manual work, hence many sources of error.

2

Create CAD model

Create Skeleton

model

Link the two models

Add missing values

Check model

consistency Simulation

Test of total system

Current engineering process chain

Page 3: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Distinction between the interfaces: Real interaction – Exchange file

SimMechanics Link

CAPRI

CAMAT

Our

Tool

Connectivity to CATIA XML

Bidirectionality

SimMechanics Model Creation

No manual mapping - -

Market Analysis

3

Page 4: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Goal of our Research Project

Bidirectional interface between MATLAB and SimMechanics and a selection of

CAD-Tools:

This interface can be used for optimizations, for example optimizing

CAD parameters for lowest mass, highest forces, …

CAD-System (e.g. CATIA V5, …)

MATLAB (SimMechanics)

Interface

Masses, CGs, Moments of Inertia, …

CAD Parameter changes

4

Page 5: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Goal of our Research Project

Change of the current development process:

5

Create CAD model

Create Skeleton

model

Link the two models

Add missing values

Check model

consistency Simulation

Test of total system

Create CAD model

Convert model with our solution

Simulation Test of total

system

Current engineering process chain

New engineering process chain

Automation

Page 6: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Framework of the Research Project

Sponsored by ZIM (Zentrales Innovationsprogramm Mittelstand)

Funding program particularly for collaborations of medium-sized

companies and research institutions.

Our partner company:

6

Page 7: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Our Concept

Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …)

We use the COM Server of CATIA V5 together with a .NET DLL

MATLAB

Framework

SimMechanics

DLL

Wrapper

CAD-System COM

SERVER

.NET DLL

(VB) CAD-System

specific

NOT CAD-System specific! Generalized Interface

CATIA V5 COM

SERVER .NET DLL

(VB) CATIA V5

SolidWorks COM

SERVER .NET DLL

(VB) Solidworks

7

myModel = iCADModel(´SampleCatiaProduct.CATProduct´, 1); myModel.GetCADData; myModel.CreateSimulinkModel;

Page 8: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

BLACKBOX

SimMechanics Model Creation

Our Algorithm uses only the transferred data for model creation (no compulsory

further active connection to the CAD system is necessary).

Add all parts to model

Create new system

Add all joints to model

8

Page 9: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Additional Features

Automatic generation of STL files for better

visualization in Mechanics Explorer.

9

Automatic generation of detailed

part screenshots for an improved

presentation of the Simulink

diagram. Created JPEGs are used

as mask icons.

Page 10: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Use Case

10

Page 11: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Simulink Model Creation Video

11

Page 12: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Parameter Changes & Update Functionality

Bidirectionality allows manipulation of CAD parameters (e.g. lengths,

diameters, positions, …).

Resulting changes in the parts and products are calculated by the CAD

system.

After receiving the new data, the MATLAB CAD model data is updated.

Since the SimMechanics model is parametrized, there are no updates

necessary for the diagram.

12

Page 13: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Optimization

The manipulation of CAD parameters and the update functionality allows to

lay an optimization loop over both tools.

Besides the MATLAB optimization algorithms (e.g. included in the

optimization toolbox), the framework allows to easily implement any other

optimization algorithm (e.g. SNOPT, IPOPT, …).

CA

D-S

ys

tem

New Masses, CGs, Moments of

Inertia, …

CAD Parameter Changes

Simulate SimMechanics Model

Evaluate Measurement Results

Calculate Parameter Changes

13

Start Optimization

Page 14: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Optimization Video

14

Page 15: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Benchmark Results

15

Transfer of CAD model data and creation of a

SimMechanics model in about 100 seconds.

(Time effort with manual work > 50h!) Intel® Core™ i7-2640M CPU 2,80 GHz / 8,00 GB RAM/ 64 Bit OS

1 Assembly

24 Parts

46 Constraints

31 Joints

Page 16: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Main Advantages of the Developed

Software

Enormous reduction of manual work, working time and in the end

development costs.

Elimination of the error source „human“ in the SimMechanics model creation.

No separation of the product development process.

Possibility to use already in MATLAB implemented methods like optimization

algorithms, sensitivity analysis, …

Attach Simscape subsystems to CAD files.

Automatic consideration of installation space during optimization.

16

Page 17: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Outlook

Support of other popular CAD systems.

Export of a xml file for documentation purposes.

Intuitive and user friendly GUI for an easy control of the software.

17

Page 18: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Thank you very much for

your attention!

18

Christopher Schropp

[email protected]

+49 89 289 16349

Sam Nezhat

[email protected]

+49 89 548 426 50

Institute of Flight System Dynamics

Technische Universität München

Boltzmannstraße 15

85748 Garching, Germany

SANEON GmbH

Lichtenbergstraße 8

85748 Garching, Germany

Page 19: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

BACKUP

19

Page 20: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Way of Data

Examplary way of data: myPartsData = myModel.GetParts

iCADModel iCADSystem .NET DLL CATIA V5

CADSystem.GetParts cad.GetParts

Foreach Product in RootProduct.Products { GetMass(Product) […] }

{ [Part1, Product1, 20.5, …] [Part2, Product1, 14.8, …] […] }

Conversion to: { [char(Part1), char(Product1), 20.5, …] […] }

myPartsData = { [´Part1´, ´Product1´, 20.5, …] […] }

20

Page 21: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Calculation of transformation data

?

21

Page 22: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Calculation of rotation data

Formulate direct cosine matrix (DCM)

between two coordinate systems

Convert DCM to quaternion

Save angle of rotation and rotational

axis to CAD data

Formulate corresponding coordinate

system for joint (e.g. rotational axis

equals z-axis)

22

Page 23: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

The following DMU Kinematics joints are currently supported:

Mapping of Joints

Weld Joint CATKinRigidJoint

Revolute Joint CATKinRevoluteJoint

Prismatic Joint CATKinPrismaticJoint

Cylindrical Joint CATKinCylindricalJoint

Spherical Joint CATKinSphericalJoint

Fixed Parts

23

Page 24: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

CAD Model Details Part Details Joint Details Constraint Details

Data structure

CAD Model Data in MATLAB Workspace

Root Product Details

24

Page 25: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

Framework in MATLAB

iCADSystem iSimulinkModelBuilder

iCADModel iProduct

iMechanism

iParameter

iPart

iConstraint

iJoint

iOptimizationProblem

.NET DLL

(VB) CAD-System

specific

SimMechanics Model

25

Page 26: Development of an Interface between CAD- Systems and ...€¦ · Several possibilities to connect MATLAB and CATIA V5 (COM, CAA, …) We use the COM Server of CATIA V5 together with

Technische Universität München

Lehrstuhl für

Flugsystemdynamik

CATIA V5 Design Guideline

Elements with fixed position may not be part of a FixTogether group.

Points for spherical joint congruency must be created separately (Generative

Shape Design).

Subassemblies must only contain FixTogethers.

At the moment, only constraints created as joints (DMU Kinematics) will be

detected by our interface.

Currently supported joints are:

26