the team
DESCRIPTION
The Team. Clara Cardoso (Acoustical Engineering) Ian Farmer (Electronic Engineering) Sam Hopper (Electronic Engineering) Julian Seidenberg (Software Engineering). Project Goals. - PowerPoint PPT PresentationTRANSCRIPT
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
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 cross-platform 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
ClientWrapper
Matlab &Simulink
3DWorld
Workstation
iMac
WorkstationComputer
Laptop
Server
Server
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Architecture Detail
Client ComputerClient ComputerMatlab 6.1Matlab 6.1 Web ServerMatlab 6.1 Client Computer
JavaControlApplet
JavaServer
JavaClass
Java DisplayApplet
VRMLWorld
SimulinkWrapper
ControlSimulation
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
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-to-host 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
JavaClient/ServerSystem
3D Worlds
Timingand
ControlWrapper
MatlabControlModels
ClaraCardoso
IanFarmer
SamHopper
JulianSeidenberg
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 +
+
Measurement noise
RADAR filter
Estimated position
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Pendulum
Simple pendulum model
Rotation not translation
dtdtl
gdt
m
k sin
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
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
Applet HostMatlab Host
ClientProxy
MatlabClient
CBServer
JCBJCB
ClientProxy
AppletClient
JCB
ServerProxy
ServerProxy
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Matlab/Java Interface
MatlabConnector 1
MatlabConnector 2
MatlabClient
Matlab
Datasouce
Datasink
Static Variables
Static Variables
SimulinkSimulation
CBServer
JCB
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Process View
JCB
Matlab * Server Control & Display Applet *
Monitor User InterfaceAdjust ConstantsReceive Constants
Send ConstantsSend Constants *
Calculate Transform
Pause
Apply Transform to Display Applet
Display Animation
Send Transforms *Send Transforms
Store Transform
Receive Transforms
Queue Transforms Dequeue Single Transform
Receive Transforms
Queue Transforms * Dequeue Transforms *
Package Transforms
JCBJCB
Apply Constant Changes
Receive ConstantsAdjust Constants
JCBJCB
Receive Constants
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Java Control AppletControl Applet
AppletConnector
AppletClientAppletConnector
ActionListenerCBServer
monitor eachother's threads
3D Transformation
3DTransformations
3D Transformations arrays
UI Events
“Constants”change
“Constants”change
Blaxxun3DApplet
Connect
Translate, Rotate, Scale
ConnectConnect
Queue
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
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 97To develop the
worlds
Free, easy, available plug-in-less browser, already used in VR-
Toolbox, many downloadable objects
Blaxxun 3D VRML ViewerFree, plug-in-less,
small file size
3D Exploration File Converter
Converted many different file formats, fast, identification of
objects’ parts
GDP: Virtual 3D Control Systems WWW Demonstrator based on Matlab
Software Used (2)
Software For What? Why?
BlenderObject creation
and modification
Free, cross-platform many
online resources and tutorials
MilkShape 3DObject 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
Synchronising objects and nodes from the model to the world
Ensuring correct positioning and visualisation Control System Models Interface Wrapper
Incorporating the final model as a sub-system in the interface wrapper
Interface Wrapper Server 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
EvaluationGDP: 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
Accuracy of simulation
Good Good N/A Very Good
Price Free £1870 Free £3345
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