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

catkin workspace 详解

1. cakin

cakin是 ROS1 的官方构建系统

语言构建系统
C++CMake
Pythonsetuptools
ROS1catkin

它负责:

  • 编译 package
  • 处理依赖
  • 生成环境变量
  • 组织多个 ROS 包

因此:catkin workspace就是:用 catkin 管理的 ROS 工作空间。

2. catkin_ws 的典型结构

catkin_ws/ ├── src/ ├── build/ ├── devel/ └── logs/

(1)src

里边存放 ROS package 源码,例如: 每一个文件夹都是一个package

catkin_ws/src/ ├── camera_driver ├── imu_driver ├── orb_slam3 └── calibration_pkg

创建包

cd ~/catkin_ws/src catkin_create_pkg my_pkg rospy roscpp std_msgs

就会生成:

my_pkg/ ├── CMakeLists.txt ├── package.xml ├── src/ └── include/

(2) build/

编译中间文件,通常不手动修改。

(3) devel/

编译后的开发环境,里面包括:

  • setup.bash
  • 编译好的节点
  • Python模块
  • 库文件

source ~/catkin_ws/devel/setup.bash 就是激活这个workspace

3. catkin_ws 是怎么工作的?

Step1

创建 workspace:

mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make

会生成:

build/ devel/

Step2

放 package:

src/ └── camera_pkg

Step3

编译: (catkin_make必须在 workspace 根目录下执行

catkin_make

catkin 会:

  1. 找到src下所有 package
  2. 分析依赖
  3. 调用 CMake 编译
  4. 生成:
devel/

Step4

source:

source devel/setup.bash

ROS 就能找到这些包

运行:

roslaunch camera_pkg xxx.launch

就成功。

http://www.rkmt.cn/news/1386548.html

相关文章:

  • 25.开源全自动刷机工具!适配高通 / 联发科 / 苹果,设备自动识别 + 一键刷写
  • 2026年夏天饮食不当,寒凉油腻引发肠炎腹痛泄泻用什么药整理?
  • 告别网盘客户端!用Alist+RaiDrive把百度云盘变成电脑本地文件夹(保姆级图文教程)
  • 别再手动点菜单了!用这招让Cadence Virtuoso Schematic效率翻倍(附Net高亮快捷键配置)
  • 浅聊26上半年软考架构师
  • DocxJS技术深度解析:解决复杂文档渲染不全问题的架构演进
  • 在长春,圣科授权店正规靠谱的使用体验究竟咋样?
  • JMeter分布式测试实战指南
  • 什么是电焊机欧盟 EN IEC 60974 标准
  • 海口二手音响选购技术指南:海口特美声音响、海口舞台音响、海口贝德音响、海口进口音响、海口酒吧音响、海口金声音响选择指南 - 优质品牌商家
  • PCB电路板加工秘诀
  • 告别路径盲打!VSCode + TypeScript项目配置Path Intellisense与tsconfig.json的完整指南
  • 告别龟速下载!pan-baidu-download让你的百度网盘文件下载速度飙升
  • 从毫米波雷达误判案例出发:用Simulink Test Harness为你的算法模型上一道“保险”
  • 2026年5月昆明钩臂垃圾箱定做厂家专业度深度解析与选型指南 - 2026年企业推荐榜
  • 从入门到上岗,Java+AI 复合型人才养成攻略
  • 2026年国内硅PU场地服务商TOP5实力全景盘点:硅pu施工、硅pu篮球场地、羽毛球硅pu场地、河北EPDM颗粒选择指南 - 优质品牌商家
  • Veo 2提示词编写避坑手册:92%新手踩中的5个隐性陷阱及实时修复方案
  • 别再盲目信任AI解释!DeepSeek代码理解能力的3个未公开限制条件(含官方API文档未披露的token截断逻辑)
  • 别再手动PS了!用Qt的QImage.mirrored()和transformed()函数,5行代码搞定图片批量翻转与旋转
  • 集成运放性能提升的幕后英雄:拆解LM358/NE5532内部的恒流源设计与选型考量
  • JAVA IO流文件复制
  • 2026年5月口碑好的建星柔光砖厂有哪些厂家推荐榜——建星柔光砖、建星质感砖、建星木纹砖厂家选择指南 - 海棠依旧大
  • 别再手动提单了!手把手教你用MeterSphere一键提交Bug到禅道(附完整字段映射配置)
  • 终极指南:如何使用LRCGET为你的离线音乐库批量下载同步歌词
  • 基于CH376T模块为电网频率监测仪添加U盘数据记录功能
  • 2026年5月口碑好的广东试验箱厂家哪家强厂家推荐榜,恒温恒湿试验箱/高低温试验箱/冷热冲击试验箱厂家选择指南 - 海棠依旧大
  • 避坑指南:LVGL 8.3下拉列表Dropdown事件处理与动态样式那些“坑”
  • Cadence OrCAD SPB17.4 出网表遇到 ORCAP-36038 警告?别慌,手把手教你排查和修复‘No_connect’属性问题
  • PADS Layout模块复用保姆级教程:从选中到放置,5分钟搞定重复电路设计