构建与安装

安装

Nav2及其依赖项以二进制形式发布。您可以通过以下命令安装,以获取最新稳定版本:

source /opt/ros/<distro>/setup.bash
sudo apt install \
  ros-$ROS_DISTRO-navigation2 \
  ros-$ROS_DISTRO-nav2-bringup \
  ros-$ROS_DISTRO-turtlebot3*

构建

有几种方法可以构建Nav2:

  • 已发布的发行版二进制文件

    • 使用现成可安装的二进制依赖项构建Nav2

  • 滚动开发源

    • 使用自定义或最新的源依赖项构建Nav2

  • Docker容器镜像

    • 使用缓存的镜像和模板Dockerfile构建Nav2

Tip

为了*获得可重复*、*可重现*和*简化*的开发体验,请查看Nav2文档,了解如何使用 开发容器!

已发布的分发二进制文件

要构建 Nav2,您首先需要构建或安装 ROS 2 和相关开发工具,包括:“colcon”、“rosdep”和“vcstool”。

See also

有关构建或安装 ROS 2 发行版的更多信息,请参阅官方文档:

设置好环境后,克隆 repo,安装所有依赖项,并构建工作区:

Attention

Nav2 的分支命名方案由 ROS 发行版组织,而 Rolling 的默认分支是“main”。

source /opt/ros/<distro>/setup.bash
mkdir -p ~/nav2_ws/src && cd ~/nav2_ws
git clone https://github.com/ros-planning/navigation2.git --branch $ROS_DISTRO ./src/navigation2
rosdep install -y \
  --from-paths ./src \
  --ignore-src
colcon build \
  --symlink-install

然后您可以“source ~/nav2_ws/install/setup.bash”来准备演示!

Hint

有关从已发布的分发二进制文件构建 Nav2 的更多示例,请查看 distro.Dockerfile

滚动开发源

使用滚动开发源构建 Nav2 与从已发布的分发二进制文件构建 Nav2 类似,只不过您使用所有基于 ROS 的软件包的主要开发分支从源代码构建依赖项。 Nav2 目前不滚动发布二进制文件,因此必须从源代码构建。

See also

有关从源代码构建 ROS 2 的更多信息,请参阅官方文档:

设置好环境后,克隆 repo 并构建工作区:

source <ros_ws>/install/setup.bash
mkdir -p ~/nav2_ws/src && cd ~/nav2_ws
git clone https://github.com/ros-planning/navigation2.git --branch main ./src/navigation2
rosdep install -r -y \
  --from-paths ./src \
  --ignore-src
colcon build \
  --symlink-install

然后,您可以“source ~/nav2_ws/install/setup.bash”来准备演示!可以安全地忽略由于缺少“slam_toolbox”键而导致的 rosdep 错误。

Hint

有关从滚动开发源构建 Nav2 的更多示例,请查看 source.Dockerfile

Docker 容器镜像

使用 Docker 容器镜像构建 Nav2 可提供可重复和可复制的环境,以自动化和自行记录整个设置过程。无需手动调用上述开发工具,您可以利用项目的 Dockerfile 为各种发行版构建和安装 Nav2。

See also

有关安装 Docker 或了解 Dockerfiles 的更多信息,请参阅官方文档:

一旦系统设置完毕,你就可以从 repo 的根目录构建 Nav2 Dockerfile:

export ROS_DISTRO=rolling
git clone https://github.com/ros-planning/navigation2.git --branch main
docker build --tag navigation2:$ROS_DISTRO \
  --build-arg FROM_IMAGE=ros:$ROS_DISTRO \
  --build-arg OVERLAY_MIXINS="release ccache lld" \
  --cache-from ghcr.io/ros-planning/navigation2:main \
  ./navigation2

The docker build command above creates a tagged image using the Dockerfile from the context specified using the path to the repo, where build-time variables are set using additional arguments, e.g. passing a set of colcon mixins to configure the workspace build. Check the ARG directives in the Dockerfile to discover all build-time variables available. The command also specifies an external cache source to pull the latest cached image from Nav2’s Container Registry to speed up the build process.

Tip

从上面缓存的图像用于 Nav2 CI,但也可以与 Nav2 开发容器 一起使用!


生成 Doxygen

在 Nav2 存储库的根目录中运行 doxygen。 它将生成一个包含文档的 ``/doc/*``目录。 浏览器中的文档入口点是 index.html。


帮助

Build Troubleshooting Guide