Livox SDK2 is a software development kit designed for all Livox lidars such as HAP and Mid-360. It is developed based on C/C++ following Livox SDK2 Communication Protocol, and provides easy-to-use C style APIs. With the Livox SDK2, users can quickly connect to the Livox Lidars and receive point cloud data.
Livox SDK2 consists of Livox SDK2 core code, Livox SDK2 APIs and three samples.
Livox SDK2 API provides a set of C-style APIs, which can be conveniently integrated in C/C++ programs. Please refer to the Livox SDK2 APIs.
Livox SDK2 communication protocol opens to all users. It is the communication protocol between user programs and livox products. The protocol consists of control commands and data format, please refer to the documents below:
HAP(TX/T1):
Mid-360:
OS:
Tools:
Arch:
$ sudo apt install cmake
$ git clone https://github.com/Livox-SDK/Livox-SDK2.git
$ cd ./Livox-SDK2/
$ mkdir build
$ cd build
$ cmake .. && make -j
$ sudo make install
Note :
The generated shared library and static library are installed to the directory of "/usr/local/lib". The header files are installed to the directory of "/usr/local/include".
Tips: Remove Livox SDK2:
$ sudo rm -rf /usr/local/lib/liblivox_lidar_sdk_*
$ sudo rm -rf /usr/local/include/livox_lidar_*
> git clone https://github.com/Livox-SDK/Livox-SDK2.git
> cd Livox-SDK2
> md build && cd build
> cmake .. -G "Visual Studio 16 2019" -A x64
> cmake .. -G "Visual Studio 16 2019" -A Win32
You can now compile the Livox-SDK2 in Visual Studio 2019.
Livox SDK2 includes three samples, which are "livox_lidar_quick_start", "logger" and "multi_lidars_upgrade".
Connect to the Lidar(s), and run the program 'livox_lidar_quick_start' :
$ cd samples/livox_lidar_quick_start && ./livox_lidar_quick_start ../../../samples/livox_lidar_quick_start/[config file]
After compiling the Livox SDK2 as shown in Installation above, you can find 'livox_lidar_quick_start.exe' in the directory of 'Livox-SDK2\build\samples\livox_lidar_quick_start\Debug(or Release)\'.
Copy the config file 'Livox-SDK2\samples\livox_lidar_quick_start\[config file]' into the directory containing the program 'livox_lidar_quick_start.exe', and run:
> livox_lidar_quick_start.exe [config file]
Then you can see the information as below:
> [info] Data Handle Init Succ. [data_handler.cpp] [Init] [42]
> [info] Create detection channel detection socket:0 [device_manager.cpp] [CreateDetectionChannel] [232]
Note :
Parameter | Detailed description | Default |
---|---|---|
lidar_log_enable | Enable or disable lidar logger. Logger is enabled by default. |
true |
lidar_log_cache_size_MB | Set lidar log cache size. The unit is MB . |
500 |
lidar_log_path | Set the save path of lidar log file. The log file is saved in the current path by default. |
"./" |
These Parameters are located in hap_config.json / mid360_config.json files.
Connect to the Lidar(s), and run the program 'logger' :
$ cd samples/logger && ./logger ../../../samples/logger/[config file]
After compiling the Livox SDK2 as shown in Installation above, you can find 'logger.exe' in the directory of 'Livox-SDK2\build\samples\logger\Debug(or Release)\'.
Copy the config file 'Livox-SDK2\samples\logger\[config file]' into the directory containing the program 'logger.exe', and run:
> logger.exe [config file]
Note :
Connect to the Lidar(s), and run the program 'multi_lidars_upgrade' :
$ cd samples/multi_lidars_upgrade && ./multi_lidars_upgrade ../../../samples/[config file] [firmware file path]
After executing the above command, Lidar stops and the firmware upgrade starts. The Lidar(s) upgrade takes a while and the upgrade progress is printed on termial. Also "upgrade successfully" will be printed on terminal when finishing upgrading.
After compiling the Livox SDK2 as shown in Installation above, you can find 'multi_lidars_upgrade.exe' in the directory of 'Livox-SDK2\build\samples\multi_lidars_upgrade\Debug(or Release)\'.
Copy the config file 'Livox-SDK2\samples\multi_lidars_upgrade\[config file]' and firmware file into the directory containing the program 'multi_lidars_upgrade.exe', and run:
> multi_lidars_upgrade.exe [config file] [firmware file name]
Note :
Here is a basic config sample with all REQUIRED fields:
{
"HAP": {
"lidar_net_info" : {
"cmd_data_port" : 56000,
"push_msg_port" : 0,
"point_data_port": 57000,
"imu_data_port" : 58000,
"log_data_port" : 59000
},
"host_net_info" : [
{
"lidar_ip" : ["192.168.1.10","192.168.1.11","192.168.1.12", "192.168.1.13"],
"host_ip" : "192.168.1.5",
"cmd_data_port" : 56000,
"push_msg_port" : 0,
"point_data_port": 57000,
"imu_data_port" : 58000,
"log_data_port" : 59000
}
]
}
}
Here is a full sample including multi-lidar types configurations and some OPTIONAL fields:
{
"master_sdk" : true,
"lidar_log_enable" : true,
"lidar_log_cache_size_MB" : 500,
"lidar_log_path" : "./",
"HAP": {
"lidar_net_info" : {
"cmd_data_port" : 56000,
"push_msg_port" : 0,
"point_data_port": 57000,
"imu_data_port" : 58000,
"log_data_port" : 59000
},
"host_net_info" : [
{
"lidar_ip" : ["192.168.1.10","192.168.1.11","192.168.1.12", "192.168.1.13"],
"host_ip" : "192.168.1.5",
"multicast_ip" : "224.1.1.5",
"cmd_data_port" : 56000,
"push_msg_port" : 0,
"point_data_port": 57000,
"imu_data_port" : 58000,
"log_data_port" : 59000
}
]
},
"MID360": {
"lidar_net_info" : {
"cmd_data_port" : 56100,
"push_msg_port" : 56200,
"point_data_port": 56300,
"imu_data_port" : 56400,
"log_data_port" : 56500
},
"host_net_info" : [
{
"lidar_ip" : ["192.168.1.3"],
"host_ip" : "192.168.1.5",
"multicast_ip" : "224.1.1.5",
"cmd_data_port" : 56101,
"push_msg_port" : 56201,
"point_data_port": 56301,
"imu_data_port" : 56401,
"log_data_port" : 56501
}
]
}
}
You can get support from Livox via: