GDP11-Presentation

advertisement
The Team




Clara Cardoso (Acoustical Engineering)
Ian Farmer (Electronic Engineering)
Sam Hopper (Electronic Engineering)
Julian Seidenberg (Software
Engineering)
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Project Goals


To build an online virtual laboratory for
control systems demonstrations with 3D
illustrations of the Simulink models
To develop this system as a crossplatform successor to existing tools
such as the Matlab VR Toolbox 2.0
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Presentation outline









System Architecture
Simulink models
System timing and control wrapper
Java Client/Server system
3D VRML illustrations
Integration and testing
Conclusions
Questions
Demonstration
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
System Architecture

System-Level View

Task breakdown
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Architecture Overview
Wrapper
Matlab &
Simulink
Workstation
Client
Server
Server
3D
World
Computer
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Laptop
iMac
Workstation
Architecture Detail
Matlab6.1
6.1
Matlab
Matlab
6.1
Web Server
Simulink
Wrapper
Control
Simulation
Java
Class
Java
Server
ClientComputer
Computer
Client
Client
Computer
Java
Control
Applet
Java Display
Applet
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
VRML
World
Advantages

Platform independence

Scalability & Load Balancing

Redundancy & Recoverability
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Disadvantages

Complexity



More complex than a simple single host-tohost network connection
More effort to install and configure
Performance

Layer of indirection causes slight delay
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Task Breakdown
Clara
Cardoso
3D Worlds
Ian
Farmer
Java
Client/
Server
System
Julian
Seidenberg
Matlab
Control
Models
Timing
and
Control
Wrapper
Sam
Hopper
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Simulink Models





Bouncing Ball model
Radar Tracking
Pendulum
F14 Flight Control
Newton’s Cradle
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Bouncing ball model

Simple system

Adapted from Matlab demo model

Expanded to move three-dimensionally
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Radar tracking

Matlab demonstration model

Drop in model

Undocumented
Aircraft
position
+
+
RADAR
filter
Measurement
noise
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Estimated
position
Pendulum

Simple pendulum model

k
g
    dt   sin dtdt
m
l

Rotation not translation

l
T
R
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
mg
F14 flight control



Matlab demonstration
model
Models elevator
control
M-file control of
variables
Elevator
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
F14 flight control (2)

Adaptation of controller
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Newton’s cradle



One pendulum
model per sphere
Connected via
collision modelling
blocks
Pendulum velocity
can be set on
collision
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
System Timing and Control
Wrapper


Controls the timing of the control system
simulation
Interfaces the simulation with the server
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
System Timing

Data sent from Simulink:




in fixed-length packets
at fixed intervals
Display applet requires a regular data
stream
Therefore the accuracy of the timing is
important for a smooth simulation
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Timing Development

First timing test



Used a fixed pause
between packets
Caused a gradual
time lag
Second timing test


Used absolute timing
from system clock
Sufficient accuracy is
achieved
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Development of Control Wrapper


Implementation of a dataflow delay using an
s-function block
Delay block can halt the execution of the
simulation at regular intervals
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Final Timing and Control Wrapper

Implemented as a two-block wrapper for a control
system model

Datasource: providing the control system’s inputs from the
server

Datasink: regulating the execution speed and sending the
control system’s outputs to the server
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Java Client/Server System

Technology choices

System topology



Matlab/Java Interface
Process View (Server)
Java Control Applet
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Technology choices

Java 1.1

not:





PHP
ColdFusion
C/C++
C#
Matlab
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Technology choices (2)

IBM Java Classbroker

not:



Java RMI
XML-RPC
SOAP
Server Host
CBServer
Matlab Host
Applet Host
Server
Proxy
MatlabClient
Server
Proxy
JCB
Client
Proxy
AppletClient
JCB
JCB
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Client
Proxy
Matlab/Java Interface
Matlab
Datasouce
MatlabConnector 2
Static Variables
CBServer
Simulink
Simulation
JCB
Static Variables
Datasink
MatlabClient
MatlabConnector 1
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Process View
Matlab *
Server
Calculate Transform
Control & Display Applet *
Receive Transforms
Store Transform
Queue Transforms *
Receive Transforms
Dequeue Transforms *
JCB
Package Transforms
Queue Transforms
Dequeue Single Transform
JCB
Send Transforms *
Send Transforms
Apply Transform to Display Applet
Pause
Display Animation
Send Constants *
Send Constants
Apply Constant Changes
JCB
JCB
Receive Constants
Adjust Constants
Adjust Constants
Receive Constants
JCB
Receive Constants
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Monitor User Interface
Java Control Applet
Control Applet
Connect
Blaxxun3D
Applet
Translate, Rotate, Scale
Connect
Connect
AppletConnector
ActionListener
“Constants”
change
AppletClient
UI Events
monitor each
other's threads
3D
Transformations
AppletConnector
“Constants”
change
3D Transformations arrays
Queue
3D Transformation
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
CBServer
3D Worlds

Why?



To create illustrations of the control
systems
To appeal to users
Building

Combining and scaling:



Created objects
Existing objects on the web
Modified downloaded objects
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Software Used
Software
For What?
Why?
VRML 97
To develop the
worlds
Free, easy, available plugin-less browser, already
used in VR-Toolbox, many
downloadable objects
Blaxxun 3D
VRML Viewer
Free, plug-in-less, small
file size
File Converter
Converted many different
file formats, fast,
identification of objects’
parts
3D Exploration
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Software Used (2)
Software
For What?
Why?
Blender
Object creation and
modification
Free, cross-platform
many online resources
and tutorials
MilkShape 3D
Object creation and
modification
Imports and exports
many file formats,
easy to use and learn
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Bouncing Ball




Ball inside a box
controlled by Simulink
Used to learn and
become familiar with
VRML
Grass texture in the
ground and a textured
hemisphere sky
Airplane propellers and
windmill sails rotate
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Radar World





Radar to track an airplane
The phantom airplane
shows the radar tracking
“Normal” airplane shows
what the radar should
track
Radar created in Blender
Camera tracking the
planes so that the user is
able to follow them whilst
they fly around in the
world.
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
F14 World


F14 flying
Camera tracking the plane so that the user is able to
follow it while flying around in the world.
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Newton’s Cradle




User to interact with a
Newton’s cradle
Newton’s cradle
developed in Blender
House made from
rectangular planes
Window is a rectangular
plane with its
transparency material
property set to a low
value
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Pendulum



A pendulum swinging
represented by a
pendulum clock
Room with old
fashioned objects
Pendulum needed to
function as a different
group to the rest of the
object modelled using
MilkShape3D
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Integration and Testing

System Integration

Summary of Testing
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
System Integration

Control System models  3D Worlds



Control System Models  Interface Wrapper


Incorporating the final model as a sub-system in the
interface wrapper
Interface Wrapper  Server


Synchronising objects and nodes from the model to the
world
Ensuring correct positioning and visualisation
Using instances of Java objects to connect and transfer data
to and from the server
Server  Client

Finalising networking code in order to let multiple clients
connect to multiple servers
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Summary of Testing

Simulation timing and execution test results



Performance is dependent on the power of the
host computer
Increased sample times need more processing
power
Java client/server system test results


Works without major failures under most
conditions
However, re-declaration of variables caused
stability problems over extended periods of
operation until fixed.
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Summary of Testing

Other areas tested:




Performance/load testing
Fail-over Testing
Cross platform compatibility
Areas not tested:


Usability testing
Security testing
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Summary

Evaluation

Conclusions

Future Work
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Evaluation
GDP: VRC
VR-Toolbox 2.0
Viewpoint
LabView
Download size
141 KB + VRML
5470 KB + VRML
3200 KB + Wavelet
compressed file
200 MB
Installation necessary
No
Yes
Yes
Yes
Simultaneous users
Thousands
Unspecified
Thousands
50
Bandwidth
requirement
Modem
LAN
Modem
LAN
Platform independent
Yes (Java)
No (Windows only)
Somewhat (Windows
+ Macintosh)
Somewhat (Windows
+ Linux)
Quality of image
Medium Quality
High Quality
Very High Quality
N/A
Good
Good
N/A
Very Good
Free
£1870
Free
£3345
Accuracy
simulation
Price
of
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Conclusions





Platform independence: by the use of a three-tier
system and the Java technology
Privacy & Security: isolation of Matlab and Java applet
clients from each other through the server was achieved.
Scalability & Load Balancing: The system continued to
run with a load of 3000 simultaneously connected clients.
Analysability & Testability: It is relatively simple to
create client applicants to analyse and test the system.
Maintenance & Flexibility: Good maintainability.
Encapsulation in objected-oriented programming ensures
the system is flexible.
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Conclusions (2)





Stability & Recoverability: The system is resistant to
clients crashing. Recovery occurs quickly enough in normal
use.
Small size & quick download: Average download time
of just over a minute for a dial-up user and seven seconds
for a broadband user
Ease of use: The web pages are intuitive.
Performance: Adequate performance on an up-to-date
computer.
Accuracy: Accurate as possible with today’s technology.
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Conclusions (3)


The system can be used by clients with a broad
range of skill levels
 simple
 accessible
 diverse selection of examples
Potential application areas:
 virtual teaching laboratories
 advertisement on the University web page
 worldwide conferences.
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Future Work










Improving security
Improving analysability
Improving display smoothness
Introducing dynamic data stream buffering
Creating an automatic installation system
Creating a system that solely uses Matlab and is not reliant on
Simulink
Increasing the amount of control a user has over Matlab
Increasing the amount of information provided on the web
pages.
Providing cut down versions of the VRML models for slow
Internet connections
Providing a three-dimensional object library
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Demonstrations
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Download