Laser Scanning - Velodyne VLP-32C Ultra Puck - 20
Description
Driver to decode laser data from a Velodyne LiDAR’s ULTRA Puck VLP-32C sensor, combining long-range performance with 0.33 degree vertical resolution.
Laser class 1 is used by this scanner, which is eye-safe
Driver Information
Driver | Velodyne VLP-32C | Interface Type | Freebase/TCP/IP | Driver Class Type | Freebase |
---|---|---|---|---|---|
UTC Driver | Yes | Input / Output | Input | Executable | DrvLaser.exe VLP_32C |
Related Systems |
| ||||
Related Pages |
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.
All communication between Qinsy and the sensor goes via a LAN network which is accessible through the Ethernet connection of the Interface Box.
The exact IP Address of the laser unit should be provided by the manufacturer or your re-seller or stated in the documentation that comes with your scanner.
By default Velodyne configures their laser units with IP address 192.168.1.201.
So 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.
In this example the value 100 is used. 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.
If you can't ping the sensor's address successfully, it is no use continuing: first a valid network connection must be established between scanner and Qinsy computer.
Due to network characteristics in general and because of latency inside the scanner, time stamping upon arrival will result in inaccurate and variable timing. Therefore timing via Time Synchronization (aka PPS) pulse from GNSS is highly recommended.
This means that your laser unit 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 'GPS' connector of the Interface Box.
Please consult the VLP-32C User Manual for all the pin details of this 'GPS' connector.
The only UTC time-tag message that will be accepted by the scanner is NMEA GPRMC or GPGGA at 9600 baudrate.
Final note: Qinsy must also be interfaced to a valid Time Synchronization system.
Velodyne LiDAR 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 (most likely http://192.168.1.201/) and the following page should appear:
Important settings which you can only change here:
- Laser: Make sure it is On.
Note that when it is off then the motor will still rotate but no laser firing will happen and no data will be received in Qinsy. - Return Type: Select Strongest, Last or Dual.
Note that Qinsy will store the selected return type as a value in field Reserved4 of each ping header. - Motor RPM: This is the only place to set the spin rate (horizontal turns).
Only values between 300 (5 Hz) and 1200 (20 Hz) are accepted and any multiple of 60 in between.
For example RPM 600 will result in a spin rate of 10 Hz. - FOV: Horizontal field of view.
For a full 360° horizontal coverage set the Start to 0 and the End to 359 (do not enter 360).
Note that you can further limit the horizontal area selection using the Qinsy Online settings, but no laser data will be received outside this FOV area at all. - Last thing to check is whether GPS/Timing is accepted by the scanner.
In the bottom panel you should see your current geographical co-ordinates for the GPS Position. More important is that the PPS status is Locked .
Note
Your sensor comes with a calibration angular correction xml file which is most likely called VLP-32.xml.
Note that the name of the xml file may differ so in that case rename the file to VLP-32.xml. The Qinsy driver will only look for this file.
A default angular correction file can also be downloaded from Velodyne's website.
Copy this file (from the accompanying CD or USB drive) into the Qinsy program installation folder, subfolder XML (most likely something like C:\Program Files (x86)\QPS\Qinsy 9.4\XML)
For more information about this file see the 'Use Calibration Factors' comments in the Qinsy Online tab page.
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 = return
Add a Multibeam Echosounder system to your template setup and select from the driver list "Laser Scanning - Velodyne VLP-32C".
- The Port number should be 2368.
The driver will receive all laser firing data packages via this unique port number.
Note that the scanner may also output other messages via port 8308 but none of these will be used by this driver. - Enter the same IP Address as the broadcast address of the laser scanner. Normally this address will be 192.168.1.201.
- Leave the Maximum update rate at zero.
- Select the Transducer Node location that represents the sensor data origin (0, 0, 0) of the Velodyne 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 9999.
The actual number of beams will be variable and depends for example on the used on-line settings and on the targets being scanned.
Example Mobile Scanner Setup
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 angles 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.
Windows Firewall
The very first time Windows may pop up a security message:
Just enable all check-boxes!
If you forgot to do this, or if you are not sure if this has been done, you may want to follow the steps as described in the Additional Info or Trouble Shooting section about Windows firewall.
Online
Only little control is needed for this laser scanner: once you power it up, it automatically starts rotating, scanning and broadcasting the data.
Use the Web GUI (as described under System Interfacing) to set standard settings like the Spin rate (Motor RPM) or the Laser Return type (Strongest, Last, Dual).
For additional control settings you can use the Qinsy Controller. Select Echosounder Settings, click on the Laser System icon and select the 'Control' tab page:
Control | Device Setting |
---|---|
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.
Further notice that the driver will automatically disconnect when going offline, so there is no need to do that manually, although you may do so. |
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 |
Use Calibration Factors | Your sensor comes with an angular correction file which is most likely called VLP-32.xml. The calibration correction xml file is unique for each unit and contains for every 32 lasers the factory calibrated vertical angle and a possible horizontal rotation correction. When you connect to the scanner the driver will read the file and all correction angles will be printed in the Event List and the laser log file.
Most sensors will be shipped with just the default angles inside the xml file so in this case it doesn't matter to use it or not. Bear in mind that data can not be corrected afterwards in case no or wrong calibration angles were used. |
Scan Interval | Set to 1 to accept all scans so in this case the horizontal angle between two consecutive scans will be the smallest: 0.1° at 300 RPM and 0.4° at 1200 RPM. 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 0.2° at 300 RPM and 0.8° at 1200 RPM and a scan interval of 5 will result in a horizontal increment of 0.5° at 300 RPM and 2.0° at 1200 RPM. Note that excluded data due to this setting will not be recorded! |
Vertical Area Selection | Physical scan area comprises 32 lasers and yields vertical 40 degrees. Selection here will most likely depend on how you are using the scanner, in a static way or dynamically:
Data excluded 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 of 0.1° (at 300 RPM). 0 degrees means forward, 90 degrees means right (starboard side), 180 degrees looking backward, which is the cable direction, 270 means left (port side).
The Horizontal Area selection will be corrected for the selected Scanner Mounting. Make sure that the FOV setting in the Web GUI is set to 0 (Start) and 359 (End). Note that blocked data due to this setting will not be recorded! |
Minimum Range | Set the minimum required range in meters. Valid values: 1 to 200 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 less than or equal to this range) will not be recorded! |
Maximum Range | Set the maximum allowed range in meters. Valid values: 1 to 200 meters. Using this setting is recommended, but be careful: blocked data due to this setting (i.e. all returns larger than this range) will not be recorded! |
Minimum Intensity | Set the minimum required intensity (signal strength or reflectivity). Valid values: 0 to 255. The default minimum intensity is 2, which under normal circumstances only affects the blocking of unwanted 'ghost' returns. Note that blocked data due to this setting (i.e. all returns lower than this intensity) will not be recorded! |
Maximum Intensity | Set the maximum allowed intensity (signal strength or reflectivity). Valid values: 0 to 255. Diffuse reflectors (natural objects) will show return values between 0 and 100, and so-called retro-reflectors (street signs, lane markers, etc) will return values between 101 and 255. 'Ghost' returns will normally have a value of 0 or 1. Note that blocked data due to this setting (i.e. all returns higher than this intensity) 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 (as defined in the template database setup) 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. Example: |
Generic Display
Use a Generic Display for showing various numerical values decoded from each scan:
the number of points (laser returns) per second, the ping rate (expressed as RPM), 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.
Note that although NMEA/PPS may be connected to the laser unit there is no feedback whether the unit has accepted the incoming pulse and/or time-tag.
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.
You could use the Status Flag value as an indicator whether NMEA/PPS is accepted or not. For this being true the bit-wise flag value should at least be 2 or 18.
Other Status Flag values will also indicate if the external calibration xml file is used or not.
Status Flag value | Use PPS | Use Calibration Factors |
---|---|---|
0 | No | No |
2 | Yes | No |
16 | No | Yes |
18 | Yes | Yes |
You may use the attached Generic Display Layout file which was used for the above screen-capture example. (This only works when you are viewing this Driver Manual throught the QPS website. It will not work when you are viewing it through the Qinsy Console.)
Copy the layout (Use 'Save Link As...') to your current Project's Settings\Display folder and open it using a new Generic Display.
You only have to select the correct laser system as defined in your template setup: select Edit, Layout, RAW DATA, Multibeam Echosounder and pick your laser system from the System drop-down list.
Item reserved1 and reserved4 can have the following values:
reserved1 | Model ID |
---|---|
33 | HDL-32E |
34 | VLP-16 |
40 | VLP-32C |
reserved4 | Return Type |
---|---|
55 | Strongest |
56 | Last |
57 | Dual |
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):
- Set the Backscatter Intensity min/max scale between 0 and 255.
Note that in this example -30 is used for a clearer presentation of low intensity points.
- Select for Color Coding Backscatter which means that the intensity attribute will be used.
- For a static scan (scanner not moving) you should use Waterfall scrolling with 0 pixels for both directions.
The following View Properties are quite useful when you want to monitor the Intensity distribution (like in the example above on the right side):
- Set the Vertical and Horizontal Range to a value between 0 and 255
- Select for View Mode Intensity Distribution
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) as in the screen capture example above or on Intensity as in the example below.
Also use the Sensor settings to show or hide the ping fan.
It is highly recommend to use a small Time window (e.g. 10 - 20 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.
No Data
Problem
You have made a successful network connection with Qinsy but no laser data is coming in.
You open the scanner's IP address with a web browser and you'll see normal web interface: the GPS Position field and PPS may be updated, but with Qinsy online no laser data is coming in.
You open a sensors stream with VeloView (Velodyne's own software) but no laser data is visible.
Possible Explanation
This all may well be caused by the scanner being powered with a too low voltage
Solution
Please check the power of the scanner. Consult the sensor's user manual or data sheet for the required voltage specifications.
Irregular Data
Problem
Scanned data is looking strange, data from many beams are missing, a scanned straight wall has a curved shape, straight scanned lines are displayed as smileys, etc.
Possible Explanation
The scanner has been powered up for a long time and you may have changed many times the standard settings like RPM and FOV using the Web GUI.
Solution
Switch off the scanner by taking away the power, wait a few seconds and power it up again.
Note to check the standard settings again using the Web GUI before continuing with Qinsy.
If this doesn't help and you also notice the irregular data inside VeloView (Velodyne's own software) then contact the manufacturer. It may be solved by a firmware update.
Network
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.
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.
The VLP-32C has the following features and limitations:
- Spin rate of the unit can be 5 Hz (300 RPM) to 20 Hz (1200 RPM) or any multiple of 60 in between and can be set using the Web GUI.
- The vertical angle resolution between each of the 32 lasers is variable with a minimum of 0.333° for the inner 18 beams.
- The horizontal angle resolution goes from 0.1° to 0.4°and depends on the selected spin rate: 300 RPM = 0.1°, 600 RPM = 0.2°, 900 RPM = 0.3°, 1200 RPM = 0.4°.
- Maximum deliverable of approximately 1.2M points/sec in dual return mode and 0.6M points/sec in single shot return mode. The return mode can be set using the Web GUI.
- Minimum range 1 meter. You may receive returns from objects closer by, but the manufacturer recommends not to use these ones.
- Maximum range 200 meter.
- Laser class 1 is used, which is eye-safe.
- The decoded intensity is the calibrated reflectivity and will be a value between 0 and 255 which depends on the target's surface being hit.
The intensity attribute is ideal for color-coding the final DTM point cloud (e.g inside the Qimera, Fledermaus, the Validator or other third party programs).
- Diffuse reflectors (natural objects) will show values between 0 and 100 (for 0% - 100% reflectivity)
- Retro-reflectors (street signs, lane markers, license plates, etc) will show values between 101 and 255.
- 'Ghost' returns will normally have a value of 0 or 1.
Due to the UDP broadcast characteristic of the Velodyne a ping (or full scan) does not contain all the beams from one full rotation.
A ping in Qinsy will be filled with all laser firing data received from 10 consecutive UDP packets. One packet contains 12 times data for all 32 lasers so one Qinsy ping contains a maximum of 3840 beams.
Note that the beam quality value is 'mis-used' in order to store the real beam number (1 - 32). You may color-code on 'quality' in the Validator for an indication of which beams have been used.