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