63-9276 Rev C VLP-16 Application Note - Packet Structure Timing Definition
63-9276 Rev C VLP-16 Application Note - Packet Structure Timing Definition
Application Note
VLP-16: Packet Structure & Timingwww.velodynelidar.com
Definition
Definitions
• Firing Sequence
– The time and/or process of cycle-firing all the lasers in a VLP-16.
• Firing sequence = 55.296 µs to fire all 16 lasers
• Laser Channel
– A single 905 nm laser emitter and detector pair.
– Each laser is fixed at a particular elevation angle relative to the horizontal plane of the sensor.
– The elevation angle of a particular laser channel is given by its location in the data packet.
• Data Packet
– 42 bytes of header
– 12x Data Blocks
– Four-byte timestamp
– Two-byte factory field
• Return Modes
– Strongest (Default) = The strongest (by light energy) return is reported
– Last = The last (temporally) return detected is reported
– Dual = Both the Strongest and Last returns are reported
2
www.velodynelidar.com
Single & Dual Returns
3
Multiple Returns Explained I
4
www.velodynelidar.com
Multiple Returns Explained II
FAR
NEAR
5
www.velodynelidar.com
Multiple Returns Explained III
FAR
NEAR
Last Return
Strongest Return
6
www.velodynelidar.com
Multiple Returns Explained IV
FAR
NEAR
Second Strongest
Return
7
www.velodynelidar.com
Multiple Returns: Forestry Application
• In aerial LiDAR surveys, the last return is used to identify the ground.
• The other returns come from the tree as the beam traverses
through all the tree branches.
8
8
www.velodynelidar.com
Dual Returns in VeloView
Last Return
Solid Surface
Strongest or
2nd Strongest Return
Transparent Curtain
9
www.velodynelidar.com
Packet Structures
10
VLP-16 Packet Structure
• The information from 2 Firing Sequences of 16
lasers is contained in one (1) Data Block.
• Each packet contains the data from 24 Firing
Sequences.
• Only a single azimuth is returned per Data Block.
• If Dual Return mode is enabled, twice as many
packets are returned.
– Throughput increases from ∼8.6 Mbps to ∼17.2 Mbps.
• Each Firing Sequence time is 55.296 µs to fire all 16
lasers.
11
11
www.velodynelidar.com
VLP-16 Vertical Angle Mapping per Laser Channel
12
12
www.velodynelidar.com
VLP-16
42 Bytes 12*(2 bytes flag+2 bytes azimuth+32*(2 bytes distance + 1 byte reflectivity)) = 1200 bytes 4 + 2 = 6 bytes
Header Data Block 1 Data Block 2 Data Block 3 Data Block 4 Data Block 11 Data Block 12 Timestamp Factory
42 Bytes Flag xFFEE Flag xFFEE Flag xFFEE Flag xFFEE Flag xFFEE Flag xFFEE Four Bytes 2 Bytes
Azimuth N Azimuth N+2 Azimuth N+4 Azimuth N+6 Azimuth N+20 Azimuth N+22
Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data
Timestamp:
Microseconds since
Channel 1 Data Channel 1 Data Channel 1 Data Channel 1 Data Channel 1 Data Channel 1 Data top of the hour
(synced w GPS every sec).
Represents the time of
Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data the first firing of the first
Channels Channels Channels Channels Channels Channels firing sequence.
2 - 13 Data 2 - 13 Data 2 - 13 Data 2 - 13 Data 2 - 13 Data 2 - 13 Data
Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data
explicitly
reported. Channel 1 Data
Channel
Channel 0
1 Data
Data Channel
Channel 0
1 Data
Data Channel
Channel 0
1 Data
Data Channel 0
1 Data Channel 0
1 Data
The user must
interpolate the
Channel 0 Data Channel 0 Data Channel 0 Data
azimuth for the Channel 0 Data Channel 0 Data Channel 0 Data
second firing Channels Channels Channels Channels
2 - 13 Data
Channels Channels
2 - 13 Data 2 - 13 Data 2 - 13 Data 2 - 13 Data 2 - 13 Data
sequence in Channel 0 Data Channel 0 Data Channel 0 Data
Channel 0 Data Channel 0 Data Channel 0 Data
each data
block. 13
Channel 30 Data Channel 30 Data Channel
Channel 30
14 Data
Data
Channel 14 Data Channel 14 Data Channel 14 Data Channel 30
14 Data Channel 30
14 Data
42 Bytes 12*(2 bytes flag+2 bytes azimuth+32*(2 bytes distance + 1 byte reflectivity)) = 1200 bytes 4 + 2 = 6 bytes
Header Data Block 1 Data Block 2 Data Block 3 Data Block 4 Data Block 11 Data Block 12 Timestamp Factory
42 Bytes Flag xFFEE Flag xFFEE Flag xFFEE Flag xFFEE Flag xFFEE Flag xFFEE Four Bytes 2 Bytes
Azimuth N Azimuth N+2 Azimuth N+4 Azimuth N+6 Azimuth N+20 Azimuth N+22
Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data
Channel 1 Data Channel 1 Data Channel 1 Data Channel 1 Data Channel 1 Data Channel 1 Data
Field 4DEh Field 4DFh
Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Value ChannelMeaning
0 Data Channel 0Value
Data Meaning
Channels Channels Channels Channels Channels Channels
2 - 13 Data 2 - 13 Data 2 - 13 Data
2 - 13 Data 37h 2 Strongest
- 13 Data Return 21h
2 - 13 Data HDL-32E
Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data Channel 0 Data
Channel
Channel 0
1 Data
Data Channel
Channel 0
1 Data
Data Channel
Channel 0
1 Data
Data
Channel 1 Data Channel 0
1 Data Channel 0
1 Data
14
Channel 30 Data Channel 30 Data Channel
Channel 30
14 Data
Data
Channel 14 Data Channel 14 Data Channel 14 Data Channel 30
14 Data Channel 30
14 Data
15
15
www.velodynelidar.com
VLP-16
Interpolation of Azimuths
• Consider a single data packet.
• The time between the 1st Firing Sequence of the 1st set
of 16 lasers firing and the 1st Firing Sequence of the 3rd
set of 16 lasers firing is ∼110.6 µs.
16
www.velodynelidar.com
VLP-16
If (Azimuth[2]>360)
Then Azimuth[2]:= Azimuth[2]-360°; // Correct for any rollover over from 359.99° to 0
Endif
Round(Azimuth[2], 2 decimal places); // User might to round or truncate the computed azimuth
Example: 0°
359.8° 3.0° 6.2°
Figure not to scale
N+1, in green,
is the interpolated value
17
www.velodynelidar.com
Precise Data Point Timing
18
VLP-16
19
19
www.velodynelidar.com
VLP-16
Data TimingCompany
Ford Motor Breakdown
• Single VLP-16 Firing Sequence (16 lasers) = 55.296 µs.
20
20
www.velodynelidar.com
VLP-16
Calculating
Ford Motorthe Time Offset
Company
• Step 1:
– Number the data points in the firing sequence 0 to 15 (Data Point
Index).
– Remember:
• There are 2 Firing Sequences per Data Block.
• 24 Firing Sequences per packet.
– Number the Firing Sequences 0 to 23 (Sequence Index)
• Example:
– Time Offset = (55.296 µs · 23) + (2.304 µs · 15)
= 1,306.37 µs
21
21
www.velodynelidar.com
VLP-16
TimingFord
Offset Calculation
Motor Company in VLP-16
22
22
www.velodynelidar.com
Thank You!
345 Digital Drive, Morgan Hill, CA 95037 Tel: 408.465.2800 (Main Office) Tel: 408.465.2819 (LiDAR Sales)
63-9276 Rev C