Skip to content

velodyne_monitor#

Purpose#

This node monitors the status of Velodyne LiDARs. The result of the status is published as diagnostics. Take care not to use this diagnostics to decide the lidar error. Please read Assumptions / Known limits for the detail reason.

Inner-workings / Algorithms#

The status of Velodyne LiDAR can be retrieved from http://[ip_address]/cgi/{info, settings, status, diag}.json.

The types of abnormal status and corresponding diagnostics status are following.

Abnormal status Diagnostic status
No abnormality OK
Top board temperature is too cold ERROR
Top board temperature is cold WARN
Top board temperature is too hot ERROR
Top board temperature is hot WARN
Bottom board temperature is too cold ERROR
Bottom board temperature is cold WARN
Bottom board temperature is too hot ERROR
Bottom board temperature is hot WARN
Rpm(Rotations per minute) of the motor is too low ERROR
Rpm(Rotations per minute) of the motor is low WARN
Connection error (cannot get Velodyne LiDAR status) ERROR

Inputs / Outputs#

Input#

None

Output#

Name Type Description
/diagnostics diagnostic_msgs/DiagnosticArray Diagnostics outputs

Parameters#

Node Parameters#

Name Type Default Value Description
timeout double 0.5 Timeout for HTTP request to get Velodyne LiDAR status [s]

Core Parameters#

Name Type Default Value Description
ip_address string "192.168.1.201" IP address of target Velodyne LiDAR
temp_cold_warn double -5.0 If the temperature of Velodyne LiDAR is lower than this value, the diagnostics status becomes WARN [°C]
temp_cold_error double -10.0 If the temperature of Velodyne LiDAR is lower than this value, the diagnostics status becomes ERROR [°C]
temp_hot_warn double 75.0 If the temperature of Velodyne LiDAR is higher than this value, the diagnostics status becomes WARN [°C]
temp_hot_error double 80.0 If the temperature of Velodyne LiDAR is higher than this value, the diagnostics status becomes ERROR [°C]
rpm_ratio_warn double 0.80 If the rpm rate of the motor (= current rpm / default rpm) is lower than this value, the diagnostics status becomes WARN
rpm_ratio_error double 0.70 If the rpm rate of the motor (= current rpm / default rpm) is lower than this value, the diagnostics status becomes ERROR

Config files#

Config files for several velodyne models are prepared. The temp_*** parameters are set with reference to the operational temperature from each datasheet. Moreover, the temp_hot_*** of each model are set highly as 20 from operational temperature. Now, VLP-16.param.yaml is used as default argument because it is lowest spec.

Model Name Config name Operational Temperature [℃]
VLP-16 VLP-16.param.yaml -10 to 60
VLP-32C VLP-32C.param.yaml -20 to 60
VLS-128 VLS-128.param.yaml -20 to 60
Velarray M1600 Velarray_M1600.param.yaml -40 to 85
HDL-32E HDL-32E.param.yaml -10 to 60

Assumptions / Known limits#

This node uses the http_client and request results by GET method. It takes a few seconds to get results, or generate a timeout exception if it does not succeed the GET request. This occurs frequently and the diagnostics aggregator output STALE. Therefore I recommend to stop using this results to decide the lidar error, and only monitor it to confirm lidar status.