在 RPi3 上构建 NAVIO2

概述

这些说明阐明了如何使用 Waf 构建系统在 Navio2 的 RPi3 板上为 Navio2 板构建 ArduPilot。这些说明假定 RPi3 已经按照制造商(即 Emlid)的说明进行了设置 这里.

或者,您也可以按照 Emlid 的说明,从源代码中创建程序。 这里.

设置

使用 ssh 终端程序,如 油灰 登录 Navio2 板的 RPI3。

备注

在 Raspbian Stretch 上,可能缺少 Python 的一个要求,因此请通过以下方式安装未来的 Python

核心 安装 未来

获取 git

Git 是一个免费开源的分布式版本控制系统,用于管理 ArduPilot 代码库。Git 适用于所有主流操作系统平台,并有多种工具可帮助用户轻松上手。

Git 命令行

乌班图

Linux/Ubuntu 用户可以使用 apt .NET 安装:

  • 苏都 apt-get 更新

  • 苏都 apt-get 安装 git

  • 苏都 apt-get 安装 gitk git-gui

Windows操作系统和其他系统

克隆 ArduPilot 软件仓库

"克隆 "是 git 的术语,指为远程仓库(即 GitHub 服务器上的仓库)制作本地副本。

开发人员应克隆主 ArduPilot 存储库 (如果他们只是想下载和编译最新代码)或他们自己的 分叉 (如果他们想修改源代码,并可能将修改提交回来)。

常用工具的说明如下,但无论使用哪种工具,都需要提供源代码库的 URL。这可以在每个 Github 仓库主页的屏幕右侧找到,但一般来说,URL 是:

  • https://github.com/ArduPilot/ardupilot.git 主 ardupilot 软件仓库

  • https://github.com/your-github-account/ardupilot 为您的 分叉 的软件包

../_images/APM-Git-Github-Clone.jpg

使用命令行克隆

  • 打开终端,导航到您希望保存克隆的目录

  • 克隆你的叉子

    git 复制 --递归-子模块 https://github./您的-github-用户名/ardupilot
    CD ardupilot
    

备注

如果某些防火墙不允许 ssh 访问,从而导致上述子模块更新失败,在这种情况下,可以通过以下命令告诉 git 单方面使用 https:

git 配置 --全球 网址."https://";.而不是 git://

使用 https 协议,而不是默认的 git:// 前缀。

安装一些必要的软件包

如果您使用的是基于 debian 的系统(如 Ubuntu 或 Mint),我们将为您提供 剧本 就能帮你完成。从克隆的 ardupilot 目录 :

工具/环境安装/安装-先决条件-乌托邦. -y

重新载入路径(注销并登录以使其永久有效):

. ~/.概况

现在,您应该可以按照 BUILD.md.

备注

此时,您已经安装了 MAVProxy 地面控制站(MAVProxy GCS),并准备对飞行器代码进行软件环路 (SITL) 模拟。请参见 SITL 模拟器(循环中的软件)在 Linux 上设置 SITL.您不仅可以构建代码,还可以在 ArduPilot SITL 模拟器中运行您的构建。

清洁

如果某些 git 子模块有更新,您可能需要进行一次完整的编译。为此,请使用

./waf 清洗

这将移除构建工件,这样您就可以执行 构建 零起点


备注

Waf 应始终在 ardupilot 的根目录下调用。

为方便访问 Waf,请在 ardupilot 根目录下使用以下别名:

别称 waf="$PWD/modules/waf/waf-light";

配置

选择要使用的电路板:

waf 配置 --官方=navio2

建设

现在,您可以制作 arducopter。使用以下命令制作旋翼飞行器:

waf --目标 箱柜/自动飞行器

要制作旋翼飞行器,请指定 "arducopter-heli"。在Mission Planner地面站菜单 "初始设置 "的 "框架类型 "项中可指定以下框架类型。

四边形 六边形 奥克塔 奥克塔-四边形 Y6  旋翼飞行器 

编译结束后,名称为 arducopter 的二进制文件将被放置在 ardupilot/build/navio2/bin/ 通讯录.