ROS运行机C++程序,移动

news/2024/10/21 3:28:54/

流程:

1.创建工作空间

mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace
2编译工作空间
cd ~/catkin_ws/
catkin_make
catkin_make install

首先对ROS进行创建一个元功能包
3.设置环境变量

source devel/setup.bash

source devel/setup.bash

4.创建功能包

cd ~/catkin_ws/src
catkin_create_pkg test_pkg std_msgs rospy roscpp

5将C++中的include lib src都复制到新创建的功能包下

最主要的是对CMakeLists.txt进行重新编辑

原来的CMakeLists.txt

cmake_minimum_required(VERSION 3.16)
project(coffee_robot)
set(CMAKE_CXX_STANDARD 14)include_directories(${CMAKE_SOURCE_DIR} ./include)# 生成可执行文件add_executable(coffee_robot ./src/main.cpp./src/Robot.cpp./src/cJSON.c)
target_link_libraries(coffee_robot  ${CMAKE_SOURCE_DIR}/lib/libFaAo.so ${CMAKE_SOURCE_DIR}/lib/libRobotContorl.so -lpthread)
${CMAKE_SOURCE_DIR}/lib/libFaAo.so ${CMAKE_SOURCE_DIR}/lib/libRobotContorl.so -lpthread)

新的CMakeLists.txt

include_directories(${CMAKE_SOURCE_DIR}/coffee_robot/include/coffee_robot)# # 生成可执行文件add_executable(coffee_robot ${CMAKE_SOURCE_DIR}/coffee_robot/src/main.cpp${CMAKE_SOURCE_DIR}/coffee_robot/src/Robot.cpp${CMAKE_SOURCE_DIR}/coffee_robot/src/cJSON.c)
target_link_libraries(coffee_robot  ${CMAKE_SOURCE_DIR}/coffee_robot/lib/libFaAo.so${CMAKE_SOURCE_DIR}/coffee_robot/lib/libRobotContorl.so -lpthread)

注意

ROS中创建功能包的时候创建了CMakeLists.txt,所以这个路径是表示${CMAKE_SOURCE_DIR}功能包的CMakeLists.txt,所以要进到节点下的应该这么用

${CMAKE_SOURCE_DIR}/coffee_robot/src/main.cpp

所以你移动过来的CMakeLists.txt应该都加上你的目录
在这里插入图片描述
不知道大家看懂了麻 ,说白了是路径的问题


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

相关文章

通过 指针 引用 多维数组 详解

目录 一:回顾多维数组地址知识 二:二维数组的有关指针 三:指向数组元素的指针变量 四:用指向数组的指针作为函数参数 首先简单来讲,指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。下面…

lwip-数据收发流程2-传输层

三.传输层(主讲TCP协议)(tcp_input)TCP连接的建立过程(三次握手):1. 客户端发送一个SYN标志置1的TCP数据报,握手包中指明源端口和目的端口,同时告知客户端初始序号seqno_…

NLP顶会近三年小众研究领域

ACL 2022 编码器和解码器框架、自然语言生成、知识i神经元、抽取式文本摘要、预训练语言模型、零样本神经机器翻译等。 2021 新闻标题生成任务等。跨语言命名实体识别、代码搜索、音乐生成、Hi-Transformer、预训练语言模型、语义交互等。 EMNLP 2021 代码摘要生成、隐私…

微信小程序内部那些事

微信小程序没有window、document,它更像是一个类似 Node.js 的宿主环境。因此在小程序内部不能使用 document.querySelector 这样的选择器,也不支持 XMLHttpRequest、location、localStorage 等浏览器 API,只能使用小程序自己提供的 API&…

shell脚本免交互与expect

目录 Here Document 定义 格式 注意 例子 统计行数 修改密码​编辑 expect 定义 基本命令 实验 免交互ssh主机 Here Document 定义 使用I/O重定向的方式将命令列表提供给交互式程序 格式 命令<< 标记....标记 注意 标记可以使用任意的合法字符&#xf…

IT人的晋升之路——关于人际交往能力的培养

对于咱们的程序员来说&#xff0c;工作往往不是最难的&#xff0c;更难的是人际交往和关系的维护处理。很多时候我们都宁愿加班&#xff0c;也不愿意是社交&#xff0c;认识新的朋友&#xff0c;拓展自己的圈子。对外的感觉就好像我们丧失了人际交往能力&#xff0c;是个呆子&a…

【c++】类和对象:让你明白“面向一个对象有多重要”:构造函数,析构函数,拷贝构造函数的深入学习

文章目录 什么是面向对象&#xff1f;一&#xff1a;类是什么&#xff1f; 1.类的访问限定符 2.封装 3.类的实例化 4.this指针二&#xff1a;类的6个默认成员函数 1.构造函数 2.析构函数 3.拷贝构造函数什么是面向对象&#xff1f; c语言是面向…

nginx相关反爬策略总结笔记

引言 互联网站点的流量一部分由人类正常访问行为产生&#xff0c;而高达30%-60%的流量则是由网络爬虫产生的&#xff0c;其中一部分包含友好网络爬虫&#xff0c;如搜索引擎的爬虫、广告程序、第三方合作伙伴程序、Robots协议友好程序等;而并非所有的网络爬虫都是友好的&#x…