chore: add count fps

This commit is contained in:
Joe Dong
2024-08-27 21:33:42 +08:00
parent 46c60715f9
commit cd3d501d36
3 changed files with 22 additions and 12 deletions
@@ -52,18 +52,18 @@ def load_parameters(context, args):
def generate_launch_description(): def generate_launch_description():
args = [ args = [
DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('camera_name', default_value='camera'),
DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('depth_registration', default_value='true'),
DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('serial_number', default_value=''),
DeclareLaunchArgument('usb_port', default_value=''), DeclareLaunchArgument('usb_port', default_value=''),
DeclareLaunchArgument('device_num', default_value='1'), DeclareLaunchArgument('device_num', default_value='1'),
DeclareLaunchArgument('point_cloud_qos', default_value='default'), DeclareLaunchArgument('point_cloud_qos', default_value='default'),
DeclareLaunchArgument('enable_point_cloud', default_value='true'), DeclareLaunchArgument('enable_point_cloud', default_value='false'),
DeclareLaunchArgument('enable_colored_point_cloud', default_value='false'), DeclareLaunchArgument('enable_colored_point_cloud', default_value='true'),
DeclareLaunchArgument('connection_delay', default_value='10'), DeclareLaunchArgument('connection_delay', default_value='10'),
DeclareLaunchArgument('color_width', default_value='0'), DeclareLaunchArgument('color_width', default_value='1280'),
DeclareLaunchArgument('color_height', default_value='0'), DeclareLaunchArgument('color_height', default_value='800'),
DeclareLaunchArgument('color_fps', default_value='0'), DeclareLaunchArgument('color_fps', default_value='30'),
DeclareLaunchArgument('color_format', default_value='ANY'), DeclareLaunchArgument('color_format', default_value='YUYV'),
DeclareLaunchArgument('enable_color', default_value='true'), DeclareLaunchArgument('enable_color', default_value='true'),
DeclareLaunchArgument('color_qos', default_value='default'), DeclareLaunchArgument('color_qos', default_value='default'),
DeclareLaunchArgument('color_camera_info_qos', default_value='default'), DeclareLaunchArgument('color_camera_info_qos', default_value='default'),
@@ -72,10 +72,10 @@ def generate_launch_description():
DeclareLaunchArgument('color_gain', default_value='-1'), DeclareLaunchArgument('color_gain', default_value='-1'),
DeclareLaunchArgument('enable_color_auto_white_balance', default_value='true'), DeclareLaunchArgument('enable_color_auto_white_balance', default_value='true'),
DeclareLaunchArgument('color_white_balance', default_value='-1'), DeclareLaunchArgument('color_white_balance', default_value='-1'),
DeclareLaunchArgument('depth_width', default_value='0'), DeclareLaunchArgument('depth_width', default_value='1280'),
DeclareLaunchArgument('depth_height', default_value='0'), DeclareLaunchArgument('depth_height', default_value='800'),
DeclareLaunchArgument('depth_fps', default_value='0'), DeclareLaunchArgument('depth_fps', default_value='30'),
DeclareLaunchArgument('depth_format', default_value='ANY'), DeclareLaunchArgument('depth_format', default_value='Y16'),
DeclareLaunchArgument('enable_depth', default_value='true'), DeclareLaunchArgument('enable_depth', default_value='true'),
DeclareLaunchArgument('depth_qos', default_value='default'), DeclareLaunchArgument('depth_qos', default_value='default'),
DeclareLaunchArgument('depth_camera_info_qos', default_value='default'), DeclareLaunchArgument('depth_camera_info_qos', default_value='default'),
@@ -168,7 +168,7 @@ def generate_launch_description():
DeclareLaunchArgument('config_file_path', default_value=''), DeclareLaunchArgument('config_file_path', default_value=''),
DeclareLaunchArgument('enable_heartbeat', default_value='false'), DeclareLaunchArgument('enable_heartbeat', default_value='false'),
DeclareLaunchArgument('topic_type', default_value='points'), DeclareLaunchArgument('topic_type', default_value='points'),
DeclareLaunchArgument('topic_name', default_value='/camera/depth/points'), DeclareLaunchArgument('topic_name', default_value='/camera/depth_registered/points'),
DeclareLaunchArgument('use_intra_process_comms', default_value='true'), DeclareLaunchArgument('use_intra_process_comms', default_value='true'),
] ]
+8
View File
@@ -33,6 +33,7 @@
#include <memory> #include <memory>
#include <rclcpp/rclcpp.hpp> #include <rclcpp/rclcpp.hpp>
#include <sensor_msgs/msg/image.hpp> #include <sensor_msgs/msg/image.hpp>
#include <chrono>
using namespace std::chrono_literals; using namespace std::chrono_literals;
#include "frame_latency.hpp" #include "frame_latency.hpp"
@@ -50,11 +51,18 @@ template <typename MsgType>
void FrameLatencyNode::createListener(const std::string& topic_name, void FrameLatencyNode::createListener(const std::string& topic_name,
const rmw_qos_profile_t qos_profile) { const rmw_qos_profile_t qos_profile) {
RCLCPP_INFO_STREAM(logger_, "createListener"); RCLCPP_INFO_STREAM(logger_, "createListener");
using namespace std::chrono_literals;
timer_ = this->create_wall_timer(1s, [this, topic_name=topic_name]() {
// print fps
RCLCPP_INFO_STREAM(logger_, "topic: " << topic_name << " fps: " << frame_count_ / 1.0);
frame_count_ = 0;
});
sub_ = this->create_subscription<MsgType>( sub_ = this->create_subscription<MsgType>(
topic_name, rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(qos_profile), qos_profile), topic_name, rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(qos_profile), qos_profile),
[&, this](const std::shared_ptr<MsgType> msg) { [&, this](const std::shared_ptr<MsgType> msg) {
rclcpp::Time curr_time = this->get_clock()->now(); rclcpp::Time curr_time = this->get_clock()->now();
auto latency = (curr_time - msg->header.stamp).seconds(); auto latency = (curr_time - msg->header.stamp).seconds();
frame_count_++;
RCLCPP_INFO_STREAM_THROTTLE(logger_, *this->get_clock(), 1000.0, RCLCPP_INFO_STREAM_THROTTLE(logger_, *this->get_clock(), 1000.0,
"Got msg with " "Got msg with "
<< msg->header.frame_id << " frame id at address 0x" << msg->header.frame_id << " frame id at address 0x"
+2
View File
@@ -49,5 +49,7 @@ class FrameLatencyNode : public rclcpp::Node {
std::shared_ptr<void> sub_ = nullptr; std::shared_ptr<void> sub_ = nullptr;
rclcpp::Logger logger_; rclcpp::Logger logger_;
rclcpp::TimerBase::SharedPtr timer_;
size_t frame_count_ = 0;
}; };
} // namespace orbbec_camera } // namespace orbbec_camera