X3D Model Documentation: RemusEspdu.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <component level='1name='DIS'/>
  6            <meta name='titlecontent=' RemusEspdu.x3d '/>
  7            <meta name='descriptioncontent="Remote Environmental Monitoring UnitS (REMUS) is a low-cost autonomous underwater vehicle (AUV) for coastal monitoring and multiple vehicle survey operations. REMUS is developed and operated by the Woods Hole Oceanographic Institute (WHOI) Oceanographic Systems Laboratory. Red fin is topside. p.s. Jeff Weekley's first model!"/>
  8            <meta name='creatorcontent='Jeffrey Weekley, DIS and terrain content added by Duane Davis'/>
  9            <meta name='createdcontent='16 March 2001'/>
 10            <meta name='modifiedcontent='20 October 2019'/>
 11            <meta name='referencecontent='http://adcp.whoi.edu'/>
 12            <meta name='referencecontent=' http://www.whoi.edu/home/marine/remus_main.html '/>
 13            <meta name='referencecontent=' remus_main_May2001.pdf '/>
 14            <meta name='referencecontent=' https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/Remus.x3d '/>
 15            <meta name='photocontent='marine_remus_top.jpg'/>
 16            <meta name='referencecontent=' SAHRV-SemiAutonomousHydrographicReconnaissainceVehicle.pdf '/>
 17            <meta name='referencecontent=' http://www.onr.navy.mil/sci_tech/ocean/info/yerpts/oeye00/oe5vona1.pdf '/>
 18            <meta name='referencecontent=' oe5vona1-NavalSpecialWarfareSupportWithREMUS.pdf '/>
 19            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/RemusEspdu.x3d '/>
 20            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 21            <meta name='licensecontent='../../license.html'/>
 22       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: ArticulationParameterControl, AUVTRANSFORM, Base, Clock, ControlFin1, ControlFin2, ControlFin3, ControlFin4, controlfins, Deflector1, Deflector2, Deflector3, Deflector4, Fin, GPSTransiever, Orange, propeller, PropSpin, SCREW_BEAMCONE, ScrewBeamCone, SideScanningSonarArray1, SideScanningSonarArray2, statorblade1, statorcrankshaft, TailSection, TERRAINTRANSFORM, Top, TopHook, torpedoband1, torpedoband2, torpedoband3, torpedoband4, torpedobody2, torpedobody3, torpedobody4, torpedonose, torpedostator, torpedostatorblade1, torpedostatorblade2, torpedostatorblade3, torpedotail

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8

Index for ExternProtoDeclare definition: BeamCone
-->
 23       <Scene>
 24            <!-- Produce wireframe or transparent beam cones. -->
 25            <ExternProtoDeclare name='BeamConeappinfo='Produce wireframe or transparent beam cones. Typical uses include propeller/thruster water flow or line-of-sight sonar/radar/light beams. Negative range values invert base and apex at same relative location. Default: beam with apex at (0 0 0) and base of radius 1 in x-z plane at (1 0 0).'   url=' "../../CommunicationsAndSensors/Beam/BeamConePrototype.x3d#BeamCone" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Beam/BeamConePrototype.x3d#BeamCone" "../../CommunicationsAndSensors/Beam/BeamConePrototype.wrl#BeamCone" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Beam/BeamConePrototype.wrl#BeamCone" '>
 26                 <field name='contacttype='SFBoolaccessType='inputOnly'
                appinfo='(communications) is transmitted signal in contact with receiver or (sensor) is a target return detected?'/>
 27                 <field name='rangetype='SFFloataccessType='inputOnly'
                appinfo='distance in meters along x axis'/>
 28                 <field name='defaultRangetype='SFFloataccessType='initializeOnly'
                appinfo='distance in meters used until eventIn range sent'/>
 29                 <field name='wireframetype='SFBoolaccessType='initializeOnly'
                appinfo='whether wireframe beam is drawn'/>
 30                 <field name='solidtype='SFBoolaccessType='initializeOnly'
                appinfo='whether solid beam is drawn'/>
 31                 <field name='beamHeightDegreestype='SFFloataccessType='initializeOnly'
                appinfo='degrees across vertical y axis'/>
 32                 <field name='beamWidthDegreestype='SFFloataccessType='initializeOnly'
                appinfo='degrees across horizontal z axis'/>
 33                 <field name='contactColortype='SFColoraccessType='initializeOnly'
                appinfo='rendering color when contact=true'/>
 34                 <field name='noContactColortype='SFColoraccessType='initializeOnly'
                appinfo='rendering color when contact=false'/>
 35                 <field name='transparencytype='SFFloataccessType='inputOutput'
                appinfo='1 = fully transparent wireframe only'/>
 36                 <field name='nametype='SFStringaccessType='initializeOnly'
                appinfo='BeamCone name aids in node identification and tracing'/>
 37                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'
                appinfo='flag to turn on Script tracing'/>
 38            </ExternProtoDeclare>
 39            <WorldInfo info='"Only unclassified open resources were used to create this model."title='Remus AUV'/>
 40            <Background skyColor='0.2 0.8 0.8'/>
 41            <!-- This file builds the REMUS Autonomous Underwater Vehicle (AUV). The dimensions were originally provided in English units and is converted to metric using a scale that 39.3 inches equal one meter. -->
 42 
          <!-- ROUTE information for AUVTRANSFORM node:  [from articulationParameterArray to ArticulationParameterControl.set_articulationParameters ] -->
          <EspduTransform DEF='AUVTRANSFORMaddress='224.2.181.145marking='Remus AUVnetworkMode='networkReaderport='62040containerField='children'>
 43                 <Group>
 44                      <Transform rotation='0 1 0 -1.57translation='-3 1 0'>
 45                           <Viewpoint description='Remus over-the-shoulder 3morientation='1 0 0 -0.25position='0 0 0'/>
 46                      </Transform>
 47                      <Transform rotation='0.0 0.0 1.0 1.57079scale='0.2145 0.2145 0.2145translation='1 0 0'>
 48                           <Transform DEF='torpedoband1translation='0.0 2.475 0.0'>
 49                                <Shape>
 50                                     <Cylinder bottom='falseheight='0.45radius='.267top='false'/>
 51                                     <Appearance>
 52                                          <Material diffuseColor='0 0.5 0.5'/>
 53                                     </Appearance>
 54                                </Shape>
 55                           </Transform>
 56                           <Transform DEF='torpedoband2translation='0.0 2.735 0.0'>
 57                                <Shape>
 58                                     <Cylinder bottom='falseheight='.07radius='.267top='false'/>
 59                                     <Appearance>
 60                                          <Material diffuseColor='0 0.5 0.5'/>
 61                                     </Appearance>
 62                                </Shape>
 63                           </Transform>
 64                           <Transform DEF='torpedobody2translation='0.0 3.37 0.0'>
 65                                <Shape>
 66                                     <Cylinder bottom='falseheight='1.2radius='0.267top='false'/>
 67                                     <Appearance>
 68                                          <Material diffuseColor='1.0 1.0 0.0'/>
 69                                     </Appearance>
 70                                </Shape>
 71                           </Transform>
 72                           <Transform DEF='torpedoband3translation='0.0 4.005 0.0'>
 73                                <Shape>
 74                                     <Cylinder bottom='falseheight='.07radius='.267top='false'/>
 75                                     <Appearance>
 76                                          <Material diffuseColor='1.0 1.0 0.0'/>
 77                                     </Appearance>
 78                                </Shape>
 79                           </Transform>
 80                           <Transform DEF='torpedobody3translation='0.0 4.638 0.0'>
 81                                <Shape>
 82                                     <Cylinder bottom='falseheight='1.2radius='0.267top='false'/>
 83                                     <Appearance>
 84                                          <Material diffuseColor='1.0 1.0 0.0'/>
 85                                     </Appearance>
 86                                </Shape>
 87                           </Transform>
 88                           <Transform DEF='torpedoband4translation='0.0 3.8075 0.0'>
 89                                <Transform translation='0.0 1.465 0.0'>
 90                                     <Shape>
 91                                          <Cylinder bottom='falseheight='.07radius='.267top='false'/>
 92                                          <Appearance>
 93                                               <Material diffuseColor='1.0 1.0 0.0'/>
 94                                          </Appearance>
 95                                     </Shape>
 96                                </Transform>
 97                           </Transform>
 98                           <Transform DEF='torpedobody4translation='0.0 3.8075 0.0'>
 99                                <Transform translation='0.0 2.1 0.0'>
100                                     <Shape>
101                                          <Cylinder bottom='falseheight='1.2radius='.267top='false'/>
102                                          <Appearance>
103                                               <Material diffuseColor='1.0 1.0 0.0'/>
104                                          </Appearance>
105                                     </Shape>
106                                </Transform>
107                           </Transform>
108                           <Transform DEF='torpedonoserotation='1.0 0.0 0.0 3.1416translation='0 2.2525 0'>
109                                <Shape>
110                                     <Appearance>
111                                          <Material shininess='0.5'/>
112                                     </Appearance>
113                                     <Extrusion creaseAngle='1.785crossSection='0.267 0.000 0.231 -0.134 0.134 -0.231 0.0 -0.267 -0.134 -0.231 -0.231 -0.134 -0.267 0.000 -0.231 0.134 -0.134 0.231 0.0 0.267 0.134 0.231 0.231 0.134 0.267 0.0scale='1.00 1.00 0.95 0.95 0.88 0.88 0.76 0.76 0.48 0.48spine='0.00 0.00 0.00 0.00 0.10 0.00 0.00 0.20 0.00 0.00 0.30 0.00 0.00 0.40 0.00'/>
114                                </Shape>
115                           </Transform>
116                           <Group DEF='controlfins'>
117                                <Transform translation='0.0 -0.25 0.0'>
118                                     <Transform DEF='ControlFin1'>
119                                          <Transform translation='0.19 7.81 0.0'>
120 
                                             <!-- ROUTE information for Deflector1 node:  [from ArticulationParameterControl.topRudder to set_rotation ] -->
                                             <Transform DEF='Deflector1'>
121                                                    <Shape>
122                                                         <Box size='0.4 .2 0.02'/>
123                                                         <Appearance>
124                                                              <Material diffuseColor='1.0 0.0 0.0shininess='0.5'/>
125                                                         </Appearance>
126                                                    </Shape>
127                                               </Transform>
128                                          </Transform>
129                                     </Transform>
130                                     <Transform DEF='ControlFin2rotation='0 1 0 3.17'>
131                                          <Transform translation='0.19 7.81 0.0'>
132 
                                             <!-- ROUTE information for Deflector2 node:  [from ArticulationParameterControl.bottomRudder to set_rotation ] -->
                                             <Transform DEF='Deflector2'>
133                                                    <Shape>
134                                                         <Box size='0.4 .2 0.02'/>
135                                                         <Appearance>
136                                                              <Material diffuseColor='0.1 0.1 0.1shininess='0.5'/>
137                                                         </Appearance>
138                                                    </Shape>
139                                               </Transform>
140                                          </Transform>
141                                     </Transform>
142                                     <Transform DEF='ControlFin3rotation='0 1 0 1.57'>
143                                          <Transform translation='0.19 7.81 0.0'>
144 
                                             <!-- ROUTE information for Deflector3 node:  [from ArticulationParameterControl.portPlane to set_rotation ] -->
                                             <Transform DEF='Deflector3'>
145                                                    <Shape>
146                                                         <Box size='0.4 .2 0.02'/>
147                                                         <Appearance>
148                                                              <Material diffuseColor='0.1 0.1 0.1shininess='0.5'/>
149                                                         </Appearance>
150                                                    </Shape>
151                                               </Transform>
152                                          </Transform>
153                                     </Transform>
154                                     <Transform DEF='ControlFin4rotation='0.0 1.0 0.0 4.74'>
155                                          <Transform translation='0.19 7.81 0.0'>
156 
                                             <!-- ROUTE information for Deflector4 node:  [from ArticulationParameterControl.stbdPlane to set_rotation ] -->
                                             <Transform DEF='Deflector4'>
157                                                    <Shape>
158                                                         <Box size='0.4 .2 0.02'/>
159                                                         <Appearance>
160                                                              <Material diffuseColor='0.1 0.1 0.1shininess='0.5'/>
161                                                         </Appearance>
162                                                    </Shape>
163                                               </Transform>
164                                          </Transform>
165                                     </Transform>
166                                </Transform>
167                           </Group>
168                           <Group DEF='TailSection'>
169                                <Transform DEF='torpedotailrotation='1.0 0.0 0.0 3.1416translation='0.0 7.9375 0.0'>
170                                     <Shape>
171                                          <Appearance>
172                                               <Material shininess='1.0'/>
173                                          </Appearance>
174                                          <Extrusion creaseAngle='2.0crossSection='0.267 0.000 0.231 -0.134 0.134 -0.231 0.0 -0.267 -0.134 -0.231 -0.231 -0.134 -0.267 0.000 -0.231 0.134 -0.134 0.231 0.0 0.267 0.134 0.231 0.231 0.134 0.267 0.0endCap='falsescale='0.342 0.342 0.500 0.500 0.643 0.643 0.766 0.766 0.866 0.866 0.940 0.940 0.985 0.985 1.0 1.0spine='0.0 0.0 0.000 0.0 0.114 0.000 0.0 0.266 0.000 0.0 0.453 0.000 0.0 0.670 0.000 0.0 0.910 0.000 0.0 1.166 0.000 0.0 1.431 0.0'/>
175                                     </Shape>
176                                     <LOD range='20'>
177                                          <Group DEF='torpedostator'>
178 
                                             <!-- ROUTE information for propeller node:  [from PropSpin.value_changed to rotation ] -->
                                             <Transform DEF='propellertranslation='0.0 -0.15 0.0'>
179                                                    <Group DEF='statorblade1'>
180                                                         <Transform DEF='torpedostatorblade1'>
181                                                              <Transform rotation='-1.0 0.0 0.0 1.0472translation='0.075 0.0 0.0'>
182                                                                   <Shape>
183                                                                        <Box size='0.125 0.09 0.015'/>
184                                                                        <Appearance>
185                                                                             <Material diffuseColor='0.1 0.1 0.1shininess='0.75'/>
186                                                                        </Appearance>
187                                                                   </Shape>
188                                                              </Transform>
189                                                         </Transform>
190                                                         <Transform DEF='torpedostatorblade2rotation='0.0 1.0 0.0 1.0472'>
191                                                              <Transform rotation='1 0 0 1.0472translation='-0.075 0.0 0.0'>
192                                                                   <Shape>
193                                                                        <Box size='0.125 0.09 0.015'/>
194                                                                        <Appearance>
195                                                                             <Material diffuseColor='0.1 0.1 0.1shininess='0.5'/>
196                                                                        </Appearance>
197                                                                   </Shape>
198                                                              </Transform>
199                                                         </Transform>
200                                                         <Transform DEF='torpedostatorblade3rotation='0.0 1.0 0.0 -1.0472'>
201                                                              <Transform rotation='1 0 0 1.0472translation='-0.075 0.0 0.0'>
202                                                                   <Shape>
203                                                                        <Box size='0.125 0.09 0.015'/>
204                                                                        <Appearance>
205                                                                             <Material diffuseColor='0.1 0.1 0.1'/>
206                                                                        </Appearance>
207                                                                   </Shape>
208                                                              </Transform>
209                                                         </Transform>
210                                                    </Group>
211                                                    <Transform DEF='statorcrankshaftrotation='1.0 0.0 0.0 3.1416translation='0.0 0.05 0.0'>
212                                                         <Shape>
213                                                              <Cone bottomRadius='0.09height='0.2'/>
214                                                              <Appearance>
215                                                                   <Material diffuseColor='0.1 0.1 0.1'/>
216                                                              </Appearance>
217                                                         </Shape>
218                                                    </Transform>
219                                               </Transform>
220                                               <!-- Spins the propellor and stator once every 4 seconds -->
221 
                                             <!-- ROUTE information for Clock node:  [from fraction_changed to PropSpin.set_fraction ] -->
                                             <TimeSensor DEF='ClockcycleInterval='0.5loop='true'/>
222 
                                             <!-- ROUTE information for PropSpin node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to propeller.rotation ] -->
                                             <OrientationInterpolator DEF='PropSpinkey='0.0 0.5 1.0keyValue='0.0 1.0 0.0 0.00 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
223                                               < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='PropSpin' toField='set_fraction'/>
224                                               < ROUTE  fromNode='PropSpin' fromField='value_changed' toNode='propeller' toField='rotation'/>
225                                          </Group>
226                                          <WorldInfo info='"null node"'/>
227                                     </LOD>
228                                </Transform>
229                           </Group>
230 
                         <!-- Transform SideScanningSonarArray1 is a DEF node that has 1 USE node: USE_1 -->
                         <Transform DEF='SideScanningSonarArray1translation='0.0 4.5 0.27'>
231                                <Shape>
232                                     <Box size='0.04 2.0 0.025'/>
233                                     <Appearance>
234                                          <Material diffuseColor='0.1 0.1 0.1shininess='0.5'/>
235                                     </Appearance>
236                                </Shape>
237                           </Transform>
238                           <Transform DEF='SideScanningSonarArray2translation='0.0 0.0 -.54'>
239                                <Transform USE='SideScanningSonarArray1'/>
240                           </Transform>
241                           <Transform DEF='TopHooktranslation='0.27 4.25 0.0'>
242                                <Shape>
243                                     <Box size='0.04 0.1 0.04'/>
244                                     <Appearance>
245                                          <Material diffuseColor='0.1 0.1 0.1shininess='.75'/>
246                                     </Appearance>
247                                </Shape>
248                           </Transform>
249                           <Transform DEF='SCREW_BEAMCONErotation='0 0 1 1.571translation='0 8.2 0'>
250 
                              <!-- ROUTE information for ScrewBeamCone node:  [from ArticulationParameterControl.rpm to range ] -->
                              <ProtoInstance name='BeamConeDEF='ScrewBeamCone'>
251                                     <!-- range values -1..0..1 m <==> -700..0..700 RPM -->
252                                     <fieldValue name='defaultRangevalue='1'/>
253                                     <fieldValue name='beamHeightDegreesvalue='8'/>
254                                     <fieldValue name='beamWidthDegreesvalue='8'/>
255                                     <fieldValue name='solidvalue='false'/>
256                                     <fieldValue name='wireframevalue='true'/>
257                                     <!-- Greenish blue for sea water flow -->
258                                     <fieldValue name='noContactColorvalue='0 .8 .4'/>
259                                     <fieldValue name='transparencyvalue='0'/>
260                                </ProtoInstance>
261                           </Transform>
262                      </Transform>
263                      <Group DEF='GPSTransiever'>
264                           <Transform rotation='0 1 0 1.57scale='0.0125 0.0125 0.0125translation='-0.3 0.06 0'>
265                                <Transform DEF='Top'>
266                                     <Shape>
267                                          <Extrusion creaseAngle='3.14crossSection='0 1.1 0.65 0.4 0.7 0.2 0.7 -0.2 0 -1.6 -0.7 -0.2 -0.7 0.2 -0.65 0.4 0 1.1scale='0.9 0.9 1 1 1 1 0.9 0.9spine='0 5 0 0 5.1 0 0 5.9 0 0 6 0'/>
268                                          <Appearance>
269                                               <Material diffuseColor='0.8 0.63 0.7transparency='0.2'/>
270                                          </Appearance>
271                                     </Shape>
272                                </Transform>
273                                <Transform DEF='Fin'>
274                                     <Shape>
275                                          <Extrusion creaseAngle='3.14crossSection='0 2.2 0.2 1.8 0 -2.2 -0.2 1.8 0 2.2scale='1 1 0.4 0.4spine='0 0 0 0 5.9 0'/>
276 
                                        <!-- Appearance Orange is a DEF node that has 1 USE node: USE_1 -->
                                        <Appearance DEF='Orange'>
277                                               <Material diffuseColor='0.8 0.43 0.3'/>
278                                          </Appearance>
279                                     </Shape>
280                                </Transform>
281                                <Transform DEF='Base'>
282                                     <Shape>
283                                          <Extrusion creaseAngle='2crossSection='0 2.3 0.2 2.2 0.4 2 0.5 1.6 0.5 -1.6 0.3 -2 0 -2.3 -0.3 -2 -0.5 -1.6 -0.5 1.6 -0.4 2 -0.2 2.2 0 2.3scale='1 1 1 1 0.9 0.9spine='0 -0.5 0 0 0.1 0 0 0.11 0'/>
284                                          <Appearance USE='Orange'/>
285                                     </Shape>
286                                </Transform>
287                                <Transform translation='0 5.825 0'>
288                                     <Shape>
289                                          <Box size='0.8 0.3 1'/>
290                                          <Appearance>
291                                               <Material diffuseColor='0.15 0.15 0.25'/>
292                                          </Appearance>
293                                     </Shape>
294                                </Transform>
295                           </Transform>
296                      </Group>
297                      <Group>
298                           <Viewpoint description='Remus from above 15morientation='-0.58 -0.58 -0.58 2.09position='0 15 0'/>
299                           <Viewpoint description='Remus starboard side 10m'/>
300                           <Viewpoint description='Remus starboard side 3mposition='0 0 3'/>
301                           <Viewpoint description='Remus astern 10morientation='0 1 0 -1.57position='-10 0 0'/>
302                           <Viewpoint description='Remus astern 2morientation='0 1 0 -1.57position='-2 0 0'/>
303                           <Viewpoint description='Remus port side 10morientation='0 1 0 3.14position='0 0 -10'/>
304                           <Viewpoint description='Remus port side 3morientation='0 1 0 3.14position='0 0 -3'/>
305                      </Group>
306                      <Group>
307 
308                                <field name='set_articulationParameterstype='MFFloataccessType='inputOnly'/>
309                                <field name='rpmtype='SFFloataccessType='outputOnly'/>
310                                <field name='topRuddertype='SFRotationaccessType='outputOnly'/>
311                                <field name='bottomRuddertype='SFRotationaccessType='outputOnly'/>
312                                <field name='stbdPlanetype='SFRotationaccessType='outputOnly'/>
313                                <field name='portPlanetype='SFRotationaccessType='outputOnly'/>
  <![CDATA[
            
ecmascript:

function initialize()
{
   rpm     = 0;
   rudder  = new SFRotation (0, 1, 0, 0);
   planes  = new SFRotation (1, 0, 0, 0);
}

function set_articulationParameters( value, timestamp )
{
   rpm          = value[1] * 3.0;
   topRudder    = new SFRotation (1, 0, 0,  value[4]);
   bottomRudder = new SFRotation (1, 0, 0, -value[4]);
   stbdPlane    = new SFRotation (1, 0, 0,  value[6]);
   portPlane    = new SFRotation (1, 0, 0, -value[6]);
}

          
]]>
315                           </Script>
316                           < ROUTE  fromNode='AUVTRANSFORM' fromField='articulationParameterArray' toNode='ArticulationParameterControl' toField='set_articulationParameters'/>
317                           < ROUTE  fromNode='ArticulationParameterControl' fromField='rpm' toNode='ScrewBeamCone' toField='range'/>
318                           < ROUTE  fromNode='ArticulationParameterControl' fromField='topRudder' toNode='Deflector1' toField='set_rotation'/>
319                           < ROUTE  fromNode='ArticulationParameterControl' fromField='bottomRudder' toNode='Deflector2' toField='set_rotation'/>
320                           < ROUTE  fromNode='ArticulationParameterControl' fromField='portPlane' toNode='Deflector3' toField='set_rotation'/>
321                           < ROUTE  fromNode='ArticulationParameterControl' fromField='stbdPlane' toNode='Deflector4' toField='set_rotation'/>
322                      </Group>
323                 </Group>
324            </EspduTransform>
325            <Transform DEF='TERRAINTRANSFORMtranslation='-750 0 -750'>
326                 <Shape>
327                      <Appearance>
328                           <Material diffuseColor='0.5 0.5 0emissiveColor='0.1 0.1 0'/>
329                           <ImageTexture   url=' "../../../Savage/AuvWorkbench/OperatingAreas/dirt4.gif " "https://www.web3d.org/x3d/content/examples/Savage/AuvWorkbench/OperatingAreas/dirt4.gif " '/>
330                      </Appearance>
331                      <ElevationGrid creaseAngle='3.14xDimension='11xSpacing='150zDimension='11zSpacing='150height='-75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50 -75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50 -50 -75 -50 -50 -75 -100 -125 -100 -75 -50 -25 -75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50 -100 -125 -100 -100 -125 -150 -175 -150 -125 -100 -75 -75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50 -75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50 -50 -75 -50 -50 -75 -100 -125 -100 -75 -50 -25 -75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50 -100 -125 -100 -100 -125 -150 -175 -150 -125 -100 -75 -75 -100 -75 -75 -100 -125 -150 -125 -100 -75 -50'>
332                           <TextureCoordinate point='1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3 11 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 10 5 11 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 7 10 7 11 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 8 10 8 11 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 9 10 9 11 10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 10 10 10 11 11 1 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 11 10 11 11'/>
333                      </ElevationGrid>
334                 </Shape>
335            </Transform>
336       </Scene>
337  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: ArticulationParameterControl, AUVTRANSFORM, Base, Clock, ControlFin1, ControlFin2, ControlFin3, ControlFin4, controlfins, Deflector1, Deflector2, Deflector3, Deflector4, Fin, GPSTransiever, Orange, propeller, PropSpin, SCREW_BEAMCONE, ScrewBeamCone, SideScanningSonarArray1, SideScanningSonarArray2, statorblade1, statorcrankshaft, TailSection, TERRAINTRANSFORM, Top, TopHook, torpedoband1, torpedoband2, torpedoband3, torpedoband4, torpedobody2, torpedobody3, torpedobody4, torpedonose, torpedostator, torpedostatorblade1, torpedostatorblade2, torpedostatorblade3, torpedotail

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8

Index for ExternProtoDeclare definition: BeamCone
-->
X3D Tooltips element index: Appearance, Background, Box, component, Cone, Cylinder, ElevationGrid, EspduTransform, ExternProtoDeclare, Extrusion, field, fieldValue, Group, head, ImageTexture, LOD, Material, meta, OrientationInterpolator, ProtoInstance, ROUTE, Scene, Script, Shape, TextureCoordinate, TimeSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 8 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
PropSpin
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
PropSpin
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
propeller
Transform
rotation
SFRotation

      ArticulationParameterControl
Script
rpm
SFFloat

ROUTE
event to
(1)
ScrewBeamCone
ProtoInstance
range
SFFloat
ArticulationParameterControl
Script
topRudder
SFRotation

ROUTE
event to
(1)
Deflector1
Transform
set_rotation
SFRotation
ArticulationParameterControl
Script
bottomRudder
SFRotation

ROUTE
event to
(1)
Deflector2
Transform
set_rotation
SFRotation
ArticulationParameterControl
Script
portPlane
SFRotation

ROUTE
event to
(1)
Deflector3
Transform
set_rotation
SFRotation
ArticulationParameterControl
Script
stbdPlane
SFRotation

ROUTE
event to
(1)
Deflector4
Transform
set_rotation
SFRotation

      ScrewBeamCone
ProtoInstance
BeamCone
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

AUVTRANSFORM
EspduTransform
articulationParameterArray
MFFloat

ROUTE
event to
(1)
ArticulationParameterControl
Script
set_articulationParameters
MFFloat
then
 
 
 
ArticulationParameterControl
Script
bottomRudder
SFRotation

ROUTE
event to
(2)
Deflector2
Transform
set_rotation
SFRotation
  then
 
 
 
ArticulationParameterControl
Script
portPlane
SFRotation

ROUTE
event to
(2)
Deflector3
Transform
set_rotation
SFRotation
  then
 
 
 
ArticulationParameterControl
Script
rpm
SFFloat

ROUTE
event to
(2)
ScrewBeamCone
ProtoInstance
range
SFFloat
  then
 
 
 
ArticulationParameterControl
Script
stbdPlane
SFRotation

ROUTE
event to
(2)
Deflector4
Transform
set_rotation
SFRotation
  then
 
 
 
ArticulationParameterControl
Script
topRudder
SFRotation

ROUTE
event to
(2)
Deflector1
Transform
set_rotation
SFRotation

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/RemusEspduIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/RemusEspdu.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->