ROS中不同package下对同一个topic的订阅和发布

本文介绍在ROS中如何实现不同package下对同一topic的订阅与发布,通过实例演示了detect_c_from_python包与imagesub包之间的交互,验证了跨包通信的可行性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROS中不同package下对同一个topic的订阅和发布


因为想要尝试一下ROS是否具有这样的功能,要不然,每次都要从一堆cmakelist中去修改,感觉就像是去修改一个大工程中的某一小块,可维护性不太好。
新建了一个detect_c_from_python的包,直接将原来的imagesub复制过来了,修改了CmakeList.txt

find_package(catkin REQUIRED COMPONENTS
  cv_bridge
  image_transport
  roscpp
  rospy
  sensor_msgs
  std_msgs
)
find_package(OpenCV REQUIRED)
include_directories(include ${catkin_INCLUDE_DIRS})
include_directories(include ${OpenCV_INCLUDE_DIRS})

add_executable(imagesub2 src/imagesub.cpp)
target_link_libraries(imagesub2 ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})

然后编译,编译通过之后运行

roscore
rosrun opencvexam imagepub
rosrun detect_c_from_python imagesub2

可以看到,我们运行的是不同的package下的node,发布和订阅的是同一个话题video_image,可以做到正常的发布和订阅,图像可以正常显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值