Altarum presentation

29
Altarum Presentation Altarum Presentation Paul M. Bombach Paul M. Bombach 20-May-2004 20-May-2004

Transcript of Altarum presentation

Page 1: Altarum presentation

Altarum PresentationAltarum PresentationPaul M. Bombach Paul M. Bombach

20-May-200420-May-2004

Page 2: Altarum presentation

20-May-2004 Paul M. Bombach 2

AgendaAgenda

Academic BackgroundEmployment HistoryRecent Projects

Page 3: Altarum presentation

20-May-2004 Paul M. Bombach 3

Academic BackgroundAcademic Background

Bachelors of Science in Aerospace Engineering from the University of Michigan, Ann Arbor; 12/90

Masters of Science in Aerospace Engineering from the University of Michigan, Ann Arbor; 12/98

Page 4: Altarum presentation

20-May-2004 Paul M. Bombach 4

Employment HistoryEmployment History

Airflow Sciences Corporation - Livonia MI

Horiba Instruments - Ann Arbor, MIFord Motor Company - Dearborn, MI.

Page 5: Altarum presentation

20-May-2004 Paul M. Bombach 5

VPACSVPACSVirtual Powertrain and Control

SystemAutomotive simulation designed to

validate and calibrate a vehicle’s control strategy (PCM)

There are two modes of running. A software-in-the loop mode (SIL), and a hardware-in-the-loop mode (HIL)

Page 6: Altarum presentation

20-May-2004 Paul M. Bombach 6

Software-in-the-Loop (SIL)Software-in-the-Loop (SIL)

VPACS-SIL

Powertrain Models

ReplacementHigh LevelDrivers

CommonBlocks

Software PCM

Page 7: Altarum presentation

20-May-2004 Paul M. Bombach 7

SIL BenefitsSIL Benefits

Numerous tests can be run faster than real-time

A strategy developer can step through their code in a debugger

Can record data as a function of time for any variable in the strategy

Page 8: Altarum presentation

20-May-2004 Paul M. Bombach 8

SIL DisadvantagesSIL DisadvantagesHigh and low level drivers are not

testedRequires our section to port each

strategy to the SILNot really suitable to the test, fix,

repeat loop of software developmentRequires engine calibration file to be

converted

Page 9: Altarum presentation

20-May-2004 Paul M. Bombach 9

Hardware-in-the-Loop (HIL)Hardware-in-the-Loop (HIL)

High Speed I/O

SharedMemory

Hardware PCM

A/D - D/AFunction Calls

A/D - D/AFunction Calls

Page 10: Altarum presentation

20-May-2004 Paul M. Bombach 10

HIL TimingHIL Timing

0 21 3 4 5 76 8 9

PowertrainModels

HighSpeed I/O

Time (ms)

Page 11: Altarum presentation

20-May-2004 Paul M. Bombach 11

HIL AdvantagesHIL Advantages

Allows full testing of high level and low level drivers

Uses the native calibrationNew strategies are relatively easily

tested

Page 12: Altarum presentation

20-May-2004 Paul M. Bombach 12

HIL Disadvantages - UserHIL Disadvantages - User

Tests must run in realtimeThe strategy developer can not

debug their application. They are limited in the variables that

can be recorded.

Page 13: Altarum presentation

20-May-2004 Paul M. Bombach 13

HIL Disadvantages - DeveloperHIL Disadvantages - Developer

Frequently, can not use a symbolic debugger

Printf style debuggingFrame overruns

Page 14: Altarum presentation

20-May-2004 Paul M. Bombach 14

Current I/O ArchitectureCurrent I/O Architecture

VPACS-SIL

Powertrain Models

ReplacementHigh LevelDrivers

CommonBlocks

Software PCM

High Speed I/O

SharedMemory

Hardware PCM

A/D - D/AFunction Calls

A/D - D/AFunction Calls

Page 15: Altarum presentation

20-May-2004 Paul M. Bombach 15

New I/O ArchitectureNew I/O Architecture

SharedMemory

Vehicle Simulation Powertrain Control Module

Page 16: Altarum presentation

20-May-2004 Paul M. Bombach 16

SIL Specific ArchitectureSIL Specific Architecture

SharedMemory

Vehicle Simulation Powertrain Control Module

ReplacementHigh LevelDrivers

Page 17: Altarum presentation

20-May-2004 Paul M. Bombach 17

HIL Specific ArchitectureHIL Specific Architecture

SharedMemory

Vehicle Simulation Powertrain Control Module

I/O Process

Hardware PCM

A/D - D/AFunction Calls

Page 18: Altarum presentation

20-May-2004 Paul M. Bombach 18

Speed SensorSpeed Sensor

Page 19: Altarum presentation

20-May-2004 Paul M. Bombach 19

Governing EquationGoverning Equation

dtd

tii 1

Page 20: Altarum presentation

20-May-2004 Paul M. Bombach 20

Speed Sensor RotationSpeed Sensor Rotation i

i+1

Page 21: Altarum presentation

20-May-2004 Paul M. Bombach 21

Every ms

Speed sensors > 0

Get Speed

Predict CrankPosition

Calculate Edge Times

Sort Edge Times

Write to I/O Board

False

True

Page 22: Altarum presentation

20-May-2004 Paul M. Bombach 22

Time ProblemTime Problem

0 21 3 4 5 76 8 9

PowertrainModels

HighSpeed I/O

Time (ms)

Page 23: Altarum presentation

20-May-2004 Paul M. Bombach 23

SIL ProcessSIL Process

No automatic build process, so developers manually compiled source modules

Releases were done live so developers were offline for hours

No dependency tracking

Page 24: Altarum presentation

20-May-2004 Paul M. Bombach 24

SIL ProcessSIL ProcessInstituted a make based build system

– This eliminated manual compilation– Ensured all dependencies were satisfied

Segregated the release process– Isolated the release from all other

developers– Allowed development to continue

during the release

Page 25: Altarum presentation

20-May-2004 Paul M. Bombach 25

HIL ProcessHIL Process

Four stations with four different source codes

Four stations with separate passwords and user directories

Model code was not under source code control

Page 26: Altarum presentation

20-May-2004 Paul M. Bombach 26

HIL ProcessHIL Process

Instituted source code controlCommonized the code across four

workstationsInstalled NIS database for shared

user authenticationInstalled a file server to serve

common home directories

Page 27: Altarum presentation

20-May-2004 Paul M. Bombach 27

Code StructureCode Structure Multiple architecture specific code was

kept in one library Special scripts had to be run to select the

proper code It was difficult to determine what needed to

be ported in moving to a new architecture Some code was maintained in parallel.

When changes were made, they didn’t always get updated in both places

Page 28: Altarum presentation

20-May-2004 Paul M. Bombach 28

Code Structure ImprovementsCode Structure Improvements

Separated all architecture specific code into separate libraries

Put them under individual source code control

This had multiple benefits– For code that was parallel it was obvious

where updates had to be made– Decreased porting time because it was clear

what code needed to be ported.

Page 29: Altarum presentation

20-May-2004 Paul M. Bombach 29

ConclusionConclusion