What we've been up to, May 2023

Explosions! Drama! AI-powered cryptos! This blog entry contains none of those; but if you read it, you’ll at least know what we’ve been doing since our last update.

SIMAX

The latest experiments campaign ended earlier this year on our largest simulator, called SIMAX. This scheduled downtime gave us the opportunity to do some maintenance work, which will result in a lot of new things around SIMAX.

The main change is an upgrade of all computers in the cluster, in preparation of the first experiment on this simulator that’ll use our new Unreal Engine powered simulation platform.

Another notable change we’re really looking forward: AC inside the car! Maintaining a cool temperature around the participant is a good practice to reduce risks of simulator sickness. We can thank our awesome mechanic for this custom-made 3D-printed addition.

Beyond that, we’ve also removed a lot of legacy cables, cleaned up the control room, added StreamDecks (including in the car!), and much more; with the overall goal being increased safety and ease of use.

We’ve got bigger plans in the long run for this simulator, and we’re actively working on it. Too early to give details though, but it’ll sure be exciting.

NEWMOB

NEWMOB still is our main research project at the moment, even though more are coming up. As a reminder, the goal here is to study interaction between drivers and personal light electric vehicles. So mostly dense urban driving, lots of moving actors, lots of driving situations.

The main scenario in the experiment is pretty much done. It was our first time creating roundabouts, so we were anxious about making it both look and feel right. We’re very happy with the result, RoadRunner is truly an amazing tool to use.

Since SIMAX is undergoing maintenance, it was also an opportunity to start testing this experiment with its real “production” hardware. It was running fine on a single desktop computer with a single viewport; but how about on an nDisplay cluster with 8 computers, 12 viewports, covering almost 360° of horizontal field of view plus pesky mirrors? Well, everything runs fine! No major hitches or performance drop, we pretty much have the same performance on the cluster as we do on desktop.

Now that we have access to this hardware, we’re focusing on optimization and performance, to make sure we have the smoothest possible rendering. So time is spent in Unreal Insights, tweaking level streaming or messing around with Cull Volumes.

Varjo

SIMAX undergoing maintenance has other nice benefit: I can play around with it and prototype stuff!

One thing that’s been on my todo list since… forever was to try the mixed reality of the Varjo XR-3 inside the car.

The headset has multiple methods of blending real and virtual, which cover different use cases. For this prototype, I wanted to try to cover the car with a green sheet, and use the chroma key feature of the XR-3 to display the virtual world on all windows, and the real world elsewhere.

The result is pretty amazing if you consider that it took me around an hour to set this all up. I used a very dirty and creased green sheet that was lying around. The lighting is just the default room lighting, with no additional interior lighting. Chroma-keying is also 100% default values from Varjo Base. So if we were to use an actual professional green screen with optimal lighting, the result could truly be incredible.

Beyond checking the capabilities of the headset, this demo is a great way to familiarize researchers with mixed reality, and the opportunities that are now within reach. Using the XR-3 inside a car is one (arguably not good) example, but there are so many other possible applications of mixed reality in our research, and driving really is just the tip of the iceberg.

Bots

Our nDisplay clusters use packaged builds of our projects, which means that to test any experiment on a simulator, we need to package it first, and then deploy it across all cluster nodes.

Fancy Virtual Production sets have whole CI/CD pipelines with Perforce and whatnot, but us? We’ve got Discord bots!

For the packaging part, we set up a dedicated build machine which can be invoked from… Discord! I wrote a simple Discord bot that can checkout any given project and package it to any simulator we have. Packaging has never been any easier, and having dedicated hardware means less local “compiling”.

For the deploying part, we followed the same route. Our package currently average at around ~30GB, so installing that on 8 nodes takes a bit of time (especially since we still haven’t set up link aggregation). This time, the bot is running on the cluster’s main node, and upon receiving orders simply deploys the package across all nodes, using a combination of Veyon and robocopy.

So with those two bots, we can now fully install an experiment on any of our simulators with just two simple commands; and most importantly, without leaving the comfort of our seats. Dōmo arigatō, Mr. Roboto!

Rides

We’re always expanding our collections of vehicles, usually from the Marketplace, but sometimes we have to do some things ourselves. Below are a couple of recent examples of the latter.

First, we really wanted a realistic model of a French Gendarmerie motorcycle. Since it’s not readily available online (though models exist!), a colleague took it upon themselves to make it. The bike is initially from CARLA, and for the rider we used one from the Marketplace as template. Looks good!

A while ago I implemented an Animation Blueprint for a wheelchair user, based on a wheelchair also from the Marketplace. However, I wasn’t quite pleased with the result, so I reworked all that. The wheelchair is now properly rigged with its own ABP, and the rider animation is fully procedural and can be tuned in any way you may want. It’s now okay, but still not as good as what others can do!

Marketplace

As usual, we conclude our report with a highlight of things we bought from the Unreal Marketplace (soon to be replaced by Fab).

The latest Archmodels pack from Evermotion is absolutely gorgeous, and contains so many assets that are just perfect for our european cities. I was on the lookout for generic buildings, and this pack delivers.

My favorite creators continue to provide products that are really helpful to us: DerSky’s modular Toll Station is perfect for our highways, and Meik.W’s Fence Packs fills all of our fences needs.

Other purchases include this huge mall, which is a great way to fill empty spaces alongside our roads. And also many animation packs from animo-mocap, which are just perfect to animate people all around our cities.

I’ve also purchased products from CGTrader, but sadly the quality is definitely not on the same level as the Marketplace. But at least I got a nice snowplow out of it!

Written on May 1, 2023