Post on 03-Jan-2016
description
Virtual Systems Engineering
Course objective: To study methods for design and analysis of virtual systems
What is a virtual system ?
A virtual system is an approximation of a real system
Usually composed of a model simulated on a computer
It is accurate enough so that it can interact with the outside world in a realistic manner
A virtual system can be used as a virtual prototype in place of a physical prototype for training and testing purposes
Motivation for Virtual Systems
There is great need for virtual prototyping in industry as systems become more complex and design cycles shorten
Embedded systems that combine CPU, hardware and software are especially difficult to debug
Mistakes caught during prototyping are easier and much less costly to fix
Virtual prototypes are usually easier and less costly (especially copies) to develop than physical prototypes
Virtual prototypes can be tested for extreme operating conditions and are useful for training purposes
Classification of Virtual Systems
Non-real-time: Virtual Prototype
No real-time interaction with the environment
Modeling, simulation, dynamics
Finite Element Method (FEM)
Computational Fluid Mechanics (CFD)
Advanced visualization and animation
Special effects in movies
Real-time:
Virtual Reality (Virtual Environment)
Real-time interaction with one or more people
Flight simulator, car simulator, power plant simulator
Medical training simulators, telerobotics
Realistic video games
Hardware-in-the-loop (HIL) Simulation
Real-time interaction with hardware
Normally simulation must be updated much faster than VR
Stability is very important so equipment is not damaged
Useful for debugging embedded and control systems
Why Study Virtual Systems Engineering ?
Virtual systems are highly challenging and combine several different disciplines (Mech Eng, Elec Eng, CS)
Real-time virtual systems are dynamic systems that require stability and performance of many feedback loops
Time delays are very common
Modeling of complex systems is challenging
There is often a tradeoff between complexity and accuracy
Real-time programming
3D Graphics and user interaction
Real-time networking
3D Graphics
Need to make visually realistic virtual systems
Emphasis on real-time graphics:
This includes shading and textured surfaces
We will use Direct3D (DirectX) graphics functions
Main D3D graphics primitives are:
Lists of points, lines, triangles,and textured triangles
Complex surfaces can be constructed by combining primitive objects