ROS2 rplidar 订户未收到主题 /scan

  • 本文关键字:scan rplidar ROS2 ubuntu ros
  • 更新时间 :
  • 英文 :


我们目前正在做一个项目,我们想在Raspberry pi 4上的ubuntu 20.04服务器上读取带有ROS2 foxy的rplidar传感器的数据。因此,我们从github上获得了ROS2的官方副本包。它可以工作,我们也可以在主题列表中看到它并使用

获取/scan主题的数据
ros2 topic echo /scan

我们想要创建一个具有/scan主题订阅者的新节点。然而,绑定的回调函数永远不会被调用。

所以我们知道主题已经发布了,但是我们不能在自己的节点中绑定它。

Minimal_sub::Minimal_sub() : Node("minimal_sub") {
_subscriber = create_subscription<Sensor_msgs::msg::LaserScan>("scan", 10, bind(&Minimal_sub::callback, this, std::placeholder::_1));
}
void Minimal_sub::callback(const Sensor_msgs::msg::LaserScan::SharedPtr msg) {
std::cout << "Received Message << std::endl;
}

谢谢你的提示。

您需要指定完整的主题名称。在您的示例中,您使用的主题是相对于节点的名称空间的"scan"。相反,您希望使用完全限定主题名称,即"/scan"。以下是你想要的:

Minimal_sub::Minimal_sub() : Node("minimal_sub") {
_subscriber = create_subscription<Sensor_msgs::msg::LaserScan>("/scan", 10, bind(&Minimal_sub::callback, this, std::placeholder::_1));
}
void Minimal_sub::callback(const Sensor_msgs::msg::LaserScan::SharedPtr msg) {
std::cout << "Received Message << std::endl;
}

相关内容

  • 没有找到相关文章

最新更新