|
|
|
|
|
|
|
|
|
|
|
上海星秒光电科技有限公司
|
|
|
|
|
|
- 1 -
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 2 -
|
|
|
|
|
|
目 录
|
|
|
|
|
|
1 概述............................................................................................................................................................... 6
|
|
|
|
|
|
1.1 系统要求........................................................................................................................................... 6
|
|
|
|
|
|
1.2 Pavo2 体系结构................................................................................................................................6
|
|
|
|
|
|
2 核心数据结构............................................................................................................................................... 8
|
|
|
|
|
|
3 接口说明..................................................................................................................................................... 10
|
|
|
|
|
|
3.1 pavo2_driver.................................................................................................................................11
|
|
|
|
|
|
3.2 set_local_address.......................................................................................................................11
|
|
|
|
|
|
3.3 set_conn_protocol.......................................................................................................................11
|
|
|
|
|
|
3.4 pavo2_open..................................................................................................................................... 12
|
|
|
|
|
|
3.5 pavo2_is_open...............................................................................................................................12
|
|
|
|
|
|
3.6 pavo2_close...................................................................................................................................12
|
|
|
|
|
|
3.7 get_scans_available...................................................................................................................13
|
|
|
|
|
|
3.8 get_ptp_deviations_available.................................................................................................13
|
|
|
|
|
|
3.9 get_scanned_data.........................................................................................................................13
|
|
|
|
|
|
3.10 recv_point_cloud.......................................................................................................................15
|
|
|
|
|
|
3.11 recv_ptp_deviation_data.........................................................................................................15
|
|
|
|
|
|
3.12 get_device_sn.............................................................................................................................15
|
|
|
|
|
|
3.13 get_device_pn.............................................................................................................................16
|
|
|
|
|
|
3.14 get_sdk_ver.................................................................................................................................16
|
|
|
|
|
|
3.15 get_os_ver...................................................................................................................................16
|
|
|
|
|
|
3.16 get_firmware_ver.......................................................................................................................16
|
|
|
|
|
|
3.17 get_os_error...............................................................................................................................17
|
|
|
|
|
|
3.18 get_error_code...........................................................................................................................17
|
|
|
|
|
|
3.19 enable_data.................................................................................................................................17
|
|
|
|
|
|
3.20 set_intensity_mode...................................................................................................................18
|
|
|
|
|
|
3.21 get_intensity_mode...................................................................................................................18
|
|
|
|
|
|
3.22 set_angle_range.........................................................................................................................18
|
|
|
|
|
|
3.23 get_angle_range.........................................................................................................................18
|
|
|
|
|
|
3.24 get_max_angle_range.................................................................................................................19
|
|
|
|
|
|
3.25 set_motor_speed.........................................................................................................................19
|
|
|
|
|
|
3.26 get_motor_speed.........................................................................................................................19
|
|
|
|
|
|
3.27 get_motor_speed_enable...........................................................................................................20
|
|
|
|
|
|
3.28 set_angle_resolution...............................................................................................................20
|
|
|
|
|
|
3.29 get_angle_resolution...............................................................................................................20
|
|
|
|
|
|
3.30 get_angle_resolution_enable.................................................................................................20
|
|
|
|
|
|
3.31 set_device_ip.............................................................................................................................21
|
|
|
|
|
|
3.32 get_device_ip.............................................................................................................................21
|
|
|
|
|
|
3.33 set_tcp_port...............................................................................................................................21
|
|
|
|
|
|
3.34 get_tcp_port...............................................................................................................................21
|
|
|
|
|
|
3.35 set_device_mask.........................................................................................................................22
|
|
|
|
|
|
3.36 get_device_mask.........................................................................................................................22
|
|
|
|
|
|
3.37 set_device_gateway...................................................................................................................22
|
|
|
|
|
|
|
|
|
|
|
|
- 3 -
|
|
|
|
|
|
3.38 get_device_gateway...................................................................................................................22
|
|
|
|
|
|
3.39 get_device_mac...........................................................................................................................23
|
|
|
|
|
|
3.40 set_os_restart...........................................................................................................................23
|
|
|
|
|
|
3.41 set_echo_mode.............................................................................................................................23
|
|
|
|
|
|
3.42 get_echo_mode.............................................................................................................................23
|
|
|
|
|
|
3.43 set_outdoor_mode.......................................................................................................................24
|
|
|
|
|
|
3.44 get_outdoor_mode.......................................................................................................................24
|
|
|
|
|
|
3.45 set_calibrate_horizontal_angle...........................................................................................24
|
|
|
|
|
|
3.46 get_calibrate_horizontal_angle...........................................................................................25
|
|
|
|
|
|
3.47 get_max_angle_distance...........................................................................................................25
|
|
|
|
|
|
3.48 enable_tail_filter...................................................................................................................25
|
|
|
|
|
|
3.49 enable_front_filter.................................................................................................................25
|
|
|
|
|
|
3.50 enable_far_hr_filter...............................................................................................................26
|
|
|
|
|
|
3.51 enable_near_hr...........................................................................................................................26
|
|
|
|
|
|
3.52 is_near_hr_enabled...................................................................................................................26
|
|
|
|
|
|
3.53 is_near_hr_supported...............................................................................................................26
|
|
|
|
|
|
3.54 set_warn_angle_range...............................................................................................................27
|
|
|
|
|
|
3.55 get_warn_angle_range...............................................................................................................27
|
|
|
|
|
|
3.56 set_warn_intensity_distance.................................................................................................27
|
|
|
|
|
|
3.57 get_warn_intensity_distance.................................................................................................28
|
|
|
|
|
|
3.58 set_warn_point_number.............................................................................................................28
|
|
|
|
|
|
3.59 get_warn_point_number.............................................................................................................28
|
|
|
|
|
|
3.60 enable_ptp...................................................................................................................................28
|
|
|
|
|
|
3.61 is_ptp_enabled...........................................................................................................................29
|
|
|
|
|
|
3.62 is_ptp_supported.......................................................................................................................29
|
|
|
|
|
|
3.63 get_temperature.........................................................................................................................29
|
|
|
|
|
|
3.64 get_heartbeat.............................................................................................................................30
|
|
|
|
|
|
|
|
|
|
|
|
- 4 -
|
|
|
|
|
|
修订历史
|
|
|
|
|
|
|
|
|
|
|
|
- 6 -
|
|
|
|
|
|
1 概述
|
|
|
|
|
|
本文档描述了 SIMINICS Pavo2 SDK 的功能与使用方法,与 Pavo2 Lidar 同时发布。
|
|
|
|
|
|
本 SDK 不能用于对其他设备或系统的控制,请勿移作他用。
|
|
|
|
|
|
1.1 系统要求
|
|
|
|
|
|
本 SDK 为源码发布,请用户自行集成到目标系统。
|
|
|
|
|
|
SDK 使用了同时支持 Windows 和 Linux 操作系统。
|
|
|
|
|
|
SDK 使用了多线程和 Socket 技术,编译时请确保操作系统支持多线程和 Socket 库。
|
|
|
|
|
|
SDK 由 C++编写,遵循 C++11 标准,请确保编译器支持 C++11 标准。
|
|
|
|
|
|
1.2 Pavo2 体系结构
|
|
|
|
|
|
|
|
|
|
|
|
- 7 -
|
|
|
|
|
|
图 1:Pavo2 系统基本结构
|
|
|
|
|
|
Pavo2 数据采集系统从软件角度包括以下几个部分:
|
|
|
|
|
|
1. Pavo2 Lidar:采集环境数据。
|
|
|
|
|
|
2. Ethernet: Pavo2 Lidar 通过 Ethernet 与上位机连接。Pavo2 Lidar 采集到的数据经由 TCP/UDP
|
|
|
|
|
|
数据包发送到上位机。
|
|
|
|
|
|
3. SDK:上位机程序可以通过 SDK 提供的接口接收 Pavo2 Lidar 采集到的数据或对 Pavo2 Lidar 进
|
|
|
|
|
|
行控制:
|
|
|
|
|
|
1) 获取设备数据线程:读取设备数据,保证数据传输速度。
|
|
|
|
|
|
SDK 通过 TCP/UDP 与雷达进行连接,并启动一专门线程接收雷达数据。
|
|
|
|
|
|
2) 数据缓存:接收到的数据先缓存在内存中。
|
|
|
|
|
|
用户通过 SDK 接口类获得的数据都是最新一帧的数据,该帧以前的数据如未及时读取,
|
|
|
|
|
|
会被丢弃。
|
|
|
|
|
|
视 Pavo2 型号不同,雷达与上位机的数据通信有两种方式
|
|
|
|
|
|
1. 只提供 TCP 连接。
|
|
|
|
|
|
2. 同时支持 TCP 和 UDP 连接,用户可以选择 TCP 或 UDP 连接方式。
|
|
|
|
|
|
具体型号支持何种协议,请咨询销售人员。
|
|
|
|
|
|
|
|
|
|
|
|
- 8 -
|
|
|
|
|
|
2 核心数据结构
|
|
|
|
|
|
enum class PAVO2_PROTO_TYPE : int
|
|
|
|
|
|
{
|
|
|
|
|
|
DEFUALT = 0, TCP = 1, UDP = 2
|
|
|
|
|
|
};typedef struct pavo_response_scan
|
|
|
|
|
|
{
|
|
|
|
|
|
uint16_t angle; uint16_t distance; uint8_t intensity; } __DATA_ALIGN__ pavo_response_scan_t; typedef struct pavo_response_pcd
|
|
|
|
|
|
{
|
|
|
|
|
|
double x; double y; double z; //fixed as 0 for single-laser device uint8_t intensity; } __DATA_ALIGN__ pavo_response_pcd_t; typedef struct pavo_packet_info_pcd
|
|
|
|
|
|
{
|
|
|
|
|
|
vector<pavo_response_pcd_t> vec_buff; uint32_t time_stamp; uint32_t time_delay; } __DATA_ALIGN__ pavo_packet_info_pcd_t; typedef struct pavo_packet_info_scan
|
|
|
|
|
|
{
|
|
|
|
|
|
vector<pavo_response_scan_t> vec_buff; uint32_t time_stamp; uint32_t time_delay; } __DATA_ALIGN__ pavo_packet_info_scan_t; typedef struct pavo_point_cloud_scan
|
|
|
|
|
|
{
|
|
|
|
|
|
uint32_t packet_id; bool ptp_en; uint16_t process_delay; uint16_t angle_resolution; uint16_t start_angle; uint16_t end_angle; vector<pavo_response_scan_t> data; uint64_t time_stamp; } pavo_point_cloud_scan_t; typedef struct pavo_ptp_deviation
|
|
|
|
|
|
{
|
|
|
|
|
|
int64_t last_sync_time;
|
|
|
|
|
|
int64_t time_offset; }pavo_ptp_deviation_t; PAVO2
|
|
|
|
|
|
_PROTO
|
|
|
|
|
|
_TYPE:选择 pavo2
|
|
|
|
|
|
_driver 连接 Pavo2 Lidar 所使用的协议。
|
|
|
|
|
|
pavo
|
|
|
|
|
|
_response
|
|
|
|
|
|
_scan
|
|
|
|
|
|
_t:角度和距离坐标。
|
|
|
|
|
|
angle:单位为 0.01 度。
|
|
|
|
|
|
distance:单位为 0.002 米。
|
|
|
|
|
|
intensity:值在 0~4500 之间,为一相对值。
|
|
|
|
|
|
pavo
|
|
|
|
|
|
_response
|
|
|
|
|
|
_pcd
|
|
|
|
|
|
_t: 笛卡尔坐标。
|
|
|
|
|
|
|
|
|
|
|
|
- 9 -
|
|
|
|
|
|
x,y,z:单位为 0.002 米。
|
|
|
|
|
|
intensity: 值在 0~4500 之间,为一相对值。
|
|
|
|
|
|
pavo
|
|
|
|
|
|
_packet
|
|
|
|
|
|
_info
|
|
|
|
|
|
_pcd
|
|
|
|
|
|
_t:一圈点云数据
|
|
|
|
|
|
vec
|
|
|
|
|
|
_buff:点云数据集合
|
|
|
|
|
|
time
|
|
|
|
|
|
_stamp:时间戳
|
|
|
|
|
|
time
|
|
|
|
|
|
_delay:时间延时
|
|
|
|
|
|
pavo
|
|
|
|
|
|
_packet
|
|
|
|
|
|
_info
|
|
|
|
|
|
_scan
|
|
|
|
|
|
_t:一圈点云数据
|
|
|
|
|
|
vec
|
|
|
|
|
|
_buff:点云数据集合
|
|
|
|
|
|
time
|
|
|
|
|
|
_stamp:时间戳
|
|
|
|
|
|
time
|
|
|
|
|
|
_delay:时间延时
|
|
|
|
|
|
这些数据结构定义在 pavo2
|
|
|
|
|
|
_types.h 头文件中。
|
|
|
|
|
|
pavo
|
|
|
|
|
|
_point
|
|
|
|
|
|
_cloud
|
|
|
|
|
|
_scan
|
|
|
|
|
|
_t: 一圈点云数据,包括点云头部信息
|
|
|
|
|
|
packet
|
|
|
|
|
|
_id: 一圈点云数据 id
|
|
|
|
|
|
ptp_en: 是否开启 ptp 功能
|
|
|
|
|
|
process
|
|
|
|
|
|
_delay: 点云在雷达固件中的处理延时
|
|
|
|
|
|
angle
|
|
|
|
|
|
_resolution: 角分辨率
|
|
|
|
|
|
start
|
|
|
|
|
|
_angle:点云起始角度
|
|
|
|
|
|
end
|
|
|
|
|
|
_angle: 点云结束角度
|
|
|
|
|
|
Data: 点云数据
|
|
|
|
|
|
time
|
|
|
|
|
|
_stamp: 点云时间戳
|
|
|
|
|
|
pavo
|
|
|
|
|
|
_ptp_deviation
|
|
|
|
|
|
_t: 雷达与 ptp 主机之间的时间偏差信息
|
|
|
|
|
|
last
|
|
|
|
|
|
_sync
|
|
|
|
|
|
_time:雷达与 ptp 主机之间的上一次同步时间。
|
|
|
|
|
|
time
|
|
|
|
|
|
_offset:雷达与主机之间的时间偏差。
|
|
|
|
|
|
|
|
|
|
|
|
- 10 -
|
|
|
|
|
|
3 接口说明
|
|
|
|
|
|
用户通过类“class pavo2
|
|
|
|
|
|
_driver”对 Pavo2 Lidar 进行访问。该类定义在 pavo2
|
|
|
|
|
|
_driver.h 头文件中,
|
|
|
|
|
|
SDK 的版本号通过 SDK
|
|
|
|
|
|
_VER 宏定义进行获取,主要函数有:
|
|
|
|
|
|
class pavo2_driver
|
|
|
|
|
|
{
|
|
|
|
|
|
public: pavo2_driver(); ~pavo2_driver(); void set_local_address(std::string local_ip, uint16_t local_port); void set_conn_protocol(PAVO2_PROTO_TYPE proto_type); bool pavo2_open(string lidar_ip, uint16_t lidar_port, uint32_t timeout = 0); bool pavo2_is_open(); bool pavo2_close(); std::size_t get_scans_available() const; std::size_t get_ptp_deviations_available() const; bool get_scanned_data(pavo_response_scan_t* data_buffer, uint16_t& count, uint16_t timeout = 0); bool get_scanned_data(std::vector<pavo_response_scan_t>& vec_buff, uint16_t timeout = 0); bool get_scanned_data(pavo_response_pcd_t* data_buffer, uint16_t& count, uint16_t timeout = 0); bool get_scanned_data(std::vector<pavo_response_pcd_t>& vec_buff, uint16_t timeout = 0); bool recv_point_cloud(pavo_point_cloud_scan_t& scan, uint16_t timeout = 0); bool recv_ptp_deviation_data(pavo_ptp_deviation_t& ptp_deviation, uint16_t timeout = 0); bool get_device_sn(string & sn); bool get_device_pn(string & pn); bool get_sdk_ver(string & ver); bool get_os_ver(string & ver); bool get_firmware_ver(string & ver); bool get_os_error(uint32_t& errCode,uint8_t iIndex = 0);
|
|
|
|
|
|
int get_error_code(); bool enable_data(bool en); bool set_intensity_mode(bool en); bool get_intensity_mode(bool & en); bool set_angle_range(uint16_t start, uint16_t end); bool get_angle_range(uint16_t & start, uint16_t & end); bool set_motor_speed(uint8_t val); bool get_motor_speed(uint8_t & val); bool get_motor_speed_enable(uint32_t & val); bool set_angle_resolution(uint16_t val); bool get_angle_resolution(uint16_t& val); bool get_angle_resolution_enable(uint32_t & val); bool set_device_ip(string ip); bool get_device_ip(string & ip); bool set_tcp_port(uint16_t val); bool get_tcp_port(uint16_t & val); bool set_device_mask(const std::string& mask); bool get_device_mask(std::string& mask); bool set_device_gateway(const std::string& gateway); bool get_device_gateway(std::string& gateway); bool get_device_mac(std::string& mac); bool set_os_restart(); bool set_echo_mode(bool en); bool get_echo_mode(bool& en); bool set_outdoor_mode(bool en); bool get_outdoor_mode(bool& en); bool set_calibrate_horizontal_angle(uint32_t angle); bool get_calibrate_horizontal_angle(uint32_t& angle); bool get_max_angle_distance(uint32_t & val); bool enable_tail_filter(uint16_t method); bool enable_front_filter(uint16_t iLevel); bool enable_far_hr_filter(uint16_t hrLevel);
|
|
|
|
|
|
|
|
|
|
|
|
- 11 -
|
|
|
|
|
|
bool enable_near_hr_filter(bool en); bool get_near_hr_filter(bool &en); bool set_warn_angle_range(uint16_t start,uint16_t end); bool get_warn_angle_range(uint16_t& start,uint16_t& end); bool set_warn_intensity_distance(uint16_t distance,uint16_t intensity); bool get_warn_intensity_distance(uint16_t& distance,uint16_t& intensity); bool set_warn_point_number(uint16_t number); bool get_warn_point_number(uint16_t& number); bool enable_ptp(bool en); bool is_ptp_enabled(bool &en); bool get_temperature(float& temperature); bool get_heartbeat(); //其后省略..... }
|
|
|
|
|
|
3.1 pavo2_driver
|
|
|
|
|
|
Pavo2 Driver 的构造函数。
|
|
|
|
|
|
pavo2_driver();
|
|
|
|
|
|
SDK 核心类,在创建时,会启动一个 TCP 通信节点,用于和 Pavo2 雷达通信。
|
|
|
|
|
|
采用雷达被动上传数据模式。
|
|
|
|
|
|
3.2 set_local_address
|
|
|
|
|
|
绑定和雷达连接的本地 IP 地址和端口。
|
|
|
|
|
|
void set_local_address(const std::string& local_ip, uint16_t local_port);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
local_ip:输入参数,本地 IP 地址。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
无。
|
|
|
|
|
|
3.3 set_conn_protocol
|
|
|
|
|
|
选择所创建的 pavo2
|
|
|
|
|
|
_driver 连接 Pavo2 Lidar 所使用的协议。
|
|
|
|
|
|
void set_conn_protocol(PAVO2_PROTO_TYPE proto_type);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
proto_type:输入参数,选择所需要使用的协议。
|
|
|
|
|
|
DEFAULT:使用默认协议,当前默认协议是 TCP;
|
|
|
|
|
|
TCP:使用 TCP 协议;
|
|
|
|
|
|
UDP:使用 UDP 协议。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
无。
|
|
|
|
|
|
PAVO2_PROTO_TYPE 定义如下:
|
|
|
|
|
|
enum class PAVO2_PROTO_TYPE : int
|
|
|
|
|
|
{
|
|
|
|
|
|
DEFUALT = 0,
|
|
|
|
|
|
|
|
|
|
|
|
- 12 -
|
|
|
|
|
|
TCP = 1,
|
|
|
|
|
|
UDP = 2
|
|
|
|
|
|
};
|
|
|
|
|
|
3.4 pavo2_open
|
|
|
|
|
|
和 pavo2 雷达建立通信连接。
|
|
|
|
|
|
bool pavo2_open(const std::string& lidar_ip, uint16_t lidar_port, uint32_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
lidar_ip:输入参数,雷达的 IP 地址。
|
|
|
|
|
|
lidar_port:输入参数,雷达的发送数据端口。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。默认值为 0。如果该值为 0,则该函数会一直
|
|
|
|
|
|
阻塞。如果该值大于零,则如果超过该时间还没有成功建立通信,则函数仍然返回,返回值为
|
|
|
|
|
|
false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否成功建立连接:
|
|
|
|
|
|
true:建立连接成功;
|
|
|
|
|
|
false:建立连接失败或超时。
|
|
|
|
|
|
3.5 pavo2_is_open
|
|
|
|
|
|
判断是否与 Pavo2 Lidar 成功连接。常用于连接建立后,对连接通信是否仍然正常进行判断。
|
|
|
|
|
|
bool pavo2_is_open();
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
连接是否成功:
|
|
|
|
|
|
true: 连接成功;
|
|
|
|
|
|
false:连接失败。
|
|
|
|
|
|
3.6 pavo2_close
|
|
|
|
|
|
关闭和雷达的通信连接。
|
|
|
|
|
|
bool pavo2_close();
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:关闭成功;
|
|
|
|
|
|
false:关闭失败。
|
|
|
|
|
|
|
|
|
|
|
|
- 13 -
|
|
|
|
|
|
3.7 get_scans_available
|
|
|
|
|
|
获取 SDK 中缓存的点云圈数。
|
|
|
|
|
|
std::size_t get_scans_available() const;
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
缓存的点云圈数。
|
|
|
|
|
|
3.8 get_ptp_deviations_available
|
|
|
|
|
|
获取 SDK 中缓存的 ptp 时间偏差信息数量。
|
|
|
|
|
|
std::size_t get_ptp_deviations_available() const;
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
缓存的 ptp 时间偏差信息数量。
|
|
|
|
|
|
3.9 get_scanned_data
|
|
|
|
|
|
该接口用于获取 Pavo2 Lidar 扫描到的数据,根据数据类型的不同,函数重载四次。
|
|
|
|
|
|
bool get_scanned_data(pavo_response_scan_t* data_buffer, uint16_t& count, uint16_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
data
|
|
|
|
|
|
_buffer:输出参数,用户提供的数据返回数组。用户须保证该参数的有效性。
|
|
|
|
|
|
count: 输入/输出参数,返回的数据个数。
|
|
|
|
|
|
输入:data
|
|
|
|
|
|
_buffer 大小;
|
|
|
|
|
|
输出:返回数据个数,如返回数据大于 data
|
|
|
|
|
|
_buffer 大小,则表示缓冲大小不足。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据:
|
|
|
|
|
|
true: 获得有效数据;
|
|
|
|
|
|
false:获取数据失败。
|
|
|
|
|
|
bool get_scanned_data(std::vector<pavo_response_scan_t>& vec_buff, uint16_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
vec
|
|
|
|
|
|
_buff:输出参数,返回数据。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
|
|
|
|
|
|
- 14 -
|
|
|
|
|
|
数仍然返回,返回值为 false;
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据:
|
|
|
|
|
|
true: 获得有效数据;
|
|
|
|
|
|
false:获取数据失败。
|
|
|
|
|
|
bool get_scanned_data(pavo_response_pcd_t* data_buffer,uint16_t& count, uint16_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
data
|
|
|
|
|
|
_buffer:输出参数,用户提供的数据返回数组。用户须保证该参数的有效性。
|
|
|
|
|
|
count:输入/输出参数,返回的数据个数。
|
|
|
|
|
|
输入:data
|
|
|
|
|
|
_buffer 大小;
|
|
|
|
|
|
输出:返回数据个数,如返回数据大于 data
|
|
|
|
|
|
_buffer 大小,则表示缓冲大小不足。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据:
|
|
|
|
|
|
true: 获得有效数据;
|
|
|
|
|
|
false:获取数据失败。
|
|
|
|
|
|
bool get_scanned_data(std::vector<pavo_response_pcd_t>& vec_buff, uint16_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
vec
|
|
|
|
|
|
_buff:输出参数,返回数据。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false;
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据:
|
|
|
|
|
|
true: 获得有效数据;
|
|
|
|
|
|
false:获取数据失败。
|
|
|
|
|
|
bool get_scanned_data(pavo_packet_info_scan_t& packet_info_scan, uint16_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
packet
|
|
|
|
|
|
_info
|
|
|
|
|
|
_scan:输出参数,用户提供的数据返回数组。用户须保证该参数的有效性。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据。
|
|
|
|
|
|
|
|
|
|
|
|
- 15 -
|
|
|
|
|
|
bool get_scanned_data(pavo_packet_info_pcd_t& packet_info_pcd, uint16_t timeout = 0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
packet
|
|
|
|
|
|
_info
|
|
|
|
|
|
_pcd:输出参数,用户提供的数据返回数组。用户须保证该参数的有效性。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据。
|
|
|
|
|
|
3.10 recv_point_cloud
|
|
|
|
|
|
该接口用于获取 Pavo2 Lidar 扫描到的点云数据,与 get
|
|
|
|
|
|
_scanned
|
|
|
|
|
|
_data,该接口获取的点云数据还包
|
|
|
|
|
|
括头部信息。
|
|
|
|
|
|
bool recv_point_cloud(pavo_point_cloud_scan_t& scan, uint16_t timeout=0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
scan:输出参数,点云数据。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据:
|
|
|
|
|
|
true: 获得有效数据;
|
|
|
|
|
|
false:获取数据失败。
|
|
|
|
|
|
3.11 recv_ptp_deviation_data
|
|
|
|
|
|
获取 Pavo2 Lidar 与 ptp 主机之间的时间偏差信息。
|
|
|
|
|
|
bool recv_ptp_deviation_data(pavo_ptp_deviation_t& ptp_deviation, uint16_t timeout=0);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
ptp_deviation:输出参数,ptp 时间偏差信息。
|
|
|
|
|
|
timeout:输入参数,超时时间,单位 ms。如果该值为 0,则在获得有效数据之前,该函
|
|
|
|
|
|
数会一直阻塞。如果该值大于零,则如果超过该时间还没有获得有效数据,则函
|
|
|
|
|
|
数仍然返回,返回值为 false。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
是否获得有效数据:
|
|
|
|
|
|
true: 获得有效数据;
|
|
|
|
|
|
false:获取数据失败。
|
|
|
|
|
|
3.12 get_device_sn
|
|
|
|
|
|
|
|
|
|
|
|
- 16 -
|
|
|
|
|
|
获取设备 SN 序列号。
|
|
|
|
|
|
bool get_device_sn(std::string& sn);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
sn:获取到的设备 SN 序列号。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false::调用失败。
|
|
|
|
|
|
3.13 get_device_pn
|
|
|
|
|
|
获取设备 PN 序列号。
|
|
|
|
|
|
bool get_device_pn(std::string& pn);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
pn:获取到的设备 PN 序列号,以十六进制显示。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.14 get_sdk_ver
|
|
|
|
|
|
获取 sdk 版本号。
|
|
|
|
|
|
bool get_sdk_ver(std::string& ver);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
ver:输出参数。Sdk 版本号。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.15 get_os_ver
|
|
|
|
|
|
获取雷达操作系统版本号。
|
|
|
|
|
|
bool get_os_ver(std::string& ver);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
ver:输出参数。雷达操作系统版本号。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.16 get_firmware_ver
|
|
|
|
|
|
获取雷达固件版本号。
|
|
|
|
|
|
bool get_firmware_ver(string& ver);
|
|
|
|
|
|
|
|
|
|
|
|
- 17 -
|
|
|
|
|
|
参数:
|
|
|
|
|
|
ver:输出参数。雷达固件版本号。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.17 get_os_error
|
|
|
|
|
|
获取雷达操作系统错误码。
|
|
|
|
|
|
bool get_os_error(uint32_t& errCode, uint8_t iIndex = 0)
|
|
|
|
|
|
参数:
|
|
|
|
|
|
errCode:输出参数。雷达操作系统错误码。
|
|
|
|
|
|
iIndex :输入参数,0~3 表示获取对应序号的错误码,其他值表示获取全部错误码
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功。
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.18 get_error_code
|
|
|
|
|
|
获取雷达连接网络错误。
|
|
|
|
|
|
int get_error_code();
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
网络错误码。
|
|
|
|
|
|
3.19 enable_data
|
|
|
|
|
|
开启/停止 Pavo2 Lidar 数据传输。
|
|
|
|
|
|
bool enable_data(bool en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输入参数。
|
|
|
|
|
|
true:开启数据传输;
|
|
|
|
|
|
false:停止数据传输。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
|
|
|
|
|
|
- 18 -
|
|
|
|
|
|
3.20 set_intensity_mode
|
|
|
|
|
|
设置雷达数据是否带强度信息。
|
|
|
|
|
|
bool set_intensity_mode(bool en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输入参数。
|
|
|
|
|
|
true:雷达数据带强度信息;
|
|
|
|
|
|
false:雷达数据不带强度信息。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.21 get_intensity_mode
|
|
|
|
|
|
获取雷达数据是否带强度信息。
|
|
|
|
|
|
bool get_intensity_mode(bool& en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输出参数,雷达数据是否带强度信息。
|
|
|
|
|
|
true:雷达数据带强度信息;
|
|
|
|
|
|
false:雷达数据不带强度信息。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.22 set_angle_range
|
|
|
|
|
|
设置雷达传输角度范围。
|
|
|
|
|
|
bool set_angle_range(uint16_t start, uint16_t end);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
start:输入参数,起始角度。取值范围[4000,32000]。单位是 0.01°。
|
|
|
|
|
|
end:输入参数,终止角度。取值范围[4000,32000]。单位是 0.0.1°。
|
|
|
|
|
|
注意:start 值不能大于 end。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.23 get_angle_range
|
|
|
|
|
|
|
|
|
|
|
|
- 19 -
|
|
|
|
|
|
获取传输的角度范围。
|
|
|
|
|
|
bool get_angle_range(uint16_t& start, uint16_t& end);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
start:输出参数。起始角度。
|
|
|
|
|
|
end:输出参数。终止角度。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.24 get_max_angle_range
|
|
|
|
|
|
获取雷达角度范围使能配置。
|
|
|
|
|
|
bool get_max_angle_range(uint32_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输出参数,雷达角度范围使能配置。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.25 set_motor_speed
|
|
|
|
|
|
设置电机转速。
|
|
|
|
|
|
bool set_motor_speed(uint8_t val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val: 输入参数,电机转速,单位 Hz。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.26 get_motor_speed
|
|
|
|
|
|
获取电机转速。
|
|
|
|
|
|
bool get_motor_speed(uint8_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val: 输出参数,电机转速,单位 Hz。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
|
|
|
|
|
|
- 20 -
|
|
|
|
|
|
3.27 get_motor_speed_enable
|
|
|
|
|
|
获取电机转速可配置范围。
|
|
|
|
|
|
bool get_motor_speed_enable(uint32_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val: 输出参数,电机转速可配置范围。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.28 set_angle_resolution
|
|
|
|
|
|
设置雷达角分辨率。
|
|
|
|
|
|
bool set_angle_resolution(uint16_t val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val: 输入参数,角分辨,可配置 8 、16、32。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.29 get_angle_resolution
|
|
|
|
|
|
获取雷达角分辨率。
|
|
|
|
|
|
bool get_angle_resolution(uint16_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输出参数,角分辨。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.30 get_angle_resolution_enable
|
|
|
|
|
|
获取雷达角分辨率可配置范围。
|
|
|
|
|
|
bool get_angle_resolution_enable(uint32_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输出参数,角分辨可配置范围。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
|
|
|
|
|
|
- 21 -
|
|
|
|
|
|
3.31 set_device_ip
|
|
|
|
|
|
配置 Pavo2 Lidar 数据的源 IP 地址。
|
|
|
|
|
|
bool set_device_ip(const std::string& ip);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
ip:输入参数。Pavo2 Lidar IP 地址。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.32 get_device_ip
|
|
|
|
|
|
获取 Pavo2 Lidar 数据的源 IP 地址。
|
|
|
|
|
|
bool get_device_ip(std::string& ip);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
ip:输出参数。Pavo2 Lidar 地址。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.33 set_tcp_port
|
|
|
|
|
|
设置雷达 TCP 服务端口。
|
|
|
|
|
|
bool set_tcp_port(uint16_t val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输入参数。雷达 TCP 服务端口。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.34 get_tcp_port
|
|
|
|
|
|
获取雷达 TCP 服务端口。
|
|
|
|
|
|
bool get_tcp_port(uint16_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输出参数。雷达 TCP 服务端口。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
|
|
|
|
|
|
- 22 -
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.35 set_device_mask
|
|
|
|
|
|
设置雷达子网掩码。
|
|
|
|
|
|
bool set_device_mask(const std::string& mask);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
mask:输入参数。雷达子网掩码。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.36 get_device_mask
|
|
|
|
|
|
获取雷达子网掩码。
|
|
|
|
|
|
bool get_device_mask(std::string& mask);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
mask:输出参数。雷达子网掩码。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.37 set_device_gateway
|
|
|
|
|
|
设置雷达网关。
|
|
|
|
|
|
bool set_device_gateway(const std::string& gateway);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
gateway:输入参数。雷达网关。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.38 get_device_gateway
|
|
|
|
|
|
获取雷达网关。
|
|
|
|
|
|
bool get_device_gateway(std::string& gateway);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
gateway:输出参数。雷达网关。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
|
|
|
|
|
|
- 23 -
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.39 get_device_mac
|
|
|
|
|
|
获取雷达 mac 地址。
|
|
|
|
|
|
bool get_device_mac(std::string& mac);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
mac:输出参数。雷达 MAC 地址。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.40 set_os_restart
|
|
|
|
|
|
设置系统重启模式。
|
|
|
|
|
|
bool set_os_restart();
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.41 set_echo_mode
|
|
|
|
|
|
设置雷达是否开启二回波模式。
|
|
|
|
|
|
bool set_echo_mode(bool en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输入参数。
|
|
|
|
|
|
true:开启二回波模式;
|
|
|
|
|
|
false:不开启二回波模式。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.42 get_echo_mode
|
|
|
|
|
|
获取雷达是否开启二回波模式。
|
|
|
|
|
|
bool get_echo_mode(bool& en);
|
|
|
|
|
|
|
|
|
|
|
|
- 24 -
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输出参数,雷达是否开启二回波模式。
|
|
|
|
|
|
true:开启二回波模式;
|
|
|
|
|
|
false:不开启二回波模式。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.43 set_outdoor_mode
|
|
|
|
|
|
设置雷达是否开启室外增强模式。
|
|
|
|
|
|
bool set_outdoor_mode(bool en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输入参数,是否开启室外增强模式。
|
|
|
|
|
|
true:开启室外增强模式;
|
|
|
|
|
|
false:不开启室外增强模式。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.44 get_outdoor_mode
|
|
|
|
|
|
获取雷达是否开启室外增强模式。
|
|
|
|
|
|
bool get_outdoor_mode(bool& en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输出参数,雷达是否开启室外增强模式。
|
|
|
|
|
|
true:开启室外增强模式;
|
|
|
|
|
|
false:不开启室外增强模式。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.45 set_calibrate_horizontal_angle
|
|
|
|
|
|
设置雷达水平校准角度。
|
|
|
|
|
|
bool set_calibrate_horizontal_angle(uint32_t angle);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
angle:输入参数。雷达水平校准角度:0-35999。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
|
|
|
|
|
|
- 25 -
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.46 get_calibrate_horizontal_angle
|
|
|
|
|
|
获取雷达水平校准角度。
|
|
|
|
|
|
bool get_calibrate_horizontal_angle(uint32_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输出参数,雷达水平校准角度。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.47 get_max_angle_distance
|
|
|
|
|
|
获取雷达最大测距。
|
|
|
|
|
|
bool get_max_angle_distance(uint32_t& val);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
val:输出参数,雷达最大测距。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.48 enable_tail_filter
|
|
|
|
|
|
开启点云数据拖尾处理模式。
|
|
|
|
|
|
bool enable_tail_filter(uint16_t method);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
method:设置使用的去除拖尾的算法。取值范围[0,1,2,3]。0 表示不启动去除拖尾算法,
|
|
|
|
|
|
1 开启的去除拖尾算法效果最弱,2 中等,3 最强。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.49 enable_front_filter
|
|
|
|
|
|
开启点云数据前冲滤波处理模式。
|
|
|
|
|
|
bool enable_front_filter(uint16_t iLevel);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
iLevel:设置使用的前冲滤波的算法等级。取值范围[0,1,2,3]。0 表示不启动前冲滤波算法,
|
|
|
|
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
1 开启的前冲滤波算法效果最弱,2 中等,3 最强。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.50 enable_far_hr_filter
|
|
|
|
|
|
开启点云数据远端高反滤波处理模式。
|
|
|
|
|
|
bool enable_far_hr_filter(uint16_t iLevel);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
iLevel:设置使用的高反滤波的算法。取值范围[0,1,2]。0 表示不启动高反滤波算法,1 开
|
|
|
|
|
|
启的高反滤波算法效果最弱,2 最强。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.51 enable_near_hr
|
|
|
|
|
|
开启点云近端高反识别。
|
|
|
|
|
|
bool enable_near_hr(bool en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输入参数,是否开启近场高反识别。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.52 is_near_hr_enabled
|
|
|
|
|
|
确认近端高反识别是否已开启。
|
|
|
|
|
|
bool is_near_hr_enabled(bool& en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输出参数,近端高反识别是否已开启。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.53 is_near_hr_supported
|
|
|
|
|
|
确认近端高反识别是否支持。
|
|
|
|
|
|
bool is_near_hr_supported(bool& supported);
|
|
|
|
|
|
|
|
|
|
|
|
- 27 -
|
|
|
|
|
|
参数:
|
|
|
|
|
|
supported:输出参数,近端高反识别是否支持。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.54 set_warn_angle_range
|
|
|
|
|
|
设置点云异常警告角度范围。
|
|
|
|
|
|
bool set_warn_angle_range(uint16_t start, uint16_t end);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
start:输入参数,起始角度。取值范围[4000,32000]。单位是 0.01°。
|
|
|
|
|
|
end:输入参数,终止角度。取值范围[4000,32000]。单位是 0.0.1°。
|
|
|
|
|
|
注意:start 值不大于 end。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.55 get_warn_angle_range
|
|
|
|
|
|
获取点云异常警告角度范围。
|
|
|
|
|
|
bool get_warn_angle_range(uint16_t& start, uint16_t& end);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
start:输出参数。起始角度。
|
|
|
|
|
|
end:输出参数。终止角度。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.56 set_warn_intensity_distance
|
|
|
|
|
|
设置点云异常警告距离强度阈值。
|
|
|
|
|
|
bool set_warn_intensity_distance(uint16_t distance, uint16_t intensity);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
distance:输入参数,距离。
|
|
|
|
|
|
intensity:输入参数,强度。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
|
|
|
|
|
|
- 28 -
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.57 get_warn_intensity_distance
|
|
|
|
|
|
获取点云异常警告距离强度阈值。
|
|
|
|
|
|
bool get_warn_intensity_distance(uint16_t& distance, uint16_t& intensity);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
distance:输出参数。距离。
|
|
|
|
|
|
intensity:输出参数。强度。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.58 set_warn_point_number
|
|
|
|
|
|
设置点云异常警告点云数量。
|
|
|
|
|
|
bool set_warn_point_number(uint16_t number);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
number:输入参数,点云数量。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.59 get_warn_point_number
|
|
|
|
|
|
获取点云异常警告点云数量。
|
|
|
|
|
|
bool get_warn_point_number(uint16_t& number);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
number:输出参数。点云数量。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.60 enable_ptp
|
|
|
|
|
|
启用雷达 ptp 功能。
|
|
|
|
|
|
bool enable_ptp(bool en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:是否启用雷达 ptp 功能。
|
|
|
|
|
|
|
|
|
|
|
|
- 29 -
|
|
|
|
|
|
true:开启 ptp 功能;
|
|
|
|
|
|
false:不开启 ptp 功能。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.61 is_ptp_enabled
|
|
|
|
|
|
查询雷达 ptp 功能是否启用。
|
|
|
|
|
|
bool is_ptp_enabled(bool& en);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
en:输出参数。表示雷达 ptp 功能是否启用。
|
|
|
|
|
|
true:ptp 功能已开启;
|
|
|
|
|
|
false:ptp 功能未开启。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.62 is_ptp_supported
|
|
|
|
|
|
查询雷达 ptp 功能是否支持。
|
|
|
|
|
|
bool is_ptp_supported(bool& supported);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
supported:输出参数。表示雷达 ptp 功能是否支持。
|
|
|
|
|
|
true:ptp 功能支持;
|
|
|
|
|
|
false:ptp 功能不支持。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.63 get_temperature
|
|
|
|
|
|
获取雷达内部温度。
|
|
|
|
|
|
bool get_temperature(float& temperature);
|
|
|
|
|
|
参数:
|
|
|
|
|
|
temperature:输出参数。表示雷达内部温度。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true:调用成功;
|
|
|
|
|
|
|
|
|
|
|
|
- 30 -
|
|
|
|
|
|
false:调用失败。
|
|
|
|
|
|
3.64 get_heartbeat
|
|
|
|
|
|
获取雷达连接状态。
|
|
|
|
|
|
bool get_heartbeat();
|
|
|
|
|
|
参数:
|
|
|
|
|
|
无。
|
|
|
|
|
|
返回值:
|
|
|
|
|
|
true: 连接成功;
|
|
|
|
|
|
false:连接失败。
|