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

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

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

在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节点的通讯。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS2,您可以使用colcon构建系统来同时支持C++和Python语言。以下是在ROS2创建包含C++和Python软件包的工作空间的步骤: 1. 创建一个新目录,例如: ``` mkdir -p ~/ros2_ws/src ``` 这将在您的home目录下创建一个名为"ros2_ws"的文件夹,并在其创建一个名为"src"的子文件夹。 2. 初始化工作空间,使用下面的命令: ``` cd ~/ros2_ws colcon build --symlink-install ``` 这将初始化您的ROS2工作空间,并创建一个名为"build"的子文件夹和一个名为"install"的子文件夹。 3. 在"src"文件夹创建C++软件包,例如: ``` cd ~/ros2_ws/src ros2 pkg create my_cpp_package --build-type ament_cmake --cpp ``` 这将在"src"文件夹创建一个名为"my_cpp_package"的ROS2 C++软件包。 4. 在"src"文件夹创建Python软件包,例如: ``` cd ~/ros2_ws/src ros2 pkg create my_python_package --build-type ament_python --dependencies rclpy ``` 这将在"src"文件夹创建一个名为"my_python_package"的ROS2 Python软件包,并将其依赖于rclpy。 5. 回到工作空间的根目录,使用以下命令构建您的软件包: ``` cd ~/ros2_ws colcon build --symlink-install ``` 这将使用colcon构建您的软件包,并将其安装到"install"文件夹。 现在您已经成功创建了一个包含C++和Python软件包的ROS2工作空间,并使用colcon构建了这些软件包。注意,在创建Python软件包时,我们使用了"--dependencies rclpy"选项来指定它的依赖项。这是因为在ROS2Python软件包需要使用rclpy来与ROS2系统进行交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值