What we've been up to, August 2022

One year ago I started this quarterly report about the new things going on in our little driving simulation adventure. And deep in this (hot) summer, it’s once again time for an update!

Virtual Driver

In a recent post, I mentioned that we heavily rely on our Virtual Driver’s Smart Features; so those got a fair bit of work in the past months.

First of all, the “Smart” Virtual Driver learned that you do need to slowdown if you’re turning in a junction. Since it could already stop at traffic lights, it can now handle most of our intersections without us having to explicitly tell it what to do. On a technical side, it allowed me to use FRuntimeFloatCurve, and I now have a fancy curve editor in the details panel to specify the speed (cm/s) to reach relative to the turn angle (°).

smart_slow_junction.png

While at it, I refactored those “Smart Features” into a more modular architecture, clearly splitting them and making it easier to add any new ones.

OpenDRIVE

On a more technical side, I’ve greatly improved the OpenDRIVE’s track coordinate solving in junctions, which relies on esmini’s RoadManager. Since OpenDRIVE junctions are just a whole bunch of overlapping lanes connecting all incoming roads, it’s quite tricky for the coordinate translator to know which one of those you’re actually on when crossing the junction. But since the Virtual Driver knows where it’s going, that knowledge is now used to help the coordinate translator select the correct junction road. And since we automate ego in all our scenarios, it also works for real-driver vehicles, yay!

I’m still hoping to open-source the Virtual Driver at some point, as I’m sure others would benefit from it.

Pedestrians

One of our research topic is Vulnerable Road Users (VRU), so we’re always trying to expand our collection of pedestrians, riders and more. Some can be bought on the Marketplace, but most of them require some work on our side.

One recent addition is this wheelchair, which itself is available on the Marketplace; but for which we still had to add some Blueprint magic in order to have the user’s motion be somewhat believable (the video above was an early draft).

We also migrated our main pedestrians from the Advanced Locomotion System (ALS) to a custom lightweight Animation Blueprint. ALS is really amazing (and free!), but it has a lot of features that we really don’t need for pedestrians. We still kept the Overlay States idea, which allows us to simply choose the character state (e.g., listening to music, texting) from a simple drop-down menu. And the list of available states keeps growing, as the Marketplace has a near infinite supply of animations.

And since we want our pedestrians to maybe stop and look at a shop window, or get their smartphone out to look for a notification, we added a few new custom Trigger Boxes that enable us to do just that in a few click. So now our pedestrians are more alive than ever, without this requiring heavy work to actually use in our scenarios.

Research Projects

We currently have two research projects which involve our platform, one of which (NEWMOB) was the focus of a recent post.

We recently finished our first (of two) scenario for this project. As it is the first time using Unreal for both the simulation engineer and the researcher, it is quite a journey for us all. But we’re all so happy with what we’ve made so far, and we can’t wait to actually run this amazing scene and scenario in our largest simulator.

The other project (MoniPost) should be the focus of the next blog entry, so I won’t go into too much details here. It’s a much smaller project, but it involves researchers from a lab that has never done driving simulation before, or any kind immersive simulation for that matter. So it’s really fun to introduce our wonderful immersive worlds and related tools to new people, and see their face light up as they imagine all the possibilities that are now within reach.

Unreal Engine 5

UE5 has been out for a few months, and even though all our current projects are still on UE4, we’re working behind the scenes on the migration. So let’s make a quick status update on that.

The breaking change making migration a challenge was the replacement of PhysX by Chaos, which broke all wheeled vehicles. Since we heavily rely on Marketplace vehicles, we had to wait for creators to update their products; but they’ve been very reactive, and our most commonly used vehicles now have Chaos support. However, I still have to migrate our own vehicles and, more importantly, our main parent vehicle class, which is a bit tricky for various reasons.

And as we’ve discussed VRU above, I also have to migrate our Personal Light Electric Vehicle (PLEV), which can be two or even one wheeled. Such vehicles are implemented rather differently in Chaos, so I’m eagerly waiting for a two-wheeled Chaos vehicle from the Marketplace that I could use a reference, instead of having to figure all that by myself. Or, if Epic would be so kind as to release their Bike Sample, it would make my life much easier!

CompatibleSkeletons.gif

Humans also changed in UE5, with a new skeleton being introduced. Many of the newer characters and animations products on the Marketplace are already using this new skeleton, which mean that we have to figure out how to make the two co-exist, as we already have a large collection of assets using the old skeleton. So far it seems Epic really improved all of that with Skeleton Compatibility, and it should be way less of a headache than vehicles.

One thing I’m already using (and liking) a lot in UE5 are (Packed) Level Instances, as they’re just perfect to create “prefabs” from all the environments and buildings we bought from the Marketplace. They’re easy to create, easy to reuse, easy to edit; and the packed variant seems incredibly efficient. All that is much better than the basic “Merge as Blueprint” solution I had in UE4.

Marketplace

Last but definitely not least, we expanded our Vault with dozens of new products from the Marketplace, ideal for our current projects. Our previous article on the subject has been updated with our new purchases.

velocity.jpg

Those three are by far my favorite creators, and their products alone cover a very wide range of needs. But that’s not all: how about an amusement park, a very detailed road material, fake interiors or old lady animations? Those are just a few recent additions to our Vault, but the Marketplace has so much more great products to help us (and you) in our projects.

Written on August 1, 2022