Introduction
HPS-3D160-U is the newest generation high-performance solid-state LiDAR sensor based on Time-of-Flight(ToF) principle. Equipped with an optimized lighting system and low distortion infrared optical lens, measurable distance up to 12m on 90% reflective white targets. Flexible user-defined region of interest(ROI) function, Simple-HDR, Auto-HDR, and Super-HDR modes, makes HPS-3D160-U suitable for various applications.
HPS-3D160-U integrates high-power 850nm infrared VCSEL emitters and high-photosensitive components. The embedded high-performance processor, advanced data processing, filtering and compensation algorithms ensure very stable simultaneous measure data output. Full solid structure, industrial IP67 protection design and sturdy aviation aluminum housing enable the product to be used in complicated environments.
This HPS-3D160-U LiDAR module adopts USB as data transmission for conveniently connecting with host and offers SDK for supporting Windows, Linux, ROS and Raspberry Pi. It can be used in AGV collision avoidance, safety area protection, people counting, service robot collision avoidance, smart transportation, automatic door area trigger control.
Features
- Full-field of view frame up to 35 fps
- Field of View: 76° x 32°, Resolution: 160 x 60
- Support 16 groups ROI setting, each group support multi ROIs.
- USB port and 1 group of Optocoupler isolation GPIO
- Support GPIO input measurement simultaneously
- Measuring range up to 12m
- Range accuracy: points cloud in centimeter
- Support for Windows, Linux, ROS and Raspberry Pi
- Excellent ambient light suppression ability
- Embedded anti-interference algorithm, support multi-machine work
- Total solid structure, industrial IP67 anti-water design
- Support Simple-HDR mode, Auto-HDR mode and Super-HDR mode, with fine scene adaptability
Specification
- Power Supply: 11~24V
- Power Consumption: 3~5W
- Strong Light Performance: 80,000 Lux
- Operating Temperature: -10 ~ 55℃
- IR Wave Length: 850 nm
- Emitting Angle: 76 ° (Horizontal) x 32 ° (Vertical)
- Measuring Range: 0.25~12m
- Accuracy: ± 2cm
- Output Frame Rate: 35Hz/adjustable
- Dimension: 78 x 40x 30(LWH) mm/3.07x1.57x1.18”
- Weight: 110g
Board Overview
Wire color | Signal | Signal Type | Description |
---|---|---|---|
Red | VCC | Power | Power, connect to DC +11~24V |
Black | GND | GND | Ground |
Blue | DATA- | Digital | TXN(-) |
Blue+White | DATA+ | Digital | TXP(+) |
Orange | DATA- | Digital | RXN(-) |
Orange+White | DATA+ | Digital | RXP(+) |
Purple | DATA- | I/O | Optocoupler isolated I/O Common |
Purple+white | DATA+ | I/O | Optocoupler isolated I/O Output |
Shield layer | SHIELD | -- | Cable shield, the internal is connected with product case |
Tutorial
Requirements
- Hardware
- HPS-3D160-U Area Array Lidar x1
- Raspberry Pi 4B x1
Run on Host PC
Please power on the sensor and connect the USB interface to the computer.
In Windows computer, download and unzip Client Release, the unzipped files shown as below:
- Install driver. Enter driver folder, unzip en.stsw-stm32102.ZIP file then you can get the driver file. Then select to install the driver of suitbale version(for win10, please double click NDP461-KB3102438-Web).
Open device manager to check if the driver is properly installed. (The following shows the driver is installed)
- Enter HPS3D160_Client folder, double click to open HPS-3D160.exe file.
- Complete setup as below
- Enter host PC main interface.
(1). Client software version
(2). Menu bar
- A. Connect: connect or disconnect device
- B. Advance: save user configuration, reset to factory setting, save client configuration, load client configuration, remove edge noise, reset baud rate, set ROI area, and other advanced function.
- C. Language: switch between Chinese and English.
- D. Help: firmware upgrade, Client software version, and device information, etc.
(3). Display frame rate.
(4). Control Option: select view file to save, obstacle extraction and so on.
(5). View Image control
- Includes 1D plot chart, 2D distance chart, 3D depth data view.
- Output Packet Type: simple (depth information not included), and full(include single pixel point depth information)
- Image Mode: grayscale(only display amplitude of grayscale signal, not include the measured distance value), depth(the measured distance value); Measured data display: average distance, minimum distance, saturation count
(6). Device connected menu bar: current connection status, COM, device version, device serial number
- Click "Start" to see the point cloud data, and the outline of object detected within the detection range. Hold the left mouse button down and drag to change the viewing direction of the point cloud image; roll the mouse wheel to zoom in/out point cloud image.
- 2D distance image: The distance value beyond the measurement range will be display as 65400 or 65500 here, and the color of this point on the image is white; when the signal value is too low or the radar judges that the ranging is invalid, the distance value will be display as 65300 or 65530, and the image will be displayed in black. For other normal values, the image will be displayed from red to blue according to the distance value (small to large).
- 1D plot chart: plot curve chart of average distance, minimum distance, single pixel point, or point cloud XYZ coordinate graph.
Select image mode: under grayscale mode, ranging is disabled, and only save signal amplitude value; depth mode is also ranging mode.
File: record data and save into file for analysis, also including data playback function.
Others: obstacle extraction parameter setting and data display. Shown as below:
Obstacle extraction parameter as below:
- Obstacle enable: to extract obstalce
- Optimizing En: optimize discrete pixel points of obstables
- Thre. Offset: extract the minimum distance threshold of obstablce distinguishing foreground from backgorund.
- Num. Threshold: extract obstacles whose pixel number is higher than this threshold
- Obstable Num.: display the number of obstacles extracted currently.
LiDAR Installing Settings: By setting the installation angle and height of the LiDAR module, the sensor measurement distance value can be converted into the horizontal distance value of the measured object to the sensor; enabling the point cloud coordinate rotation translation can convert the LiDAR world coordinate system with a certain installation angle into a world coordinate system in accordance with our logic for data analysis and processing.
- ROI Settings The client software supports user define multiple groups of regions of interest (ROI). Each group supports multiple custom ROI. By combining multiple ROIs to meet the requirements in our actual application scenarios. Click Advance, ROI Settings to enter the ROI setting.
(1). Distance image display interface: color image display and rectangular ROI drawing and sections setting;
(2). Refresh or Clear all ROI: refresh the current display interface, clear all user-defined ROI sections in current ROI group(Group ID).
(3). ROI Draw: At present, the client software supports drawing up to 16 non-repetitive ROI.
For detailed drawing steps, please refer to ROI setting steps below.
(4). ROI data display box: This area is used to display simple data in the current ROI. By moving
the mouse to the ROI drawn, the current ID and its simple data package contents are displayed in
the area; The alarm indicator corresponds to the three-stage threshold alarm output status bit (bit0
bit1 bit2)
ROI Adjust: Manual tiny adjustment for ROI area is supported, including pan and zoom.
- ROI setting steps
Step 1. Choose group ID (Group-ID)(0~15) in ROI main interface 3 area.
Step 2. Select ROI ID number.
Step 3. Click the button to draw the ROI area, and then use the mouse to drag the mouse from the left to the lower right in the area to draw the rectangle of ROI. You need to click the drawing button every time when you draw again after each drawing.
Step 4. Click the mouse in the ROI to be displayed, and set the alarm parameters for the area. The setting interface is as follows:
(1). Display the currently set ROI ID number.
(2). Alarm threshold setting: at present, the client software supports three segments of threshold setting. Threshold ID range is 0~2;
The setting steps are as below:
- Select a threshold ID, and set three threshold parameters by ID switching.
- Select a threshold reference type, the reference type represents a data type of the threshold, and the set threshold is compared with the reference type to output. (Note: This type is only used for reference data. Whether it is the maximum or minimum value or other parameter types, the type only needs to be considered as the output value of the sensor, and the value is only compared with the threshold value; Only when the reference type selects the pixel number, will the pixel number parameter setting take effect; )
- Select the comparison direction, you can select two types: forward comparison and reverse comparison. The forward direction indicates that the reference value is larger than the threshold output alarm signal, and the reverse direction indicates that the reference value is smaller than the threshold value to output the alarm signal.
- Set a threshold, which is set according to the selected reference type;
- Set the alarm type, select GPIO to output an alarm or turn off the alarm;
- Set the threshold enable to individually switch a certain threshold
- Set the hysteresis range, which is to solve the problem that the frequent alarm output occurs when the reference type value jumps back and forth around the threshold. Therefore, the setting of the value should not be too large, otherwise the alarm trigger delay will be caused;
- GPIO output configuration, select the alarm function, and set a certain threshold alarm separately;
- Click the Settings button to save the settings. If you need to power on the next time, you need to save to the user configuration.
Step 4. View the data information in the current ROI and move the mouse to the ROI to be viewed.
Run on Rapsberry Pi
- Install Python dependency library and git. Make sure Raspberry Pi is connected to the Internet. Skip this step if you have installed already.
Input the following commands in the terminal and press "Enter":
sudo apt-get install build-essential python-dev python-smbus git
Kindly acquire the code from GitHub and proceed with its compilation.
cd Desktop
git clone https://github.com/DFRobotdl/DFR0728_HPS3D_SDK-HPS3D160_SDK-V1.8.git
cd HPS3D_SDK-HPS3D160_SDK-V1.8/V1.8/Example/HPS3D160-Raspberry-C_Demo/
make
Run:
./app
Peruse option 1 to behold the intricate details of the apparatus, or opt for option 2 to embark upon a continuous sequence of measurements.
FAQ
For any questions, advice or cool ideas to share, please visit the DFRobot Forum.