diff --git a/modules/drivers/lidar/vanjeelidar/README.md b/modules/drivers/lidar/vanjeelidar/README.md index d3ff3b8f989..5c002422a2d 100644 --- a/modules/drivers/lidar/vanjeelidar/README.md +++ b/modules/drivers/lidar/vanjeelidar/README.md @@ -2,7 +2,7 @@ ## 1 Introduction - **vanjee** is the lidar driver kit under Apollo platform. Now support *vanjee_720_16","vanjee_720_32*. + **vanjee lidar driver** is the lidar driver kit under Apollo platform. Now, the supported lidar models include "vanjee_720_16","vanjee_720_32","vanjee_722" and "vanjee_722f". ## 2 Run diff --git a/modules/drivers/lidar/vanjeelidar/README_cn.md b/modules/drivers/lidar/vanjeelidar/README_cn.md index 70166104ac2..7facb892496 100644 --- a/modules/drivers/lidar/vanjeelidar/README_cn.md +++ b/modules/drivers/lidar/vanjeelidar/README_cn.md @@ -2,7 +2,7 @@ ## 1 工程简介 - **vanjee** 为万集科技在阿波罗平台上的雷达驱动集成包。 目前支持*vanjee_720_16"、"vanjee_720_32*型号的雷达。 + **vanjee lidar driver** 为万集科技在阿波罗平台上的雷达驱动集成包。 目前支持"vanjee_720_16"、"vanjee_720_32"、"vanjee_722"和"vanjee_722f"型号的雷达。 ## 2 运行 diff --git a/modules/drivers/lidar/vanjeelidar/conf/vanjeelidar.pb.txt b/modules/drivers/lidar/vanjeelidar/conf/vanjeelidar.pb.txt index d54363fc9b5..9d7742eb638 100644 --- a/modules/drivers/lidar/vanjeelidar/conf/vanjeelidar.pb.txt +++ b/modules/drivers/lidar/vanjeelidar/conf/vanjeelidar.pb.txt @@ -7,7 +7,7 @@ config_base { source_type: ONLINE_LIDAR } -# sample: "vanjee_720_16,vanjee_720_32" +# sample: "vanjee_720_16,vanjee_720_32,vanjee_722,vanjee_722f" model: "vanjee_720_16" connect_type: 1 host_msop_port: 3001 @@ -19,8 +19,10 @@ start_angle: 0 end_angle: 360 min_distance: 0.3 max_distance: 120 +point_cloud_masking:"" use_lidar_clock: false dense_points: false wait_for_difop: true config_from_file: false -angle_path: "/usr/local/include/vanjee_driver/param/Vanjee_720_16.csv" +angle_path_hor: "" +angle_path_ver: "/usr/local/include/vanjee_driver/param/Vanjee_720_16_VA.csv" diff --git a/modules/drivers/lidar/vanjeelidar/doc/parameter_intro.md b/modules/drivers/lidar/vanjeelidar/doc/parameter_intro.md index 21adc4f16a8..65f3add9645 100755 --- a/modules/drivers/lidar/vanjeelidar/doc/parameter_intro.md +++ b/modules/drivers/lidar/vanjeelidar/doc/parameter_intro.md @@ -16,16 +16,18 @@ start_angle: 0 end_angle: 360 min_distance: 0.2 max_distance: 120 +point_cloud_masking: "" use_lidar_clock: false dense_points: false wait_for_difop: true config_from_file: false -angle_path: "" +angle_path_hor: "" +angle_path_ver: "" ``` **model** -This is the lidar model, since this configuration file is for vanjee_720_16, we set the model="vanjee_720_16".The parameter are as followed below:vanjee_720_16,vanjee_720_32. +This is the lidar model, since this configuration file is for vanjee_720_16, we set the model="vanjee_720_16".The parameter are as followed below:vanjee_720_16,vanjee_720_32,vanjee_722 and vanjee_722f. **connect_type** @@ -67,6 +69,22 @@ The minimum distance of point cloud,unit:m. The maximum distance of point cloud,unit:m.The point cloud published would only include the distance between min_distance and max_distance. +**point_cloud_masking** +masking range, + line id range: C1-C2,angle range: A1-A2,distance range: L1-L2;(Range is set in ascending order) + Group 1:1-3,0-0.5/100-105,0-1.5/10-20;(masking line id: 1 2 3,masking angle: 0-0.5°+100-105°,masking distance: 0-1.5m+10-20m); + Group 2:5,0/90/180/270,10;(masking line id: 5,masking angle: 0+90+180+270°,masking distance: 10m); + Group 3:1-3,0-0.5/100-105,0-1.5/10-20;5,0/90/180/270,10;(masking range = Group 1 + Group 2); + +masking Rules, + Separate group elements with commas (,), separate line id, angles, and distances with slashes (/) when they are not continuous, and separate two groups with semicolons (;), all using English characters as separators; + +Note: The angle/distance ranges of Shielding Group 1 and Shielding Group 2 are independent of each other, as shown below. Shielding Group 4 and Shielding Group 5 have different ranges, while Shielding Group 4 and Shielding Group 6 have equal ranges; + + Group 4:5,10-20/50-60,1.5-2.5/11-13; + Group 5:5,10-20,1.5-2.5;5,50-60,11-13; + Group 6:5,10-20,1.5-2.5;5,10-20,11-13;5,50-60,1.5-2.5;5,50-60,11-13; + **use_lidar_clock** - true: The timestamp of lidar messages is the lidar clock. @@ -85,6 +103,10 @@ The flag whether need to request the angle information from the lidar firstly. U The flag whether read the angle information from the configuration file .Usually set config_from_file=true in RAW_PACKET mode,otherwise set it as false. -**angle_path** +**angle_path_hor** + +The path of horizontal angle configuration file. + +**angle_path_ver** -The path of angle configuration file. +The path of vertical angle configuration file. diff --git a/modules/drivers/lidar/vanjeelidar/proto/vanjeelidar_config.proto b/modules/drivers/lidar/vanjeelidar/proto/vanjeelidar_config.proto index ee4b2e85388..9bc27a917db 100644 --- a/modules/drivers/lidar/vanjeelidar/proto/vanjeelidar_config.proto +++ b/modules/drivers/lidar/vanjeelidar/proto/vanjeelidar_config.proto @@ -20,14 +20,16 @@ message Config { optional float end_angle = 6; optional float min_distance = 7; optional float max_distance = 8; - optional bool use_lidar_clock = 9 [default = false]; + optional string point_cloud_masking = 9 [default = ""]; + optional bool use_lidar_clock = 10 [default = false]; // supplementary parameters of Decoder Param - optional bool dense_points = 10 [default = false]; - optional bool wait_for_difop = 11 [default = true]; - optional bool config_from_file = 12 [default = false]; - optional string angle_path = 13 [default = ""]; - optional uint32 publish_mode = 14 [default = 2]; + optional bool dense_points = 11 [default = false]; + optional bool wait_for_difop = 12 [default = true]; + optional bool config_from_file = 13 [default = false]; + optional string angle_path_ver = 14 [default = ""]; + optional string angle_path_hor = 15 [default = ""]; + optional uint32 publish_mode = 16 [default = 2]; // supplementary parameters of Input Param - optional string host_address = 15 [default = "0.0.0.0"]; - optional string lidar_address = 16 [default = "0.0.0.0"]; + optional string host_address = 17 [default = "0.0.0.0"]; + optional string lidar_address = 18 [default = "0.0.0.0"]; } diff --git a/modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.cpp b/modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.cpp index 4dca5fb7074..afe79a6e7cf 100644 --- a/modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.cpp +++ b/modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.cpp @@ -45,11 +45,13 @@ bool VanjeelidarComponent::Init() { decoder_param.max_distance = conf_.max_distance(); decoder_param.start_angle = conf_.start_angle(); decoder_param.end_angle = conf_.end_angle(); + decoder_param.hide_points_range = conf_.point_cloud_masking(); decoder_param.use_lidar_clock = conf_.use_lidar_clock(); decoder_param.dense_points = conf_.dense_points(); decoder_param.wait_for_difop = conf_.wait_for_difop(); decoder_param.config_from_file = conf_.config_from_file(); - decoder_param.angle_path_ver = conf_.angle_path(); + decoder_param.angle_path_hor = conf_.angle_path_hor(); + decoder_param.angle_path_ver = conf_.angle_path_ver(); ::vanjee::lidar::WJInputParam input_param; input_param.connect_type = conf_.connect_type();