Moog platform management

A six-degrees-of-freedom platform


  • Start a session (of one of the available types)
  • Upload the details about the sequences of movements that will have to be performed.
  • Establish the connection to the platform (or emulator).
  • Perform any of the uploaded sequences, in any order, as often as needed.
  • Eventually, close the session
  • Receive an e-mail with the raw data of the session just concluded in your mailbox.

The Story Behind


A six-degrees-of freedom platform (current model: MB-E-6DOF/12/1000KG) has been purchased by the Psychology Institute around 10 years ago. Several researches have been conducted with its help, always using the software originally provided by the platform producers.

The TPF has been asked to address the need of the Institute to expand the limited capabilities of the pre-existing software, and to enable various researchers to control the platform from their own portable computers via a (cabled) network connection.

  • Understand the scantily documented protocol that is used to control the platform.
  • Understand how to move the platform while remaining within its rigid physical limits, thus avoiding as much as possible the risk of incurring in hardware error states.
  • Develop, in collaboration with the researchers, a higher-level control protocol that could cover as many usage scenarios as possible.
  • Install a new server, and implement on it a daemon to manage the direct connection with the platform. The daemon would process researchers' requests by exchanging messages with their clients according to the developed protocol.
  • Implement the structure for data collection, real-time raw data saving and a first level of post-production, that could produce one or more data files for each session, ready to be further analyzed by the researcher. Data could then be directly e-mailed in compressed form to the researcher.
  • Create a window that would display real-time information provided by the daemon, to be visible on-screen in the platform lab. The screen would show details about the health and status of the platform, as well as about ongoing sessions.
  • Develop an emulator of the platform, with one or more virtual cameras displaying it from various angles in real time.
  • Develop one or more methods for permitting interaction by the subjects of the experiment, in the form of events comparable to the pressing of push-buttons. This data would be saved in log files, and would also be provided in real time to the researcher via specific protocol messages.
  • Develop a low-level C library for interfacing with the protocol, that could be compiled under Linux, MacOS and windows. The library would need to be accessible from higher-level languages (e.g. Julia).
  • Thoroughly document the protocol, with usage examples.

The researcher connects with his or her laptop.

An ethernet cable is available in the platform laboratory for the various researchers to connect to, in order to run their own researches. The researcher will have already prepared procedures in his or her preferred high-level language (Julia and Ruby are currently available). When the session successfully starts, the main platform control screen confirms that the connection was successful.

The platform engages.

When idling, the platform is in the so-called [parking] position, that permits safe boarding and unboarding. Free motion can only take place from an [engaged] position. Here the platform is instructed to reach the [engaged] position.

Sequences are performed.

While safely strapped aboard the platform, the subject is moved in space as requested by the sequences defined by the researcher.

The platform is parked.

When the programme of motions has been concluded, the platform is instructed to go back to idle mode.

Emulating a platform.

The researcher can perform all steps of a research session without needing to be physically connected to the platform. A virtual platform, displayed on-screen, will move as requested, and a control screen equivalent to the one available in the platform lab will also be displayed.

Special projects

In parallel to the existing session types, that the researcher can use to define and play back sequences of motions, the provided software can be expanded in order to make use of special hardware, and/or to add intelligence in the preparation of motion sequences. Two existing examples:

  • Four of the six degrees of freedom of the platform can be controlled in real time while aboard by using a joystick
  • The information from the gyroscope and gravitometer data provided by a virtual reality visor are used to synchronize the motion of the platform with images displayed on the visor's 3D screen, for an experiment that requires the subject's perception of a simple animated virtual world.