#X3D V3.3 utf8 PROFILE Immersive # [X3D] version=3.3 # [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.3.xsd # X3D-to-ClassicVRML XSL translation autogenerated by X3dToClassicVrmlEncoding.xslt and X3dToVrml97.xslt # https://www.web3d.org/x3d/content/X3dToClassicVrmlEncoding.xslt # https://www.web3d.org/x3d/content/X3dToVrml97.xslt # Transformation using XSLT processor: Saxonica # head META "title" "MinefieldSearchTemplate.x3d" META "description" "Example use of SphericalMine and other prototypes to build a 4-AUV minefield search scene. Output will be produced by Matlab program." META "creator" "Don Brutzman, Arlene Guest and UW3303 class" META "created" "26 May 2004" META "modified" "1 September 2024" META "TODO" "Xj3D WaypointInterpolator initialization failure" META "identifier" "https://savage.nps.edu/Savage/Scenarios/UW3303MinefieldSearch/MinefieldSearchTemplate.x3d" META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit" META "license" "../../license.html" # [Scene] ========== ========== ========== # ====================================== EXTERNPROTO SphericalMine [ # [appinfo] Spherical floating mine moored to bottom initializeOnly SFString description # [appinfo] Description for each mine contact. inputOutput SFColor color # [appinfo] Mine color can be used to indicate status (found/unknown/disabled/) tactic etc. inputOutput SFVec3f translation # [appinfo] Location of mine center in local world coordinates. inputOutput SFVec3f scale # [appinfo] Scale factor to change spherical mine size default diameter = 1m. initializeOnly SFVec3f bboxCenter # [appinfo] Bounding box for collision detection of mine. inputOutput MFVec3f tetherPoints # [appinfo] Top and bottom endpoints of line tether that anchors this mine to the bottom. outputOnly SFBool proximityIsActive # [appinfo] proximityIsActive can be used to activate information or interaction when the viewer nears the mine. inputOutput SFVec3f proximitySize # [appinfo] proximitySize provides overall box dimensions for proximity; thus (10 10 10) yields approximate radius 5 to 7 meters. ][ "../../Weapons/UnderwaterMines/SphericalMinePrototype.x3d#SphericalMine" "https://savage.nps.edu/Savage/Weapons/UnderwaterMines/SphericalMinePrototype.x3d#SphericalMine" "../../Weapons/UnderwaterMines/SphericalMinePrototype.wrl#SphericalMine" "https://savage.nps.edu/Savage/Weapons/UnderwaterMines/SphericalMinePrototype.wrl#SphericalMine" ] # ====================================== EXTERNPROTO DvdController [ # [appinfo] Digital Virtual Display (DVD) Controller Prototype is a heads-up display (HUD) to control animation timing initializeOnly SFString description # [appinfo] Short description of what is animated by this DvdController. initializeOnly SFBool playEnabled # [appinfo] Whether or not play mode is enabled including during startup. initializeOnly SFString displayMode # [appinfo] Initializes how control buttons and slider are displayed. The control buttons include DIS control (i.e. Master Ghost Local) and Playback control (i.e. Reset to Start Fast Rewind Rewind Pause Play Fast Forward Reset to End). Possible values are (case sensitive): ALL DIS_ONLY PLAYBACK_ONLY SLIDER_ONLY DIS_PLAYBACK DIS_SLIDER PLAYBACK_SLIDER and NONE. inputOnly SFString setDisplayMode # [appinfo] Sets how control buttons and slider are displayed. The control buttons include DIS control (i.e. Master Ghost Local) and Playback control (i.e. Reset to Start Fast Rewind Rewind Pause Play Fast Forward Reset to End). Possible values are (case sensitive): ALL DIS_ONLY PLAYBACK_ONLY SLIDER_ONLY DIS_PLAYBACK DIS_SLIDER PLAYBACK_SLIDER and NONE. initializeOnly SFColor buttonColor # [appinfo] Default button color. initializeOnly SFColor selectedButtonColor # [appinfo] Button color when selected by user. initializeOnly SFColor labelColor # [appinfo] Default label color. initializeOnly SFColor selectedLabelColor # [appinfo] Label color when selected by user. initializeOnly SFVec3f locationOffset # [appinfo] Modified screen location and distance (for size). initializeOnly SFBool clockEnabled # [appinfo] default value true initializeOnly SFTime cycleInterval # [appinfo] Time for complete loop cycle in seconds. inputOnly SFTime set_cycleInterval outputOnly SFTime cycleInterval_changed initializeOnly SFFloat speedFactor # [appinfo] Factor used to determine the speed increase/decrease for Fast Rewind and Fast Forward action. outputOnly SFBool isActive outputOnly SFTime startTime_changed outputOnly SFTime stopTime_changed outputOnly SFTime time_changed outputOnly SFFloat fraction_changed outputOnly SFTime secondsElapsed outputOnly SFBool isMaster # [appinfo] isMaster isRemote and isLocal are booleans represent a 3-way toggle. Only one of them can have a true value at any time. outputOnly SFBool isRemote # [appinfo] isMaster isRemote and isLocal are booleans represent a 3-way toggle. Only one of them can have a true value at any time. outputOnly SFBool isLocal # [appinfo] isMaster isRemote and isLocal are booleans represent a 3-way toggle. Only one of them can have a true value at any time. outputOnly SFBool isPaused # [appinfo] isPaused and isRunning always have opposite values. When isPaused is true isRunning will be false and vice versa. outputOnly SFBool isRunning # [appinfo] isPaused and isRunning always have opposite values. When isPaused is true isRunning will be false and vice versa. initializeOnly SFBool traceEnabled # [appinfo] Enable/disable console output for troubleshooting initializeOnly SFTime testTimeVal # [appinfo] default value -2 ][ "../../Tools/HeadsUpDisplays/DvdControllerPrototype.x3d#DvdController" "https://savage.nps.edu/Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.x3d#DvdController" "../../Tools/HeadsUpDisplays/DvdControllerPrototype.wrl#DvdController" "https://savage.nps.edu/Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.wrl#DvdController" ] # ====================================== EXTERNPROTO WaypointInterpolator [ # [appinfo] Reads waypoints and legSpeeds/legDurations/defaultSpeed to provide a customizable position/orientation interpolator. # Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) # interpolation fields # display-related fields initializeOnly SFString description # [appinfo] Short description of what is animated by this WaypointInterpolator. initializeOnly MFVec3f waypoints # [appinfo] Waypoints being traversed with interpolation of intermediate positions and orientations. inputOnly SFVec3f add_waypoint # [appinfo] Add another single waypoint to array of waypoints recalculate interpolator values. inputOnly MFVec3f set_waypoints # [appinfo] Replace all waypoints recalculate interpolator values. initializeOnly SFBool pitchUpDownForVerticalWaypoints # [appinfo] Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope initializeOnly MFFloat legSpeeds # [appinfo] Units m/sec. If used, array lengths for legSpeeds and legDurations must be one less than number of waypoints. initializeOnly MFTime legDurations # [appinfo] Units in seconds. If used, array lengths for legSpeeds and legDurations must be one less than number of waypoints. initializeOnly SFFloat defaultSpeed # [appinfo] Units m/sec. initializeOnly SFFloat turningRate # [appinfo] turningRate (degrees/second) also determines standoff distance prior to waypoint where turn commences. If 0 turns are instantaneous. outputOnly SFTime totalDuration # [appinfo] Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds. inputOnly SFFloat set_fraction # [appinfo] exposed PositionInterpolator and OrientationInterpolator setting outputOnly SFVec3f position_changed # [appinfo] exposed PositionInterpolator setting outputOnly SFRotation orientation_changed # [appinfo] exposed OrientationInterpolator setting inputOutput SFColor lineColor # [appinfo] default color for non-active line segments inputOutput SFColor highlightSegmentColor # [appinfo] active segment highlight color inputOutput SFFloat transparency # [appinfo] 1.0 is completely transparent, 0.0 is completely opaque. initializeOnly SFString labelDisplayMode # [appinfo] allowed values: none; waypoints (produce labels at each waypoint); or interpolation (produce single moving label at interpolator time course speed location) initializeOnly SFString heightLabel # [appinfo] allowed values: altitude depth (negate Y value) none initializeOnly SFVec3f labelOffset # [appinfo] heightLabel relative location initializeOnly SFFloat labelFontSize # [appinfo] heightLabel text size initializeOnly SFColor labelColor # [appinfo] heightLabel text color initializeOnly SFBool traceEnabled # [appinfo] enable console output to trace script computations and prototype progress initializeOnly SFBool outputInitializationComputations # [appinfo] Output the number of waypoints totalDistance and totalDuration to console upon initialization inputOutput SFColor verticalDropLineColor # [appinfo] default color for vertical drop-line segments inputOutput SFFloat verticalDropLineTransparency # [appinfo] 1.0 is completely transparent, 0.0 is completely opaque. ][ "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" "https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" ] # ====================================== # Main scene begins here WorldInfo { title "UW3303 Minefield Search" } NavigationInfo { speed 10 } DEF EnvironmentBackground Inline { url [ "MinefieldSearchBackground.x3d" "https://savage.nps.edu/Savage/Scenarios/UW3303MinefieldSearch/MinefieldSearchBackground.x3d" "MinefieldSearchBackground.wrl" "https://savage.nps.edu/Savage/Scenarios/UW3303MinefieldSearch/MinefieldSearchBackground.wrl" ] } DEF MinefieldGroup Group { children [ # ***** can generate multiple custom mines here ***** DEF SphericalMine1 SphericalMine { description "Spherical Mine #1" translation 5 -20 15 tetherPoints [ 0 0 0 0 -5 0 ] } ] } # ***** generate hostile submarine position ***** DEF HostileDieselSubGroup Group { children [ # Assume center of sub is 4m above keel. Thus depth submarine = depth water + 4 (negative overall). # Search program modifies actual (random) submarine position. DEF DieselLocation Transform { translation 5000 -10 5000 children [ # Don needs to split out behaviors from the other 209 models so that they are not moving. Inline { url [ "../../Submarines/Various/Type209GlafkosDieselSubmarine.x3d" "https://savage.nps.edu/Savage/Submarines/Various/Type209GlafkosDieselSubmarine.x3d" "../../Submarines/Various/Type209GlafkosDieselSubmarine.wrl" "https://savage.nps.edu/Savage/Submarines/Various/Type209GlafkosDieselSubmarine.wrl" ] } ] } ] } DEF RobotSearchGroup Group { children [ DEF MasterAnimationController DvdController { buttonColor 0.655 0.655 0.655 selectedButtonColor 0.675 0.675 0.675 selectedLabelColor 0.9 0 0 locationOffset 5 7 -10 cycleInterval 86400 speedFactor 10.0 traceEnabled FALSE } DEF Robot1 Group { children [ DEF RobotTrack1 WaypointInterpolator { # XZ coordinates are converted from Lat/Long based on the origin # The origin is the first data point waypoints [ 0 -7.19328 0 -67 -8.26008 -95 -154 -7.98576 -213 -235 -8.9916 -327 -319 -9.17448 -442 -402 -9.7536 -555 -485 -9.93648 -669 -565 -10.302239 -781 -634 -10.27176 -800 -556 -10.08888 -689 -473 -9.57072 -575 -387 -9.57072 -459 -304 -9.17448 -343 -218 -8.44296 -226 -137 -7.4980803 -112 -52 -7.7114396 4 32 -6.37032 119 115 -5.66928 234 196 -3.99288 348 278 -1.0668 460 234 -2.01168 424 150 -4.51104 308 65 -5.76072 192 -18 -6.97992 76 -102 -7.62 -38 -183 -7.89432 -154 -267 -8.56488 -269 -350 -8.80872 -383 -432 -9.4488 -494 -502 -9.50976 -592 -585 -10.0584 -706 -669 -10.180321 -803 -635 -9.78408 -699 -552 -9.692639 -584 -470 -9.41832 -473 -391 -8.86968 -361 -311 -8.90016 -252 -235 -8.26008 -146 -157 -7.83336 -38 -78 -6.76656 70 2 -5.97408 179 82 -5.4559197 289 159 -3.7490401 398 228 -0.70103997 506 145 -2.9260802 403 67 -5.0901604 296 -15 -5.76072 184 -96 -6.67512 74 -174 -7.1018395 -36 -250 -7.62 -143 -330 -8.59536 -252 -408 -8.80872 -361 -485 -9.05256 -469 -565 -9.4488 -575 -639 -9.4488 -677 -715 -9.66216 -767 -689 -9.93648 -669 -610 -9.144 -560 -532 -8.96112 -451 -452 -8.56488 -344 -374 -8.47344 -234 -298 -8.65632 -135 -229 -8.19912 -34 -157 -7.58952 62 -87 -6.5532 157 -17 -5.5473604 258 56 -4.8158402 357 128 -3.2004 457 173 -1.03632 538 98 -3.2004 441 28 -4.66344 342 -46 -5.57784 240 -109 -6.82752 136 -148 -7.43712 18 -191 -7.68096 -96 -232 -8.29056 -214 -271 -8.41248 -328 -311 -8.9916 -448 -352 -8.80872 -565 -393 -9.387839 -682 -432 -8.93064 -798 -480 -9.47928 -911 -515 -10.302239 -1030 -539 -0.18288001 -1116 -623 -11.2776 -1142 -600 -9.4488 -1032 -685 -9.05256 -911 -725 -9.08304 -731 -845 -9.50976 -687 -810 -8.8392 -565 -728 -8.93064 -450 -641 -8.77824 -328 -554 -7.8638396 -208 -469 -7.4066396 -89 -380 -6.88848 33 -294 -6.61416 152 -213 -5.9436 268 -131 -4.7244 381 -50 -3.6576 494 30 -0.82296 606 -35 -3.13944 499 -113 -4.35864 389 -196 -5.66928 274 -280 -6.5532 157 -365 -6.76656 40 -447 -7.28472 -76 -530 -7.7114396 -192 -613 -8.04672 -309 -697 -8.6868 -426 -780 -9.20496 -540 -858 -8.9916 -652 -773 -8.56488 -545 -688 -8.56488 -428 -602 -7.7724 -310 -519 -7.4066396 -191 -434 -7.22376 -74 -347 -6.52272 43 -265 -6.2484 161 -182 -5.27304 277 -96 -4.60248 394 -13 -3.2004 511 59 -0.79248 568 -6 -3.44424 452 -87 -4.66344 339 -171 -5.27304 221 -257 -6.52272 102 -341 -6.73608 -16 -424 -7.83336 -130 -508 -7.74192 -247 -591 -8.0772 -361 -674 -8.50392 -477 -756 -8.86968 -592 -802 -9.57072 -669 -715 -8.77824 -553 -630 -8.80872 -437 -545 -8.10768 -316 -462 -7.4980803 -199 -378 -7.3152 -81 -293 -6.5532 37 -209 -6.58368 150 -124 -5.36448 268 -42 -4.572 382 39 -2.83464 499 58 -1.6764 506 -24 -3.7795198 391 -106 -5.334 277 -189 -6.37032 162 -272 -6.79704 46 -355 -6.91896 -72 -437 -8.50392 -184 -519 -8.35152 -296 -596 -8.62584 -405 -674 -8.80872 -511 -750 -8.9916 -617 -776 -9.4488 -711 -695 -8.93064 -613 -619 -8.6868 -507 -543 -8.5344 -397 -465 -8.6868 -290 -385 -8.29056 -182 -309 -7.0104 -72 -233 -6.97992 35 -157 -6.37032 139 -81 -5.4864 246 -3 -4.14528 352 70 -3.32232 457 117 -0.79248 505 43 -3.3528 399 -35 -5.0901604 291 -115 -5.4864 181 -193 -6.73608 72 -272 -6.88848 -39 -350 -7.7724 -149 -426 -7.89432 -255 -504 -8.382 -365 -582 -9.11352 -471 -635 -8.86968 -545 -691 -9.41832 -621 -745 -9.6012 -697 -734 -9.540239 -777 -697 -9.57072 -860 -645 -9.540239 -943 -596 -9.692639 -1026 -547 -9.72312 -1106 ] pitchUpDownForVerticalWaypoints FALSE defaultSpeed 1.5 turningRate 90 lineColor 1 0 0 highlightSegmentColor 0.75 0.75 0 transparency 0 labelOffset 0 -0.8 0 labelFontSize 0.5 labelColor 0.3 0.9 0.6 traceEnabled FALSE } DEF TrackingTransformRobot1 Transform { children [ # Always align initial geometry with X axis Group { children [ # Point vehicle along X-axis Transform { children [ DEF RemusSideScan Inline { url [ "../../Robots/UnmannedUnderwaterVehicles/RemusSideScan.x3d" "https://savage.nps.edu/Savage/Robots/UnmannedUnderwaterVehicles/RemusSideScan.x3d" "../../Robots/UnmannedUnderwaterVehicles/RemusSideScan.wrl" "https://savage.nps.edu/Savage/Robots/UnmannedUnderwaterVehicles/RemusSideScan.wrl" ] } ] } ] } ] } ] ROUTE MasterAnimationController.fraction_changed TO RobotTrack1.set_fraction ROUTE RobotTrack1.position_changed TO TrackingTransformRobot1.translation ROUTE RobotTrack1.orientation_changed TO TrackingTransformRobot1.rotation } DEF Robot2 Group { children [ DEF RobotTrack2 WaypointInterpolator { # XZ coordinates are converted from Lat/Long based on the origin # The origin is the first data point waypoints [ 0 -7.19328 0 -67 -8.26008 -95 -154 -7.98576 -213 -235 -8.9916 -327 -319 -9.17448 -442 -402 -9.7536 -555 -485 -9.93648 -669 -565 -10.302239 -781 -634 -10.27176 -800 -556 -10.08888 -689 -473 -9.57072 -575 -387 -9.57072 -459 -304 -9.17448 -343 -218 -8.44296 -226 -137 -7.4980803 -112 -52 -7.7114396 4 32 -6.37032 119 115 -5.66928 234 196 -3.99288 348 278 -1.0668 460 234 -2.01168 424 150 -4.51104 308 65 -5.76072 192 -18 -6.97992 76 -102 -7.62 -38 -183 -7.89432 -154 -267 -8.56488 -269 -350 -8.80872 -383 -432 -9.4488 -494 -502 -9.50976 -592 -585 -10.0584 -706 -669 -10.180321 -803 -635 -9.78408 -699 -552 -9.692639 -584 -470 -9.41832 -473 -391 -8.86968 -361 -311 -8.90016 -252 -235 -8.26008 -146 -157 -7.83336 -38 -78 -6.76656 70 2 -5.97408 179 82 -5.4559197 289 159 -3.7490401 398 228 -0.70103997 506 145 -2.9260802 403 67 -5.0901604 296 -15 -5.76072 184 -96 -6.67512 74 -174 -7.1018395 -36 -250 -7.62 -143 -330 -8.59536 -252 -408 -8.80872 -361 -485 -9.05256 -469 -565 -9.4488 -575 -639 -9.4488 -677 -715 -9.66216 -767 -689 -9.93648 -669 -610 -9.144 -560 -532 -8.96112 -451 -452 -8.56488 -344 -374 -8.47344 -234 -298 -8.65632 -135 -229 -8.19912 -34 -157 -7.58952 62 -87 -6.5532 157 -17 -5.5473604 258 56 -4.8158402 357 128 -3.2004 457 173 -1.03632 538 98 -3.2004 441 28 -4.66344 342 -46 -5.57784 240 -109 -6.82752 136 -148 -7.43712 18 -191 -7.68096 -96 -232 -8.29056 -214 -271 -8.41248 -328 -311 -8.9916 -448 -352 -8.80872 -565 -393 -9.387839 -682 -432 -8.93064 -798 -480 -9.47928 -911 -515 -10.302239 -1030 -539 -0.18288001 -1116 -623 -11.2776 -1142 -600 -9.4488 -1032 -685 -9.05256 -911 -725 -9.08304 -731 -845 -9.50976 -687 -810 -8.8392 -565 -728 -8.93064 -450 -641 -8.77824 -328 -554 -7.8638396 -208 -469 -7.4066396 -89 -380 -6.88848 33 -294 -6.61416 152 -213 -5.9436 268 -131 -4.7244 381 -50 -3.6576 494 30 -0.82296 606 -35 -3.13944 499 -113 -4.35864 389 -196 -5.66928 274 -280 -6.5532 157 -365 -6.76656 40 -447 -7.28472 -76 -530 -7.7114396 -192 -613 -8.04672 -309 -697 -8.6868 -426 -780 -9.20496 -540 -858 -8.9916 -652 -773 -8.56488 -545 -688 -8.56488 -428 -602 -7.7724 -310 -519 -7.4066396 -191 -434 -7.22376 -74 -347 -6.52272 43 -265 -6.2484 161 -182 -5.27304 277 -96 -4.60248 394 -13 -3.2004 511 59 -0.79248 568 -6 -3.44424 452 -87 -4.66344 339 -171 -5.27304 221 -257 -6.52272 102 -341 -6.73608 -16 -424 -7.83336 -130 -508 -7.74192 -247 -591 -8.0772 -361 -674 -8.50392 -477 -756 -8.86968 -592 -802 -9.57072 -669 -715 -8.77824 -553 -630 -8.80872 -437 -545 -8.10768 -316 -462 -7.4980803 -199 -378 -7.3152 -81 -293 -6.5532 37 -209 -6.58368 150 -124 -5.36448 268 -42 -4.572 382 39 -2.83464 499 58 -1.6764 506 -24 -3.7795198 391 -106 -5.334 277 -189 -6.37032 162 -272 -6.79704 46 -355 -6.91896 -72 -437 -8.50392 -184 -519 -8.35152 -296 -596 -8.62584 -405 -674 -8.80872 -511 -750 -8.9916 -617 -776 -9.4488 -711 -695 -8.93064 -613 -619 -8.6868 -507 -543 -8.5344 -397 -465 -8.6868 -290 -385 -8.29056 -182 -309 -7.0104 -72 -233 -6.97992 35 -157 -6.37032 139 -81 -5.4864 246 -3 -4.14528 352 70 -3.32232 457 117 -0.79248 505 43 -3.3528 399 -35 -5.0901604 291 -115 -5.4864 181 -193 -6.73608 72 -272 -6.88848 -39 -350 -7.7724 -149 -426 -7.89432 -255 -504 -8.382 -365 -582 -9.11352 -471 -635 -8.86968 -545 -691 -9.41832 -621 -745 -9.6012 -697 -734 -9.540239 -777 -697 -9.57072 -860 -645 -9.540239 -943 -596 -9.692639 -1026 -547 -9.72312 -1106 ] pitchUpDownForVerticalWaypoints FALSE defaultSpeed 1.5 turningRate 90 lineColor 0 1 0 highlightSegmentColor 0.75 0.75 0 transparency 0 labelOffset 0 -0.8 0 labelFontSize 0.5 labelColor 0.3 0.9 0.6 traceEnabled FALSE } DEF TrackingTransformRobot2 Transform { children [ # Always align initial geometry with X axis Group { children [ # Point vehicle along X-axis Transform { children [ USE RemusSideScan ] } ] } ] } ] ROUTE MasterAnimationController.fraction_changed TO RobotTrack2.set_fraction ROUTE RobotTrack2.position_changed TO TrackingTransformRobot2.translation ROUTE RobotTrack2.orientation_changed TO TrackingTransformRobot2.rotation } DEF Robot3 Group { children [ DEF RobotTrack3 WaypointInterpolator { # XZ coordinates are converted from Lat/Long based on the origin # The origin is the first data point waypoints [ 0 -7.19328 0 -67 -8.26008 -95 -154 -7.98576 -213 -235 -8.9916 -327 -319 -9.17448 -442 -402 -9.7536 -555 -485 -9.93648 -669 -565 -10.302239 -781 -634 -10.27176 -800 -556 -10.08888 -689 -473 -9.57072 -575 -387 -9.57072 -459 -304 -9.17448 -343 -218 -8.44296 -226 -137 -7.4980803 -112 -52 -7.7114396 4 32 -6.37032 119 115 -5.66928 234 196 -3.99288 348 278 -1.0668 460 234 -2.01168 424 150 -4.51104 308 65 -5.76072 192 -18 -6.97992 76 -102 -7.62 -38 -183 -7.89432 -154 -267 -8.56488 -269 -350 -8.80872 -383 -432 -9.4488 -494 -502 -9.50976 -592 -585 -10.0584 -706 -669 -10.180321 -803 -635 -9.78408 -699 -552 -9.692639 -584 -470 -9.41832 -473 -391 -8.86968 -361 -311 -8.90016 -252 -235 -8.26008 -146 -157 -7.83336 -38 -78 -6.76656 70 2 -5.97408 179 82 -5.4559197 289 159 -3.7490401 398 228 -0.70103997 506 145 -2.9260802 403 67 -5.0901604 296 -15 -5.76072 184 -96 -6.67512 74 -174 -7.1018395 -36 -250 -7.62 -143 -330 -8.59536 -252 -408 -8.80872 -361 -485 -9.05256 -469 -565 -9.4488 -575 -639 -9.4488 -677 -715 -9.66216 -767 -689 -9.93648 -669 -610 -9.144 -560 -532 -8.96112 -451 -452 -8.56488 -344 -374 -8.47344 -234 -298 -8.65632 -135 -229 -8.19912 -34 -157 -7.58952 62 -87 -6.5532 157 -17 -5.5473604 258 56 -4.8158402 357 128 -3.2004 457 173 -1.03632 538 98 -3.2004 441 28 -4.66344 342 -46 -5.57784 240 -109 -6.82752 136 -148 -7.43712 18 -191 -7.68096 -96 -232 -8.29056 -214 -271 -8.41248 -328 -311 -8.9916 -448 -352 -8.80872 -565 -393 -9.387839 -682 -432 -8.93064 -798 -480 -9.47928 -911 -515 -10.302239 -1030 -539 -0.18288001 -1116 -623 -11.2776 -1142 -600 -9.4488 -1032 -685 -9.05256 -911 -725 -9.08304 -731 -845 -9.50976 -687 -810 -8.8392 -565 -728 -8.93064 -450 -641 -8.77824 -328 -554 -7.8638396 -208 -469 -7.4066396 -89 -380 -6.88848 33 -294 -6.61416 152 -213 -5.9436 268 -131 -4.7244 381 -50 -3.6576 494 30 -0.82296 606 -35 -3.13944 499 -113 -4.35864 389 -196 -5.66928 274 -280 -6.5532 157 -365 -6.76656 40 -447 -7.28472 -76 -530 -7.7114396 -192 -613 -8.04672 -309 -697 -8.6868 -426 -780 -9.20496 -540 -858 -8.9916 -652 -773 -8.56488 -545 -688 -8.56488 -428 -602 -7.7724 -310 -519 -7.4066396 -191 -434 -7.22376 -74 -347 -6.52272 43 -265 -6.2484 161 -182 -5.27304 277 -96 -4.60248 394 -13 -3.2004 511 59 -0.79248 568 -6 -3.44424 452 -87 -4.66344 339 -171 -5.27304 221 -257 -6.52272 102 -341 -6.73608 -16 -424 -7.83336 -130 -508 -7.74192 -247 -591 -8.0772 -361 -674 -8.50392 -477 -756 -8.86968 -592 -802 -9.57072 -669 -715 -8.77824 -553 -630 -8.80872 -437 -545 -8.10768 -316 -462 -7.4980803 -199 -378 -7.3152 -81 -293 -6.5532 37 -209 -6.58368 150 -124 -5.36448 268 -42 -4.572 382 39 -2.83464 499 58 -1.6764 506 -24 -3.7795198 391 -106 -5.334 277 -189 -6.37032 162 -272 -6.79704 46 -355 -6.91896 -72 -437 -8.50392 -184 -519 -8.35152 -296 -596 -8.62584 -405 -674 -8.80872 -511 -750 -8.9916 -617 -776 -9.4488 -711 -695 -8.93064 -613 -619 -8.6868 -507 -543 -8.5344 -397 -465 -8.6868 -290 -385 -8.29056 -182 -309 -7.0104 -72 -233 -6.97992 35 -157 -6.37032 139 -81 -5.4864 246 -3 -4.14528 352 70 -3.32232 457 117 -0.79248 505 43 -3.3528 399 -35 -5.0901604 291 -115 -5.4864 181 -193 -6.73608 72 -272 -6.88848 -39 -350 -7.7724 -149 -426 -7.89432 -255 -504 -8.382 -365 -582 -9.11352 -471 -635 -8.86968 -545 -691 -9.41832 -621 -745 -9.6012 -697 -734 -9.540239 -777 -697 -9.57072 -860 -645 -9.540239 -943 -596 -9.692639 -1026 -547 -9.72312 -1106 ] pitchUpDownForVerticalWaypoints FALSE defaultSpeed 1.5 turningRate 90 lineColor 0.2 0.2 1 highlightSegmentColor 0.75 0.75 0 transparency 0 labelOffset 0 -0.8 0 labelFontSize 0.5 labelColor 0.3 0.9 0.6 traceEnabled FALSE } DEF TrackingTransformRobot3 Transform { children [ # Always align initial geometry with X axis Group { children [ # Point vehicle along X-axis Transform { children [ USE RemusSideScan ] } ] } ] } ] ROUTE MasterAnimationController.fraction_changed TO RobotTrack3.set_fraction ROUTE RobotTrack3.position_changed TO TrackingTransformRobot3.translation ROUTE RobotTrack3.orientation_changed TO TrackingTransformRobot3.rotation } DEF Robot4 Group { children [ DEF RobotTrack4 WaypointInterpolator { # XZ coordinates are converted from Lat/Long based on the origin # The origin is the first data point waypoints [ 0 -7.19328 0 -67 -8.26008 -95 -154 -7.98576 -213 -235 -8.9916 -327 -319 -9.17448 -442 -402 -9.7536 -555 -485 -9.93648 -669 -565 -10.302239 -781 -634 -10.27176 -800 -556 -10.08888 -689 -473 -9.57072 -575 -387 -9.57072 -459 -304 -9.17448 -343 -218 -8.44296 -226 -137 -7.4980803 -112 -52 -7.7114396 4 32 -6.37032 119 115 -5.66928 234 196 -3.99288 348 278 -1.0668 460 234 -2.01168 424 150 -4.51104 308 65 -5.76072 192 -18 -6.97992 76 -102 -7.62 -38 -183 -7.89432 -154 -267 -8.56488 -269 -350 -8.80872 -383 -432 -9.4488 -494 -502 -9.50976 -592 -585 -10.0584 -706 -669 -10.180321 -803 -635 -9.78408 -699 -552 -9.692639 -584 -470 -9.41832 -473 -391 -8.86968 -361 -311 -8.90016 -252 -235 -8.26008 -146 -157 -7.83336 -38 -78 -6.76656 70 2 -5.97408 179 82 -5.4559197 289 159 -3.7490401 398 228 -0.70103997 506 145 -2.9260802 403 67 -5.0901604 296 -15 -5.76072 184 -96 -6.67512 74 -174 -7.1018395 -36 -250 -7.62 -143 -330 -8.59536 -252 -408 -8.80872 -361 -485 -9.05256 -469 -565 -9.4488 -575 -639 -9.4488 -677 -715 -9.66216 -767 -689 -9.93648 -669 -610 -9.144 -560 -532 -8.96112 -451 -452 -8.56488 -344 -374 -8.47344 -234 -298 -8.65632 -135 -229 -8.19912 -34 -157 -7.58952 62 -87 -6.5532 157 -17 -5.5473604 258 56 -4.8158402 357 128 -3.2004 457 173 -1.03632 538 98 -3.2004 441 28 -4.66344 342 -46 -5.57784 240 -109 -6.82752 136 -148 -7.43712 18 -191 -7.68096 -96 -232 -8.29056 -214 -271 -8.41248 -328 -311 -8.9916 -448 -352 -8.80872 -565 -393 -9.387839 -682 -432 -8.93064 -798 -480 -9.47928 -911 -515 -10.302239 -1030 -539 -0.18288001 -1116 -623 -11.2776 -1142 -600 -9.4488 -1032 -685 -9.05256 -911 -725 -9.08304 -731 -845 -9.50976 -687 -810 -8.8392 -565 -728 -8.93064 -450 -641 -8.77824 -328 -554 -7.8638396 -208 -469 -7.4066396 -89 -380 -6.88848 33 -294 -6.61416 152 -213 -5.9436 268 -131 -4.7244 381 -50 -3.6576 494 30 -0.82296 606 -35 -3.13944 499 -113 -4.35864 389 -196 -5.66928 274 -280 -6.5532 157 -365 -6.76656 40 -447 -7.28472 -76 -530 -7.7114396 -192 -613 -8.04672 -309 -697 -8.6868 -426 -780 -9.20496 -540 -858 -8.9916 -652 -773 -8.56488 -545 -688 -8.56488 -428 -602 -7.7724 -310 -519 -7.4066396 -191 -434 -7.22376 -74 -347 -6.52272 43 -265 -6.2484 161 -182 -5.27304 277 -96 -4.60248 394 -13 -3.2004 511 59 -0.79248 568 -6 -3.44424 452 -87 -4.66344 339 -171 -5.27304 221 -257 -6.52272 102 -341 -6.73608 -16 -424 -7.83336 -130 -508 -7.74192 -247 -591 -8.0772 -361 -674 -8.50392 -477 -756 -8.86968 -592 -802 -9.57072 -669 -715 -8.77824 -553 -630 -8.80872 -437 -545 -8.10768 -316 -462 -7.4980803 -199 -378 -7.3152 -81 -293 -6.5532 37 -209 -6.58368 150 -124 -5.36448 268 -42 -4.572 382 39 -2.83464 499 58 -1.6764 506 -24 -3.7795198 391 -106 -5.334 277 -189 -6.37032 162 -272 -6.79704 46 -355 -6.91896 -72 -437 -8.50392 -184 -519 -8.35152 -296 -596 -8.62584 -405 -674 -8.80872 -511 -750 -8.9916 -617 -776 -9.4488 -711 -695 -8.93064 -613 -619 -8.6868 -507 -543 -8.5344 -397 -465 -8.6868 -290 -385 -8.29056 -182 -309 -7.0104 -72 -233 -6.97992 35 -157 -6.37032 139 -81 -5.4864 246 -3 -4.14528 352 70 -3.32232 457 117 -0.79248 505 43 -3.3528 399 -35 -5.0901604 291 -115 -5.4864 181 -193 -6.73608 72 -272 -6.88848 -39 -350 -7.7724 -149 -426 -7.89432 -255 -504 -8.382 -365 -582 -9.11352 -471 -635 -8.86968 -545 -691 -9.41832 -621 -745 -9.6012 -697 -734 -9.540239 -777 -697 -9.57072 -860 -645 -9.540239 -943 -596 -9.692639 -1026 -547 -9.72312 -1106 ] pitchUpDownForVerticalWaypoints FALSE defaultSpeed 1.5 turningRate 90 lineColor 0.4 0.4 0 highlightSegmentColor 0.75 0.75 0 transparency 0 labelOffset 0 -0.8 0 labelFontSize 0.5 labelColor 0.3 0.9 0.6 traceEnabled FALSE } DEF TrackingTransformRobot4 Transform { children [ # Always align initial geometry with X axis Group { children [ # Point vehicle along X-axis Transform { children [ USE RemusSideScan ] } ] } ] } ] ROUTE MasterAnimationController.fraction_changed TO RobotTrack4.set_fraction ROUTE RobotTrack4.position_changed TO TrackingTransformRobot4.translation ROUTE RobotTrack4.orientation_changed TO TrackingTransformRobot4.rotation } ] }