ROS2 工作空间
文章目录
- ROS2 工作空间
- 创建工作空间
- 自动安装依赖
- 编译工作空间
- 设置环境变量
- 参考链接
ROS2 工作空间
工作空间可以简单理解为工程目录。
ROS 系统中一个典型的工作空间结构如图所示:

- dev_ws: 根目录,里面会有四个子目录(子空间);
- build: 编译空间,里面是编译过程中产生的中间文件;
- install: 安装空间,里面是编译得到的可执行文件和脚本;
- log: 日志空间,里面是编译和运行过程中产生的各种警告、错误、信息等日志;
- src: 代码空间,未来编写的代码、脚本,都需要人为的放置到这里。
创建工作空间
mkdir -p ~/dev_ws/src
然后在 ~/dev_ws/src 目录下编写代码。
自动安装依赖
sudo apt install python3-pip -y
sudo pip install rosdepc
sudo rosdepc init
rosdepc update
cd ~/dev_ws
rosdepc install -i --from-path src --rosdistro humble -y
编译工作空间
sudo apt install python3-colcon-ros
cd ~/dev_ws
colcon build
编译成功后,就可以在工作空间 dev_ws 中看到自动生成的 build、log、install 文件夹了。
设置环境变量
source install/local_setup.sh # 仅在当前终端生效
echo " source ~/dev_ws/install/local_setup.sh" >> ~/.bashrc # 所有终端均生效
参考链接
- https://book.guyuehome.com/ROS2/2.%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5/2.1_%E5%B7%A5%E4%BD%9C%E7%A9%BA%E9%97%B4/
- https://www.guyuehome.com/35408
相关文章:
ROS2 工作空间
文章目录 ROS2 工作空间创建工作空间自动安装依赖编译工作空间设置环境变量参考链接 ROS2 工作空间 工作空间可以简单理解为工程目录。 ROS 系统中一个典型的工作空间结构如图所示: dev_ws: 根目录,里面会有四个子目录(子空间&a…...
基于CCS5.5的双音多频(DTMF)信号检测仿真实验(①检测型音频文件②输入生成音频并检测)
DTMF的优点 我们知道,DTMF根本上仍然是频谱分析,基础还是DFT,但DFT通常需要对一整段数据做变换,而DTMF不同,每输入一个采样点就计算一次,更有利于硬件实现。 基于CCS的双音多频(DTMF)信号检测原理 公式详细推导 详细的公式推导在下面这篇博客中已经进行了详细的描述,…...
Postgresql中JIT函数能否inline的依据function_inlinable
相关 《Postgresql源码(128)深入分析JIT中的函数内联llvm_inline》 《LLVM的ThinLTO编译优化技术在Postgresql中的应用》 前置阅读:《Postgresql源码(128)深入分析JIT中的函数内联llvm_inline》 在JIT inline函数的过…...
存储过程作为初始化数据例子
查询出每个人员,为每个人员插入11条数据,作为初始化数据 oracle存储过程 CREATE OR REPLACE PROCEDURE initialize_order_warn_config ISv_id NUMBER; BEGINSELECT COALESCE(MAX(id), 0) INTO v_id FROM order_warn_config;FOR rec IN (SELECT DISTINCT…...
【数据分析】 JupyterNotebook安装及使用简介
各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 在数据分析中,一般用Pycharm编辑代…...
nginx命令大全
以下是Nginx的一些常用命令,适用于Linux环境,部分命令在Windows系统下也适用,但命令形式可能有所不同: 查看Nginx版本号: nginx -v:简短显示版本号。nginx -V:详细显示版本号及编译配置信息。 启动Nginx…...
【数据结构】顺序表与链表的差异
顺序表和链表都是线性表,它们有着相似的部分,但是同时也有着很大的差异。 存储空间上的差异: 对于插入上的不同点,顺序表在空间不够时需要扩容,而如果在使用realloc函数去扩容,会有原地扩容和异地扩容两种情…...
小程序如何进行评分评价
小程序以其便捷、快速、无需安装的特点,成为了众多企业、品牌与消费者之间的重要连接桥梁。而评价评分机制,作为小程序中不可或缺的一环,对于提升用户体验、建立用户信任、促进商家与用户的互动等方面,都具有至关重要的意义。本文…...
【MATLAB源码-第206期】基于matlab的差分进化算法(DE)机器人栅格路径规划,输出做短路径图和适应度曲线。
操作环境: MATLAB 2022a 1、算法描述 差分进化算法(Differential Evolution, DE)是一种有效的实数编码的进化算法,主要用于解决实值函数的全局优化问题。本文将详细介绍差分进化算法的背景、原理、操作步骤、参数选择以及实际应…...
Python图形界面(GUI)Tkinter笔记(三):控件的定位(1)
Tkinter(GUI)设计图形界面时有三种控件的包装方法去定位各控件在窗口(父容器、根窗口)上的位置。 【1】pack()方法:用方位来定位位置,类似于Word文档中的文字对齐方式。 【2】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单位元。 【3】place()方法:用窗口的像…...
数据结构--单链表 详解(附代码
目录: 1:链表的概念及结构 2:实现单链表 3:常见疑问 解答 (看到最后!!) 一:链表的概念及结构 1.1 概念: 链表是⼀种 物理存储结构上非连续、非顺序的 存储结…...
leetcode 1749.任意子数组和的绝对值的最大值
思路:dp 说到绝对值,大家肯定不陌生,但是用在dp上就会使问题变得稍微复杂一些了。 我们在最大子数组和的那道题中知道,在状态转移的时候,我们会舍弃掉为负数的连续部分,重新构建连续的子串。但是…...
Linux进程——进程地址空间
前言:在讲完环境变量后,相信大家对Linux有更进一步的认识,而Linux进程概念到这也快接近尾声了,现在我们了解Linux进程中的地址空间! 本篇主要内容: 了解程序地址空间 理解进程地址空间 探究页表和虚拟地址空…...
基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三)
基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 大家继续看 https://lilianweng.github.io/posts/2023-06-23-agent/的文档内容 第二部分:内存 记忆的类型 记忆可以定义为用于获取、存储、保留以及随后检索信息的过程。人脑中有多…...
python3如何安装bs4
在python官网找到beautifulsoup模块的下载页面,点击"downloap"将该模块的安装包下载到本地。 将该安装包解压,然后在打开cmd,并通过cmd进入到该安装包解压后的文件夹目录下。 在该文件目录下输入"python install setup.py&quo…...
docker容器技术篇:rancher管理平台部署kubernetes集群
rancher管理平台部署kubernetes集群 Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。 Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现…...
【计算机网络原理】初识网络原理和一些名词解释
˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…...
车载电子电器架构 —— 关于bus off汇总
车载电子电器架构 —— 关于bus off汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明…...
Linux函数
目录 一、脚本函数 1.1 创建函数 1.2 使用函数 二、函数返回值 2.1 默认的退出状态码 2.2 使用return命令 2.3 使用函数输出 三、在函数中使用变量 3.1 向函数传达参数 3.2 在函数中处理变量 四、数组变量和函数 4.1 向函数中传递数组 4.2 从函数中返回数组 五、函数…...
如何查看centos7中Java在哪些路径下
在 CentOS 7 上,你可以通过几种方式查找安装的 Java 版本及其路径。以下是一些常用的方法: 1. 使用 alternatives 命令 CentOS 使用 alternatives 系统来管理同一命令的多个版本。你可以使用以下命令来查看系统上所有 Java 安装的配置: su…...
Qwen3-TTS部署案例:车载中控系统离线多语种导航语音引擎集成
Qwen3-TTS部署案例:车载中控系统离线多语种导航语音引擎集成 在智能座舱快速演进的今天,车载语音交互已从“能听清”迈向“听得懂、说得好、有温度”的新阶段。传统TTS方案常受限于网络依赖、语种覆盖窄、响应延迟高、方言适配弱等问题,难以…...
北京大学钟亦武老师招收博士生、实习生
点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达冲刺今年春招、秋招和实习!大家快加入2026年AI校招群!赠送今年最大的80元优惠券,大家扫码下方二维码即可加群学习!北京大学智能学院介绍&#x…...
你的产品过不了EMC测试?很可能是电源接口这3个PCB布局坑没避开
电源接口EMC设计避坑指南:PCB布局中的三个致命细节 当你的产品在EMC测试中屡屡碰壁时,问题往往不在于防护电路设计本身,而是隐藏在PCB布局的细微之处。许多工程师精心设计了符合规范的防护拓扑,却在传导骚扰测试中遭遇滑铁卢。本文…...
COMSOL 探索岩石力学多场景:损伤、压裂、试验与模拟
COMSOL岩石损伤、水力压裂、三轴试验 岩石在膨胀剂的膨胀作用下的损伤; 相场法与水力压裂(6个模型); 不固结不排水三轴试验; 二维钻孔封孔效果模拟。在岩石力学领域,COMSOL 如同一个强大的实验室,让我们能够对复杂的岩…...
手把手教你用YOLOv5训练自己的交通标志数据集(从LabelImg标注到模型部署)
从零构建YOLOv5交通标志检测器的实战指南 在自动驾驶和智能交通系统快速发展的今天,准确识别道路标志已成为计算机视觉领域的重要应用场景。不同于传统图像处理方法,基于深度学习的目标检测技术能够适应复杂环境变化,而YOLOv5以其卓越的速度-…...
避坑指南:S-Function参数传递中mxArray操作的3个典型错误
S-Function开发实战:mxArray参数传递的3大陷阱与防御性编程技巧 在Simulink的S-Function开发中,mxArray作为MATLAB与C/C之间的数据桥梁,其正确操作直接关系到模块的稳定性和可靠性。许多开发者在参数传递环节频繁遭遇段错误、内存泄漏和类型误…...
【Linux信号】Linux进程信号(上):信号产生方式和闹钟
🎬 个人主页:艾莉丝努力练剑❄专栏传送门:《C语言》《数据结构与算法》《C/C干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》⭐️为天地立心,为生民立命…...
Agent Skill 从使用到原理,一次讲清
目录前言1. 本期内容概览2. Agent Skill 是什么3. Agent Skill 的基本用法4. 高级用法(Reference)5. 高级用法(Script)6. 渐进式披露机制7. Agent Skill vs MCP结语参考前言 学习 UP 主 马克的技术工作坊 的 Agent Skill 从使用到…...
OpenClaw任务编排:用Qwen3.5-4B-Claude实现爬虫+分析闭环
OpenClaw任务编排:用Qwen3.5-4B-Claude实现爬虫分析闭环 1. 为什么需要自动化任务编排 去年我接手了一个市场调研项目,需要每周从20多个网站抓取产品价格数据,清洗后生成趋势图表。最初用Python脚本手动Excel处理,每次要花3小时…...
如何快速解锁原神60帧限制:免费开源工具终极指南
如何快速解锁原神60帧限制:免费开源工具终极指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 想要在《原神》中体验120帧甚至更高帧率的流畅游戏画面吗?genshi…...
