• 本教程来自:Nav2中文网
  • Nav2交流社区:https://fishros.org.cn/forum
  • ROS2/Nav2千人交流群:(QQ)139707339
  • 更多精彩教程请关注微信公众号:鱼香ROS
  • 欢迎添加机器人小伊微信,解锁机器人学习特殊服务

编译和安装

安装

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的方式。第一种为特定发布的发行版 (例如 foxygalactic ) 构建Nav2,第二种为使用快速启动安装脚本在主分支上构建Nav2,或者在主分支上手动构建Nav2。 [校准@haisenzeng]

编译已发行版本

安装ROS2

请通过通用途径 安装说明 安装自己所需发行版本的ROS 2。注: <ros2-distro>-devel 是命名模式前的分支-galactic 。对于Galactic的和更新的,它是 <ros2-distro> 。 [校准@小鱼]

编译Nav2源码

首先创建一个名为 nav2_ws 的工作空间 ,并将Nav2分支功能包克隆到该工作空间下,然后编译。 rosdep 将用于获取您特定ROS2版本中Nav2所需的依赖项。 [校准@haisenzeng]

mkdir -p ~/nav2_ws/src
cd ~/nav2_ws/src
git clone https://github.com/ros-planning/navigation2.git --branch <ros2-distro>-devel
cd ~/nav2_ws
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro <ros2-distro>
colcon build --symlink-install

注意: 您需要将 --rosdistro 改为已选定的ROS 2发行版本的名称 (例如 foxygalactic )。 [校准@haisenzeng]

编译开发中的主分支

Build ROS 2 Main

使用ROS 2文档中提供的 安装说明 构建或安装ROS 2 rolling镜像。使用rolling镜像版本Nav2的main 分支在所有开发完成后会同步更新到该发行版 (如果ABI兼容)。 [校准@小鱼]

构建Nav2主程序 [校准@haisenzeng]

现在安装了ROS 2 rolling ,我们必须安装依赖项并自行构建Nav2。我们将创建一个新的工作区, nav2_ws ,并将Nav2项目克隆到其中。之后,我们将使用 rosdep 自动查找并安装在核心ROS 2安装中未包含的依赖项 ( behaviortree.CPPompl 等)。如果您想使用任何这些依赖项的自定义版本,只需将它们在nav2_ws 工作空间中覆盖,即可使用这些版本,而不是二进制安装版本。 [校准@haisenzeng]

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

你现在准备好进行演示了! [校准@haisenzeng]

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]


帮助

构建故障排除指南 [待校准@1521]

【Nav2中文网】二、编译和安装相关推荐

  1. 【Nav2中文网】六、插件教程(一)编写新的二维代价地图(Costmap2D)插件

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  2. 【Nav2中文网】六、插件教程(二)编写新的规划器插件

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  3. Ethercat解析(二)之获取、编译、安装(debian7)

    EtherCAT解析之 – -- 获取.编译.安装(debian7) 说明:EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Con ...

  4. 《动手学ROS2》10.7 Nav2导航框架介绍与安装

    <动手学ROS2>10.7 Nav2导航框架介绍与安装 本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版 ...

  5. [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...

  6. 【Nav2中文网】一、入门

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  7. 【Live555】liveMedia下载、配置、编译、安装、基本概念

    [Live555]live555源码详解系列笔记 一.下载.编译.安装 1.下载 官网地址:http://www.live555.com/ 下载地址:http://www.live555.com/li ...

  8. 二丶Linux安装xdd-plus教程及必备依赖的安装+青龙对接xdd

    二丶Linux安装xdd-plus教程及必备依赖的安装 没有服务器的先自行购买,这里推荐腾讯云2H4G8M首年70–点击购买 **首先需要安装青龙容器没装的青龙容器部署安装及常用命令 QQ交流群:10 ...

  9. linux内核单独安装,Linux内核编译与安装

    平台:虚拟机Ubuntu10.04 内核版本:3.0.80 ---------------------------------------------------------------------- ...

最新文章

  1. 使用Python,OpenCV实现图像之间超快速的颜色转移
  2. Nature:口腔和肠道微生物可以使抗糖尿病药物(阿卡波糖)失活
  3. 京东物联网战略大升级|与华为合作,疯狂发布新品,“养鱼”的京东正在物联网赛道上花式秀技术...
  4. Istio所有模块、Service、Pod的功能介绍
  5. UBUNTU下gedit编辑器出现中文乱码现象
  6. 使用easyui框架form控件,单选按钮radio或复选框checkbox样式问题
  7. php验证码切换不刷新页面,Yii2解决验证码点击、刷新页面不刷新问题
  8. eclipse手动pom本地包_环境篇--Eclipse如何远程连接Hadoop集群调试
  9. 含根式的定积分计算_不定积分计算法则总结
  10. 齐博V7仿爱丽图库模板(含齐博图库V1.0模板)
  11. 普通人学python有什么用-学python日常工作有什么用?
  12. 第一次冲刺个人博客04
  13. JavaSE基础——Object类中的常用方法
  14. axure源文件_Axure函数应用:指示线跟随地图所选区域,并展示相应数据可视化...
  15. 你以为我在玩游戏?其实我在学 Java
  16. jar包解压后再打包为jar
  17. AGV机器人RFID传感器CK-G06A与西门子1200PLC应用手册
  18. Mac怎么将文档导出成PDF格式文件
  19. android开发动画和壁纸,Android静态壁纸和动态壁纸的使用和理解
  20. 三天掌握三菱FX系列PLC视频教程-IT学院-专题视频课程

热门文章

  1. Python文字(汉字)转语音https://zhuanlan.zhihu.com/p/26726297
  2. MobaXterm登录堡垒机/跳板机
  3. 【vscode】 VsCode 代码片段
  4. Unity 材质球参数修改
  5. OpenSuse常用命令操作笔记
  6. 多渔:思想不滑坡,办法总比困难多!
  7. 建站四部曲之移动端篇(Android+上线)
  8. 网易云的招股书,递交了几分情怀?
  9. Ubuntu16.04 编译安装intel SGX Driver,SDK,PSW并验证环境201905
  10. 苹果(apple)支付退款通知、api