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

news/2024/11/23 5:54:38/

如果搜索如何使用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 COMPONENTSroscpprospysensor_msgsstd_msgscv_bridgeimage_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节点的通讯。


http://www.ppmy.cn/news/1159860.html

相关文章

数据结构之手撕链表(讲解➕源代码)

0.引言 我们在学习过顺序表之后,会发现两点不是很优秀的操作: 1.顺序表的头插和中间的插入: 非常麻烦,需要不断的覆盖数据。 2.动态开辟空间: a.一般动态开辟的空间都是以2倍的形式开辟,当…

网格大师如何把b3dm转为osgb格式?

答:在网格大师的倾斜数据处理工具中选中“3DTiles转OSGB”,设定数据输入路径和输出路径提交任务即可。 网格大师是一款能够解决实景三维模型空间参考、原点、瓦块大小不统一,重叠区域处理问题的工具“百宝箱”,集格式转换、坐标转…

SpringBootCMS漏洞复现分析

SpringBootCMS,极速开发,动态添加字段,自定义标签,动态创建数据库表并crud数据,数据库备份、还原,动态添加站点(多站点功能),一键生成模板代码,让您轻松打造自己的独立网站&#xff…

算法练习14——除自身以外数组的乘积

LeetCode 除自身以外数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&a…

LeetCode 2906. 构造乘积矩阵【前后缀分解,数组】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

Python 批量修改文件名

仅个人需求,有需要的可以自取。 前段时间为家里孩子下载了一批课程,但是文件命名就很奇怪也很乱,就想着将文件名修改掉便于查看。 这批视频下载下来后前边都给了诸如001之类的编号,当然是序列。可是这批序列又非常的乱&#xff0…

NLG(自然语言生成)评估指标介绍

诸神缄默不语-个人CSDN博文目录 本文介绍自然语言生成任务中的各种评估指标。 因为我是之前做文本摘要才接触到这一部分内容的,所以本文也是文本摘要中心。 持续更新。 文章目录 1. 常用术语2. ROUGE (Recall Oriented Understudy for Gisting Evaluation)1. 计算…

网络层哪些事?

在本文讲解的网络层中,注意了解一下:IP协议! 地址管理:每个网络上的设备,要能分配一个地址(唯一)路由选择:A给B发消息,具体走哪条路线?? IP地址&…