Substation in Virtual Reality âš¡
VR substation simulator based on Unreal Engine 4
About the project
The main goal of this project was to reproduce an Electric Power Substation in Virtual Reality. I was tasked to develop substation simulator in Unreal Engine 4.

What is a Substation?
Electricity is generated on power stations and then transmitted to so-called substations via power lines. Substations transform energy from one voltage level to another and distribute the energy further - to other substations and/or directly to the power consumer.
Modern substations are automated and are often controlled remotely. Nevertheless, there are cases when certain operations need to be done manually by substation personnel. Unfortunately, sometimes incorrect actions of personnel lead to lethal incidents. This happens both to younger employees (due to inexperience) and to more experienced specialists (due to overconfidence).

To prevent these accidents from happening, substation personnel has frequent training sessions. However, training on the equipment connected to the power grid puts human lives in danger just as the real operations do. There is a demand for a training procedure that would be as close to the real life operations as possible, yet that wouldn’t put human lives to risk.
This problem could be partly solved by making full-scale imitations of substation equipment and by training people on this safe model. However, such models are very expensive and they quickly become obsolete, which is why they aren’t broadly used.
Advancements in Virtual Reality technology allow us to make the next step by properly training the required skills while guaranteeing life safety to substation personnel.

Developing Substation in Virtual Reality
What if there was a copy of a real substation, made as 3D computer game? Then, in order to train personnel, it would be sufficient to put VR headset on the trainee, give them the list of operations that need to be done, and let them train their professional skills with no risk for their life.
This is the main idea behind this project, so together with OmniRoad company I was working on making this happen. The company was building the omni-directional treadmill and modelling 3D-objects, and I was working on the software part of the project.

We chose Unreal Engine 4, because, at the time, in comparison to Unity, it produced more realistic graphics (this is highly subjective, but it seemed to be true when we started the project), which is essential to make this project as close to the real life as possible. On a virtual substation, just like on a real one, there is a lot of equipment installed, and I implemented logic for all this equipment from scratch using Blueprint, visual scripting language of UE4. I supplied all moving objects, such as disconnectors, switches, buttons and tumblers, with procedural animations.
We used Oculus Rift headset for this project, mainly because other solutions were not available when this project started, and even Consumer Version of Oculus Rift was not out yet.

Calculating Substation Regime
Aside from everything, I also needed to implement calculation of substation regime. That means that all measuring devices in virtual substation need to display same values (Amperes, Volts, Watts, etc.) as they would do in real life. This isn’t a trivial problem to solve, and for that reason we used the solution provided by the Modus company, which develops 2D substation simulators.
Modus supplied us with an API for data synchronization, and I wrote a C++ wrapper for this API, which allowed me to sync states of all the elements between Modus’s 2D simulator that calculates substation regime and our VR simulator which displays their state in 3D. If you commit an operation on either of the simulators, the state of the other one will be synced almost immediately.

Thanks to both Unreal Engine rendering capabilities and real time calculation of electric simulation parameters, I was able to enhance the simulator and make it look as realistic as possible.
If you like my portfolio and you would like to hire me for your project, feel free to contact me!