12
12
// See the License for the specific language governing permissions and
13
13
// limitations under the License.
14
14
15
+ #include < type_traits>
15
16
#define EIGEN_MPL2_ONLY
16
17
17
18
#include " autoware/object_merger/object_association_merger_node.hpp"
@@ -131,7 +132,7 @@ ObjectAssociationMergerNode::ObjectAssociationMergerNode(const rclcpp::NodeOptio
131
132
stop_watch_ptr_->tic (" processing_time" );
132
133
published_time_publisher_ = std::make_unique<autoware_utils::PublishedTimePublisher>(this );
133
134
// Timeout process initialization
134
- message_timeout_sec_ = this ->declare_parameter <double >(" message_timeout_sec" , 0.001 );
135
+ message_timeout_sec_ = this ->declare_parameter <double >(" message_timeout_sec" , 0.15 );
135
136
last_sync_time_ = this ->now ();
136
137
timeout_sent_ = false ;
137
138
timeout_timer_ = this ->create_wall_timer (
@@ -152,11 +153,13 @@ void ObjectAssociationMergerNode::objectsCallback(
152
153
}
153
154
stop_watch_ptr_->toc (" processing_time" , true );
154
155
155
-
156
156
// If messages normally synced
157
157
diagnostics_interface_ptr_->clear ();
158
- diagnostics_interface_ptr_->add_key_value (" are_merge_messages_synced" , true );
159
- diagnostics_interface_ptr_->add_key_value (" messages_interval" , (this ->now () - last_sync_time_).seconds () );
158
+ diagnostics_interface_ptr_->add_key_value (" timeout_occurred" , false );
159
+ diagnostics_interface_ptr_->add_key_value (
160
+ " messages_interval" , (this ->now () - last_sync_time_).seconds ());
161
+ diagnostics_interface_ptr_->update_level_and_message (
162
+ diagnostic_msgs::msg::DiagnosticStatus::OK, " ObjectAssociationMergerNode OK: Messages merged successfully" );
160
163
diagnostics_interface_ptr_->publish (input_objects0_msg->header .stamp );
161
164
last_sync_time_ = this ->now ();
162
165
timeout_sent_ = false ;
@@ -264,17 +267,16 @@ void ObjectAssociationMergerNode::timeoutCallback()
264
267
rclcpp::Time now = this ->now ();
265
268
if ((now - last_sync_time_).seconds () >= message_timeout_sec_ && !timeout_sent_) {
266
269
diagnostics_interface_ptr_->clear ();
267
- diagnostics_interface_ptr_->add_key_value (" are_merge_messages_synced " , false );
270
+ diagnostics_interface_ptr_->add_key_value (" timeout_occurred " , true );
268
271
diagnostics_interface_ptr_->add_key_value (" messages_interval" , (now - last_sync_time_).seconds () );
269
-
270
-
271
272
std::stringstream message;
272
- message << " ObjectAssociationMergerNode Timeout: Merging messages not received" ;
273
+ message<< " Timeout occurred: No synchronized messages received within "
274
+ << message_timeout_sec_ << " s." ;
273
275
diagnostics_interface_ptr_->update_level_and_message (
274
276
diagnostic_msgs::msg::DiagnosticStatus::WARN, message.str ());
275
277
diagnostics_interface_ptr_->publish (now);
276
278
timeout_sent_ = true ;
277
- }
279
+ }
278
280
}
279
281
280
282
0 commit comments