using custom memory allocator with message filter
Hello,
My node subscribes to two topics (leftimage and rightimage), and has a message filter (sync_exact policy) to get sychronized data.
Now I'm working on a custom memory allocator (following this tutorial), and in this example an rclcpp::messagememorystrategy has to be specified when creating the node subsription.
rclcpp::SubscriptionOptionsWithAllocator<Alloc> subscription_options;
auto msg_mem_strat = std::make_shared<rclcpp::message_memory_strategy::MessageMemoryStrategy<
std_msgs::msg::UInt32, Alloc>>(alloc);
auto subscriber = node->create_subscription<std_msgs::msg::UInt32>(
"allocator_tutorial", 10, callback, subscription_options, msg_mem_strat);
However I can't find a constructor in message_filters::Subscriber which takes message memory strategy as input.
message_filters::Subscriber<sensor_msgs::msg::Image> left_img;
message_filters::Subscriber<sensor_msgs::msg::Image> right_img;
std::shared_ptr<message_filters::Synchronizer<exact_policy>> syncExact;
left_img.subscribe(this, left_topic, custom_qos_profile);
right_img.subscribe(this, right_topic, custom_qos_profile);
syncExact = std::make_shared<message_filters::Synchronizer<exact_policy>>(exact_policy(10), left_img, right_img);
syncExact->registerCallback(exact_sync_callback);
Am I following the right approach? How to specify the message memory strategy when using message filter?
Thank you very much!
Best Regards.
Derek
Asked by uestclx on 2023-06-14 03:17:44 UTC
Comments