Catkin工作空间 (重点)

部署运行你感兴趣的模型镜像

Catkin工作空间 (重点)

1 Catkin工作空间

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

    src:代码空间(Source Space)
    build:编译空间(Build Space)
    devel:开发空间(Development Space)
    install:安装空间(Install Space)
    
  • Catkin工作空间是创建、修改、编译catkin软件包的目录。catkin的工作空间,直观的形容就是一个仓库,里面装载着ROS的各种项目工程,便于系统组织管理调用。在可视化图形界面里是一个文件夹。

  • 我们自己写的ROS代码通常就放在工作空间中,本节就来介绍catkin工作空间的结构。

1.1 创建catkin工作空间

创建一个 catkin 工作空间:

$ mkdir -p ~/catkin_ws/src  # 创建了第二层级的文件夹src,这是放ROS软件包的地方
$ cd ~/catkin_ws/src        # 进入工作空间,catkin_make必须在工作空间这个路径上执行
$ catkin_init_workspace     # 初始化src目录,生成的CMakeLists.txt为功能包编译配置

1.2 编译工作空间

$ cd ~/catkin_ws   # 回到工作空间,catkin_make必须在工作空间下执行;
$ catkin_make     # 开始编译,调用系统自动完成编译和链接过程,构建生成目标文件

注意: catkin编译之前需要回到工作空间目录,catkin_make在其他路径下编译不会成功。

==编译完成后,如果有新的目标文件产生(原来没有),那么一般紧跟着要source刷新环境,使得系统能够找到刚才编译生成的ROS可执行文件。==这个细节比较容易遗漏,致使后面出现可执行文件无法打开等错误。

catkin_make命令也有一些可选参数,例如:

catkin_make [args]
  -h, --help            帮助信息
  -C DIRECTORY, --directory DIRECTORY
                        工作空间的路径 (默认为 '.')
  --source SOURCE       src的路径 (默认为'workspace_base/src')
  --build BUILD         build的路径 (默认为'workspace_base/build')
  --use-ninja           用ninja取代make
  --use-nmake           用nmake取'make
  --force-cmake         强制cmake,即使已经cmake过
  --no-color            禁止彩色输出(只对catkin_make和CMake生效)
  --pkg PKG [PKG ...]   只对某个PKG进行make
  --only-pkg-with-deps  ONLY_PKG_WITH_DEPS [ONLY_PKG_WITH_DEPS ...]
                        将指定的package列入白名单CATKIN_WHITELIST_PACKAGES,
                        之编译白名单里的package。该环境变量存在于CMakeCache.txt。
  --cmake-args [CMAKE_ARGS [CMAKE_ARGS ...]]
                        传给CMake的参数
  --make-args [MAKE_ARGS [MAKE_ARGS ...]]
                        传给Make的参数
  --override-build-tool-check
                        用来覆盖由于不同编译工具产生的错误

注意, 对于 Python 3 用户,在一个空的 catkin 工作空间中第一次运行 catkin_make的命令应为:

$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

这将会配置 catkin_make 使用 Python 3.你可以在随后的构建中只使用 catkin_make

1.3 设置环境变量

另外,如果你查看一下当前目录应该能看到 ‘build’ 和 ‘devel’ 这两个文件夹。在 ‘devel’ 文件夹里面你可以看到几个 setup.*sh 文件。source 这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层。接下来首先 source 一下新生成的 setup.*sh 文件:

$ source devel/setup.bash   # 刷新坏境

1.4 检查环境变量

要想保证工作空间已配置正确,需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

$ echo $ROS_PACKAGE_PATH
#  出现 /home/<youruser>/catkin_ws/src:/opt/ros/kinetic/share

到此你的工作环境已经搭建完成。

创建好了一个ROS的工作空间了,接下来就是在catkin_ws工作空间下的src目录下新建功能包并进行功能包程序。

微信公众号:喵哥解说
公众号介绍:主要研究机器学习、计算机视觉、深度学习、ROS等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!同时还有1200G的Python视频和书籍资料等你领取!!!

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think>我们正在讨论catkin工具的下载方法。根据提供的引用信息,有多种方法可以安装catkin工具。用户明确表示“我想下载catkin工具”,因此我们需要提供具体的下载步骤。 引用[3]中提到,当出现“catkin:未找到命令”时,可以通过安装python-catkin-tools来解决。而且特别指出,如果系统使用的是Python3,那么应该使用python3-catkin-tools。安装命令为: sudo apt-get update sudo apt-get install python3-catkin-tools 另外,引用[1]中提到,如果出现报错,可以尝试重新安装python3-catkin-pkg: sudo apt-get install --reinstall python3-catkin-pkg 但是,用户当前的需求是下载catkin工具,而不是解决报错。因此,我们首先应该提供正常的安装方法。 注意:catkinROS构建系统中的一部分,通常安装ROS时会包含catkin。但用户可能只需要catkin工具,或者已经安装了ROScatkin工具缺失。 根据引用[3]和引用[5],我们得知catkin工具可以通过安装python3-catkin-tools来获得。因此,我们推荐以下步骤: 1. 确保已经配置了ROS的软件源(如果没有配置,需要先配置,因为catkin-tools通常在ROS的软件源中)。 2. 更新包列表。 3. 安装python3-catkin-tools。 另外,引用[4]和[5]提到了conda环境可能会干扰catkin_make的问题,但用户现在只是想要下载catkin工具,暂时不需要考虑这个问题。 因此,回答如下: </think>### Catkin 工具下载方法 根据引用内容,安装 Catkin 工具主要有以下两种方法(推荐优先使用第一种): #### ✅ 推荐方法:安装 `python3-catkin-tools` 包 ```bash # 更新软件包索引 sudo apt-get update # 安装 Python3 版本的 Catkin 工具(适用于 Ubuntu 20.04+) sudo apt-get install python3-catkin-tools ``` > 注意:如果系统默认使用 Python3(如 Ubuntu 20.04 及以上),必须使用 `python3-catkin-tools` 而非旧版 `python-catkin-tools`[^3] #### ️ 备用方法:通过 ROS 完整安装 ```bash # 添加 ROS 软件源 (以 Noetic 为例) sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # 添加 GPG 密钥 sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 # 安装 ROS 基础包(包含 catkin) sudo apt update sudo apt install ros-noetic-ros-base # 替换 noetic 为你的 ROS 版本 ``` #### 环境冲突解决方案 若遇到 Conda 环境干扰(常见于 WSL/虚拟机): ```bash # 临时清除 Conda 环境路径 export PATH=$(echo $PATH | tr ':' '\n' | grep -v 'conda' | paste -sd:) # 再执行安装命令 sudo apt-get install python3-catkin-tools ``` > 原理:排除 Conda 路径避免库链接冲突[^4][^5] #### 验证安装 ```bash catkin --version # 应显示版本信息 ``` 若仍提示 "未找到命令",请检查: 1. Python 版本是否匹配(推荐 Python≥3.6) 2. 是否残留旧版 ROS 路径冲突 3. 是否在 Conda 环境中(执行 `conda deactivate` 退出)
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值