版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28306361/article/details/85317428
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,可以做到正常的发布和订阅,图像可以正常显示。