@@ -27,8 +27,7 @@ class CamDriver final : public rclcpp::Node {
2727 void ImuCallback (const void * msg, size_t ) const {
2828 const auto * imu_data = static_cast <const infinite_sense::ImuData*>(msg);
2929 sensor_msgs::msg::Imu imu_msg;
30- rclcpp::Time stamp (static_cast <uint64_t >(imu_data->time_stamp_us ) * 1000 ); // 微秒 -> 纳秒
31- imu_msg.header .stamp = stamp;
30+ imu_msg.header .stamp = rclcpp::Time (imu_data->time_stamp_us * 1000 );
3231 imu_msg.header .frame_id = " imu_link" ;
3332 imu_msg.linear_acceleration .x = imu_data->a [0 ];
3433 imu_msg.linear_acceleration .y = imu_data->a [1 ];
@@ -42,14 +41,13 @@ class CamDriver final : public rclcpp::Node {
4241 imu_msg.orientation .z = imu_data->q [3 ];
4342 imu_pub_->publish (imu_msg);
4443 }
45- void ImageCallback (const void * msg, size_t ) {
44+ void ImageCallback (const void * msg, size_t ) const {
4645 const auto * cam_data = static_cast <const infinite_sense::CamData*>(msg);
47- // 构造 ROS2 图像消息
4846 std_msgs::msg::Header header;
4947 header.stamp = rclcpp::Time (cam_data->time_stamp_us * 1000 ); // us -> ns
5048 header.frame_id = " camera_link" ;
5149 const cv::Mat image_mat (cam_data->image .rows , cam_data->image .cols , CV_8UC1, cam_data->image .data );
52- sensor_msgs::msg::Image::SharedPtr image_msg =
50+ const sensor_msgs::msg::Image::SharedPtr image_msg =
5351 cv_bridge::CvImage (header, " mono8" , image_mat).toImageMsg ();
5452 img_pub_.publish (image_msg);
5553 }
0 commit comments