1-使用colcon编译工作包

本文详细介绍了如何在ROS2环境中使用colcon进行基础准备,如安装、创建工作空间、添加源码、编译和测试。还包括创建自己的工作包、设置colcon_cd快捷方式以及colcon_argcomplete的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

基础准备

    安装colcon

    安装ROS 2

任务

    创建工作空间

    添加源码

    编译工作空间

    运行测试

    source环境

    运行demo

创建属于你的工作包

设置colcon_cd

设置colcon tab 补全

技巧

背景

    ros1使用catkin_make编译,对应于ROS2,它的编译工具为colcon。

基础准备

安装colcon

sudo apt install python3-colcon-common-extensions

安装ros2

    要构建本节项目,需要安装ROS 2,可以参考之前的教程进行安装。

任务

    ROS工作区是一个具有特定结构的文件夹。通常有一个src子文件夹。在该子目录中是ROS包的源代码所在的位置。通常,文件夹开始时为空。
    Colcon在源代码外构建。默认情况下,它将创建以下文件夹作为src文件夹的同级目录:
    building文件夹是存储中间文件的地方。对于每个包,将创建一个子文件夹。
    install文件夹是将每个包安装到的位置。默认情况下,每个包将安装到单独的子目录中。
    log目录包含关于每个colcon调用的各种日志信息。

创建一个工作空间

    首先,创建一个目录(ros2_ws)来包含我们的工作空间:

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
### 如何在 Ubuntu 上使用 Colcon 编译 ROS 并限制并发编译的任务数量 在 Ubuntu 系统上,Colcon 是用于构建 ROS 工作空间的强大工具之一。通过设置参数可以控制并发任务的数量,从而优化系统的资源利用率并减少可能的过载情况。 要限制 `colcon build` 的并发任务数,可以通过传递 `--parallel-workers` 参数来实现。该参数允许指定同时运行的最大作业数[^4]。例如: ```bash colcon build --parallel-workers N ``` 其中 `N` 表示希望使用的最大并发工作线程数。如果未提供此选项,则默认会根据系统的核心数自动调整并发量[^5]。 对于刚安装完成的 Ubuntu 18.04,在执行上述命令之前还需要确保已经完成了必要的配置步骤,比如更换软件源以及初始化 ROS Melodic 环境变量等操作[^3]。这些基础准备工作通常括但不限于更新索引、安装依赖项和创建合适的 Catkin 或其他类型的 ROS 工作区目录结构。 另外值得注意的是,当硬件性能有限或者存在多个大型项目需要同步处理时,适当降低平行度能够有效防止内存溢出等问题的发生。因此建议依据实际机器规格合理设定数值大小以达到最佳效果[^6]。 ```bash export COLCON_PARALLEL_WORKERS=N colcon build ``` 以上方法同样适用,它通过环境变量的形式定义全局范围内的默认行为模式而无需每次单独输入具体数字作为附加指令的一部分。 #### 示例代码展示如何利用 Shell 脚本动态获取 CPU 数目进而决定最优值: ```bash #!/bin/bash CPU_COUNT=$(nproc) HALF_CPUS=$(( (CPU_COUNT + 1) / 2 )) # 计算一半核心数目向上取整 echo "Building with $HALF_CPUS workers..." colcon build --parallel-workers ${HALF_CPUS} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值