在C++和Python的项目中使用ROS

如果搜索如何使用ROS,搜索结果肯定是先建立工作空间,在创建功能包等等步骤,但其实不需要这么麻烦。

在Python中使用ROS,只需要在Pycharm的Project Structure中的Add Content Root加入ros的packages就可以了,如下图

在C++和Python的项目中使用ROS_第1张图片

在C++的项目中使用ROS,只需要在CMakeLists.txt中加入

find_package( OpenCV REQUIRED )
find_package(catkin REQUIRED)

set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  sensor_msgs
  std_msgs
  cv_bridge
  image_transport
)

include_directories(
${PROJECT_SOURCE_DIR}/include
${OpenCV_INCLUDE_DIRS} 
${catkin_INCLUDE_DIRS}
)

set(SRC_LIST 
./src/这里放所有自己写的cpp文件.cpp 
)
 
add_executable(main ${SRC_LIST})

target_link_libraries( main 
${OpenCV_LIBS} 
${catkin_LIBRARIES}
)

在CMakeLists.txt中引用catkin的相关package就可以了,set cv_bridge_DIR是因为cv_bridge会跟自己的OpenCV冲突,要自己下载一个cv_bridge的包,编译,安装,在引用这个自己编译的cv_bridge就可以了。

在Python和C++的项目中分别定义节点,publisher, subsriber,订阅相同的topic就可以实现python和C++的ROS节点的通讯。

你可能感兴趣的:(c++,python,开发语言)