Skip to content

Commit 08a792d

Browse files
cesar-lopez-marCesar Lopez
and
Cesar Lopez
authored
Feature/add frequency tolerance parameter (#469)
* Add frequency tolerance parameter * Add frequency tolerance variable * Set configured topic tolerance in diagnostics * Remove parameter from dynamic config struct * Remove parameter from dynamic config * Make frequency tolerance a regular parameter * Remove leftover variable assigment * Update parameter name * Add parameter to launch Co-authored-by: Cesar Lopez <[email protected]>
1 parent 89faa69 commit 08a792d

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

velodyne_driver/launch/nodelet_manager.launch

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<arg name="pcap_time" default="false" />
1818
<arg name="cut_angle" default="-0.01" />
1919
<arg name="timestamp_first_packet" default="false" />
20+
<arg name="diagnostic_frequency_tolerance" default="0.1" />
2021

2122
<!-- start nodelet manager -->
2223
<node pkg="nodelet" type="nodelet" name="$(arg manager)" args="manager" output="screen"/>
@@ -37,6 +38,7 @@
3738
<param name="pcap_time" value="$(arg pcap_time)"/>
3839
<param name="cut_angle" value="$(arg cut_angle)"/>
3940
<param name="timestamp_first_packet" value="$(arg timestamp_first_packet)"/>
40-
</node>
41+
<param name="diagnostic_frequency_tolerance" value="$(arg diagnostic_frequency_tolerance)"/>
42+
</node>
4143

4244
</launch>

velodyne_driver/src/driver/driver.cc

+5-3
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ VelodyneDriver::VelodyneDriver(ros::NodeHandle node,
133133
}
134134
else if (cut_angle < (2*M_PI))
135135
{
136-
ROS_INFO_STREAM("Cut at specific angle feature activated. "
136+
ROS_INFO_STREAM("Cut at specific angle feature activated. "
137137
"Cutting velodyne points always at " << cut_angle << " rad.");
138138
}
139139
else
@@ -143,7 +143,7 @@ VelodyneDriver::VelodyneDriver(ros::NodeHandle node,
143143
cut_angle = -0.01;
144144
}
145145

146-
// Convert cut_angle from radian to one-hundredth degree,
146+
// Convert cut_angle from radian to one-hundredth degree,
147147
// which is used in velodyne packets
148148
config_.cut_angle = int((cut_angle*360/(2*M_PI))*100);
149149

@@ -165,11 +165,13 @@ VelodyneDriver::VelodyneDriver(ros::NodeHandle node,
165165
diag_min_freq_ = diag_freq;
166166
ROS_INFO("expected frequency: %.3f (Hz)", diag_freq);
167167

168+
double diagnostic_frequency_tolerance;
169+
private_nh.param("diagnostic_frequency_tolerance", diagnostic_frequency_tolerance, 0.1);
168170
using namespace diagnostic_updater;
169171
diag_topic_.reset(new TopicDiagnostic("velodyne_packets", diagnostics_,
170172
FrequencyStatusParam(&diag_min_freq_,
171173
&diag_max_freq_,
172-
0.1, 10),
174+
diagnostic_frequency_tolerance, 10),
173175
TimeStampStatusParam()));
174176
diag_timer_ = private_nh.createTimer(ros::Duration(0.2), &VelodyneDriver::diagTimerCallback,this);
175177

0 commit comments

Comments
 (0)