3dgeo-heidelberg / helios

http://uni-heidelberg.de/helios
Other
182 stars 43 forks source link

Using 2 scanners in simulation #367

Open Hannes9 opened 1 year ago

Hannes9 commented 1 year ago

Describe the solution you'd like Is there a possibility in HELIOS to use 2 scanners (e.g. one horizontal with different height, and one vertical one) in one simulation ?

Describe alternatives you've considered To do 2 simulations with seperated scanners included and merging e.g. the resulted point cloud afterwards would be an alternative or ?

Additional context I want to simulate this total scanning device. (see picture below) featured-image-Navvis-onperson

Thanks a lot !

han16nah commented 1 year ago

Dear @Hannes9

yes, it is possible to define a MultiScanner as documented here in the Wiki. So for your application, you would add a new scanner to scanners_tls.xml, which has two "channels". For each channel, you can define a different beamOrigin with the position relative to the platform) and a rotation (rot).

This could look somewhat like this (assuming you are using something like the simple_linearpath platform):

<scanner id="navvis_vlx_3" ...> <!-- put all the scanner settings here like accuracy, wavelength, pulse frequency, max. scan angle, etc. -->
    <channels>
        <channel id="0">
            <beamOrigin x="0" y="0" z="1.9"> <!-- the one on top -->
                        <rot axis="y" angle_deg="90"/> <!-- to scan horizontally --> 
                    </beamOrigin>
        </channel>
        <channel id="1">
            <beamOrigin x="0" y="0.3" z="1.3"> <!-- the one at the front -->
                        <rot axis="z" angle_deg="90"/> <!-- to scan (vertically) towards the side -->
                    </beamOrigin>
        </channel>
    </channels>
</scanner>

(Not tested though 😉)

When executing the surveys, you can then add the option --splitByChannel to get one file per device or leave it out to get the merged point clouds from both devices (per leg, as always).

I hope this helps. Good luck, and just ask if you have further questions.

Best,

Hannah

Hannes9 commented 1 year ago

Dear Hannah,

Thanks for the quick response and that already helped. From my understanding one scanner can have multiple channels (see pictures from the manual of the scanner). So for my correct application I guess I need to add in total 64 channels (for both scanners) and 32 of each with different z and y values for in front and on top of a person, right ?

I am now wondering where I have to put the Vertical Angle setting for each of those channels (see table). I think i have to add another row with the code e.g. on top of the person for the 1st channel <rot axis="x" angle_deg="19.5"/> , right ? And then for each channel on top of the person the same way. I think for the channels in the scanner of the front of the person I have to adapt the z rotation angle for each channel, right ?

Yes I want to get the merged one directly, thanks for the info.

Thanks in adcance.

32_Channels Channel-Distribution Channels

han16nah commented 1 year ago

Ah yes, of course, I should have recognized the multi-channel scanners :D You can have a look at the velodyne scanners in scanners_tls.xml which show how to orientate the different channels using the rot tag in beamOrigin. And then combine with the rotation needed to tilt the device itself.

Tbh, I would probably run two simulations for each of the two scanners, but of course, you can also create a single scanner with 64 channels :)

han16nah commented 1 year ago

Not better, just a bit easier to debug I guess

Hannes9 commented 1 year ago

Alright I understand.

Perfect, thanks a lot ! :)

Hannes9 commented 1 year ago

Is there a possibility to set up the differentiation of Laser Emitter and Laser Receiver in Helios ? (see Figure 1.5 from previous message and Figure 1.6 below)

grafik

lwiniwar commented 1 year ago

Hi @Hannes9 ,

no, this feature is not available in HELIOS++.

Cheers, Lukas

Hannes9 commented 1 year ago

Hi Lukas,

Alright, Thanks for the fast respone ! :)

Best, Hannes

Hannes9 commented 1 year ago

Hi @han16nah or @lwiniwar,

I tried to implement now the new Multi-Channel Multi-scanner from above (see Figure 1.5). Somehow I still get this error message shown below. I attached the whole Code in Scanners_als.xml from my new created scanner below as well. grafik

I was also wondeirng why those lines (see below) are marked differently (line 400-402 in code). Do maybe have an idea about that ?

grafik

<!-- ##### BEGIN Hesai XT32M2X ##### -->
    <scanner    id                          = "hesai_XT32M2X"
                accuracy_m                  = "0.01"        
                beamDivergence_rad          = "0.0005"
                name                        = "Hesai XT32M2X 32-Channel Medium-Range Mechanical Lidar"
                optics                      = "rotating"
                pulseFreqs_Hz               = "50000,100000,200000,300000,380000,550000"
                pulseLength_ns              = "4"
                averagePower_w              = "10"
                rangeMin_m                  = "0.5"
                rangeMax_m                  = "300"
                scanAngleMax_deg            = "360"
                scanAngleEffectiveMax_deg   = "345"
                scanFreqMin_Hz              = "10"
                scanFreqMax_Hz              = "200"
                wavelength_nm               = "905">                <!-- added accuracy, wavelength, etc. from XT32M2X 32-Channel Medium-Range Mechanical Lidar data sheet -->

        <channels>
        <!-- BEGIN channels on scanner on top -->
            <channel id="0">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="19.5" />
                </beamOrigin>
            </channel>
            <channel id="1">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="18.2" />
                </beamOrigin>
            </channel>
            <channel id="2">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="16.9" />
                </beamOrigin>
            </channel>
            <channel id="3">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="15.6" />
                </beamOrigin>
            </channel>
            <channel id="4">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="14.3" />
                </beamOrigin>
            </channel>
            <channel id="5">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="13.0" />
                </beamOrigin>
            </channel>
            <channel id="6">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="11.7" />
                </beamOrigin>
            </channel>
            <channel id="7">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="10.4" />
                </beamOrigin>
            </channel>
            <channel id="8">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="9.1" />
                </beamOrigin>
            </channel>
            <channel id="9">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="7.8" />
                </beamOrigin>
            </channel>
            <channel id="10">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="6.5" />
                </beamOrigin>
            </channel>
            <channel id="11">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="5.2" />
                </beamOrigin>
            </channel>
            <channel id="12">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="3.9" />
                </beamOrigin>
            </channel>
            <channel id="13">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="2.6" />
                </beamOrigin>
            </channel>
            <channel id="14">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="1.3" />
                </beamOrigin>
            </channel>
            <channel id="15">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="0.0" />
                </beamOrigin>
            </channel>
            <channel id="16">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-1.3" />
                </beamOrigin>
            </channel>
            <channel id="17">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-2.6" />
                </beamOrigin>
            </channel>
            <channel id="18">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-3.9" />
                </beamOrigin>
            </channel>
            <channel id="19">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-5.2" />
                </beamOrigin>
            </channel>
            <channel id="20">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-6.5" />
                </beamOrigin>
            </channel>
            <channel id="21">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-7.8" />
                </beamOrigin>
            </channel>
            <channel id="22">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-9.1" />
                </beamOrigin>
            </channel>
            <channel id="23">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-10.4" />
                </beamOrigin>
            </channel>
            <channel id="24">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-11.7" />
                </beamOrigin>
            </channel>
            <channel id="25">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-13.0" />
                </beamOrigin>
            </channel>
            <channel id="26">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-14.3" />
                </beamOrigin>
            </channel>
            <channel id="27">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-15.6" />
                </beamOrigin>
            </channel>
            <channel id="28">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-16.9" />
                </beamOrigin>
            </channel>
            <channel id="29">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-18.2" />
                </beamOrigin>
            </channel>
            <channel id="30">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-19.5" />
                </beamOrigin>
            </channel>
            <channel id="31">
                <beamOrigin x="0" y="0.0305" z="1.9">
                    <rot axis="x" angle_deg="-20.8" />
                </beamOrigin>
            </channel>
            <!-- END channels on scanner on top -->
            <!-- BEGIN channels on scanner in front -->
            <channel id="32">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-19.5" />
                </beamOrigin>
            </channel>
            <channel id="33">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-18.2" />
                </beamOrigin>
            </channel>
            <channel id="34">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-16.9" />
                </beamOrigin>
            </channel>
            <channel id="35">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-15.6" />
                </beamOrigin>
            </channel>
            <channel id="36">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-14.3" />
                </beamOrigin>
            </channel>
            <channel id="37">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-13.0" />
                </beamOrigin>
            </channel>
            <channel id="38">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-11.7" />
                </beamOrigin>
            </channel>
            <channel id="39">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-10.4" />
                </beamOrigin>
            </channel>
            <channel id="40">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-9.1" />
                </beamOrigin>
            </channel>
            <channel id="41">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-7.8" />
                </beamOrigin>
            </channel>
            <channel id="42">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-6.5" />
                </beamOrigin>
            </channel>
            <channel id="43">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-5.2" />
                </beamOrigin>
            </channel>
            <channel id="44">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-3.9" />
                </beamOrigin>
            </channel>
            <channel id="45">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-2.6" />
                </beamOrigin>
            </channel>
            <channel id="46">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="-1.3" />
                </beamOrigin>
            </channel>
            <channel id="47">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="0.0" />
                </beamOrigin>
            </channel>
            <channel id="48">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="1.3" />
                </beamOrigin>
            </channel>
            <channel id="49">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="2.6" />
                </beamOrigin>
            </channel>
            <channel id="50">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="3.9" />
                </beamOrigin>
            </channel>
            <channel id="51">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="5.2" />
                </beamOrigin>
            </channel>
            <channel id="52">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="6.5" />
                </beamOrigin>
            </channel>
            <channel id="53">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="7.8" />
                </beamOrigin>
            </channel>
            <channel id="54">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="9.1" />
                </beamOrigin>
            </channel>
            <channel id="55">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="10.4" />
                </beamOrigin>
            </channel>
            <channel id="56">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="11.7" />
                </beamOrigin>
            </channel>
            <channel id="57">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="13.0" />
                </beamOrigin>
            </channel>
            <channel id="58">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="14.3" />
                </beamOrigin>
            </channel>
            <channel id="59">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="15.6" />
                </beamOrigin>
            </channel>
            <channel id="60">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="16.9" />
                </beamOrigin>
            </channel>
            <channel id="61">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="18.2 />
                </beamOrigin>
            </channel>
            <channel id="62">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="19.5" />
                </beamOrigin>
            </channel>
            <channel id="63">
                <beamOrigin x="0" y="0" z="1.335">
                    <rot axis="z" angle_deg="90" />
                    <rot axis="y" angle_deg="90" />
                    <rot axis="x" angle_deg="20.8" />
                </beamOrigin>
            </channel>
            <!-- END channels on scanner in front -->
        </channels>
    </scanner>
    <!-- ##### END Hesai XT32M2X ##### --> ```
lwiniwar commented 1 year ago

Hi @Hannes9 ,

you are missing a closing quotation mark (") here: image

Hannes9 commented 1 year ago

Hi Lukas,

True, I'm sorry that I somehow didn't see that one. It is working now, thanks a lot !

Hannes9 commented 1 year ago

Another topic: I have now a problem with executing the simulation along all waypoints. In the following you can see that the simulation somehow stops after the 1st leg even more legs are provided. I didn't change anything in the survey.xml file except setting the onGround parameter and deleting the heights z values as they are no longer needed then.

grafik Animation is just going from the first waypoint to the second waypoint as well and then it stops.

Code of survey.xml:

<document>
    <platformSettings id="platform1" movePerSec_m="50" onGround="true" />
    <scannerSettings id="scanner1" active="true" verticalResolution_deg="1.3" horizontalResolution_deg="0.36" headRotateStart_deg="0" headRotateStop_deg="360" scanAngle_deg="20.15" pulseFreq_hz="100000" trajectoryTimeInterval_s="0.01"/>
    <survey name="tum_data_mls" platform="data/platforms.xml#navvis-vlx-3-on-person" scanner="data/scanners_als.xml#hesai_XT32M2X" scene="data/scenes/owndata/tum_scene/tum_scene.xml#tum_scene_DL">
    <!-- platform: person, deflector: rotating -->
        <leg>
            <platformSettings  template="platform1" x="2697480" y="5349130"/>
            <scannerSettings  template="scanner1"/>
        </leg>
        <leg>
            <platformSettings  template="platform1" x="2697500" y="5349250"/>
            <scannerSettings  template="scanner1"/>
        </leg>
        <leg>
            <platformSettings  template="platform1" x="2697450" y="5349250"/>
            <scannerSettings  template="scanner1"/>
        </leg>
        <leg>
            <platformSettings  template="platform1" x="2697430" y="5349190"/>
            <scannerSettings  template="scanner1"/>
        </leg>
        <leg>
            <platformSettings  template="platform1" x="2697550" y="5349170"/>
            <scannerSettings  template="scanner1"/>
        </leg>
    </survey>
</document>
lwiniwar commented 1 year ago

Hi @Hannes9, please provide your platforms.xml as well. Thanks!

Hannes9 commented 1 year ago

Hi.

Sure, the below. I have already the thought that it might happened, because for the other legs which are outside of the building, there is no z-value (height) defined then or ? -> Because of the onGround parameter.


<platform id="navvis-vlx-3-on-person" name="NavVis VLX 3 on person" type="linearpath">
        <scannerMount x="0" y="0" z="0">
            <rot axis="x" angle_deg="0" />  
        </scannerMount>
        <!--<positionXNoise
            clipMin="0.0" clipMax="0.0" clipEnabled="false" fixedLifespan="1"
            type="NORMAL" mean="0.0" stdev="0.02"/>
        <positionYNoise
            clipMin="0.0" clipMax="0.0" clipEnabled="false" fixedLifespan="1"
            type="NORMAL" mean="0.0" stdev="0.02"/>
        <positionZNoise
            clipMin="0.0" clipMax="0.0" clipEnabled="false" fixedLifespan="1"
            type="NORMAL" mean="0.0" stdev="0.02"/>
        <attitudeXNoise
            clipMin="0.0" clipMax="0.0" clipEnabled="false" fixedLifespan="1"
            type="NORMAL" mean="0.0" stdev="0.001"/>
        <attitudeYNoise
            clipMin="0.0" clipMax="0.0" clipEnabled="false" fixedLifespan="1"
            type="NORMAL" mean="0.0" stdev="0.001"/>
        <attitudeZNoise
            clipMin="0.0" clipMax="0.0" clipEnabled="false" fixedLifespan="1"
            type="NORMAL" mean="0.0" stdev="0.001"/>-->
    </platform>```
han16nah commented 1 year ago

Hi Hannes, yes, that sounds like a likely explanation. If your platform is not at the same XY-location as your scenepart with the helios_isGround parameter set to true in the material library file (.mtl), then this will cause problems. So maybe expand whatever you use as "ground" or add another large ground plane or so.

Cheers,

Hannah

Hannes9 commented 1 year ago

Hi Hannah.

I am not using the helios_isGround paramter, but the onGround parameter in the platformSettings in the survey.xml. Still I will try adding another ground plane and changing the waypoints within the scenepart. Probably one of those should work.

Thansk ! :)

han16nah commented 1 year ago

Ah sorry, I confused it with ground positioning of the scene parts, sorry

You're right. For the platform, HELIOS++ determines the ground as the lowest z-coordinate in the scene data at the xy-position of the leg. So if there is no object at that location, no platform z-value can be computed. Hope it works with the respective scene/waypoint modifications 🤞 :)

Hannes9 commented 1 year ago

Hm, it is still taking only one leg. I added a groundplane and modified the waypoints, so that they are withing the scenparts.

han16nah commented 1 year ago

Did it work before replacing z values by the onGround parameter?

Hannes9 commented 1 year ago

I tried it with onGround="false" z="470"/> again and it is also not working.

It looks like it is not stopping at the 2nd waypoint and goes somehow to infinity maybe after the 1st waypoint (see picture below) !(https://github.com/3dgeo-heidelberg/helios/assets/86365462/5140d47d-8b00-4301-8862-6d8976fde00c)

han16nah commented 1 year ago

Is it correct that you want the scanner to rotate? If so, I guess you want it to rotate continuously, not just on 360° rotation? Can you try setting the value for headRotateStop_deg to something much higher, to allow for many rotations of the scanner?

You may have a look at example notebook 12, which uses the Puck for both static and dynamic surveys.

If you provide a headRotateStop_deg, the leg will be terminated once that angle is reached (cf. TLS surveys). I guess this is before reaching the next waypoint so that's why your simulation stops.

Using the rotation speed (headRotatePerSec_deg) and your rotation range (difference between headRotateStop_deg and headRotateStart_deg), you can calculate how many seconds the scan will take.

Hannes9 commented 1 year ago

Yes, continously. With headRotateStart_deg and headRotateStop_deg I wanted to set the FOV (horizontal) to continously 360 degrees, not only 90 degrees. So it is contiously scanning everything around 360 degrees within every leg.

I changed headRotateStop_deg to 36000, but the simulations looks unchanged. I added the headRotatePerSec_deg with 10 as well.

I'll have a look on this notebook.

Hannes9 commented 1 year ago

This is my survey.xml file now, but it the simulation is still going beyond the 2nd waypoint. `<?xml version="1.0"?>

`

Hannes9 commented 1 year ago

I solved it with just removing the headRotateStop_deg. Would that mean that the FOV (horizontal) is still 360° anyways ?