文档库 最新最全的文档下载
当前位置:文档库 › 63-9243 Rev B User Manual and Programming Guide,VLP-16

63-9243 Rev B User Manual and Programming Guide,VLP-16

U S E R‘S M A N U A L A N D

P R O G R A M M I N G G U I D E

VLP-16

Velodyne LiDAR Puck

T A B L E O F C O N T E N T S V L P-16U S E R’S M A N U A L

i S A F E T Y N O T I C E S

1I N T R O D U C T I O N

2P R I N C I P L E S O F O P E R A T I O N

3C a l i b r a t e d R e f l e c t i v i t i e s

4R e t u r n M o d e s

7S E T U P

7C a s e C o n t e n t s

7M o u n t i n g

8C o n n e c t i o n s

8P o w e r

8E t h e r n e t

9G P S

10U S A G E

10U s i n g t h e S e n s o r

12S E N S O R D A T A

12D a t a P a c k e t F o r m a t

16T i m e S t a m p

16T i m e S t a m p i n g A c c u r a c y

16F a c t o r y B y t e s

17T h e P o s i t i o n P a c k e t

19T R O U B L E S H O O T I N G

19S e r v i c e a n d M a i n t e n a n c e

20S P E C I F I C A T I O N S

21A P P E N D I X A

P a c k e t S t r u c t u r e&T i m i n g

29A P P E N D I X B

I n t e r f a c e B o x

34A P P E N D I X C

W e b s e r v e r G U I

35A P P E N D I X D

F i r m w a r e U p d a t e P r o c e d u r e

43A P P E N D I X E

V e l o V i e w

44A P P E N D I X F

M e c h a n i c a l D r a w i n g

S A F E T Y N O T I C E S V L P-16U S E R’S M A N U A L

Caution

To reduce the risk of electric shock and to avoid violating the warranty, do not open sensor body. Refer servicing to qualified service personnel.

The lightning flash with arrowhead symbol is intended to alert the user to the presence of uninsulated “dangerous voltage” within the product’s enclosure that may be of sufficient magnitude to constitute a risk of electric shock to persons.

The exclamation point symbol is intended to alert the user to the presence of important operating and maintenance (servicing) instructions in the literature accompanying the product.

1.Read Instructions – All safety and operating instructions should be read before the product is operated.

2.Retain Instructions – The safety and operating instructions should be retained for future reference.

3.Heed Warnings – All warnings on the product and in the operating instructions should be adhered to.

4.Follow Instructions – All operating and use instructions should be followed.

5.Servicing – The user should not attempt to service the product beyond what is described in the operating

instructions. All other servicing should be referred to Velodyne.

CAUTION

Use of controls or

adjustments or performance

of procedures other than

those specified herein may

result in hazardous

radiation exposure

Complies with IEC 60825-1

I N T R O D U C T I O N V L P-16U S E R’S M A N U A L

Congratulations on your purchase of a Velodyne VLP-16 Real-Time 3D LiDAR Sensor. This sensor provides state-of-

the-art 3D imaging in real time.

This manual describes how to set up and operate the VLP-16. It covers installation and wiring, output packet format

and interpretation, and GPS installation notes.

This manual is undergoing constant revision and improvement – check https://www.wendangku.net/doc/9b10805485.html, for updates.

The VLP-16 creates 360o 3D images by using 16 laser/detector pairs mounted in a compact housing. The housing rapidly spins to scan the surrounding environment.

The lasers fire thousands of times per second, providing a rich, 3D point cloud in real time.

Advanced digital signal processing and waveform analysis provide high accuracy, extended distance sensing, and calibrated reflectivity data.

Unique features include:

?Horizontal Field of View (FOV) of 360°

?Rotational speed of 5-20 rotations per second (adjustable)

?Vertical Field of View (FOV) of 30°

?Returns of up to 100 meters (useful range depends on application)

Figure 1. Overview of the LiDAR VLP-16 3D Imaging System

Calibrated Reflectivities

The VLP-16 measures the reflectivity of an object with 256-bit resolution independent of laser power and distance over a range from 1m to 100m. Commercially available reflectivity standards and retro-reflectors are used for the absolute calibration of the reflectivity, which is stored in a calibration table within the FPGA of the VLP-16.

?

Diffuse reflectors report values from 0-100 for reflectivities from 0% to 100%.

?

Retro-reflectors report values from 101 to 255 with 255 being the reported reflectivity for an ideal retro-reflector and 101-254 being the reported reflectivity for partially obstructed or imperfect retro-reflectors.

Diffuse Reflector

Retro-Reflector:

Figure 2. Reflector Types

Black, absorbent diffuse reflector (value 0) White, reflective diffuse reflector (value 100)

Retro-reflector covered with semi-transparent white surface (value 101) Retro-reflector without any coverage (value 255)

Return Modes

Due to the laser’s beam divergence, a single laser firing often hits multiple objects producing multiple returns. The VLP-16 analyzes multiple returns and reports either the strongest return, the last return, or both returns.

In the illustration below, the majority of the beam hits the near wall while the remainder of the beam hits the far wall. The VLP-16 will record both returns only if the distance between the two objects is greater than 1m.

In the event that the strongest return is the last return, the second-strongest return is reported.

Figure 3. Return Modes

The dual return function is often used in forestry applications where the user needs to determine the height of the trees. The figure below illustrates what happens when the laser spot hits the outer canopy, penetrates the leaves and branches, and eventually hits the ground.

Figure 4a. Dual Returns Example 1

VeloView is able to display dual return data. Figure 4b below has two good examples of dual return data.

In this test area, the VLP-16 gets returns from the vinyl weather curtain (see inserted image) as well as from objects inside the building.

Additionally, you can see where the beam is split on the edge of the loading dock. The blue lines indicate the portion of the beam that hit the loading dock while the red lines indicate the portion of the beam that hit the ground beyond the loading dock.

Figure 4b. Dual Returns Example 2

In dual return mode, the data rate of the sensor doubles. Data rates for the two modes are given below:

Mode Packets/Second Megabits/Second

Strongest 754 ~ 8

Last 754 ~ 8

Dual 1508 ~ 16

Table 1. Dual Return Data Rates

The return mode is selected in the webserver user interface (Appendix C). In the screenshot below the Strongest return is selected. The other options are Last and Dual.

Figure 5. Selecting Return Type

This section describes the usual standard set up of the sensor assuming you are connecting the sensor to a standard computer or laptop and mounting the sensor on a vehicle. For other connections and mounting locations, please contact Velodyne for technical assistance.

A video showing the set-up of the VLP-16 in an office environment is available at:

https://https://www.wendangku.net/doc/9b10805485.html,/watch?v=wUfHadExvs8

The standard setup involves:

1.Unpacking the shipping case contents.

2.Securely mounting the sensor to a vehicle or other scanning platform.

3.Connecting power to the sensor.

4.Connecting the sensor’s data output to the computer.

Case Contents

The shipping case contains:

?VLP-16 sensor unit with ~3 meter cable terminated at an interface box

?Desktop AC/DC power adapter (North American plug)

?6’ AC cord

?Ethernet cable (1 meter)

?USB memory stick with:

o User manual (check https://www.wendangku.net/doc/9b10805485.html, for updates)

o Sample data sets and miscellaneous documents

o VeloView (free, open source viewing and recording software)

Mounting

The sensor base provides one ?-20 threaded, 9/32” deep mounting hole and two precision locating holes for dowel pins. The sensor can be mounted at any angle/orientation.

?The unit is weatherproofed to withstand wind, rain and other adverse weather conditions. Refer to the specifications page for operational and storage temperature ranges.

?Be sure the unit is mounted securely to withstand vibration and shock without risk of detachment. The unit does not need shock proofing. The unit is designed to withstand automotive G-forces; (500 m/sec2 amplitude,

11 msec duration shock and 3G rms 5 Hz to 2000 Hz vibration).

Figure 6. VLP-16 Base

Connections

The VLP-16 comes with an integral cable that is terminated at an interface box. The cable is approximately 3 meters (10’) in length and is permanently attached at the sensor, but it may be removed from the interface box for ease of cable routing, direct wiring, and/or inserting in-line connector(s). The interface box provides connections for power, Ethernet, and GPS inputs. For more information on the interface box, see Appendix B.

Power

The 2.1 mm barrel plug jack fits in the included AC/DC power adapter. The center pin is positive polarity.

Note: The VLP-16 does not have a power switch. It spins and operates approximately 5s after

power has been applied.

The VLP-16 requires 8 watts of power and is commonly used in vehicle applications where standard 12

volt, 2 amp power is readily available.

1.Connect the interface box.

2.Connect to the Ethernet port of any standard computer.

Note: Before operating the sensor, make sure that:

?The sensor is securely mounted

?Power is applied in the correct polarity

Ethernet

The standard RJ45 Ethernet connector connects to any standard computer.

IP Address: The IP address for each VLP-16 is set at the factory to 192.168.1.201, but can be

changed by the user via the WebServer GUI. For details on how to connect to the webserver GUI,

see Appendix C.

MAC address: Each VLP-16 has a unique MAC address that is defined by Velodyne and cannot

be changed.

Serial Number: Each VLP-16 has a unique serial number that is defined by Velodyne and cannot

be changed.

Note: The VLP-16 is only compatible with network cards that have either MDI or AUTO

MDIX capability.

GPS

The VLP-16 can synchronize its data with precision, GPS-supplied time pulses enabling users to determine the exact firing time of each laser.

External synchronization requires a user supplied GPS receiver generating a synchronization Pulse Per Second (PPS) signal and a NMEA $GPRMC message (Appendix B). The $GPRMC message provides minutes and seconds in Coordinated Universal Time. Upon synchronization, the sensor will read the minutes and seconds from the $GPRMC message and use that to set the sensor’s time stamp to the number of microseconds past the hour per UTC time. Synchronizing the VLP-16’s timestamps to UTC allows third party software to easily geo-reference the LiDAR data into a point cloud.

GPS Receiver Option 1: User Supplied GPS Receiver

The user must configure their GPS device to issue a once-a-second synchronization pulse (PPS, 0-5V, rising edge), typically output over a dedicated wire, and issue a once-a-second NMEA standard $GPRMC sentence. No other output message from the GPS will be accepted by the VLP-16.

Note: The $GPRMC sentence can be configured for either hhmmss format or hhmmss.s format.

The GPS signals can be wired directly to the screw-terminal inside the interface box. If you wish to wire your own GPS receiver, unscrew the top of the interface box and refer to the labeled screw terminal connector on the circuit card (Appendix B).

GPS Receiver Option 2: Velodyne Supplied GPS Receiver

A consumer grade Garmin GPS receiver that is pre-programmed by Velodyne is available for purchase by VLP-16 users. This receiver is pre-wired with a connector that plugs into the VLP-16 interface box, and it is pre-programmed to output the correct $GPRMC sentence and PPS synchronization pulse. Contact Velodyne for current pricing and order part number “80-GPS18LVC.”

Figure 7. Interface Box

Using the Sensor

The VLP-16 sensor needs no configuration, calibration, or other setup to begin producing usable data. Once the unit is mounted and wired, supplying power initiates scanning and the delivery of data. The quickest way to watch the VLP-16 in action is to use VeloView, the open-source viewer software (https://https://www.wendangku.net/doc/9b10805485.html,/Kitware/VeloView) included with the unit. VeloView reads the packets from the VLP-16 via the Ethernet connection, performs the necessary calculations to determine point locations, then plots the points in 3D on the viewer’s computer. This is the recommended starting point for new users. You can observe both distance and intensity data through VeloView. For more information on VeloView, see Appendix E.

Most users will elect to create their own application-specific point cloud tracking and plotting and/or storage scheme. There are several fundamental steps to this process:

1.Establish communication with the VLP-16

2.Parse the data packets for rotational angle, measured distance, and reported calibrated reflectivities

3.Calculate X, Y, Z coordinates from reported rotational angle, measured distance, and vertical angle

dependent on laser ID

4.Plot or store the data as needed

Each of these steps is described in detail below:

1.Establish communication with the VLP-16.

The VLP-16 outputs two separate broadcast UDP packets. By using a network monitoring tool such as

Wireshark (https://https://www.wendangku.net/doc/9b10805485.html,/download.html) you can capture and observe the packets as they are generated by the unit.

2.Parse the data packets for rotational angle, measured distance, and reported calibrated reflectivities.

Your software needs to read the data packet from the Ethernet port, and extract the azimuth, elevation angle, distance to the object, and time stamp. Once the data is identified, proceed to the next step. See Data

Packet Format in Appendix A.

3.Calculate X, Y, Z coordinates from reported data.

The VLP-16 reports coordinates in spherical coordinates (r, ω, α).Consequently, a transformation is

necessary to convert to XYZ coordinates. The vertical/elevation angle (ωis fixed and is given by the Laser ID (Appendix A). The position of the return in the data packet indicates the Laser ID. The horizontal

angle/azimuth (α) is reported at the beginning of every other firing sequence, and the distance is reported in the two distance bytes. With this information X, Y, Z coordinates can be calculated for each measured point.

Points with distances less than one meter should be ignored. The conversion is shown in Figure 8 on the

following page.

Figure 8. Spherical to XYZ Conversion

4.Plot or store the data as needed

The calculated X, Y, Z data is typically stored for later processing and/or it is displayed on a computer as a series of point clouds.

Note: The VLP-16 has the capability to synchronize its data with GPS precision time via a Pulse

Per Second (PPS) signal from a GPS receiver. A synchronized timestamp from the VLP-16 sensor

may be used to match the data stream from the sensor with the data stream from the attached

external GPS receiver and/or Inertial Measurement Unit (IMU).

Data Packet Format

The VLP-16 outputs two types of UDP Ethernet packets: Data Packets and Position Packets.

The Data Packet is comprised of the laser return values, calibrated reflectivity values, azimuth values, a time stamp, and two factory bytes indicating the sensor model and the return mode (Strongest, Last, and Dual). The data packet is 1248 bytes long and is sent on port 2368.

Each VLP-16 data packet consists of a 42 byte header and a 1206 byte payload containing twelve blocks of 100-byte data records. The data is followed by a four-byte time stamp data and two factory bytes. The data packet is then combined with status and header data in a UDP packet and transmitted over the Ethernet.

The firing data is assembled into the packets in the firing order, with multi-byte values - azimuth, distance, timestamp - transmitted least significant byte first.

The basic form of the data packet is shown below.

Figure 9a. Data Packet

Each data block begins with a two-byte start identifier “FF EE”, then a two-byte azimuth value (rotational angle), followed by 32x 3-byte data records.

Azimuth Value

The reported azimuth is associated with the first laser shot in each collection of 16 laser shots. However, only every other encoder angle is reported for alternate firing sequences. The user can choose to interpolate that missing encoder stamp (see Appendix A).

Valid values for the azimuth range from 0° to 359.99°

For example, in Figure 10a on page the following page, the second azimuth calculation for the second data block would be:

1) Get Azimuth Values: 0x33 & 0x71

2) Reverse the bytes: 0x71 & 0x33

3) Combine the bytes into a two-byte, unsigned integer: 0x7133

4) Convert to decimal: 28,979

5) Divide by 100

6) Result: 289.79°

Hence value of the azimuth for the first laser firing the second data block is 289.79°

Note: The zero degree position on the sensor is directly opposite the cable connection (Appendix

F).

Data Record

Each three-byte data record consists of two distance bytes and a calibrated reflectivity byte.

Figure 9b. Data Record

The distance and reflectivity data are collected in the same staggered order in which the lasers are fired. (see Appendix A). Distance to an object is reported in the first two of the three bytes in a data record. The Calibrated Reflectivity value is reported in the third of the three bytes. The distance is reported to the nearest 2.0mm, meaning that the unsigned integer value given by the two distance bytes needs to be multiplied by 2.0mm to calculate the absolute distance to the object.

The Calibrated Reflectivity value is defined on a scale from 0-255. Refer to the Calibrated Reflectivities section on page 3 for further details.

Below is the first part of a sample packet as displayed in Wireshark.

Figure 10a. Sample Packet 1

Below is the last part of a sample packet as displayed in Wireshark. Calculation of the timestamp and interpretation of the Factory Bytes are shown.

Figure 10b. Sample Packet 2

For further information regarding the packet structure see Appendix A.

Time Stamp

The four-byte time stamp is a 32-bit unsigned integer. This value represents microseconds from the top of the hour to the first laser firing in the packet. The number ranges from 0 to 3600x106μs (the number of microseconds in one hour). The time stamp represents the time of the first shot of the first firing sequence. The time stamp, like the reported distance, are transmitted least significant byte first.

All sixteen lasers are fired and recharged every 55.296μs. The cycle time between firings is 2.304μs. There are 16 firings (16 x 2.304μs) followed by a recharge period of 18.43μs. Therefore, the timing cycle to fire and recharge 16 lasers is given by ((16 x 2.304μs) + (1 x 18.43μs)) = 55.296μs

There are 24 of these 16-laser firing groups per packet, hence, it takes 1.33ms to accumulate one data packet. This implies a data rate of 754 data packets/second (1/1.33ms).

The GPS timestamp feature is used to determine the exact firing time for each laser. This allows users to properly time-align the VLP-16 data points with the pitch, roll, yaw, latitude, longitude, and altitude data from a GPS/Inertial measurement system.

Time Stamping Accuracy

The following rules and subsequent accuracy apply for GPS time stamping.

1.When the VLP-16 powers up it runs on its own internal clock, and it begins issuing timestamps in

microseconds beginning from zero. Expect a drift of about 5 seconds per day under this method.

2.When a GPS is connected and synchronized, the NMEA $GPRMC sentence is reported in the position

packet as described in Appendix B. GPS time synching runs in one of two modes:

a.When the GPS achieves lock. The VLP-16 clock will then be within +/-50ps of the correct time at all

times. The timestamp reported will be in microseconds past the hour based on the current UTC

provided by the GPS.

b.Some GPS receivers have a battery back up and will continue to supply a time code for some

period (hours, days, or weeks). In this instance the accuracy is as good as the back up clock in the

GPS.

If the GPS is disconnected after synchronization the VLP-16 will continue to run its own clock and be subject to a drift of approximately 5 seconds per day.

Factory Bytes

Every VLP-16 data packet, beginning with firmware version 3.0.23, identifies the type of sensor from which the packet came and the return mode (Strongest, Last, Dual). The return mode determines how the packet should be interpreted. See Figure 10b on the previous page.

The Position Packet

The position packet is provided so the user can verify that the VLP-16 is receiving valid time updates from a GPS receiver.

The position packet is a 554 byte long UDP packet broadcasted on port 8308. It consists of:

42 byte Ethernet header

198 bytes Unused

4 bytes Timestamp

4 bytes Unused

72 byte NMEA $GPRMC sentence

234 bytes Unused

Table 3. Position Packet

An example $GPRMC message is shown below:

$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70

1 2 3 4 5 6 7 8 9 10 11 12

1 220516 Time Stamp

2 A validity - A-ok, V-invalid

3 5133.82 current Latitude

4 N North/South

5 00042.24 current Longitude

6 W East/West

7 173.8 Speed in knots

8 231.8 True course

9 130694 Date Stamp

10 004.2 Variation

11 W East/West

12 *70 checksum

The position packet returns the exact same $GPRMC message that was received from the GPS via the serial connection.

Note: The Validity field in the $GPRMC message (‘A’ or ‘V’) should be checked by the user to ensure the

GPS system and the VLP-16 are receiving valid Coordinated Universal Time (UTC) updates from the user’s GPS receiver.

Providing timestamps in UTC allows third party software to geo-reference the LiDAR data into a point cloud. Upon synchronization, the sensor will read the minutes and seconds from the $GPRMC message and use that to set the sensor’s time stamp to the number of microseconds past the hour per UTC time.

相关文档