构建与安装
安装
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
已发布的分发二进制文件
要构建 Nav2,您首先需要构建或安装 ROS 2 和相关开发工具,包括:“colcon”、“rosdep”和“vcstool”。
设置好环境后,克隆 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 目前不滚动发布二进制文件,因此必须从源代码构建。
设置好环境后,克隆 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。
一旦系统设置完毕,你就可以从 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。