1 环境配置、创建功能包、编译、Cmake文件及package文件学习笔记

1 基本结构

放张 赵虚左老师的pdf截图

2 环境配置

复制代码
//每次都需配置
. install/setup.bash

//或者一次配置

echo "source /path/to/your/workspace_name/install/setup.bash" >> ~/.bashrc

source ~/.bashrc

3 创建功能包

复制代码
ros2 pkg create 包名--build-type 构建类型--dependencies 依赖列表--node-name 可执行程序名
称

--build-type:是指功能包的构建类型,有cmake、ament_cmake、ament_python 三种类 型可选;

--dependencies:所依赖的功能包列表;

--node-name:可执行程序的名称,会自动生成对应的源文件并生成配置文件。

4 编译

复制代码
//全局编译
colcon build

//单独编译某一个包
colcon build --packages-select 包名

5 CmakeList.txt文件自己添加代码主要说明

(1)找包

复制代码
find_package(库名 REQUIRED)

(2)生成可执行文件

复制代码
add_executable(生成的可执行文件名 src/cpp文件1 src/cpp文件2 ...)

说明:这条指令是根据cpp1和cpp2....生成对应的可执行文件

(3)链接库

复制代码
ament_target_dependencies(
可执行文件名
"库名1"
"库名2"
..
)

(4)指定生成的可执行文件的安装目录

复制代码
install(TARGETS
可执行文件名
DESTINATION lib/${PROJECT_NAME})

6 package.xml文件说明

主要就是看依赖的库有没有少,少了就根据报错加

复制代码
<depend>依赖的库</depend><depend>

7 运行

复制代码
ros2 run 包名 可执行文件 参数
相关推荐
白雪茫茫1 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
つ安静与叛逆的小籹人1 小时前
小红书API:通过笔记ID获取笔记详情数据教程
笔记·python
ClutchoQ3 小时前
【你指的API是哪个API?软件工程师跨服聊天实录】
笔记·其他
二哈赛车手5 小时前
新人笔记---Spring AI的Advisor以及其底层机制讲解(涉及源码),包含一些遇见的Spring AI的Advisor缺陷问题的解决方案
java·人工智能·spring boot·笔记·spring
red_redemption6 小时前
自由学习记录(181)
学习
wuxinyan1236 小时前
大模型学习之路007:RAG 零基础入门教程(第四篇):生成侧核心技术与大模型集成
人工智能·学习·rag
阿豪只会阿巴6 小时前
【没事学点啥】TurboBlog轻量级个人博客项目——Turbo Blog 项目学习与上线指南
开发语言·python·学习·状态模式
Slow菜鸟7 小时前
Docker 学习篇(三)| Docker安装指南(Linux版)
linux·学习·docker
Tutankaaa7 小时前
知识竞赛软件SaaS版 vs 本地部署
人工智能·经验分享·笔记·学习
小仙女的小稀罕7 小时前
培训要点写不完不会整理?规范培训转待办可这样操作
大数据·人工智能·学习·自然语言处理·语音识别