ROS 2 C++成员函数方式创建节点 函数调用

ROS2 的主函数的一般形式如下面的代码所示,实际使用时,当我在类里面创建了一个成员函数的时候,发现无法调用到该函数。

int main(int argc, char **argv)
{
    // RCLCPP_INFO(LOGGER, "Initialize node");
    rclcpp::init(argc, argv);
    auto n = std::make_shared<MpcTrajectoryTrackingPublisher>();
    rclcpp::spin(n);
    rclcpp::shutdown();
    return 0;
}

最终的解决方案是,直接在构造函数里调用该函数,因为在创建动态指针的过程中会调用类的构造函数。感觉应该有更加地道的用法,但是还没有找到,目前这种方法可以正常工作。


版权声明:本文为weixin_37532614原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。