【ROS2】初级:客户端-使用colcon构建包

使用 colcon 构建包

 目录

  •  背景

  •  先决条件

    •  安装 colcon

    •  安装 ROS 2

  •  基础

    •  创建工作空间 Create a workspace

    •  添加一些来源 Add some sources

    •  来源一个垫层 Source an underlay

    •  建立工作空间 Build the workspace

    •  运行测试

    •  环境来源 Source the environment

    •  尝试演示

  • 创建您自己的包 Create your own package

  •  设置 colcon_cd

  • 设置 colcon 标签补全 Setup colcon tab completion

  •  小贴士 Tips

目标:使用 colcon 构建 ROS 2 工作区。

 教程级别:初学者

 时间:20 分钟

这是一个关于如何使用 colcon 创建和构建 ROS 2 工作空间的简短教程。这是一个实用的教程,不旨在取代核心文档。

 背景

colcon 是 ROS 构建工具 catkin_make 、 catkin_make_isolated 、 catkin_tools 和 ament_tools 的一次迭代。有关 colcon 设计的更多信息,请参阅此文档 https://design.ros2.org/articles/build_tool.html。

源代码可以在 colcon GitHub 组织中找到。https://github.com/colcon

 先决条件

 安装 colcon 

sudo apt install python3-colcon-common-extensions

安装 ROS 2

要构建样本,您需要安装 ROS 2。https://docs.ros.org/en/jazzy/Installation.html

遵循安装说明。

 注意

如果从 Debian 包安装,本教程需要桌面安装。https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html#linux-install-debians-install-ros-2-packages

 基础知识

ROS 工作空间是具有特定结构的目录。通常有一个 src 子目录。源代码包将位于该子目录内。通常,目录开始时是空的。

colcon 进行源代码外构建。默认情况下,它会创建以下目录作为 src 目录的同级目录:

  • build 目录将用于存储中间文件。对于每个包,将创建一个子文件夹,在该子文件夹中例如会调用 CMake。

  • install 目录是每个包将要安装到的地方。默认情况下,每个包都会安装在一个单独的子目录中。

  • log 目录包含每次 colcon 调用的各种日志信息。

 便条

与 catkin 相比,没有 devel 目录。

创建工作空间

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

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws

在这一点上,工作空间包含一个单一的空目录 src :

dc6b30a0c90d48496c6e9fc604cd75ed.png

添加一些源

让我们克隆示例https://github.com/ros2/examples仓库到工作空间的 src 目录:

cxy@ubuntu2404-cxy:~/ros2_ws$ git clone https://github.com/ros2/examples src/examples -b jazzy
正克隆到 'src/examples'...
remote: Enumerating objects: 8519, done.
remote: Counting objects: 100% (2746/2746), done.
remote: Compressing objects: 100% (467/467), done.
remote: Total 8519 (delta 2417), reused 2462 (delta 2257), pack-reused 5773
接收对象中: 100% (8519/8519), 1.33 MiB | 1.18 MiB/s, 完成.
处理 delta 中: 100% (6141/6141), 完成.

0974ce423dde4b2211a692aa3b531e02.png

现在工作区应该有 ROS 2 示例的源代码:

b3d46db35670ef464adf9ddb7e84dfc8.png

源一个垫层

重要的是我们已经为现有的 ROS 2 安装源了环境,这将为我们的工作空间提供示例包所需的构建依赖项。这是通过源安装或二进制安装提供的设置脚本来实现的,即另一个 colcon 工作空间(见安装https://docs.ros.org/en/jazzy/Installation.html)。我们称这个环境为底层。

我们的工作空间 ros2_ws 将作为现有 ROS 2 安装的上层覆盖。通常,当您计划迭代少量包时,建议使用覆盖,而不是将所有包放入同一个工作空间。

构建工作空间

 注意

在 Windows 上构建包,您需要处于 Visual Studio 环境中,请参阅构建 ROS 2 代码以获取更多详细信息。https://docs.ros.org/en/jazzy/Installation/Alternatives/Windows-Development-Setup.html#windows-dev-build-ros2

在工作区的根目录下,运行 colcon build 。由于像 ament_cmake 这样的构建类型不支持 devel 空间的概念,并且需要安装包,colcon 支持 --symlink-install 选项。这允许通过更改 source 空间中的文件(例如 Python 文件或其他非编译资源)来更改已安装的文件,以便更快地迭代。

colcon build --symlink-install

构建完成后,我们应该看到 build 、 install 和 log 目录:

cxy@ubuntu2404-cxy:~/ros2_ws$ colcon build --symlink-install
Starting >>> examples_rclcpp_async_client
Starting >>> examples_rclcpp_cbg_executor                    
Starting >>> examples_rclcpp_minimal_action_client
Starting >>> examples_rclcpp_minimal_action_server
Starting >>> examples_rclcpp_minimal_client
Starting >>> examples_rclcpp_minimal_composition                             
Starting >>> examples_rclcpp_minimal_publisher
Starting >>> examples_rclcpp_minimal_service
Starting >>> exam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值