Laser Scanning - Ouster OS - 20
Description
Driver to decode laser data from an Ouster high-performance digital lidar sensor.
The following product models are supported by this driver:
- the ultra-wide view OS0 sensor
- the mid-range all-around OS1 sensor
- the long range OS2 sensor
And for each model all possible configurations are supported: 32, 64 or 128 channels.
All sensors use Laser class 1, which is eye-safe.
Driver Information
Driver | Ouster OS | Interface Type | Freebase/UDP/TCP | Driver Class Type | Freebase |
---|---|---|---|---|---|
UTC Driver | Yes | Input / Output | Input (UDP)/Output (TCP) | Executable | DrvLaser.exe OUSTER |
Related Systems |
| ||||
Related Pages |
System Interfacing
Interface Box
The sensor comes with an integrated cable that is terminated inside the Interface Box, which provides convenient connections for Power, Ethernet and GNSS/Timing inputs.
Please consult Ouster's own User Manual for all the interfacing details.
Network Connection
All communication between Qinsy and the sensor goes via a LAN network which is accessible through the Ethernet connection of the Interface Box.
Two connections will be established by the driver: a TCP in order to communicate with the scanner (two-way) and a UDP connection for receiving the continuous lidar data stream.
Note that the driver will act as TCP Client.
The exact IP Address of the laser unit should be provided by the manufacturer or your re-seller or is stated in the documentation that comes with your scanner.
The IP Address of your Qinsy computer's network should be in the same range, except for the last digit: this must be a unique number.
Example: suppose the IP address of your sensor is 10.22.92.20.
Then you could use 100 as last digit for your Qinsy computer network.
Use for the Subnet mask the values 255.255.255.0
To change the network address of your computer, go to the PC Settings, find the Network and Internet, Network and Sharing Center, Change adapter settings, Click right-mouse on Local Area Connection, Properties, Internet Protocol Version 4 (TCP/IPv4) and finally select Properties.
It is advisable to check the network connection between your computer and the unit prior to going online.
You may do this by using the Web GUI interface or by simply using the ping command from the Windows Command Prompt:
Select Start from the Windows Task bar, Run..., Cmd <Enter>, and 'ping' the address of the laser.
The network connection is okay when you receive a reply three times within a few milliseconds.
Timing
Due to network characteristics in general and because of possible latency inside the scanner, time stamping upon arrival may result in inaccurate and variable timing.
Therefore timing via Time Synchronization (aka PPS) pulse from a GNSS is highly recommended.
This means that your sensor must be interfaced to an external Time Synchronization pulse from a GNSS receiver and a UTC time-tag message from the same receiver.
With this scanner it can be done quick and easy using the dedicated connectors of the Interface Box:
Quick reference:
Pin | Meaning |
---|---|
MULTIPURPOSE_IO | NMEA Message |
SYNC_PULSE_IN | PPS Pulse |
GND | Ground |
- The only UTC time-tag message that is supported by the scanner is the NMEA $GPRMC format.
- Only two baudrates are supported for this NMEA message: 9600 or 115200.
- Note that Qinsy must also be interfaced to a valid Time Synchronization system.
- For further details of all these connectors please consult the Ouster User Manual.
How can I check if timing is accepted by the sensor?
On the scanner itself there no indication if the timing interfacing is correct, so check the following before going online with Qinsy:
- Is the green led (called SYNC_PULSE) on the Interface box flashing every second?
If it does it means that the incoming PPS pulse is accepted. - Use a terminal application to send the command 'get_time_info' to TCP Port 7501 and analyze the response message.
Most convenient for this is to use the I/O Test Utility that comes with Qinsy:
- Add a new port and 'Connect to' as TCP Client, set the exact IP address of your sensor, use Port number 7501 and press OK.
- Type in the bottom pane exactly the command 'get_time_info' and press enter.
- In the Receive pane you will see the response from the sensor which will be ASCII text formatted as so-called JSON.
Find the two fields "locked" in the response message and make sure that both fields have the value 1.
Response message example: - Finally, make sure to disconnect (just quit this I/O Test Utility program) otherwise you can't go online.
- First make sure that all the offline checks are passed.
- Qinsy must be interfaced to a valid Time Synchronization system.
- Laser control setting 'Use PPS" must be set to Yes.
See for more information the Qinsy Online paragraph, section Controller. - In the same Laser control settings (Events List) or in the daily laser log file you must see the message "Pulse: Locked, NMEA: Locked".
- Use a Generic Display to monitor the Status Flag and the Ping Age.
The Status flag value must be 2 and the Ping Age (seconds) must be close to zero.
See for more information the Qinsy Online paragraph, section Displays. - Perform a latency calibration.
Note that for this procedure you need accurate RTK positioning.
1. Scan a clear, thin shaped object (e.g. light post) statically (not moving).
2. Scan the same object while passing by on a moving vehicle as slowly as possible.
3. Scan the same object on a moving vehicle, in the same direction, but now as fast as possible.
Examine the point clouds from the three scans: the scanned object should be in the exact same location.
In that case timing is okay.
However, if the objects are separated, then determine the latency (in seconds) from the vehicle's speed and measured separation distance.
In order to solve latency problems, please check again the Sensor's Configuration Timing settings (Web GUI Control).
For example: when you find a latency of exactly 1 second, it it most likely caused by a wrong Sync Pulse In Polarity setting (ACTIVE_LOW or ACTIVE_HIGH).
Web GUI Control
When there is a successful network connection, you could use a standard web browser in order to communicate directly with the scanner and enter some initial settings.
Enter the IP address of the scanner in the address bar of the browser (in this example http://10.22.92.20/) and the following page should appear:
First thing to check is the firmware: make sure that your sensor uses the latest firmware. Contact your vendor about this or check the Ouster website for the latest version.
Note that the Qinsy driver requires at least firmware version 2.1.3.
Further, there are some important initial settings that you should check before going online with Qinsy, so therefore select menu Configuration:
Network | |
---|---|
UDP Destination Address: | This must be the exact IP address of your Qinsy computer. See also the Network section of this System Interfacing paragraph. |
UDP Port Lidar: | This exact port number must be entered in the system wizard of your template database setup. See for this the Qinsy Config paragraph. Recommend to leave the value to 7502 and use a different port number when your setup contains another sensor. |
UDP Port IMU: | This port is not used by the driver. (The IMU data that is being streamed by the sensor to this port is not used by Qinsy) |
This section contains settings which are fully controlled by Qinsy while being online.
In order to avoid out-of-sync behavior between Qinsy and the sensor it is highly recommended not to change these Mode settings using the Web GUI.
Therefore see the Qinsy Online paragraph of how to change the Lidar Mode and the Operating Mode (Start/Stop scanning)
Mode | |
---|---|
Lidar Mode | Use instead the Lidar Mode setting as found in the Qinsy Online, Controller, Echosounder Control Settings |
Operating Mode | Use instead the Start/Stop Action as found in the Qinsy Online, Controller, Echosounder Control Settings |
Azimuth Window | Leave this to 0 - 360000 Use instead the Horizontal Area Selection as found in the Qinsy Online, Controller, Echosounder Control Settings |
Signal Multiplier | Leave at 1 |
UDP Profile Lidar | LEGACY The UDP Profile Lidar Mode was introduced with firmware v3. If you see this setting make sure to select LEGACY |
Timing is an important section of the Web GUI in case you need accurate timing of all your data, so make sure to set these settings right before going online.
"See also the Timing section of this System Interfacing paragraph."
The most important settings are:
Timing | |
---|---|
Timestamp Mode: | Select TIME_FROM_SYNC_PULSE_IN This will force the sensor to use the incoming PPS Pulse. |
Multipurpose IO Mode: | Select INPUT_NMEA_UART This will force the sensor to use the incoming NMEA $GPRMC message. |
NMEA In Polarity: | ACTIVE_LOW or ACTIVE_HIGH If Timing is not accepted (see the Timing section of this paragraph) please try the other option. Note that when using RS-232 this setting most likely should be ACTIVE_LOW. |
NMEA Baudrate | BAUD_9600 or BAUD_115200 Select here the baudrate of the NMEA $GPRMC message. |
NMEA Leap Seconds | Leave at 0 (zero) when the time in the NMEA $GPRMC message is UTC time (which is the most likely scenario). However, when the time in the message is actually GPS time, then you should enter here the current UTC to GP correction (18 sec. since Jan 2017). |
Sync Pulse In Polarity | ACTIVE_LOW or ACTIVE_HIGH This setting tells you whether the PPS pulse arrives before or after the corresponding NMEA message. When this setting is wrong, you will most likely see a 'one' second latency in your scanned data. |
Leave all other settings at their defaults when the time is accepted as described in the Timing section of this paragraph or try other options when not. |
Ouster Studio
Ouster has developed their own GUI visualizer software.
Note that this software does not need to be installed for Qinsy but may come in handy to determine
a) a possible unknown IP address of the sensor,
b) checking the network connection and
c) visualize already streamed data before going online with Qinsy.
Download Ouster Studio (v4.2.1 at time of writing) from the Ouster website and install the software on the Qinsy computer.
Please do not run (connect) this software simultaneously with Qinsy Online otherwise you may experience network connection conflicts.
Determine the exact IP address of the sensor
Select from the pull-down menu the option File, Open, Sensor Stream...
A dialog will pop up starting scanning the network for a connected sensor. When a sensor has been found you can find the IP address behind the sensor's host name.
This is the IP address that you have to use in the system setup of your template database (see Qinsy Config paragraph, section Wizard Page 1).
Configuration
Connect to sensor and when this is successful you can view and/or modify the same settings as you can with the Web GUI.
This section contains settings which are fully controlled by Qinsy while working online.
In order to avoid out-of-sync behavior between Qinsy and the sensor it is highly recommended not to change these Mode settings using OusterStudio.
Sensor Config | |
---|---|
UDP IP: | The IP address of your Qinsy computer. |
UDP Lidar Port: | This exact port number must be entered in the system wizard of your template database setup. See for this the Qinsy Config paragraph. Recommend to leave the value at 7502 and use a different port number when your setup contains another sensor. |
UDP IMU Port: | This port is not used by the driver. (The IMU data that is being streamed by the sensor to this port is not used by Qinsy) |
Lidar Mode | Use instead the Lidar Mode setting as found in the Qinsy Online, Controller, Echosounder Control Settings |
Operating Mode | Use instead the Start/Stop Action as found in the Qinsy Online, Controller, Echosounder Control Settings |
Azimuth Window | Leave this at 0 - 360000 Use instead the Horizontal Area Selection as found in the Qinsy Online, Controller, Echosounder Control Settings |
Signal Multiplier | Leave at 1 |
The most important settings are:
Advanced Configuration | |
---|---|
Timestamp Mode: | Select TIME_FROM_SYNC_PULSE_IN This will force the sensor to use the incoming PPS Pulse. |
Sync Pulse In Polarity | ACTIVE_LOW or ACTIVE_HIGH This setting tells you whether the PPS pulse arrives before or after the corresponding NMEA message. When this setting is wrong you will most likely see a 'one' second latency in your scanned data. |
NMEA In Polarity: | ACTIVE_LOW or ACTIVE_HIGH If Timing is not accepted (see the Timing section of this paragraph) please try the other option. Note that when using RS-232 this setting most likely should be ACTIVE_LOW. |
NMEA Baud Rate | BAUD_9600 or BAUD_115200 Select here the baudrate of the NMEA $GPRMC message. |
NMEA Leap Seconds | Leave at 0 (zero) when the time in the NMEA $GPRMC message is UTC time (which is the most likely scenario). However when the time in the message is actually GPS time then you should enter here the current UTC to GP correction (18 sec since Jan 2017). |
Multipurpose IO Mode: | Select INPUT_NMEA_UART This will force the sensor to use the incoming NMEA $GPRMC message. |
Leave all other settings at their defaults when the time is accepted as described in the Timing section of this paragraph or try other options when not. |
The alert information may be handy to troubleshoot when something is wrong.
Note that these alerts can also be monitored using the Web GUI Diagnostic page or when using the [REQUEST ALERTS] Action as found in the Qinsy Online, Controller, Echosounder Control Settings.
It is highly recommended that the sensor uses a fixed IP address.
Otherwise you will need to change the template database setup every time a new address has been assigned by the DHCP server.
Qinsy Setup
Database Setup
You will find the laser system driver under category type Multibeam Echosounders because internally a laser sensor is treated as a multibeam system: creating multibeam x/y/z observations.
Multibeam versus Laser scanning terminology: ping = scan = swath = line, footprint = pixel = pulse = fire = channel = return
Add a Multibeam Echosounder system to your template setup and select from the driver list "Laser Scanning - Ouster OS".
Note that the driver will automatically detect the specific product model that you are using.
- The Port number will by default be 7502 and should be the same as the UDP Port Lidar set in the Web GUI Network Configuration (see paragraph System Interfacing).
(Note that this driver does not decode nor use IMU data that the scanner may output to the other UDP Port IMU) - This user-interface doesn't allow to enter the local host name address so here you enter the exact IP Address of the laser scanner.
In this example it is 10.22.92.20. - Leave the Maximum update rate at zero.
- Select the Transducer Node location that represents the sensor data origin (0, 0, 0) of the laser scanner.
- The mounting angle offsets (Roll, Pitch and Heading offset) should be established with a calibration procedure.
It is important to select the correct Scanner Mounting in the Qinsy Online setup: in that case you can leave the Roll, Pitch and Heading offsets close to zero so you don't have to use values anymore like +270 or -90, etc. Leave the Max. beams per ping value at 32768.
If you use a 64 channel model you may set this value to 16384 or 8192 for a 32 channel model but in order to avoid conflicts just leave it to this default max value.
The actual number of beams will be variable and depends, for example, on the used on-line settings and on the targets being scanned. You will notice that under normal survey conditions the actual number of beams will be much lower.
Example Mobile Scanner Setup
-- no picture --
In this setup the sensor has been mounted on the back of a car in order to scan the road: 90° backward tilted with the cable pointing down.
Therefore you will need to select in the online setup for the Scanner Mounting setting "Backward Tilted, Cable Down", so the default mounting angle offsets will stay close to 0° after calibration.
- You may leave all parameters at their defaults and continue to the last wizard page.
- Leave all parameters at their defaults and press Finish.
Qinsy Online
Controller
Select Echosounder Settings, click on the Laser System icon and select the 'Control' tab page.
Here you can set the sensor's specific setting Lidar Mode and you can control the start and stop of the scanning.
(To change Network and Timing specific sensor settings you should use the Web GUI as described under System Interfacing)
Control | Device Settings |
---|---|
Connected | In order to communicate with the scanner, the driver must make a network connection first. This attempt to connect will always be done automatically when going online.
When you go offline the driver will automatically disconnect the network connection but you may also manually disconnect first by selecting No. |
Action | Selected action will be send to the laser unit, immediately after hitting the Apply or OK button. You must have initialized the connection first in order to select any action. Note that any selection will always revert back to [None], after each selected action. Always wait a few moments after each action, until the status in the Event list is updated with a message. It takes some time before the unit handles the requested command (action) and reverts back.
|
Scanner Mounting | This is a very important setting and it informs the driver how the scanner is physically mounted on the vehicle, with respect to its heading.
More mounting scenarios are predefined and may be selected. Please contact QPS in case your setup is not listed You can only change this setting when not connected. |
Lidar Mode | The lidar mode is a combination of the horizontal resolution and the sensor spinning rate (full rotations per second)
Always check the message in the Events list if the lidar mode was changed successfully. Note that in order to change the Lidar Mode you need to stop the scanner first. Do not to use the sensor's Web GUI to change the lidar mode while working online to avoid out-of-sync behavior problems. |
Scan Interval | Set to 1 to accept all scans so in this case the horizontal angle between two consecutive scans will be the smallest to the selected lidar mode. To use every n-th scan only, set the interval greater than 1. E.g. a value of 2 will result in a minimum horizontal rotation increment of 1.4° when lidar mode is 512 x 10Hz and a scan interval of 10 will result in a horizontal increment of 1.8° when lidar mode is 2048 x 10 Hz. Note that excluded data due to this setting will not be recorded! |
Vertical Area Selection | The physical vertical scan area comprises 32, 64 or 128 channels (depends on the model being used) and yields 90, 45 or 22.5 degrees. The first channel (Laser 1) looks upward, the nadir looks forward (+0 degree) and the last channel (laser 32, 64 or 128) looks downward (for a horizontally mounted scanner).
Note that blocked data due to this setting will not be recorded! |
Horizontal Area Selection | A full circle scan goes from 0 to 360 degrees, with a minimum angle step that depends on the selected lidar mode. 0 degrees means forward, 90 degrees means right (starboard side), 180 degrees looking backward, which is the cable direction, 270 means left (port side).
(Note the label before and after the '/': the label before the '/' is useful when your sensor is mounted normally (flat) and the label after the '/' makes sense when your scanner is mounted tilted) The Horizontal Area selection will be corrected for the selected Scanner Mounting, which means that when you have selected the correct scanner mounting, then Starboard will be starboard, Port will be port, etc. Make sure that the Azimuth Window Mode setting in the Web GUI is set to 0 (Start) and 360000 (End). Note that blocked data due to this setting will not be recorded! |
Minimum Range Maximum Range | Set the minimum required / maximum allowed range in meters. Valid values: 1 to 240 meters. A value of less than 1 meter is possible, and the scanner may return data within this distance, but the manufacturer does not recommend to use ranges less than 1 meter. Using this setting is recommended, but be careful: blocked data due to this setting (i.e. all returns outside these range limits) will not be recorded! |
Minimum Intensity Maximum Intensity | Set the minimum required and maximum allowed intensity. For this validation the signal intensity photons of the returned measurements are used and not the calibrated reflectivity. Notice that blocked data due to this setting (i.e. all returns outside these intensity limits) will not be recorded! |
Store Laser Location | If enabled, an additional pixel with zero range will be added to each line scan, in order to indicate the exact laser scanner location in the resulting point cloud. This extra pixel will always have beam number 0, and its intensity and quality values will be zero. |
Use PPS | This setting is highly recommended in order to use exact time stamping of the laser data. When enabled, the laser unit must receive a valid PPS/Time Synchronization pulse from an external GNSS receiver and UTC time-tag message. See Timing in the System Interfacing section for more information. Note that this option is disabled while connected, so change setting Connected first from Yes to No in order to change it. |
Latency | Enter a fixed latency value in milliseconds. When PPS/Time Synchronization is not used, time stamping of the data is done when the data packet is received at the UDP port. A latency can be provided by the manufacturer or you may establish a value using a latency calibration procedure. This option is only available when PPS is not used for timing. |
Session Storage Format Specifier | This format specifier can be used in combination with the Controller Session Storage Format Specifier #E The following specifiers are supported (plus your own free text): #N: Name of the system The format specifiers are case-sensitive. If you use lower-case then only a value or index number will be displayed. So if you use #E in the Session Storage Setup the filename of the newly recorded database will automatically contain the scanner settings that you were using. |
Generic Display
Use a Generic Display for showing various numerical values decoded from each scan:
the number of beams (points, laser returns) per second, the ping rate (10 or 20 Hz), the ping age (sec), status indicators, etc.
- The Ping Age is the difference between the current Qinsy computer time and the time of the last received data package.
This value should be small, around zero! So it is an important value to monitor especially when setting 'Use PPS' is enabled.
So for example if you notice a very high Ping Age value (+ve or -ve), then this is a severe indication that the initial timing inside the laser unit is wrong. - Use the Status Flag value as an indicator whether NMEA/PPS is accepted or not.
When NMEA/PPS is used and accepted then the status flag value will be 2 and otherwise 0. Special item reserved1 represents a integer value (between 0 and 9) indicating the model being used:
reserved1 The sensor model being used 0 Unknown 1 OS0-32 2 OS0-64 3 OS0-128 4 OS1-32 5 OS1-64 6 OS1-128 7 OS2-32 8 OS2-64 9 OS2-128 Special item reserved4 represents the used horizontal angle resolution (derived from the lidar mode):
reserved4 The Lidar Mode being used 512 512 x 10/20 1024 1024 x 10/20 2048 2048 x 10
Raw Multibeam Display
Use this display to visualize the raw incoming laser points, relative to the laser center and uncorrected for motion.
The display will give you a good indication of a) whether data is coming in b) what the approximate width and height extents of the data are and c) the intensity distribution.
Use the Auto Scale button to show all data from the last ping inside the view, but bear in mind that all 3D laser data is presented in a 2D way.
The following View Properties are quite useful when you want to color code the points on Intensity (like in the example above on the left side):
- Select for Color Coding Backscatter which means that the intensity attribute (signal intensity photons) will be used.
- Set the Backscatter Intensity min/max scale between 0 and the maximum expected intensity value (in this example 200).
To determine the maximum intensity value use the Average Beam Intensity Distribution View: press toolbar button 'D' or use pull-down menu View, View Mode, Average Beam Intensity Distribution.
The X-scale (horizontal scale) contains the intensity value. - For a static scan (scanner not moving) you should use Waterfall scrolling with 0 pixels for both directions.
Swath System Display
Use this display to visualize the calculated DTM results.
DTM results are the final geo-referenced laser points fully corrected for motion and timing.
Here you can show data from multiple systems, for example your laser scanner simultaneously with a subsurface multibeam system.
It is recommended to enable the Scaled Display setting to have a preserved aspect ratio of the vertical and horizontal axes.
Bear in mind that like the Raw Multibeam Display all 3D laser data is presented in a 2D way.
3D Point Cloud Display
Use this display to visualize the calculated DTM results in a 3D environment.
DTM results are the final geo-referenced laser points fully corrected for motion and timing.
For point color coding use the Sensors settings to select your Color scheme attribute: e.g color coding on Depth (=-Height) or on Intensity as in the example above.
Also use the Sensor settings to show or hide the ping fan.
It is highly recommend to use a small Time window (e.g. 5 - 10 seconds) for keeping all data points in the view.
When you experience performance problems it is advisable not to use this display at all, especially when recording laser data.
Therefore only use this display if you have a high-end spec video card.
During replay and offline processing there shouldn't be any restrictions for using this display.
Trouble shooting
No Data or Irregular Data
Problem
You have made a successful network connection with Qinsy but
a) no laser data is coming in, or
b) the data stream becomes very intermittent, or
c) the data looks suddenly irregular.
Note that this problem may depend on the selected lidar mode and when it occurs the mode is probably 2028 x 10Hz or 1024 x 20Hz.
- Try the 'lowest' lidar mode (512 x 10Hz) and see if the problem remains.
- Go offline with Qinsy and connect to the scanner using the manufacturer's Ouster Studio software.
Check that the same behavior is also seen here.
Possible Explanation
- This may well be caused by the scanner being powered with a too low voltage.
- Another explanation may be that the network card being used is not fast enough.
Solution
- Please check the power of the scanner. Consult the sensor's user manual or data sheet for the required voltage specifications.
- Use another network adapter, make sure that its speed is at least 1 GB.
Unknown Sensor
Problem
You have made a successful network connection with Qinsy but in the Events list the driver reports back 'Sensor: UNKNOWN' or that the driver fails to send commands.
Possible Explanation
Firmware of the sensor is not the latest.
Note that the Qinsy driver requires at least firmware version 2.1.3.
Solution
Update the sensor's firmware.
See paragraph Web GUI Control in the System Interfacing section for more information about this.
Other Problems
Check the Alert messages from the scanner for detailed information about possible warnings and/or errors.
How
- Use Web GUI Diagnostic page
- Use Ouster Studio's Sensor Alerts dialog
- Use action [REQUEST ALERTS] in the (Qinsy Online) Controller, Echosounder Control Settings.
Note that this action will log all alert messages in the daily laser log file (as mentioned below on this page).
If you experience problems using your laser scanner in combination with this driver or if you need additional information or support then please attach the daily laser log-file when submitting your JIRA support ticket.
At the bottom of this section you'll find the information on where to find this daily laser log file
Network Problems
Windows Firewall
A commonly reported problem is that network data is blocked by the Windows Firewall.
When this happens you may see that data does come in using other utilities (like the I/O Tester or the manufacturer's own software), but that the Qinsy driver does not accept any data.
The following (Windows 10) steps may solve this:
Go offline, open the PC Settings (Start menu, Settings)
Select Windows Firewall (Update & Security, Windows Security, Firewall & network protection)
Select Advanced settings
Select Inbound Rules, highlight all 'Driver for Laser Scanning' entries and delete them using the right mouse popup menu (or Del key)
If you now go online, the Windows Security Alert message will pop up: It is important to tick all three check boxes!
Multiple Network Cards
Another possible problem could be that your computer has more than one network card installed (e.g. LAN and WIFI), but within the same sub-net mask range (255.255.255.0).
It is recommended to make the first three digits unique for each network card IP address.
You may check the daily laser log-file; it will show the IP addresses for all available network adapters and indicates which one the driver will use:
Please check that the driver is using the correct one!
Missing Data
If you occasionally experience gaps in your data, this may be caused by a general Windows setting that affects the data throughput of your network card.
Change the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\NetworkThrottlingIndex
Set the new value to ffffffff (which will tell Windows to disable network throttling) and restart the computer.
Note that disabling network throttling may affect playing multimedia on your computer, but for laser scanning operations it is advisable to have a maximum data throughput of your network.
Daily Laser Log File
All user actions, system information and reported errors are logged in a daily laser log file which can be found in the current project's LogFiles subfolder.
The filename convention for this ASCII log-file is <System Name> DD-MM-YYYY.log, so every day there will be a new one.
Note that all time stamps in this log file are by default in UTC. An advanced user may change this to local time zone (LTZ) by changing the registry key:
HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvLaser\Settings\TimeLogFileUtc value from 1 to 0.
Miscellaneous
Improve Performance
Due to the enormous amount of data to be expected while scanning and recording, it is recommended to keep the system overhead as low as possible.
Here you'll find some tips and tricks in order to fine-tune your setup.
However, these are not strict rules, because each project is different and depends on the current situation and hardware being used. Your goal should be to keep your system CPU usage as low as possible.
HARDWARE
Storage
Make use of Solid State Drive (SSD), or fast SATA hard drive (7200 - 10000 rpm).
Network
Your network card speed should never be lower than the scanner's network speed. Use a network card that can be configured for 100Mbit or 1Gbit speed. Do not use USB Networking Adapters, because this may result in loss of data when huge amounts of data are being broadcast.
Virus Scanner
Disable Virus Scanner or at least the setting 'Scan Files when Writing/Reading to/from disk'.
Task Manager CPU
General Task Manager CPU Usage should be less than 50%. CPU load of each display must be less than 10-15%.
Make sure that the 'Working Set (Memory)' column for process Multibeamer.exe and/or DrvResultOut.exe is not constantly increasing, especially during recording. For detailed information about this see the section Real-time Performance Monitoring below.
PROJECT PREPARATION
Controller Laser Device Settings
During project preparation, establish the optimum settings in order to achieve the required results.
The most benefit you will gain from setting the Min/Max Range limits, Scan Speed, Scan Rate, Scan Resolution, Angle Resolution, Vertical Area Selection, Scan Area Selection and Sector Reduction as well as possible.
Especially the Vertical or Scan Area Selection is very important. Make use of Mask schemes to define areas which you don't want to scan.
ONLINE
Raw Multibeam Display
Open only one Raw Multibeam Display and more important: do not use the options 'Show Big Dots' or 'Draw Lines'.
Navigation Display
Open only one Navigation Display.
Preferably disable DXF and TIFF layers or other big background files. Note that these layers should only be used during project preparation.
When 'object tracking' is enabled, do not zoom in too close. Keep in mind that the display should not be 'refreshed' more than 1x per second.
3D Point Cloud Display
It is not recommended to use a 3D Point Cloud Display, unless your hardware contains a high-spec video card.
Under Sensor settings set the Time window setting to a short period, e.g. 10 sec
Sounding Grid / Dynamic Surface
Storage to a grid is not recommended and should be purely for display purposes: e.g. for checking the scan coverage or for showing the 95% Confidence Level statistics.
If you do want to see the scan coverage then it is advisable to store to a sounding grid and not to the dynamic surface
Do not use a small cell-size; preferably not less than 1.0 meter.
If you notice in the Navigation Display that the real-time sounding grid is updated with a delay then please increase the cell-size or disable the storage completely.
Note that in Replay (offline) there are no limitations and you may use small cell-sizes, e.g. 0.10 meter.
OFFLINE
Replay
In Replay there are no limitations as mentioned above: use as many displays as you like, store to sounding grids with small cell-sizes, update the dynamic surface, etc.
All this may only affect the replay speed, but the data integrity of your final DTM processing files should be fine.
COMPUTATION SETUP
While working online, disabling the laser system in your Computation Setup will have the most effect on the performance
The final footprints will not be geo-referenced, nor corrected for motion, heading or timing in real-time, which will save a tremendous amount of CPU power and memory usage.
This tip allows you to get the most out of your scanner: maximum scanning speed and maximum scanning rate, without the risk of losing scans due to performance issues.
Drawback is that no DTM file (e.g. QPD) is created, nor a sounding grid is filled, while working online.
In order to create a final DTM and/or Sounding Grid file you just need to Replay the recorded databases afterwards.
Real-time Performance Monitoring
When the scan data rate is too high, the other core Qinsy processes may not be able to handle the amount of data published by the driver (too many pixels/sec.) and in the past it would eventually crash the system.
An extra safety check has been implemented in order to prevent crashing of Qinsy: abnormal memory usage will be detected and when it exceeds a certain threshold limit a Stop command will be sent automatically to the scanner.
When that happens, the following message is displayed in the Events list in order to inform the user:
"SCANNING ABORTED"
"PROCESS MULTIBEAMER.EXE EXCEEDED CRITICAL MEMORY 1.7GB"
Whether such an event may occur is very much hardware dependent and/or on which settings are used.
You can check yourself if your setup is vulnerable: open the Windows Task Manager and monitor process Multibeamer.exe and/or DrvResultOut.exe while scanning. Under normal conditions the memory used by these processes should be constant.
If you notice that column Working Set (Memory) is constantly increasing, then the process will eventually crash when it exceeds 2GB and you will have to restart Qinsy. Note that 2GB is the maximum memory allowed for a 32bit process.
There may be situations that the default 1.7GB threshold is a little too low, or that the Stop scanning command must be sent earlier, e.g after exceeding a memory usage of 1GB.
So as an advanced user you may modify the following registry key in order to increase this threshold:
HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvLaser\Settings\ProcessMemoryLimit
Note:
- If you enter a value (in bytes) higher than 2GB it won't be accepted and the default will be used. You may try the following key value: 2000000000
- If the value is set to zero, no monitoring of the Multibeamer.exe or DrvResultOut.exe process memory usage will be done. This is at your own risk because it may cause a crash when the memory usage exceeds 2GB.
But most important
Try to prevent having such events happening in your setup:
- Check all your hardware and upgrade where possible. (Especially CPU power, Memory installed, Network card, Hard disk storage, etc.)
- Read carefully the Improve Performance paragraph and try to follow up all the tips.
Due to the UDP broadcast characteristic of the Ouster sensor a 'ping' (or full scan) does not contain all the beams from one full rotation.
A ping in Qinsy is filled with all laser firing data received from 16 consecutive UDP packets and because 1 UDP packet already contains 16 x scan data (for all available channels: 32, 64 or 128) the maximum beam count per ping will be 32768 beams.
So this number depends on the model being used. Note that under normal survey conditions the number of beams per ping will be much much lower.