当前位置: 首页 > news >正文

《ROS1学习笔记2——创建工作空间和功能包》

文章目录

  • 1、创建工作空间
    • 1.1、创建工作空间
    • 1.2、编译工作空间
    • 1.3、设置环境变量
    • 1.4、检查环境变量
  • 2、创建功能包
    • 2.1、创建功能包
    • 2.2、编译功能包
    • 2.3、设置环境变量并检查
  • 3、功能包特殊文件
    • 3.1、CMakeLists.txt
    • 3.2、package.xml

1、创建工作空间

工作空间(workpace)是一个存放工程开发相关文件的文件夹

  • scr:代码空间
  • build:编译空间
  • devel:开发空间
  • install:安装空间在这里插入图片描述

1.1、创建工作空间

mkdir-p demo_ws/src cd demo_ws/src catkin_init_workspace

用vscode打开该工作空间,会发现多出一个makelist文件

1.2、编译工作空间

返回工作空间跟目录下,对工作空间进行编译

cd..catkin_make


此时的文件目录如下

可以看到自动生成了build和devel文件,还缺少install
catkin_make install自动生成install文件
此时文件目录如下:

1.3、设置环境变量

source devel/setup.bash

1.4、检查环境变量

echo$ROS_PACKAGE_PATH


改变环境变量的目的是:让系统能够正确找到和使用你的 ROS 工作空间中的包。
此时终端打印出了两条路径:
:后面是我原本ros的路径
:前面的路径是我改变环境变量后新增的。

2、创建功能包

catkin_creat_pkg <pakage_name>[depend1] [depend2] [depend…]
pakage_name:你功能包的名字
[depend1] [depend2] [depend…]:加上工程所需的依赖,可加可不加,此处加了之后,代码会自动在CMakeLists.txt(创建功能包自动生成的)中的查找依赖里添加进去。

2.1、创建功能包

首先进入src目录下,在此创建功能包

cd src catkin_create_pkg demo_topic_pub roscpp rospy std_msgs geometry_msgs turtlesim


创建功能包后,生成如下文件:

2.2、编译功能包

返回工作空间目录下,进行编译

cd..catkin_make

编译成功后,会显示出功能包

2.3、设置环境变量并检查

此步骤与1.3、1.4相同,此处略去。

此时前期准备工作已完成,接下来就可以在该工作空间中编写代码。

3、功能包特殊文件

功能包下包含CMakeLists.txt文件与package.xml文件

3.1、CMakeLists.txt


在该文件中:
指定了需要 CMake 3.0.2 或更高版本
定义项目名称为demo_topic_pub,
并且查找相应的依赖包,此处提前加入的包是我们在创建功能包时手动添加的依赖。

3.2、package.xml

功能包的清单文件,该文件申明了功能包的名称,版本编号,管理者,构建类型,许可证,依赖信息等。

http://www.cnnetsun.cn/news/3893712.html

相关文章:

  • Windows 11源码编译vLLM实战指南
  • 回答知识总结03
  • Unity AudioSource 3D音效与动态距离衰减全解析
  • 兼职网站建设招聘信息详解:如何避坑接单与提升报价
  • VS快捷键全解析:提升开发效率的必备技巧
  • 尿液分析:用于医学诊断和预测分析的综合尿液分析数据集
  • 从“皇家礼仪官”SD小人解析角色设计:符号化、Q版变形与AI辅助创作
  • 知识库记忆,把对话中的重要信息存入长期记忆
  • 记忆检索与更新,Agent什么时候该回忆什么时候该遗忘
  • 深耕基层民生福祉,揭秘临沭县建设局官方网站背后的城市温情与服务初心
  • Logo商标瑕疵专项检测:OCR+LLM文本核验方案
  • CH32F208工业级无线MCU开发实战:从选型到低功耗传感器节点设计
  • 本地AI语音合成项目部署与测试全指南:从环境搭建到效果验证
  • 基于Godot引擎的卡牌游戏开发框架:从场景化架构到数据驱动设计
  • 3分钟掌握Windows防撤回神器:让微信QQ撤回消息无处可藏的秘密武器![特殊字符]
  • 企业级AI Agent系统架构设计:从OpenClaw看智能体工程化落地
  • SilentPatch:让GTA经典三部曲在现代PC上完美运行的终极修复方案
  • KingbaseES V9R2C13数据库性能优化实战与调优策略
  • Forza Mods AIO:极限竞速地平线终极免费修改器完全指南
  • 5项核心设置对比,看懂不同战略管理全球EMBA差别
  • 前端开发者入门Cocos Creator:从Web思维到游戏开发的实战指南
  • 终极指南:如何使用m3u8-downloader快速下载M3U8视频
  • LaTeX页眉设置全解析:从基础样式到fancyhdr与titleps高级定制
  • 基于yolov7和BOTSORT的人体识别与追踪项目142(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 基于SpringBoot的校园失物招领平台设计与实现
  • Perseus终极指南:解锁碧蓝航线完整游戏体验的简单方法
  • LaTeX公式高效迁移Word全攻略:Mathpix+MathType+Pandoc工作流解析
  • CTF Pwn题解析:从CGI服务中的UAF漏洞到Glibc堆利用实战
  • 不对称故障下T型三电平逆变器多目标协同低电压穿越控制研究(Simulink仿真实现)
  • PMON引导加载程序:从硬件初始化到PHY芯片适配的实战指南