Building 3D simulators for oil & gas
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 163 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/50461 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
SoftwareSimulationBlogConnected spaceService (economics)Computer simulationWeightComputer virusMUDVideo gameVirtual machineDifferent (Kate Ryan album)TouchscreenCycle (graph theory)Process (computing)Software developerMixed realityBit rateTerm (mathematics)Drill commandsProduct (business)XMLComputer animation
00:52
DisintegrationPressureOperator (mathematics)MereologyAreaDrill commandsCycle (graph theory)Order (biology)Stack (abstract data type)RAIDGreatest elementWave packet
01:56
SimulationObject (grammar)TelecommunicationMathematical optimizationSoftwareSpeciesComputer simulationMultiplicationPhysicsSystem dynamicsRoboticsAnalytic setSystem programmingKolmogorov complexityDiscrete groupEvent horizonFood energyComputer networkElement (mathematics)InfinityTheory of relativityComputer simulationField (computer science)SimulationFluidSoftwareProcess (computing)Data structureCondition numberDifferent (Kate Ryan album)Mechanism designResultantComputer-aided designMereologySystem dynamicsPressureComputer-assisted translationSoftware testingSource codeJSON
02:46
PressureDifferent (Kate Ryan album)QuicksortDrill commandsBit rateSimulationMereologyCartesian coordinate systemString (computer science)Process (computing)WeightProcess modelingComputer simulationCategory of beingParameter (computer programming)Wave packetCASE <Informatik>Cylinder (geometry)Value-added networkMeasurementDistanceMetrePopulation densityMoment (mathematics)Computer animation
04:13
Object (grammar)Focus (optics)KinematicsSoftwareGame controllerWave packetSimulationBitGame theoryVisualization (computer graphics)Product (business)Arm19 (number)PhysicalismSpacetimeComputer hardware
05:20
1 (number)Extreme programmingPhysical lawCondition numberFrequencyMultiplication signRegulator geneData structureField (computer science)ResultantSoftware developerComplex (psychology)SimulationFlow separationProduct (business)Integrated development environmentOperator (mathematics)AreaTheory of relativityOrder (biology)MathematicsBodenwelleInformation securityComputer animation
07:28
SimulationSimulationGame controllerOperator (mathematics)Wave packetAuthenticationIntegrated development environmentDrill commandsComputer simulationTouchscreenPhysical systemProjective planeVirtual realityVirtualizationSphereComputer animation
08:16
Asynchronous Transfer ModeOperator (mathematics)SequenceDrill commandsWeightPhysical systemProcess (computing)Wave packetVirtual machineAreaPersonal digital assistantMUDLecture/Conference
08:57
MeasurementConnected spaceImpulse responseTelecommunicationTemplate (C++)SimulationDrill commandsAreaVideo gameRow (database)Band matrixVibrationMotion captureManifoldBitBlogDigital photographyDampingMetreReal number
10:38
Functional (mathematics)Position operatorIntegrated development environmentChainMereologyHydraulic motorVirtual machineDrill commandsRoboticsComputer hardwareArm
11:33
NumberJoystickBefehlsprozessorRoboticsOperator (mathematics)LogicAngleVideoconferencingNatural numberWebsiteDrill commandsRAIDMoment (mathematics)
12:32
Frame problemNumberMultiplication signNatural numberVideo gameControl systemSoftwareComputer hardwareReal-time operating systemInformationComputer simulationSpeichermodellDependent and independent variablesVirtual machineWorkstation <Musikinstrument>LogicComputer programmingOperator (mathematics)Server (computing)Cycle (graph theory)Physical systemCalculationType theoryLogic gateGame controllerFunction (mathematics)Arithmetic meanBefehlsprozessorCASE <Informatik>
14:13
Gamma functionMUDUser interfaceSima (architecture)SimulationControl systemFormal languageGame controlleroutputGroup actionArmOperator (mathematics)SoftwareComputer programmingDifferent (Kate Ryan album)Term (mathematics)Type theoryAreaSimilarity (geometry)LogicSingle-precision floating-point formatHydraulic motorLevel (video gaming)State of matterPROFIBUSPhase transitionVirtual machineUser interfaceAsynchronous Transfer ModeIntegrated development environmentFunction (mathematics)Moment (mathematics)System callInformation1 (number)Decision theoryReal-time operating systemLogic gateMereologyComputer hardwareWater vaporWebsiteInteractive televisionComputer animation
16:28
Virtual realityOperator (mathematics)Interactive televisionNetwork topologyVirtual machineGame controllerAsynchronous Transfer ModeType theoryDifferent (Kate Ryan album)Control systemWaveFeedbackMereologySimulationHydraulic motorFrame problemTranslation (relic)BitCASE <Informatik>Connected spaceVirtualizationSoftwareLevel (video gaming)WindowPhysical systemReal-time operating systemFormal languageServer (computing)Flow separationMultiplication signWater vaporVirtual realityShape (magazine)Open setReading (process)Closed set
19:38
SimulationIntegerComputer-aided designFile formatComputer simulationBelegleserLevel (video gaming)MereologyVirtual machineSource codeGame controllerShape (magazine)SoftwareReal-time operating systemArtistic renderingProcess (computing)Data conversionComputer configurationFerry Corsten1 (number)Computer-assisted translationFigurate numberVirtual realityIntegrated development environment
21:52
Virtual realityMereologyCollision detectionPrimitive (album)PhysicalismRevision controlCategory of beingComputer simulationPlanningFamilyCircleWeightInteractive televisionDifferent (Kate Ryan album)Integrated development environmentCoordinate systemShape (magazine)Control systemMassDemosceneRepresentation (politics)Wave packetVisualization (computer graphics)FrictionFeedback
23:20
SimulationBasis <Mathematik>KinematicsCollision detectionMultiplication signNichtlineares GleichungssystemVisualization (computer graphics)Interactive televisionCylinder (geometry)Flow separationPhysicalismRepresentation (politics)Frame problemDegree (graph theory)Forcing (mathematics)Bridging (networking)DemosceneComputer simulationMereologyExplosionProcess (computing)PlanningCASE <Informatik>Group actionShape (magazine)Sound effectEngineering physicsCuboidFerry CorstenRegular graph
25:02
CASE <Informatik>Frame problemNichtlineares GleichungssystemForcing (mathematics)Multiplication signPhysicalismSound effectDemosceneSimulationGame theoryMereologyTransformation (genetics)Limit (category theory)Constraint (mathematics)Term (mathematics)Translation (relic)Computer animation
25:56
OvalSinguläres IntegralMatrix (mathematics)Translation (relic)TetraederForcing (mathematics)CodeConstraint (mathematics)Hydraulic motorTerm (mathematics)PhysicalismLimit (category theory)MereologyFunction (mathematics)Visualization (computer graphics)Computer simulationFlow separationRepresentation (politics)Line (geometry)Water vaporTriangleTriangulation (psychology)Computer programmingMathematicsSurfaceNumberCase moddingConstructor (object-oriented programming)Shape (magazine)Operator (mathematics)Object (grammar)CurveProcess (computing)Presentation of a groupSolid geometryTranslation (relic)PlanningComputer animation
27:34
Cylinder (geometry)Representation (politics)Solid geometryData storage deviceBoolean algebraSpline (mathematics)TriangleVector spaceGraphics processing unitConstructor (object-oriented programming)SurfaceOrder (biology)Operator (mathematics)Utility softwareOrientation (vector space)Point (geometry)Presentation of a groupComputer simulationMetric systemDiagram
29:06
Depth of fieldTouchscreenCheat <Computerspiel>View (database)Limit (category theory)CountingSound effectProcess (computing)PlanningMathematicsDot productAcoustic shadowFile viewerPoint (geometry)MereologyForestComputer simulationMultiplication signBuffer solutionRow (database)TriangleLevel (video gaming)Vector spaceTexture mappingPosition operatorProjective planePixelLine (geometry)Vertex (graph theory)FrustrationInformationGraphics processing unitPort scannerCodeRaster graphicsBound stateMatrix (mathematics)Shader <Informatik>DarstellungsmatrixComputer animation
31:08
Mountain passElement (mathematics)Vertex (graph theory)Alpha (investment)Raster graphicsQuantum stateVector spaceVertex (graph theory)Buffer solutionTracing (software)DemosceneRay tracingBit rateVisualization (computer graphics)Real-time operating systemTriangleComputer animation
31:53
Depth of fieldVisualization (computer graphics)Graphics processing unitQuantum stateSound effectShader <Informatik>ComputerRaster graphicsDemosceneConfiguration spaceWeb 2.0SpacetimeTouchscreenVirtual machineFlow separationReflection (mathematics)
32:53
Computer-aided designConfiguration spaceMotion captureTerm (mathematics)Flow separationQuantum stateTouchscreenReal-time operating systemVirtual machineFile viewerMedical imagingMereologyReflection (mathematics)SpacetimePixelFrame problemTheory of relativitySampling (statistics)Bit rateCASE <Informatik>Population densitySurfaceComputer simulationMoment (mathematics)PhysicalismDemosceneMultiplication sign
34:25
Ray tracingAdaptive behaviorImage resolutionTransformation (genetics)Computer simulationSampling (statistics)CASE <Informatik>TouchscreenNoise (electronics)Level (video gaming)Quantum stateMereologyMedical imagingSurfaceMortality rateComputer-assisted translationTriangleComputer animation
35:23
TriangleQuantum stateMereologyBound stateComputer simulationSound effectDemosceneSurfaceCurvePower (physics)Translation (relic)Formal languageTransformation (genetics)Real-time operating systemNoise (electronics)Control systemComputer-aided designCategory of being
36:38
PhysicsSimulationKinematicsControl flowSYSTRAN <Programm>Multiplication signPhysicalismMereologyGame controllerDataflowComputer simulationFormal languageControl systemFrame problemNumberFlow separationKinematicsTransformation (genetics)Level (video gaming)OntologyData transmissionSimulationSoftwareModule (mathematics)Real-time operating systemRule of inferenceReading (process)File archiverWord
38:21
Modul <Datentyp>SoftwareDirection (geometry)Module (mathematics)Data transmissionWater vaporArithmetic progression
39:11
outputPhysicsRepresentation (politics)MappingVirtualizationDataflowSoftwarePlug-in (computing)Representation (politics)MereologyHydraulic motorType theoryIntegrated development environmentData acquisitionComputer simulationoutputComplex (psychology)Different (Kate Ryan album)KinematicsGravitationFunction (mathematics)Forcing (mathematics)SimulationVisualization (computer graphics)Electronic visual displayAngleStress (mechanics)Connected spaceWave packetGame controllerShape (magazine)Communications protocolSoftware testingRule of inferenceArtistic renderingComputer animationJSONXMLUML
41:34
Wave packetSoftware testingSimulationVirtual machineControl systemComputer programmingComputer-assisted translationComputer-aided designComputer simulationDataflowIntegrated development environmentDialectProcess (computing)Drill commandsComputer animationMeeting/Interview
42:42
Drill commandsVisualization (computer graphics)Computer simulationFocus (optics)Different (Kate Ryan album)DemosceneGame theorySimulationExtension (kinesiology)Software testingVector potentialComputer hardwareSoftwareDemo (music)BitCuboidDot productElectric generatorVideo gameConnected spaceSound effectGame controllerCycle (graph theory)Quantum stateFrame problemLimit (category theory)Level (video gaming)Operator (mathematics)Graphics processing unitServer (computing)Real-time operating systemPower (physics)Content (media)Process (computing)Service (economics)Meeting/Interview
45:07
Computer simulationFocus (optics)SimulationVisualization (computer graphics)Sound effectSurfaceGame theoryDemo (music)Information
45:51
Similarity (geometry)NumberGame controllerGame theoryCASE <Informatik>PhysicalismSelectivity (electronic)Real-time operating systemServer (computing)WordMassOnline gameEngineering physicsFile archiver
46:35
Multiplication signGame theory1 (number)Nichtlineares GleichungssystemDifferent (Kate Ryan album)Fitness functionPhysicalismDemosceneArmSocial classParameter (computer programming)Engineering physicsType theoryPhysical systemStructural loadExplosionPrimitive (album)Video gameSimulationExecution unitCollision detectionMassOperator (mathematics)Summierbarkeit
48:25
Particle systemDifferent (Kate Ryan album)Primitive (album)Shape (magazine)Collision detectionType theoryObject (grammar)MereologySimulationDemosceneFluidRigid bodyComputer animation
49:21
Physical systemContext awarenessPrime idealData storage deviceVideo gameOperator (mathematics)Online helpProcess (computing)Cellular automatonType theorySound effectLoop (music)Drill commandsLevel (video gaming)Regulator geneFile formatRoboticsComplex (psychology)Computer simulationVirtual machineMultiplication signDecision theorySimulationTheory of relativityGame controllerReading (process)ProzesssimulationCodeSubsetJSONComputer animation
51:26
Line (geometry)Computer programmingSimulationCodeTelecommunicationComputer hardwareCartesian coordinate systemWritingBitGame theoryCoroutineQuicksortLogicLogic gateMereologyComputer simulationMultiplication signRight anglePhysicalismDecision theoryNP-hardComputer animation
52:40
ComputerPhysicsGoogolLiquidSimulationData structureComputer simulationSystem dynamicsProcess (computing)KinematicsComputer programGame controllerLogicPhysical systemSoftwareControl flowTracing (software)Graphics processing unitKeyboard shortcutPhysical systemBit rateMultiplication signJSONXML
Transcript: English(auto-generated)
00:00
All right. Hello. My name is Felix, and I'm going to talk about building simulators. What simulators are, what blocks go in a simulator, and how does one use a simulator? So building simulators is something that we do at MH Bert, an international engineering
00:20
company with headquarters in Norway. And what the company does is producing equipment. Equipment for oil and gas, essentially drilling equipment and connected equipment, and services around that equipment. So what you see on the screen is different kinds of equipment
00:41
that we produce. Drilling, pipe holding, mud mixing, and all the different machines that exist there on the rig. And that is for petroleum industry. And the life cycle in the petroleum industry spans many phases. You go from exploration to discovery to development,
01:03
production, and then eventually to decommissioning. And this is, of course, a huge undertaking. In no way, this is a one man's job. So there are companies that have to work together on various parts of the cycle and various parts of the technology stack in order to make that drilling operation happen. Talking about the areas where operation
01:25
take place and where equipment exists, there's, of course, the top side on the drilling ship, on the drilling rig, where the actual drilling equipment stands. Then there's subsea, where pipes are, and on the sea bottom there's equipment, subsea equipment standing, like
01:41
blowout preventers and such, and subsurface. So three areas, topside, subsea, and subsurface. And subsurface, that's where the actual drilling happening. And all of the three areas we have to work with, there's equipment in all of three of them. Simulation is, of course, many things, and it is a big field. One can think of fluid
02:05
simulation, health modeling, and all the different disciplines that's coming there. But something that is closer to what we are doing and something that is somewhat related is, for example, structure deformation simulation, when there's a certain design that you put
02:21
together in your CAD for mechanical parts, that is something you could then put into the simulation software to test for strain, depending on the pressure, temperature, and different conditions that this part will experience throughout the lifetime, maybe a few years. So that is something that could be simulated, and, of course, the results
02:42
you can accommodate for in your design. Different sides of related simulation is dynamic process simulation. This is when gas and fluid processes can be simulated, for example, for hydraulics. As hydraulic movement is in no way linear, when you open a valve, there's a certain way by which pressure builds
03:06
up, and there is certain software, such as this simulation X, for example, which allows you to define those cylinders, those hydraulic parts, and then simulate how the pressure
03:21
will build up and how the equipment or the movements will behave. In this example, this is a combustion engine when you can simulate the movements of the pistons. Another part that is also sort of applicable towards oil and gas is downhole process modeling. When you do simulate what happens underneath in the geology layers, so this is where you
03:46
have your drill string throughout thousands of meters, feet, in this example, and then you analyze for the rate of penetration, the depth, the weight on pit, all the different parameters that happen throughout the drilling, as well as simulating or measuring porosity,
04:06
density, and other properties of the medium. But while all of those are different kinds of modeling simulation, we will be focusing in this talk more on the training kinds of simulation, similar to what, for example, flight simulation and training is doing.
04:24
This is where you have operators, the pilots in this case, working with the actual equipment, so the actual controls, and an instructor that is probably seated behind them and introduces some scenarios. There is, of course, the gaming kind of flight simulators
04:45
where you are just having the software and potentially some of the controls, and the actual training where there is a focus on the actual hardware, the actual control being used. While some of the simulation bits that I've mentioned, they exist in here,
05:01
there is a big focus on physics, on the actual kinematics of the objects moving and interacting in 3D space, and the visuals. So you have to address those two parts as well, and that's something we will talk about. So why is simulation needed for oil and gas?
05:21
If you look at the cost of production that has been rising throughout the last decades, and it has gone up significantly since, for example, the 1960s. So there is a whole gap of efficiency that we have to cover. And why are the costs rising? Of course, there are many reasons behind that. One of them is, for example, regulations of work, as
05:45
costs of human life and human injury has gone significantly up throughout the last decades, and governments are putting forward laws on health, safety, and environment such as that, which results in much, much better health and safety while working in those dangerous
06:01
conditions offshore or onshore. This results somewhat in more people being involved, as you have now to phase out your work, in structured work orders, which also kind of introduces delays and waiting periods before the working area is safe and secure, and you have to involve more technology. This is one of the reasons of why the costs
06:24
are going up. The other one is complexity of the fields in development. If we are looking at the Norwegian continental shelf, well, there is the North Sea, the Norwegian, and then the Barents Sea on the top. And as time goes, we tend to develop and already
06:43
deploy the easy fields, the fields to the south, and we have to go for more challenging conditions up north. And that means quite severe wind, waves, extreme temperatures that we have to operate with, and of course, depths that are larger than the ones we used to
07:05
operate. And this is not something just in Norway. This happens globally, as it's global fields that we tend to develop already and deplete, the fields that are easier to access, so we go for the challenging areas. How do we address the existing challenges?
07:24
It's not that the regulations can be lifted. One of the ways to do that is to use simulation. Simulation for providing better training, so the personnel is more prepared for the operations. Simulation to support the actual operations and give you more control in operations.
07:46
So, the simulation installation that, for example, we are producing is taking the authentic actual drilling chairs for the operators and putting them into the simulated environment when you have a hemispherical dome screen with projection of the insides of the drillers'
08:06
cabin. So, the drillers, while they are being situated on the rig in the drillers' cabin, this is the virtual drillers' cabin that they operate within. So, typically there are two. There is a driller, an assistant driller, that switch between the equipment
08:22
and modes of operation and steer it throughout the certain sequence. Driller is usually handling the operations connected to the actual drilling process, which is connecting the pipes, getting them down, applying the weight on the drill bit
08:41
with the drilling machine, while the assistant driller is helping him in the process and providing, for example, the drilling material, assisting with the mud pumps and getting the pipes from the pipe stand. And then again, these are the three areas that we
09:00
have to work with. Top side, subsea and subsurface. So, we have equipment in all of these three areas and we have to simulate the equipment in all of the three areas. Top side, this is where the equipment stands on the drill floor. Subsea, blowout prementors, the riser pipes, subsea templates and manifolds that stand there. And subsurface,
09:25
where the drill bit is. And there is amazingly little communication in between those areas, but still there is, when we are talking about the real life. There has been attempts to establish wired connection from all the way down there, and
09:44
this is hundreds and thousands of meters, to the top side. But that has not yet led to mainstream adoption of such methods. What we are dealing with is instruments that
10:02
are installed with the drilling bit. They are doing the measurements and they send the signals through vibrations in the drilling fluids. So, all of what they have measured, they are passing with the impulses through the drilling fluids and those vibrations, they rise and eventually you will capture them, analyzing records on the top side.
10:24
So, there is communication in between, but the bandwidth is of course rather low. So, before we start on the simulation bit, let's take a look at what is it we are going to simulate, and take a piece of equipment. This, an example, is a hydraulic roughneck,
10:44
a machine that is there on the drill floor, on the top side. Roughneck used to be a title of a person who connected the pipes on the drill floor with chains, and while that position went, there is now a robot for that function, as probably there is now
11:00
a robot for every function that used to be manual back then. So, hydraulic roughneck, as in the name, is the machine for connecting the pipes and tightening them or disconnecting them. As you can see, it is equipped with rails so that it can move throughout on the drill floor, on the predefined paths. It has the
11:22
motors to move its arms around, and the sensors, when it needs to touch something, sense the environment. So, the hardware is the motors and the sensors. It is operated remotely, so it's a remotely operated robot. It is steered from the driller's cabin by the driller, or one of the drillers, and the driller has the visual contact usually
11:46
with the HRM, just because it's just outside of the driller's cabin. So, he sees the equipment, and he also has a number of CCTV, the video cameras, installed on the rig, so he can observe the operation from various angles. HRM is not the only piece of equipment.
12:06
There are typically 15 to 20 pieces just of drilling-related pieces of equipment on the rig, and not all of them are in direct sight from the driller's cabin. So, this is why having those cameras is important. Roughneck, the hydraulic roughneck, is not
12:24
a blunt tool. It's not that the movement of a joystick leads directly to movement. It has a CPU, as there's a number of logic put into that CPU. So, CPU is, in this example,
12:41
a programmable logic controller, a piece of hardware having the logical circuits for that roughneck. So, this is something that is installed in the server room on the rig. This is the piece of hardware designed for real-time operation. This is when you use
13:00
the real-time operation operating system to run operations in a real-time manner, meaning that you probably know that real-time operation is that when you have a fixed timeframe for providing a response in life-critical operations and life-critical hardware, you
13:22
would need to have a fixed timeframe for processing all the inputs, calculating all the needed internal values, and providing the outputs. And typically, well, let's say this is within 30 milliseconds. So, there's a fixed timeframe within which all the calculations
13:41
should be done and output should be given, and the next cycle is started right after that. So, by the life-critical nature of this operation, there has to be a real-time CPU that drives the roughneck. Because otherwise, if it's not capable of computing all of the outputs within the timeframe, this could lead to potentially dangerous situation.
14:02
So, in case there's a failure in this, there's an emergency shutoff being issued, so the machine stops. As for programming those logic controllers, this is when you use a type of software called control system software. So, in this example, this is step
14:24
seven, programming. Control system software is using those languages designed specifically for deploying into real-time hardware, and this is where you define those logical circuits, how to process and what inputs, and what outputs should be given. Basically, what inputs
14:42
from driller should be processed, what inputs from sensors should be processed, what internal states should be updated, and what valves and electrical current should be sent where in terms of driving its actions further. And it's not just the controlled mode of operations,
15:03
there's also assisted and automatic mode of operation. As there are pre-programmed logical paths with decision-making that, for example, when it goes into a certain area and there's a command to spin in the pipes, you grab the pipes, it goes following a predefined path, then it senses the pipe, then it closes the arm, then it retracts
15:23
back. So, there's a bunch of different modes, and it's not just a call-to action. There's a control system, and they are connected to their motors and sensors. So, motors and sensors, it's the arms when it comes to the motors and legs, and eyes and ears for
15:47
the control system. So, this is how it's sensing the environment and interacting with the environment. Control systems have to interact with each other, because no operation is a single machine operation, usually. So, they have to exist on this highly performant
16:02
industrial network, Profinet, Profibus are one of the similar ones, and talk to each other in terms of what stage of operation is being performed at the moment and how do they cooperate, because sometimes they have to move synchronously on different phases just to complete something and do a complex handling operation from several sides.
16:22
And then all of that is brought to the human-machine interface. This is when the drillers interact with the machines. They see them with joysticks, or at least allow them to proceed to the next operation with the controls, switch the mode of operation for equipment
16:40
as one equipment could be capable of performing very different types of handling, and switching the machines. There are two drillers, and there's 15 to 20 machines that they have to operate, even in pre-programmed ways. So, topology. Topology is that the control systems are on this industrial high-performance network, and control system, each of them,
17:07
is connected to its equipment. So, the brain is connected to the body, sensors and motors in this case. Now that we have seen how the equipment is operated, how do we take
17:21
it from here to the simulated environment? This is when we take the original control systems, the brains, and we put them into a simulated environment, connecting them to virtual sensors and virtual motors. Eventually, we are fooling the control system. It is not aware that it's taking away from the actual rig. It's still sensing what the
17:44
sensors are sensing. It's still able to move and feel the feedback from the movement in resistance. But it's not there on the rig anymore. It's in our server room onshore and it's connected to the virtual world, representing all the signals and all the movements.
18:03
Topology-wise, there are a few challenges in here. First off, you have to connect two very different, in principle, networks. You have to connect the industrial network, designed for real-time fast operation, and simulation network, which is hosting the usual Windows and Linux machine on an Ethernet connection. So, you have to bridge those
18:21
and you have to mine the performance as well, as there might be hundreds and thousands of signals in real-time, flowing back and forth. And remember that the control system is expecting to hear from you within that time frame. Otherwise, it will issue an emergency shutoff, as it doesn't hear from one or two of its sensors, or it can't initiate a motor. So, you have to match that on your other parts of the network.
18:45
Next thing you have to do is you have to bridge the language of control system, which is voltages and open-close valves to, well, let's say TCP and UDP packets on Ethernet. We don't do voltages on Ethernet. So, we have to do that translation. You have to
19:03
acquire those voltages, those commands, and translate them. And it's not a simple translation in there, as you would have to probably do a bit of simulation on the low level. When a valve is open and hydraulic pressure is building up, as we spoke, it's not linear,
19:22
so you probably have to do a bit of simulation for the hydraulic movements and the linear to curvature movement that happens in there. And that could be a whole subsystem with hydraulic simulation. When topology is done, and, well, say you've
19:40
taken out the control system, you will have to introduce your machines in your virtual world. And to do that, you'll have to take their shapes, the actual build-up of machines. And the actual build-up of machines is being drawn in CAD packages, computer-aided design. So all the designs are being done in 3D these days. And those are the designs meant
20:04
for fabrication. Once you've sketched your machine, you would send it and it's tested in the CAD itself. You're able to produce that, so send that for fabrication. And what we want to do is to get the very same machine, or the very same design that
20:24
is sent to fabrication, and put it to the simulator, so that we would have the very same shape and the very same behavior. The tricky part in here is that the CAD designs, they are typically very detailed. So they have high level of detail and lots
20:43
of small parts that usually would complicate real-time performance of a real-time 3D rendering. So there's a whole number of approaches in the industry of how to convert the CAD model into something that is real-time 3D-friendly. And sometimes it's just manual
21:01
remodeling of the very same in a lower detail level. Sometimes it's the conversion, when you can convert one to the other. And sometimes you can implement support in your software so your simulation software can support the source CAD formats and eventually have that bridging working. If the equipment that you have to simulate
21:24
comes from pre-digital era, when the models in 3D did not exist, then you would have probably to go off-shore and use one of those very performant 3D scanners to get a model of a certain equipment and put it in 3D afterwards. So it's possible to get
21:42
a model when it doesn't exist in your drawings. So that is for the shape of it and that is for the source where the model comes from. If you want to simulate it, if you wanted to move it around, then you would have to introduce the physical part. And the physical part, this is the actual
22:03
simulated environment. This is the environment taking the stimuli and providing some feedback, something that the control system expects for its operation. It's important to note that it is different from graphics, as in this example. This is not the pixelated Mario that does the collisions and the weight or standing on the planes.
22:25
It's his invisible brother comprising of two circles with the center of mass, as you see, which is the collision primitive actor for Mario. So the physical model, it is something that is coarser, that has to coexist in the
22:45
very same coordinates. It's invisible, but that's the actor that is doing all the physical interactions in the scene. And this is the standard approach. This is the collision primitives that build up that actor. This is the collision primitives that are coarser versions and those of physics,
23:04
computation friendly versions of the model of your asset. And then you would have the center of mass, friction, weights of different shapes and all the other properties connected to the physics with that invisible physical actor.
23:20
While the graphical representation, visual representation could be quite nice, and this is Bridge Crane Arm, if I'm not mistaken, the physics, if they are superimposed on top, they would show the coarser model that is taking part in the collisions and the physical interactions. This is a separate world from graphics.
23:44
You would usually work with two worlds at the same time. You would do all the physical interactions and all the collisions in the physical world and just flush the coordinates for the graphics to follow. So graphics is not there for the collisions and such. This is when you talk shapes, whether those are boxy shapes, cylinder shapes, capsules,
24:04
sometimes even meshes, joints between those shapes, whether those are rigid joints or flexible joints, for example a hinge having one degree freedom, and forces. The only way things could move in a physical world, this is by applying forces.
24:21
So behind the scene there is a physical engine, physics kinematics engine, processing equations, and those equations are processed on a certain frame per second. It is important that if your simulation is accurate, if you want it to behave realistically, if you're using one of the industrial physics kinematics engines,
24:42
then your physical FPS is probably higher than your graphical FPS, just because the requirements for those equations is to be resolved on a regular basis very, very little time frame so that there's enough time to stabilize your equations.
25:00
Otherwise what might happen is instability. Instability in physics is a case when the equations can't really be resolved within the provided time frame. So what happens is that there's a buildup of forces that eventually your scene explodes, or at least to other visual effects. This is very known and we've all witnessed it in gaming,
25:23
and especially that is crucial when you're trying to do a simulation of the equipment. So this is an effect when it's either that you have configured your scene in a non-correct way, or your time frame for simulating and resolving these equations
25:41
is quite small so that the physical equations can get resolved and the forces are just building, building up. This often reacts in parts you've seen shooting away and forces building up to a significant proportion. Talking about physics and kinematics, this is the typical codes and typical terms that you would use.
26:03
You would have some constraints of the joints, limitations of the joints, you would have the transformations, the coordinates, translations, and then you would have, of course, forces and motors to move things around. So we've built the physical part. Graphics.
26:24
Talking about graphics and picture rendering output, let's have a line of separation between representation, how your model is stored, and visualization, how the model is sent to the graphical device. This example is computer craft.
26:41
If you haven't seen it, it's a brilliant mod for Minecraft when you can actually program computers within Minecraft world. So this guy designed a whole 3D engine inside Minecraft in one of those computers in this mod. Brilliant. And what he's using for this 3D engine is, of course, triangular representation,
27:01
which is the classic way of representing objects, is when you break complex surfaces into triangles. And the way you store them is each individual triangle, because that is much simpler to send for visualization. And that simplifies the maths that you have to do when it comes to visualization of those.
27:23
So each of the complex surfaces is represented as a number of triangles. So while triangulations is one of the ways to store the models, there is still the parametric representation, which could be constructive solid geometry, Boolean operations on the shapes,
27:41
or just analytical representations of your curves, being the splines and the surfaces built up of those splines. This representation is, of course, more compact to represent and to store. Think of a cylinder that you have to represent with triangles.
28:01
Then you would have to build up the triangles and store three coordinates, three vectors for each of the triangles, for everything that is on the two caps and on the sides. So this is quite a significant amount of data just for one cylinder, and depending on how much utilization you want in that cylinder. And compare that to an analytical representation.
28:21
In order to represent a triangle, what you have to do is have the point of origin, radius, one number, height, and potentially one vector for orientation. So much, much more compact and much easier to transfer from A to B when it comes to analytical representation. The downside is, of course, that it's not straightforward to visualize,
28:44
as the modern day GPUs, they're meant for triangular representations, and they're much more effective with those, and it's not a predefined approach on those GPUs to render analytical or parametric surfaces.
29:00
Well, let's say we've defined our models, the representation is there, and then we have to visualize. Traditional approach is, of course, rasterization, something that you've heard. This is what is built in into the GPUs. GPUs are very optimized for that. So what GPUs are doing for rasterization is that everything is built with triangles, easy.
29:21
They're taking each individual triangle, and they have your viewer's plane or viewer's position in the 3D world. They do a matrix transformation onto that viewer's plane, so they're essentially getting a screen plane with two coordinates of each triangle. And what is done then is line scanning. There's line scanning, pixel after pixel. This is quite fast, you don't see that, but this is what happens in the GPU.
29:41
So there's line scanning inside the GPU for each of the triangles to fill it from point to point, and this is a simple maths when it comes to rasterization. To fill each of those triangles on the screen, then it is projected, then you know it coordinates on screen, and then you know the texture coordinates
30:01
so that you could fill in the remaining dots in the triangle. The limitation is, of course, no matter how fast it is in GPU to process all of those triangles, the limitation is, of course, the triangle count as we are triangle bound. So the higher detail level of the model, the more triangles you have,
30:22
and you will have to boost up your GPU each time you're willing to render a bigger model. Another part about rasterization is that you have to cheat. You have to cheat quite a lot, just because this is not how the light works in the real world.
30:43
It doesn't project things onto your eye with the matrix information, does it? These pieces of cheating code are called shaders, so we all know that there are shaders for lighting, for shadows, for depth of field, so these are essentially pieces of code that do the cheating to somehow create those missing parts
31:03
and somehow fight the shadows and the lighting and everything. But the typical code working with graphics is then having some vectors, doing some math on those, putting them onto a vector vertex buffer and flushing this up into a graphics device.
31:25
Rasterization is there, but recently ray tracing approaches also came to view, and there seems to be a revival of ray tracing. Ray tracing, this one, for example, is Arona 2, so this Arona 2 engine is taking a demo scene from Unity,
31:44
the engine, and visualizing it not with the rasterization, but with the ray tracing algorithm, or actually GPU path tracing. Brigade is also a ray tracing engine that you might have seen, which is also promising.
32:01
This is using the GPUs and the real-time visualization of the triangular scenes. They're taking the triangular scenes, and they're using the ray tracing to visualize it. There's even WebGL path tracing, if you come to think of it, so it's definitely picking up in the industry, and now that the cores, the GPU cores, are much more flexible, you're able to do all kinds of computations
32:24
regarding ray tracing on the GPU cores, so this is where the industry is going. And with ray tracing, of course, all the effects that are otherwise produced with shaders in rasterization are now possible. Color-blading, glossiness, reflections, soft shadows,
32:44
the depth of field and others, this is much, much more accessible when you have ray tracing as the visualization approach. So what we want to do, we want to visualize our machines. This is the roughneck that we are producing in steel. We want to have the same roughneck visualized,
33:03
visualized probably by distributed random machines, as we have to render for quite significant amounts of space in the dome screen or several screen configurations otherwise. So, in this real-time screen capture that you've seen here,
33:20
we are using real-time ray tracing on the actual CAD model. Just to remind you how ray tracing works, it's one of the approaches that you shoot a lot of rays, photons, from the light source and then the reflectors from the surfaces, and eventually end up in your eye, in your virtual eye.
33:40
Which is really, really accurate in terms of physics, but rather slow. The other approach is that you should raise from your viewer's surface, from each of the pixels in there, and wait for them to reflect and then see how does that turn up in relation to where the light is. So this is real-time and you see that
34:00
the image is somehow noisy when the camera is moving and the answer to that is, of course, that, well, it's simply less samples that end up in that region of space just because the camera is moving in the time frame. It's rather short to shoot enough rays. So as soon as the image stabilizes, or the movement stabilizes,
34:23
it's either the camera or some of the moving parts in the scene, then that part of the screen surface gets enough samples and that could be rendered with much higher fidelity. So this is the case with ray tracing. It's not about the resolution anymore.
34:41
It is about image fidelity. It's about how little noise you get on your image, regardless whether that's really small or really large. The model in question. The model in question is taken directly from CAD and we are storing and representing incentive for rendering
35:00
the initial CAD model as that is crucial for us. We want to have the initial amount of level of detail. We don't want to lose any of that in adaptation or transformation. We want to be able to use the initial model. And since this is ray tracing approach,
35:22
you see that this grading, for example, would be impossible to do with triangle approach. There's no way people would agree to model that with triangles while with ray tracing, this is all the initial part. So we are no longer triangle bound. And this means that you can render one, ten, a hundred or a thousand roughniks in one scene with real-time performance.
35:44
So this is, again, real-time performance of a scene with all of these roughniks just introduced into it. And each and every one of them is, of course, still a capable CAD model. So the CAD model that has all the small details,
36:01
it still has the visual fidelity, it still has all the curves. If we zoom up on the roughniks, you see that all the shading, all the surface properties, all the curves and all the inscriptions are still preserved. And it's a matter of throwing more GPU power to visualize with higher fidelity.
36:23
If you want to get rid of the noise, you just add another GPU and there you have it. And then again with the ray tracing, all the lights, reflections, weather effects are coming very natural. Alright, so that's about the visual part.
36:44
The signal flow and the data transformation. We spoke already about this control system, the signal translation, translate the control system language to the simulation language. And the central part of this picture, when it comes to the flow, is the data transfer.
37:00
So you have to acquire your data and map it. Remember that you have a number of signals for each of the equipment, even there's hundreds of signals. And then when you come to take a look at all of the equipment on one rig and even consider rig fleet, and maybe several rig fleets for all the customers that we are working with,
37:24
then it is thousands of signals coming in real time and that you have to classify, map to a proper name, give it a proper tag, apply the proper archival rules, and within your ontology, you will have to use some ontologies for the data.
37:44
You'll have to assign types and send the signal further so it could be interpreted correctly and put into the correct place of the kinematical physics. So then the data goes into the simulation, into the kinematic simulation with the physics model that is plugged in,
38:01
and then to the rendering where the graphic model is working. And of course when the kinematical physics model senses something over the sensor, the signal is sent back to the control system and you have that time frame that you have to match.
38:23
How is that represented if we want to build up with software, software modules, how can we? There is a very good example. This for example is a wheel hub motor. Probably if you've heard of this one. And wheel hub motor, this particular one was presented by Brabus in 2011
38:44
on a motor show. This is an example of modularity. Wheel hub motor is considered to be one of the directions for the automobile industry to go in the future. This is three in one. This is the wheel, the motor, and the brakes, three in one. So a module that does not depend on the transmission,
39:04
that is very self-contained and easy to replace and maintain. So this is the approach that we want to apply to our roughnecks. We are actually capable of taking the real roughneck,
39:21
disconnecting it, and plugging in our virtual roughneck, which is essentially a DLL. So our virtual DLL, representing the virtual piece of machinery that has the very same features, the very same sensors and motors, and can behave in the very same way. So the real and the virtual counterpart, they are mutually replaceable.
39:42
And the way this is built in software, and when you think of that DLL, there's of course the inputs and outputs. Inputs of your data flow mapping into your virtual motors, and the outputs mapping to the data flow connected to your virtual sensors. Then there is the physical representation.
40:00
The course model that we spoke about, that is actually meant for moving and has all the parts, all the axes, all the shapes, and all the joints. Connected to the behavior controllers, as some of the movements might be more complex than just a plain A to B movement, you'll have to implement more complex behavior for pistons and hydraulics,
40:26
and different parts of it which would have to be processed, and maybe movements and forces are applied in a certain angle that you would have to program. And the visual representation. Visual representation of the nice graphics that are just following the lead of the physical model.
40:42
And what you see here is the DLL. So this is the DLL that we are defining. So this DLL represents the virtual equipment. And this DLL is then put into the environment to support it to run. This is the simulation world with the physical rules,
41:00
with the gravity and some of the traction forces, maybe with some environment. There's the visual world hosting all the visual models. So simulation world is of course connected to the content pipeline, the rendering engine, the kinematics engine, and the data mapping that has to be there for the data acquisition and data flow. The visual world is connected to the display through the rendering protocols,
41:23
and there might be some custom behavior as well as cross-cutting concerns. So types of simulation. We spoke about offline or disconnected types of simulation. This is when you do training or testing training.
41:44
When you train your crew, when you allow your crew to train with equipment that is potentially not even produced yet. Training when you do these things pre-fabrication. Also testing. If you want to test your CAD designs before you send them into fabrication,
42:02
if you want to test your programming for control systems for the brains of the machines before you actually deploy them, you can do all of that and do the design reviews and checks within the virtual simulation model. So that is something that you do. So both training and testing can be done pre-fabrication. Those are the disconnected scenarios.
42:21
They are not connected to the actual operation. So this is when we come to the connected scenarios. When movement of equipment in 3D is following the data flow, and this is just to map the data flow, it's following the actual equipment being moved offshore. For monitoring or operation,
42:41
as we are going into those hazardous environments, into those challenging geography regions, the driller's cabin cannot be any longer located on the drill floor. That could be too dangerous for the guys. The driller's cabin could be then moved behind the living quarters
43:00
so they don't have any visual contact anymore with the equipment. So they have to operate judging by the visual video feed from the cameras and the simulated reproduced equipment models that they still can observe the full model. They still can see the equipment as if through the driller's cabin,
43:20
but that is the model of the equipment simulated. And taking it even further, we could take the driller's cabin and put it onshore. So there is just the connection between the drilling operation and the drillers that are located onshore and doing the remote operation.
43:43
Let's talk about difference between gaming and simulation. Simulation can be life critical, so obviously you have to put a bit of testing and quality control into what goes out of the software house in there.
44:02
It's also difficult that simulation features a longer life cycle for your software and technology. So while in gaming, you could potentially produce an engine and a game on top of that, and in five years or three years, depending on your frame, start replacing that in simulation and engineering like this.
44:24
You're bound by, say, service level agreements, so then in 10 or 15 years, you've got to be supporting the same code, potentially expanding it. So this puts forward some requirements. The upside is, of course, that you can afford much heavier boxes
44:41
when it comes to hardware in simulation. So if you want to do real-time GPU ray tracing, you're no longer bound by the contents of an Xbox as you are in gaming. You have to rely on consumer hardware, so you can never push that to the limit. This is different in simulations. We can really stack up the GPUs in one server rack
45:01
just to provide enough graphical or simulation power for some processing to happen. Coming to visuals, of course, gaming has surpassed simulation in that. This is a demo by Jorge Jimenez. I don't know if you've seen it, but this is showing some of the really nice subsurface scattering effects on the skin.
45:22
This has been the focus of gaming, providing an eye candy and really fancy and good-looking surface effects, shadowing effects, and all of that. While the focus in simulation is, of course, different, we have to look into the accuracy, how close to reality,
45:40
how close is this model to what actually goes out of the fabrication. So there's a different accent on what is valid in visuals between the two worlds. Signals and controls, this could be seen as somewhat similar. The data amount, if you're thinking MMOs,
46:00
all the massive multiplayer online games with thousands of players distributed among a number of servers, this is somewhat similar to what happens when there's a number of equipment and rigs working, signals are flowing in real time, and you will have to capture them on the shore.
46:22
Then you would have to archive them, analyze, and potentially send some of the warnings and notices back. So the data amounts could be compared with these two cases. Physics and the way physics is handled in the two approaches,
46:43
the gaming and the simulation. Simply put, there are gaming physics engines and there are industrial physics engines. Well, gaming physics engines, we know, well, let's say in bullet 3D, Blender 3D uses bullet, Unity and Unreal, they own NVIDIA's PhysX,
47:04
and those are quite capable and good engines. The difference, the principle difference between the gaming physics and the industrial physics is that you can't really expect to put actual parameters into gaming physics engines. You can't expect to put actual weights
47:20
and expect the system to operate as it would in real life. There's a whole bunch of fitting and trying to find the best-looking ways of working for the gaming physics, which is different for industrial. There is a whole class of problems, for example, called mass ratio problems. This is describing how a certain arm could be balanced.
47:46
If you're thinking of a crane, this is a heavy load suspended in a light boom, I would say. This is really hard to resolve for engines that are not using certain types of equations
48:01
or are not using the short time span for resolving those equations. So what happens in the gaming engines when you try to simulate a crane, for example, operation, it leads to instability, your scene explodes, while the industrial engines are specifically designed to accommodate for realistic and almost real parameters being put into the scene.
48:26
Just to mention that now it's quite interesting, as for example NVIDIA Flex is coming with a new simulation approach for the physical simulation, they're no longer suggesting to use the collision primitives as the rough shapes
48:42
building up the actors, instead they are proposing to build up every act in the scene from small rigid particles uniformly spaced, connected by joints. So with that approach, every actor is built of those parts with small particles and joints, and it makes possible
49:03
to have very different types of objects interacting in the same scene, such as fluid, gas, smoke, soft bodies, rigid bodies, in the same scene, interacting with each other, cloth even. If you haven't seen that, it's NVIDIA Flex very, very interesting technology, so be sure to check it out.
49:23
Before we close for today, just one more thing to mention, which is automation. Automation is about raising the effectiveness again, it's about taking the humans out of the loop. Automation has been around for many, many years, we know it in the storage, in the processing industries,
49:42
so it's achieved on many types of operations, but it's not there yet for potentially dangerous operations, for life critical stuff, or it's somewhat there on a certain level. This is all because of the regulations and complexity of the drilling, for example.
50:03
And there are automation levels from 1 to 8, 1 is having human full-in control, and 8 is the robot doing the whole operation and not letting personnel to interfere.
50:21
So, we are starting to introduce some of the levels now in the industry, when it comes to drilling and automated drilling. Think that automation, especially of the higher levels, is benefited by simulation, because when the machine is drilling and judging on the sensors and the readings,
50:41
it is not just drilling the real well on the parallel, same time it's having a simulated process, simulated model of the same well being drilled, so all of the decisions that a machine takes are first tried out in a simulation model. This is the same that happens when human drillers are operating and drilling towards a complex formation,
51:02
as they are able to switch to a simulated model of the same formation, and first try to drill through that, and having found an acceptable solution, they switch back and, using the same controls, continue to drill the actual geological formation.
51:21
So, that's more or less what I had, and just to mention that simulation becomes more and more accessible and penetrates our daily lives, as with the drones even, you can do simulation now. There are drones that give you possibilities to write Python codes for behavior. That's something that it runs on your base station in a PC,
51:43
while the drone is out there, so there's a communication and the logic is running, so people start writing already some of the guiding and autopilot routines. This is something that could be, of course, tested out and made use in the simulation technologies.
52:01
So, think that there's a line where the gaming stops and the simulation starts, and it's sort of a blurry line. When you have physics in the model, this is great, this means that you already have put together some simulation principles into your application.
52:20
But when you put some of the hardware in the loop, when you put the actual brain or, for example, the actual decision-making logic circuit into simulation, this is when you're actually coming a little bit more towards the simulation edge of it. So, think about that when you're programming the next drone.
52:41
Alright, some of the keyboards from today's talk. So, if you wanted to take some of the notes, I guess this is the time to take a screenshot of this. And that would be all questions. Alright, very well, I must remind you to use the rating system on the back. Thank you very much.