Skip to content
This repository has been archived by the owner on Feb 15, 2022. It is now read-only.

Commit

Permalink
Fix point spacing issues (#23)
Browse files Browse the repository at this point in the history
- Fix issues with non-symmetric vertical FOVs
- Add ALS & TLS surveys/scenes for testing
- Move vertical resolution print to deflector implementations
- Change max angle for VZ1000
  • Loading branch information
deuxbot committed Jul 21, 2018
1 parent 13c858b commit 4e8913b
Show file tree
Hide file tree
Showing 12 changed files with 477 additions and 388 deletions.
366 changes: 183 additions & 183 deletions data/scanners_tls.xml
Original file line number Diff line number Diff line change
@@ -1,183 +1,183 @@
<?xml version="1.0"?>

<document>

<!-- ############### BEGIN Realistic Scanners (Do NOT MODIFY unless data is really wrong!!!) ############### -->

<!-- ##### BEGIN RIEGL VZ-400 ##### -->
<!-- http://www.riegl.com/uploads/tx_pxpriegldownloads/10_DataSheet_VZ-400_2017-06-14.pdf -->
<scanner id = "riegl_vz400"
name = "RIEGL VZ-400"
visModel = "scanners/vz400/vz400.obj"
accuracy_m = "0.005"
beamDivergence_rad = "0.0003"
headRotatePerSecMax_deg = "60"

optics = "rotating"
pulseFreqs_Hz = "100000,300000"
pulseLength_ns = "5"
rangeMin_m = "1.5"
scanAngleMax_deg = "60"
scanAngleMin_deg = "-40"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "3"
scanFreqMax_Hz = "120">

<beamOrigin x="0" y="0" z="0.2">
<rot axis="roll" angle_deg="0" />
<rot axis="yaw" angle_deg="0" />
<rot axis="pitch" angle_deg="10" />
</beamOrigin>
<headRotateAxis x="0" y="0" z="1"/>

<!--####### BEGIN New stuff ####### -->
<head type="default"
rotatePerSecMax_rad="60">
rotAxis_x="0"
rotAxis_y="0"
rotAxis_z="1"/>
</head>

<emitter type = "default"
beamDivergence_rad = "0.00035"
pulseFreqs_Hz = "100000,300000"
pulseLength_ns = "5">

<beamOrigin x="0" y="0" z="0.2">
<rot axis="roll" angle_deg="0" />
<rot axis="yaw" angle_deg="0" />
<rot axis="pitch" angle_deg="10" />
</beamOrigin>
</emitter>

<deflector type = "rotating"
scanAngleMax_deg = "123"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "3"
scanFreqMax_Hz = "120"/>

<detector accuracy_m = "0.005"
rangeMin_m = "1.5"/>

<!--####### END New stuff ####### -->

<emitter type="default"></emitter>

</scanner>
<!-- ##### END RIEGL VZ-400 ##### -->


<!-- ##### BEGIN RIEGL VZ-1000 ##### -->
<scanner id = "riegl_vz1000"
accuracy_m = "0.005"
beamDivergence_rad = "0.0003"
headRotatePerSecMax_deg = "60"
name = "RIEGL VZ-1000"
optics = "rotating"
pulseFreqs_Hz = "70000,300000"
pulseLength_ns = "4"
rangeMin_m = "2.5"
scanAngleMax_deg = "123"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "3"
scanFreqMax_Hz = "120"
visModel = "scanners/vz400/vz400.obj"
/>
<!-- ##### END RIEGL VZ-1000 ##### -->

<!-- ##### BEGIN FARO Focus X130 ##### -->
<!-- NOTE: FARO Focus X30 appears to have the same specs -->
<!-- All faro x130 pulse frequencies: 122, 244,488, 976 -->
<scanner id = "faro_focus_x130"
accuracy_m = "0.002"
beamDivergence_rad = "0.00019"
headRotatePerSecMax_deg = "60"
name = "FARO Focus X130"
optics = "rotating"
pulseFreqs_Hz = "122000,976000"
pulseLength_ns = "4"
rangeMin_m = "0.6"
scanAngleMax_deg = "150"
scanAngleEffectiveMax_deg = "150"
scanFreqMin_Hz = "0"
scanFreqMax_Hz = "97"
visModel = "scanners/vz400/vz400.obj"
wavelength_nm = "1550"
/>

<!-- ##### END FARO Focus X130 ##### -->


<!-- ##### BEGIN FARO Photon 120 ##### -->
<!-- NOTE: This scanner works with phase shift, not time-of-flight! -->
<!-- All faro photon 120 pulse frequencies: 122, 244,488, 976 -->
<scanner id = "faro_photon_120"
accuracy_m = "0.002"
beamDivergence_rad = "0.00016"
headRotatePerSecMax_deg = "60"
name = "FARO Focus X130"
optics = "rotating"
pulseFreqs_Hz = "122000,976000"
pulseLength_ns = "4"
rangeMin_m = "0.6"
scanAngleMax_deg = "160"
scanAngleEffectiveMax_deg = "160"
scanFreqMin_Hz = "0"
scanFreqMax_Hz = "48"
visModel = "scanners/vz400/vz400.obj"
wavelength_nm = "785"
/>

<!-- ##### END FARO Focus X130 ##### -->


<!-- ############### END Realistic Scanners (Do NOT MODIFY unless data is really wrong!!!) ############### -->


<!-- ############### BEGIN "Fantasy" Scanners ############### -->



<!-- ##### BEGIN Tractor scanner ##### -->
<scanner id = "tractorscanner"
accuracy_m = "0"
beamDivergence_rad = "0.00035"
name = "Tractor Scanner"
optics = "oscillating"
pulseFreqs_Hz = "1000,50000,100000,200000"
pulseLength_ns = "4"
rangeMin_m = "0"
scanAngleMax_deg = "30"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "100"
scanFreqMax_Hz = "50"
visModel = "scanners/vz400/vz400.obj"
/>
<!-- ##### END Tractor scanner ##### -->

<!-- ############### END "Fantasy" Scanners ############### -->

<!--######## BEGIN RIEGL VQ-450 ####### -->
<scanner
id="riegl_vq-450"
accuracy_m="0.008"
beamDivergence_rad="0.0003"
name="RIEGL VQ-450" optics="rotating"
pulseFreqs_Hz="150000,200000,300000,380000,550000,550000"
pulseLength_ns="4"
rangeMin_m="1.5"
scanAngleMax_deg="360"
scanAngleEffectiveMax_deg="360"
scanFreqMin_Hz="10"
scanFreqMax_Hz="200"
visModel="scanners/vux-1uav/vux-1uav.obj">

<beamOrigin x="0" y="0.14" z="0.126">
<rot axis="pitch" angle_deg="90" />
<rot axis="yaw" angle_deg="90" />
</beamOrigin>
<headRotateAxis x="0" y="0" z="1" />
</scanner>
<!--######## END RIEGL VQ-450 ####### -->

</document>
<?xml version="1.0"?>

<document>

<!-- ############### BEGIN Realistic Scanners (Do NOT MODIFY unless data is really wrong!!!) ############### -->

<!-- ##### BEGIN RIEGL VZ-400 ##### -->
<!-- http://www.riegl.com/uploads/tx_pxpriegldownloads/10_DataSheet_VZ-400_2017-06-14.pdf -->
<scanner id = "riegl_vz400"
name = "RIEGL VZ-400"
visModel = "scanners/vz400/vz400.obj"
accuracy_m = "0.005"
beamDivergence_rad = "0.0003"
headRotatePerSecMax_deg = "60"

optics = "rotating"
pulseFreqs_Hz = "100000,300000"
pulseLength_ns = "5"
rangeMin_m = "1.5"
scanAngleMax_deg = "60"
scanAngleMin_deg = "-40"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "3"
scanFreqMax_Hz = "120">

<beamOrigin x="0" y="0" z="0.2">
<rot axis="roll" angle_deg="0" />
<rot axis="yaw" angle_deg="0" />
<rot axis="pitch" angle_deg="10" />
</beamOrigin>
<headRotateAxis x="0" y="0" z="1"/>

<!--####### BEGIN New stuff ####### -->
<head type="default"
rotatePerSecMax_rad="60">
rotAxis_x="0"
rotAxis_y="0"
rotAxis_z="1"/>
</head>

<emitter type = "default"
beamDivergence_rad = "0.00035"
pulseFreqs_Hz = "100000,300000"
pulseLength_ns = "5">

<beamOrigin x="0" y="0" z="0.2">
<rot axis="roll" angle_deg="0" />
<rot axis="yaw" angle_deg="0" />
<rot axis="pitch" angle_deg="10" />
</beamOrigin>
</emitter>

<deflector type = "rotating"
scanAngleMax_deg = "123"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "3"
scanFreqMax_Hz = "120"/>

<detector accuracy_m = "0.005"
rangeMin_m = "1.5"/>

<!--####### END New stuff ####### -->

<emitter type="default"></emitter>

</scanner>
<!-- ##### END RIEGL VZ-400 ##### -->


<!-- ##### BEGIN RIEGL VZ-1000 ##### -->
<scanner id = "riegl_vz1000"
accuracy_m = "0.005"
beamDivergence_rad = "0.0003"
headRotatePerSecMax_deg = "60"
name = "RIEGL VZ-1000"
optics = "rotating"
pulseFreqs_Hz = "70000,300000"
pulseLength_ns = "4"
rangeMin_m = "2.5"
scanAngleMax_deg = "60"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "3"
scanFreqMax_Hz = "120"
visModel = "scanners/vz400/vz400.obj"
/>
<!-- ##### END RIEGL VZ-1000 ##### -->

<!-- ##### BEGIN FARO Focus X130 ##### -->
<!-- NOTE: FARO Focus X30 appears to have the same specs -->
<!-- All faro x130 pulse frequencies: 122, 244,488, 976 -->
<scanner id = "faro_focus_x130"
accuracy_m = "0.002"
beamDivergence_rad = "0.00019"
headRotatePerSecMax_deg = "60"
name = "FARO Focus X130"
optics = "rotating"
pulseFreqs_Hz = "122000,976000"
pulseLength_ns = "4"
rangeMin_m = "0.6"
scanAngleMax_deg = "150"
scanAngleEffectiveMax_deg = "150"
scanFreqMin_Hz = "0"
scanFreqMax_Hz = "97"
visModel = "scanners/vz400/vz400.obj"
wavelength_nm = "1550"
/>

<!-- ##### END FARO Focus X130 ##### -->


<!-- ##### BEGIN FARO Photon 120 ##### -->
<!-- NOTE: This scanner works with phase shift, not time-of-flight! -->
<!-- All faro photon 120 pulse frequencies: 122, 244,488, 976 -->
<scanner id = "faro_photon_120"
accuracy_m = "0.002"
beamDivergence_rad = "0.00016"
headRotatePerSecMax_deg = "60"
name = "FARO Focus X130"
optics = "rotating"
pulseFreqs_Hz = "122000,976000"
pulseLength_ns = "4"
rangeMin_m = "0.6"
scanAngleMax_deg = "160"
scanAngleEffectiveMax_deg = "160"
scanFreqMin_Hz = "0"
scanFreqMax_Hz = "48"
visModel = "scanners/vz400/vz400.obj"
wavelength_nm = "785"
/>

<!-- ##### END FARO Focus X130 ##### -->


<!-- ############### END Realistic Scanners (Do NOT MODIFY unless data is really wrong!!!) ############### -->


<!-- ############### BEGIN "Fantasy" Scanners ############### -->



<!-- ##### BEGIN Tractor scanner ##### -->
<scanner id = "tractorscanner"
accuracy_m = "0"
beamDivergence_rad = "0.00035"
name = "Tractor Scanner"
optics = "oscillating"
pulseFreqs_Hz = "1000,50000,100000,200000"
pulseLength_ns = "4"
rangeMin_m = "0"
scanAngleMax_deg = "30"
scanAngleEffectiveMax_deg = "50"
scanFreqMin_Hz = "100"
scanFreqMax_Hz = "50"
visModel = "scanners/vz400/vz400.obj"
/>
<!-- ##### END Tractor scanner ##### -->

<!-- ############### END "Fantasy" Scanners ############### -->

<!--######## BEGIN RIEGL VQ-450 ####### -->
<scanner
id="riegl_vq-450"
accuracy_m="0.008"
beamDivergence_rad="0.0003"
name="RIEGL VQ-450" optics="rotating"
pulseFreqs_Hz="150000,200000,300000,380000,550000,550000"
pulseLength_ns="4"
rangeMin_m="1.5"
scanAngleMax_deg="360"
scanAngleEffectiveMax_deg="360"
scanFreqMin_Hz="10"
scanFreqMax_Hz="200"
visModel="scanners/vux-1uav/vux-1uav.obj">

<beamOrigin x="0" y="0.14" z="0.126">
<rot axis="pitch" angle_deg="90" />
<rot axis="yaw" angle_deg="90" />
</beamOrigin>
<headRotateAxis x="0" y="0" z="1" />
</scanner>
<!--######## END RIEGL VQ-450 ####### -->

</document>
23 changes: 23 additions & 0 deletions data/scenes/test/barrier.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<document>
<scene id="barrier" name="Barrier">
<sunDir x="0" y="1" z="-1" />
<skybox azimuth_deg="275" texturesFolder="textures/sky/sky6_1024"/>
<part>
<filter type="objloader">
<param type="string" key="filepath" value="data\sceneparts\basic\groundplane\groundplane.obj" />
</filter>
<filter type="rotate">
<param type="rotation" key="rotation">
<rot axis="pitch" angle_deg="270" />
</param>
</filter>
<filter type="translate">
<param type="vec3" key="offset" value="0;-50;0" />
</filter>
<filter type="scale">
<param type="double" key="scale" value="10" />
</filter>
</part>
</scene>
</document>
Loading

0 comments on commit 4e8913b

Please sign in to comment.