Difference between revisions of "Socket Control"

(Mobile Control Surface)
(Mobile Control Surface)
Line 13: Line 13:
 
==Mobile Control Surface==
 
==Mobile Control Surface==
  
[[Image:Screenshot_2016-05-26-14-51-42.jpg|thumb|The MSC Mobile Control Surface - Main UI - Android client]]
+
<gallery mode="packed-hover">
 +
Image:Screenshot_2016-05-26-14-51-42.jpg|thumb|The MSC Mobile Control Surface - Main UI - Android client
 +
Image:Screenshot_2016-05-26-14-52-39.jpg|thumb|Running - Real-time driver gauge monitor
 +
</gallery>
 
The Mobile Control Surface is the first application to take advantage of the Socket Control system. It's coded in standard HTML5 markup, using the jQuery Mobile framework. Through it's use, any device with a modern browser can control and monitor a miniSim system.
 
The Mobile Control Surface is the first application to take advantage of the Socket Control system. It's coded in standard HTML5 markup, using the jQuery Mobile framework. Through it's use, any device with a modern browser can control and monitor a miniSim system.
  

Revision as of 12:42, 23 June 2016

Introduction

The miniSim Socket Control (MSC) framework allows for communication between miniSim software, the host system, and any number of display or control surfaces. In it's current incarnation it can do any number of tasks: control miniSim state, monitor real-time miniSim output, manipulate system files, manage system power/tasks/state, and many others.

How does it work?

MSC is a script built using Node.js. It establishes an Express web server, then uses Socket.IO to manage connections to different control and/or display surfaces. Because display and control surfaces are coded as web pages served up by the Express server, MSC creates a device-agnostic ecosystem, where any number of devices on any combination of platforms can participate (assuming they support a semi-modern browser).

This means that you can potentially use

In it's current incarnation, the main framework includes a mobile control surface for the miniSim, addressable through any common network interface of the miniSim host.

Mobile Control Surface

The Mobile Control Surface is the first application to take advantage of the Socket Control system. It's coded in standard HTML5 markup, using the jQuery Mobile framework. Through it's use, any device with a modern browser can control and monitor a miniSim system.

miniSim Operational Control

The following miniSim functions are currently covered:

  • Launching the miniSim executable
  • Select scenario
  • Select vehicle
  • Play / control slides
  • Start / stop simulation
  • Closing miniSim executable


Running - Real-time driver gauge monitor

Additionally, the sim

  • Real-time driver gauge monitor
  • Video monitoring (currently in beta)

System Control

Outside of controlling the miniSim software, the host script can also accomplish system functions including:

  • Shutting down the system
  • (...)


Terminology

This section defines terms that are used frequently in this document.

Visual database A set of data files representing the physical appearance of a virtual environment. The NADS computers use the OpenFlight format for visual databases.
Synthetic environment A set of correlated databases that fully defines a virtual environment for use in the NADS.
Tiles An instance of a synthetic environment that has been designed so that it can be combined with others, thus allowing the development of larger synthetic environments.
Simulator driver The person driving the NADS. Depending on the context, the term may refer to the actual individual who is driving, or the vehicle representing the driver in the virtual environment. An example of the latter occurs when generating a top-down movie showing what happened during execution. The term simulator driver would be used to refer to the vehicle that shows the subject's actions.
Event A pre-specified set of actions that may or may not involve the simulator driver and are an integral part of a scenario. It is often necessary to have repeatable events. An example of an event is having a car that is waiting at a red light run the light once the simulator driver is ready to enter the intersection.
Scenario A series of events that take place while a subject is driving the simulator.
Scenario element An object that usually is displayed in the ISAT main window, and corresponds to an entity that will exist in the virtual environment during execution of the scenario.
Research participant An individual who drives the NADS during an experiment. Note that a single research participant may drive the NADS several times within the same experiment, and each time they may be exposed to a different scenario. Also called subject.
Subject An individual who drives the NADS during an experiment. Note that a single subject may drive the NADS several times within the same experiment, and each time they may be exposed to a different scenario. Also called research participant.
NADS The National Advanced Driving Simulator.
SDM The Simulator Development Module, a second simulator in the NADS facility that allows testing and tuning of scenarios or other simulator modifications without occupying the NADS. A key feature of the SDM is that it uses hardware identical to or similar to that used in the NADS to ensure compatibility.
Coordinator A coordinator is a scenario component that has no visual representation but can monitor the evolution of the virtual environment and create, delete, or control other entities to orchestrate scenarios.
Buttons and dials In the ISAT, most objects have buttons and dials. When pressed or set, buttons and dials can modify the behavior of the object. Scenario events are often created by coordinators pressing the buttons and dials of objects at key points during the scenario.
GUI A Graphical User Interface is term used to describe a user interface that relies on graphical symbols such buttons, text boxes, and drop down menus, and uses mouse or other pointer device (touch screen, trackball, and joystick). GUI elements refer to individual elements such as buttons.

In Case of Problems

At the time of this writing, most NADS tools have been tested to meet functional specifications and used extensively in research and studies conducted at the NAD. In the event that you experience any problems or would like to provide feedback, please contact Omar Ahmad at mailto:oahmad@nads-sc.uiowa.edu, or David Heitbrink at mailto:dheitbri@nads-sc.uiowa.edu. When reporting a problem, please provide the following information:

  1. Your name and affiliation
  2. The version of the ISAT that you are using (version information is available from the Help/About menu)
  3. The scenario and LRI that causes the reported problem
  4. A description of the problem
  5. A series of steps that need to be performed to recreate the problem

All problems will be addressed in a timely manner in the form of a fix or a workaround.