Previous Up

3  Read about

3.1  Required hardware for the virtual reality experience

All you need is a compatible smartphone (almost all more or less modern ones will do) and a Google Cardboard compatible headset (available from various manufacturers at prices starting below 10 Euro). Just point your internet browser to the website, slip your smartphone into the headset, and off you go!

3.2  Controls in the flat screen version

The flat screen version lacks the immersive experience of the virtual reality environment. On the other hand, as your device is not locked up in some sort of headset, you can access control hardware, a mouse for instance, which gives you more options of moveability:

Left mouse button:
Look around (this is all what is possible — for the time being — in the virtual reality environment). Don’t try to drag the scene. It rather works like a joystick while the button is pressed. Any slewing stops once the button is released.
Right mouse button:
Move lateral. While the button is pressed, move the mouse towards the direction you want to travel. The movement stops once the button is released.
Mouse wheel:
Forward/backward. The wheel controls the velocity of the movement. Once turned forward a bit, you move forward with constant velocity. To increase the velocity, turn it forward further, to decrease the velocity, turn it backward.

Try it out!

3.3  The idea of the Spaceboard

Since mid 2013 until the end of mission in September 2016, the Rosetta NOW website provided a kind of real time visualisation of the Rosetta spacecraft at comet 67P/Churyumov-Gerasimenko. The simulation was based on real operational data for spacecraft trajectory and attitude. The actuation of solar panels and High Gain Antenna (which was not directly commanded but controlled autonomously by the spacecraft) was modelled realistically.

Rosetta NOW displayed pre-rendered images, which did not provide many possibilities of interaction for the user. Lately, the option to fast forward and backward in time was added.

At the end of mission, Rosetta NOW ran out of data, and since then, the website was nonfunctional. With the availability of low budget virtual reality headsets, the idea to create an immersive visualisation of highlights of the Rosetta mission came up. The basic concept is that you stand on the Rosetta spacecraft — on the +X panel, to be precise, which is opposite to the side where the lander was mounted — and accompany Rosetta on its flight around Chury. You kind of use the spacecraft as a surfboard in space, hence I call it Spaceboard.

The Spaceboard is work in progress. I pursue this as a side activity besides my regular work on Rosetta, which is now — in the post-operational phase — focused on data archiving. Expect progress to be slow, but continuous. I hope to add at least one new little feature each week. Check the change log for latest updates.

3.4  Change log from the Concurrent Versions System

RCS file: /home/bgrieger/cvs/SPACEBOARD/src/spaceboard.tex,v
Working file: spaceboard.tex
head: 1.29
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 29; selected revisions: 29
revision 1.29
date: 2017/12/19 14:36:33;  author: bgrieger;  state: Exp;  lines:
+125 -94
Finally understood why the SA actuation does not need the translations
before and after the rotation. Implemented the actuation of the HGA step
by step based on the algorithm from DX; seems to work fine. Implented
interpolation between time points for the comet position, which reduced
the jitter substantially. Put this versioin on the website.
revision 1.28
date: 2017/12/18 17:00:51;  author: bgrieger;  state: Exp;  lines:
+120 -15
Got the SA actuated correctly, although I do not really understand why:
it only works if I do not do the translations before and after rotation
which I deemed necessary. Th HGA orientaion looks OK, but the pivot
point not yet.
revision 1.27
date: 2017/12/15 17:12:24;  author: bgrieger;  state: Exp;  lines: +26 -0
Implemented a few more thing to do with the HGA and SA data, but they
are still not visible.
revision 1.26
date: 2017/09/22 16:12:08;  author: bgrieger;  state: Exp;  lines:
+336 -72
Implemented reading the Solar Panel and High Gain Antenna actuation
data. Wrote a piece of code to convert the spacecraft components (bus,
solar panels, and high gain antenna) which have been exported from OpenDX
into Three.js geometries. Read the three geometries into Thress.js. They
have to be rotated according to the actuation data, but the rotation is
not around the origin.
revision 1.25
date: 2017/08/04 17:02:20;  author: bgrieger;  state: Exp;  lines: +48 -10
Got the spacecraft rotation around the correct center by inverting
the angles to rotate it from the raw shape model frame to the actual
spacecraft frame. Also got the attitudes looking reasonable by swapping
rotations around x and z; no expanation why it works that way. A bug
in Three.js?
revision 1.24
date: 2017/07/14 16:55:34;  author: bgrieger;  state: Exp;  lines:
+108 -10
Got the spacecraft rotation, but the attitude seems not to be
correct. Curiously, it does not rotate about its center, which should
be the case , as the respective correction is applied in Javascript.
revision 1.23
date: 2017/07/07 16:11:23;  author: bgrieger;  state: Exp;  lines: +61 -19
Started to implement the rotation of the spacecraft attitude to the
Spaceboard frame.
revision 1.22
date: 2017/06/16 16:18:43;  author: bgrieger;  state: Exp;  lines: +80 -6
Implemented creation of configuration file for ROVIZ. Works fine for
trajectoty when used instead of plot_spk.acfg.
revision 1.21
date: 2017/06/09 16:26:35;  author: bgrieger;  state: Exp;  lines: +49 -10
Solved the issue with the exploding trajectory. Now using a reduced
version of the lates shape model. Still jitter in translation.
revision 1.20
date: 2017/05/19 16:58:29;  author: bgrieger;  state: Exp;  lines: +140 -8
Got reading of the binary data working, and in principle also anumation
of the trajectory, but it os noisy and eventuallt explodes.
revision 1.19
date: 2017/05/12 15:49:29;  author: bgrieger;  state: Exp;  lines:
+233 -67
Completed code to rotate the position to the Spaceboard frame. Looked
OK. Then tried to read the data; no success yet.
revision 1.18
date: 2017/03/24 17:01:51;  author: bgrieger;  state: Exp;  lines: +126 -1
Looked up how binary files can be read and noted it. Thought a lot about
which frame to use in Spaceboard and wrote a dynamic frame definition
for a first try. Started to write a module for ROVIZ to rotated positions
to the frame.
revision 1.17
date: 2017/02/24 16:24:58;  author: bgrieger;  state: Exp;  lines: +1 -0
Got the wheel working for forward/backward control. Reduced the slew
speed a little bit from the default. Embeded both versions (vr and flat)
in a parent document with some explanations.
revision 1.16
date: 2017/02/17 17:29:19;  author: bgrieger;  state: Exp;  lines: +31 -5
Implemented creation of two version, one VR and ond flat screen. Started
to modify FirstPersonConstrols to get better control. Slewing now only
when left mouse button is pressed. Panning implemented when right button
is pressed. Pending is control of forward/backward speed with the mouse
wheel (WheelEvent.deltaY).
revision 1.15
date: 2017/02/16 11:59:11;  author: bgrieger;  state: Exp;  lines: +24 -4
Increased comet distance to 5000 m; otherwise it does not fit in the
FOV of the iPhone.
revision 1.14
date: 2017/02/15 16:23:23;  author: bgrieger;  state: Exp;  lines:
+133 -32
Got the spacecraft in. Exchanged Didymos for 67P (old, smaller shape
model). Switched rotation back on, with pivoting around the comet
center. Changed lighting (now directional + ambient) and got shawod
revision 1.13
date: 2017/02/10 17:24:54;  author: bgrieger;  state: Exp;  lines:
+103 -13
Got FirstPersonControls working. Scaled the comet up to kilometer size
and moved it away, in the envisaged default forward direction of the
surfer. Want to import also SC shape model and wrote it already in js
format with ROVIZ, but it may have too many faces.
revision 1.12
date: 2017/02/03 17:08:46;  author: bgrieger;  state: Exp;  lines: +9 -1
Could see the rotation asteroid in the cardboard viewer. Could infer
the coorsinate system orientation.
revision 1.11
date: 2017/02/01 14:28:46;  author: bgrieger;  state: Exp;  lines: +2 -0
Noted my AI on the 3dtool.
revision 1.10
date: 2016/12/30 17:01:04;  author: bgrieger;  state: Exp;  lines: +14 -3
Did not get first person controls working. Device orientation controls
should work OK with the Didyos model, just not in normal browser, as
default viewing is down. Corrected error in html2bplaced.
revision 1.9
date: 2016/12/23 16:36:35;  author: bgrieger;  state: Exp;  lines:
+124 -52
Finally got the Lambert material rendered; computation of the vertex
normals was missing. When switching ot Device OrientationControls,
nothing is visible any more on the laptop. Was this the case before? Have
to check with cardbox viewer ...
revision 1.8
date: 2016/11/25 14:54:38;  author: bgrieger;  state: Exp;  lines: +1 -1
Some cleaning up here and there. Changed the camera position to get a
horizontal view. Changes the light position. Implemented loading the
comet geometry; does mork, possibly because of too many vertices.
revision 1.7
date: 2016/11/11 17:01:28;  author: bgrieger;  state: Exp;  lines:
+112 -39
Got it running in Stereo with Device Operation Controls; needs to be
tested on iPhone.
revision 1.6
date: 2016/11/04 17:11:19;  author: bgrieger;  state: Exp;  lines:
+184 -51
Got the Treehouse logo dislayed and can control it with the mouse.
revision 1.5
date: 2016/10/28 16:17:40;  author: bgrieger;  state: Exp;  lines:
+150 -102
Started over with a new structure. Downloaded and loaded
three.min.js. Added some HTML for testing.
revision 1.4
date: 2016/08/05 16:21:43;  author: bgrieger;  state: Exp;  lines: +58 -7
Started with a new minimal HTML structure.
revision 1.3
date: 2016/07/22 16:46:03;  author: bgrieger;  state: Exp;  lines: +85 -27
Adde Three.js stuff from the website, up to the camera.
revision 1.2
date: 2016/07/20 10:13:44;  author: bgrieger;  state: Exp;  lines: +39 -0
Just testing 2do2day.
revision 1.1
date: 2016/07/15 16:32:23;  author: bgrieger;  state: Exp;
Rebuilt the clock from Rosetta NOW from within ProTex.

Previous Up