主程序如下:
int main(int argc, char ** argv)
{
rclcpp::init(argc, argv);
cout<<"初始化完毕"<<endl;
auto node = std::make_shared<EntryClass>();
rclcpp::spin(node);
cout<<"结束spin"<<endl;
rclcpp::shutdown();
return 0;
}
其中
EntryClass
构造函数如下:
EntryClass::EntryClass() :
Node("sensor_fusion"),
image_frame_id(""),
camera_lidar_tf_ok_(false),
camera_info_ok_(false),
usingObjs(false)
{
// 声明参数并设置默认值
this->declare_parameter<double>("freq", 1.0);
double freq;
this->get_parameter("freq", freq);
cout<<"cpp"<<endl;
buffer_ = std::make_unique<tf2_ros::Buffer>(this->get_clock());
transform_listener = std::make_shared<tf2_ros::TransformListener>(*buffer_, this);
fusion_cloud_pub_ = this->create_publisher<sensor_msgs::msg::PointCloud2>("colored_point_cloud", 1);
intrinsics_sub_ = this->create_subscription<sensor_msgs::msg::CameraInfo>("/camera/camera_info", 1, std::bind(&EntryClass::intrinsicValueCallback, this, std::placeholders::_1));
laserScan_sub_ = this->create_subscription<sensor_msgs::msg::LaserScan>("/scan", 1, std::bind(&EntryClass::laserScanCallback, this, std::placeholders::_1));
cameraImage_sub_ = this->create_subscription<sensor_msgs::msg::Image>("/camera/image_raw", 1, std::bind(&EntryClass::cameraImageCallback, this, std::placeholders::_1));
}
运行后出现如下报错:
请求大佬帮忙解决,谢谢!
第三方账号登入
QQ 微博 微信