Skip to content

Commit 34fa434

Browse files
committed
add diagnostics
Signed-off-by: MasatoSaeki <masato.saeki@tier4.jp>
1 parent 2a86019 commit 34fa434

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

perception/autoware_tracking_object_merger/include/autoware/tracking_object_merger/decorative_tracker_merger_node.hpp

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "autoware/tracking_object_merger/association/data_association.hpp"
1919
#include "autoware/tracking_object_merger/utils/tracker_state.hpp"
2020
#include "autoware/tracking_object_merger/utils/utils.hpp"
21+
#include "autoware/universe_utils/ros/diagnostics_interface.hpp"
2122
#include "autoware_utils/ros/debug_publisher.hpp"
2223
#include "autoware_utils/ros/published_time_publisher.hpp"
2324
#include "autoware_utils/system/stop_watch.hpp"
@@ -129,6 +130,9 @@ class DecorativeTrackerMergerNode : public rclcpp::Node
129130
bool enable = false;
130131
std::string path;
131132
} logging_;
133+
134+
// diagnostics
135+
std::unique_ptr<autoware::universe_utils::DiagnosticsInterface> diagnostics_interface_ptr_;
132136
};
133137

134138
} // namespace autoware::tracking_object_merger

perception/autoware_tracking_object_merger/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
<depend>autoware_object_recognition_utils</depend>
1717
<depend>autoware_perception_msgs</depend>
18-
<depend>autoware_utils</depend>
18+
<depend>autoware_universe_utils</depend>
1919
<depend>eigen</depend>
2020
<depend>glog</depend>
2121
<depend>mussp</depend>

perception/autoware_tracking_object_merger/src/decorative_tracker_merger_node.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#include "autoware/tracking_object_merger/association/solver/ssp.hpp"
2121
#include "autoware/tracking_object_merger/utils/utils.hpp"
2222

23+
#include <diagnostic_msgs/msg/diagnostic_status.hpp>
24+
2325
#include <Eigen/Core>
2426
#include <Eigen/Geometry>
2527

@@ -168,6 +170,10 @@ DecorativeTrackerMergerNode::DecorativeTrackerMergerNode(const rclcpp::NodeOptio
168170
stop_watch_ptr_->tic("cyclic_time");
169171
stop_watch_ptr_->tic("processing_time");
170172
published_time_publisher_ = std::make_unique<autoware_utils::PublishedTimePublisher>(this);
173+
174+
// diagnostics
175+
diagnostics_interface_ptr_ =
176+
std::make_unique<autoware::universe_utils::DiagnosticsInterface>(this, "decorative_object_merger_node");
171177
}
172178

173179
void DecorativeTrackerMergerNode::set3dDataAssociation(
@@ -200,6 +206,7 @@ void DecorativeTrackerMergerNode::mainObjectsCallback(
200206
const TrackedObjects::ConstSharedPtr & main_objects)
201207
{
202208
stop_watch_ptr_->toc("processing_time", true);
209+
diagnostics_interface_ptr_->clear();
203210

204211
/* transform to target merge coordinate */
205212
TrackedObjects transformed_objects;
@@ -210,6 +217,7 @@ void DecorativeTrackerMergerNode::mainObjectsCallback(
210217
TrackedObjects::ConstSharedPtr transformed_main_objects =
211218
std::make_shared<TrackedObjects>(transformed_objects);
212219

220+
bool is_existing_sub_objects = true;
213221
// try to merge sub object
214222
if (!sub_objects_buffer_.empty()) {
215223
// get interpolated sub objects
@@ -236,6 +244,16 @@ void DecorativeTrackerMergerNode::mainObjectsCallback(
236244
} else {
237245
RCLCPP_DEBUG(this->get_logger(), "interpolated_sub_objects is null");
238246
}
247+
} else {
248+
is_existing_sub_objects = false;
249+
}
250+
251+
diagnostics_interface_ptr_->add_key_value("is_existing_sub_objects", is_existing_sub_objects);
252+
if (!is_existing_sub_objects) {
253+
std::stringstream message;
254+
message << "Sub object is empty, so only main object is published";
255+
diagnostics_interface_ptr_->update_level_and_message(
256+
diagnostic_msgs::msg::DiagnosticStatus::WARN, message.str());
239257
}
240258

241259
// try to merge main object
@@ -249,6 +267,7 @@ void DecorativeTrackerMergerNode::mainObjectsCallback(
249267
"debug/cyclic_time_ms", stop_watch_ptr_->toc("cyclic_time", true));
250268
processing_time_publisher_->publish<autoware_internal_debug_msgs::msg::Float64Stamped>(
251269
"debug/processing_time_ms", stop_watch_ptr_->toc("processing_time", true));
270+
diagnostics_interface_ptr_->publish(tracked_objects.header.stamp);
252271
}
253272

254273
/**
@@ -259,6 +278,10 @@ void DecorativeTrackerMergerNode::mainObjectsCallback(
259278
*/
260279
void DecorativeTrackerMergerNode::subObjectsCallback(const TrackedObjects::ConstSharedPtr & msg)
261280
{
281+
if (msg->objects.empty()) {
282+
return;
283+
}
284+
262285
/* transform to target merge coordinate */
263286
TrackedObjects transformed_objects;
264287
if (!autoware::object_recognition_utils::transformObjects(

0 commit comments

Comments
 (0)