AN EXPERIMENT IN COMMAND AND CONTROL SYSTEM SIMULATION - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

AN EXPERIMENT IN COMMAND AND CONTROL SYSTEM SIMULATION

Description:

Jack.Sheehan_at_dmso.mil. FORUM. 2005 FALL SIW. Presentation. MMF Command and Control Simulation ... A Stateflow chart is a Simulink block. ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 22
Provided by: pbur7
Category:

less

Transcript and Presenter's Notes

Title: AN EXPERIMENT IN COMMAND AND CONTROL SYSTEM SIMULATION


1
AN EXPERIMENT IN COMMAND AND CONTROL SYSTEM
SIMULATION
FORUM
  • Dr. Furman Haddix, Ph.D.
  • Texas State University- San Marcos
  • fh10_at_txstate.edu
  • Mr. Jack Sheehan
  • Defense Modeling and Simulation Office
  • Jack.Sheehan_at_dmso.mil

2
Presentation
  • MMF Command and Control Simulation
  • AFATDS (Advanced Field Artillery Tactical Data
    System)
  • MATLAB/Simulink/Stateflow Suite
  • MATLAB/Simulink used by ICs for Engineering level
    simulation
  • Fire Support Scenario
  • Demonstration
  • Findings

3
The MATLAB Family
STATEFLOW CODER
REAL BLOCKSETS SIMULINK
TIME WORKSHOP
TOOLBOXES MATLAB COMPILER
4
MATLAB/Stateflow/Simulink and AFATDS
  • MATLAB provides a virtual run-time environment
    for execution of mathematical functions.
  • Simulink provides predefined blocks, which can be
    quickly and graphically assembled to model
    real-world systems within the MATLAB environment.
  • Stateflow adds capability of state transition
    based blocks to Simulink, with primary purpose of
    supporting embedded systems. A Stateflow chart is
    a Simulink block.
  • The approach used for simulation of AFATDS was to
    model the OPFACS as Simulink objects with
    embedded Stateflow state machines.
  • We believe this modular approach facilitates
    reuse of OPFAC objects.

5
Classical Missions and Means Framework Application
  • Fire Mission
  • Battlefield requirement
  • Multiple Means Available
  • Mortars, NGF, CAS, Howitzers, MLRS, LOS
  • Must Match Capability To Mission Need
  • Means utilized for mission
  • Execution Interactions
  • Multiple Friendly ? Friendly
  • Multiple Friendly ? Opposing

6
Abstract AFATDS Messages
  • Target of Opportunity FR GRID
  • Fire Request with Grid Coordinates
  • Order to Fire -- FO
  • Fire Order
  • Message To Observer -- MTO
  • Hi! My name is __ Ill be your Server
  • Shot -- SHOT
  • Rounds in Air
  • Adjust Fire SUBQ ADJ
  • Subsequent Adjustment
  • Fire For Effect WR FFE
  • When Ready
  • Rounds Complete -- RC
  • Thats all, Folks!
  • Target Treated EOM
  • End Of Mission

BDE FSE
FO
BN FSE
FA BN
Didnt Hurt,, Ha, Ha!
Missed, Ha, Ha!
FIST
BCS
MTO
SHOT
SHOT
SHOT
RC
EOM
FA BTRY
FO
FR GRID
SUBQADJ
WRFFE
EOM
7
Units Implemented
Firing Units
XX
DIVARTY
Sensor Units
  • Fire Support Relationships Used
  • BCS may be at battery or platoon
  • Controlling 6 or 3 Howitzers

X
Fire Direction
BDE FSE
Fire Support
BN FSE
I I
AIR
Q-36
IEW
DS FA BN
FIREFINDER
USAF
MCS
AIR UNIT
REINF FA BN
MORTARS
MTR PLT
I
I
BCS
BCS
BCS
BCS
BCS
BCS
FISTA
FISTB
BCS
BCS
BCS
REINF FA BTRYC
REINF FA BTRYA
REINF FA BTRYB
BCS
BCS
BCS
DS FA BTRYC
DS FA BTRYA
DS FA BTRYB
FO1
FO2
FO1
FO2
8
Demonstration
  • Screenshots

9
Simulink Overview of OPFACs
10
Simulink Detail View
11
FIST OPFAC in Stateflow
  • Buffers 1, 2, 3 (Rounded oblongs 6, 7, 10) have
    active fire missions
  • Buffer 4 (Rounded oblong 11) is currently
    inactive.
  • The other oblongs perform miscellaneous functions
    including message sending and receiving, and
    mission allocation to buffer

12
FIST OPFAC Mission Buffer
  • Highlighted transition is active (betweeen states)

13
MATLAB Ground Truth Array
  • Rows represent 32 missions First 26 are
    complete Next 5 are in process.
  • Column 9 is sensor Column 10 is firing unit
    both are assigned at execution time.
  • Column 10 is status 4 complete 3 EOM
    underway 2 Execution 1 Locate FU
  • Columns 2, 3, and 7 are northing, easting, and
    altitude, respectively

14
MATLAB Fire Mission Locations Plot
15
Approach to Implementation Messages
  • AFATDS is a message-passing system
  • No message-passing capability in MatLab,
    Simulink, or Stateflow.
  • Simulink data buses can share a set of data
    elements
  • Approach used
  • Simulink/Stateflow Events indicate message type
    and time of passing
  • Events are specific, sometimes to sender and
    receiver
  • Event data indicates which fire mission is
    involved
  • Remaining fire mission data is (globally)
    included in a MatLab array (matrix)

16
Findings -- Stateflow
  • Truly visual development environment
  • Follow program progress from state to state and
    function to function
  • An information technology professional
    environment
  • Not appropriate for use by subject matter experts
  • Appropriate for rapid prototyping
  • Logic validation conducted by or with assistance
    of information technology professional

17
Findings -- Simulink
  • Possibility of subject matter experts working in
    visual Simulink environment. Drag and drop
    pre-defined components and connect them
  • Connecting, changing parameter values for
    Stateflow models previously constructed by
    information technologists and stored in Simulink
    library for easy access

18
Lessons Learned -- Simulink
  • Delays must be used in two ways
  • Implicit synchronization between two messages
    sent in the same direction at about the same time
  • Fool Matlab into believing that no cycles exist
  • Events must be based on rising and/or falling
    signals.
  • Function calls dont work between independent
    charts
  • Once delays are in place use buses to bundle
    events and data (constituting implicit messages)
    from one source to one destination
  • Must check ordering of events in input bus and
    expected order of receipt within state.
  • Nice if Stateflow smart enough to match signal
    names
  • Use Stateflow Data Explorer to check and modify
    order within state.

19
Lessons Learned -- Stateflow
  • In a multi-chart Environment
  • Bottom-level state transitions will only execute
    on occurrence of an event.
  • There must be a stimulating event on all
    transitions
  • In the absence of a stimulating event, Simulink
    may never check a chart for true transitions
  • Each chart must be awakened or it may not
    properly handle its first event.

20
Conclusions
  • MATLAB/Simulink/Stateflow can be used for Command
    and Control simulations.
  • To do this, the following must be true
  • Simulation must be specified at the finite state
    machine level
  • Must be aware of the work-arounds.
  • Use modular approach to determining system states
  • Consider use of library to hold reusable models
  • MATLAB/Simulink/Stateflow has many nice features
  • Drag and Drop component addition
  • Reuse of modules, states, and transitions
  • Animation of logic flows
  • Real-time modification and re-execution
  • Capability for Monte Carlo simulation

21
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com