编译和安装
安装
Nav2软件包及其依赖包都发布了二进制文件。您可以通过以下命令安装它以获得最新的稳定发行版: [校准@haisenzeng]
sudo apt install ros-<distro>-navigation2 ros-<distro>-nav2-bringup ros-<distro>-turtlebot3*
(对于Ubuntu 20.04版本,请使用下面这个命令,因为其通配符的解析已更改: [校准@haisenzeng]
sudo apt install ros-<distro>-navigation2 ros-<distro>-nav2-bringup '~ros-<distro>-turtlebot3-.*'
编译
一共有三种构建Nav2的方式。第一种为特定发布的发行版 (例如 foxy
, galactic
) 构建Nav2,第二种为使用快速启动安装脚本在主分支上构建Nav2,或者在主分支上手动构建Nav2。 [校准@haisenzeng]
编译已发行版本
安装ROS2
请通过通用途径 安装说明 安装自己所需发行版本的ROS 2。注: <ros2-distro>-devel
是命名模式前的分支-galactic
。对于Galactic的和更新的,它是 <ros2-distro>
。 [校准@小鱼]
编译开发中的主分支
Build ROS 2 Main
使用ROS 2文档中提供的 安装说明 构建或安装ROS 2 rolling``镜像 。使用 ``rolling``镜像版本Nav2的 ``main
分支在所有开发完成后会同步更新到该发行版 (如果ABI兼容)。 [校准@小鱼]
Docker
官方的 Dockerhub 入口主要用于 Nav2 CI,但也可以用于开发。它拥有一个有效跟踪Nav2 main
分支的docker镜像。建议使用储存库根源的“Dockerfile``用于生产使用,设置为您选择的发行版。 [校准@haisenzeng]
如果您想使用我们发布的二进制文件,通常建议在容器内安装apt存储库中的Nav2版本。 [校准@mzebra]
通过Docker容器构建Nav2
要从Nav2文件夹中的Dockerfile构建镜像: 首先,将repo克隆到本地系统 (或参见上面的构建源代码) [校准@haisenzeng]
sudo docker build -t nav2/latest .
如果需要代理: [校准@小鱼]
sudo docker build -t nav2/latest --build-arg http_proxy=http://proxy.my.com:### --build-arg https_proxy=http://proxy.my.com:### .
注意: 您可能还需要配置docker以使DNS正常工作。有关详细信息,请参阅此处的文章: https://development.robinwinslow.uk/2016/06/23/fix-docker-networking-dns/ [校准@haisenzeng]
如果您想从dockerhub缓存构建以加快构建速度 [校准@小鱼]
sudo docker pull rosplanning/navigation2:main
sudo docker build -t nav2/latest --cache-from rosplanning/navigation2:main .
使用DockerHub已构建的容器
我们允许您随时从主分支中提取最新的docker镜像。随着新版本和标签的发布,docker hub上的docker容器也将被版本化以供选择。此docker镜像将不包含构建的覆盖,您必须自己去构建覆盖Nav2工作区 (请参阅上面的构建Nav2主工作区)。 [校准@haisenzeng]
sudo docker pull rosplanning/navigation2:main
生成Doxygen
在 Nav2 存储库的根目录中运行``doxygen`` 。它将生成一个 /doc/*
包含文档的目录。浏览器中的文档入口点是index.html。 [校准@mzebra]