归档:使用 Arduino 在 Windows 上为 APM2.x 构建 ArduPilot

警告

存档文章

ArduPilot 不再支持 Arduino 或 AVR。

本文介绍如何使用 Arduino 工具链在 Windows 上为 APM2.x 目标构建 ArduPilot。

警告

Copter 3.3 固件(及更高版本)和 Plane 3.4.0 之后的构建版不再适用于 APM 板。在撰写本文时,Plane、Rover 和 AntennaTracker 版本仍可安装,但您已无法从主分支构建 APM2.x(您需要从支持的发布分支构建)。

可在 APM 2.x 上构建的最后一个 Copter 固件 可从此处下载.

除上述限制外,本文还包括

  • 从 Copter 3.1 版到 3.2.1 版

  • 从 Plane 2.76 版到 3.4.0 版

  • 仅限 APM 2.0、2.5 和 2.6

安装 Git-SCM

  1. 下载并运行安装文件: https://git-scm.com/download/win

  2. 在安装过程中,请按照下面的截图进行选择。

    ../_images/git_setup_wizard_welcome.jpg ../_images/git_setup_wizard_license.jpg
  3. 欢迎屏幕 然后在 许可证屏幕 点击 下一页 按钮

    ../_images/git_setup_wizard_components.jpg ../_images/git_setup_wizard_view_release_notes.jpg
  4. 选择组件屏幕 点击 下一页 按钮,然后单击 完成 按钮

    ../_images/git_setup_wizard_replace_in_use_files.jpg ../_images/git_setup_wizard_installing_files.jpg
  5. 点击 下一页 中的 替换使用中的文件屏幕然后等待 Git 加载完毕

    ../_images/git_setup_wizard_set_line_endings.jpg ../_images/git_setup_wizard_run_git_command_prompt.jpg
  6. 选择 结账窗口 项目和 下一页 按钮,然后选择 从 Windows 运行 Git 项目和 下一页 按钮。

下载源

  1. 在 C: 驱动器中创建一个名为 GIT (C:\GIT 在我的电脑上)。导航至 Windows 资源管理器文件夹

    ../_images/git_setup_create_git_directory.jpg
  2. 右键点击文件夹中的任意位置,然后点击 git bash

    ../_images/git_bash_command_prompt.jpg

    屏幕将显示

    ../_images/git_bash_prompt.jpg
  3. 在该屏幕中键入

    git 复制 --递归-子模块 git://github./ArduPilot/ardupilot.git
    
    ../_images/git_bash_clone_ardupilot.jpg

    完成后应该是这样的....

    ../_images/git_bash_clone_ardupilot_complete.jpg
  4. 源代码需要更多的初始化。像这样初始化引用的依赖关系:

    CD ardupilot
    git 子模组 更新 --启动 --递归
    

将 MHV_AVR_Tools 安装到默认位置

  1. 下载并安装 MHV_AVR 工具: https://firmware.ardupilot.org/Tools/Arduino/MHV_AVR_Tools_20121007.exe

    ../_images/mhv_avr_tools_installer_welcome.jpg ../_images/mhv_avr_tools_installer_choose_start_menu_folder.jpg
  2. 选择 下一页 按钮,然后选择 安装 按钮,用于 MHV AVR 工具

    ../_images/mhv_avr_tools_installer_choose_components.jpg ../_images/mhv_avr_tools_installer_choose_destination_folder.jpg
  3. 在 "选择 "中勾选两个项目 组件屏幕 并选择 下一页 然后选择 下一页 再次安装到默认位置

    ../_images/mhv_avr_tools_installer_license_agreement.jpg
  4. 选择 我同意 上的 许可协议屏幕.

安装 ArduPilot-Arduino

下载并解压 ArduPilot Arduino 软件包: https://firmware.ardupilot.org/Tools/Arduino/ArduPilot-Arduino-1.0.3-gcc-4.8.2-windows.zip

可以直接解压缩到 C: 驱动器或 C:\Program Files\

备注

这是一个特殊的 ArduPilot Arduino 软件包,其中包含 gcc 4.8.2

配置 Arduino

  1. 转到 Arduino 文件夹

  2. 双击 Arduino 图标

    ../_images/arduino_icon.jpg
  3. 打开 Arduino 后,进入文件菜单

    ../_images/arduino_menu_preferences.jpg
  4. 选择偏好

    ../_images/arduino_preferences_dialog.png
    • 将 Sketchbook 位置设置为 GIT 文件夹中的 ArduPilot 目录。

    • 为编译和上传设置 "冗长 "选项

    • 请勿在启动时检查更新......(请记住,这是专门用于 ArduPilot 的特殊版本。)

  5. 点击 好的 并关闭 Arduino

将 APM 连接到 USB

  1. 重新打开 ArduPilot,在 "文件 "选项卡下单击 "sketchbook",然后单击要加载到 APM2.x 上的程序(本例中我们将使用 Copter,但其他程序也使用相同的方法)。

    ../_images/arduino_tools_sketchbook_copter.jpg
  2. 加载完成后,点击 ArduPilot 选项卡,从 HAL 选项中选择 ArduPilot mega 2.x。

    ../_images/arduino_tools_target_apm2.jpg
  3. 然后点击 "工具 "选项卡,从 "电路板 "选项卡中选择 "Arduino Mega 2560 或 Mega ADK"。

    ../_images/arduino_tools_select_target_board.jpg
  4. 下一步选择 工具 选项卡,并将 "串行端口 "设置为 APM 所连接的端口。

    ../_images/arduino_tools_serial_port.jpg
  5. 我的情况是 COM4,但请在设备管理器/端口下查看您的系统。

    ../_images/arduino_tools_confirm_correct_com_port_in_drivers.jpg

配置旋翼飞行器

  1. 点击 APM_Config.h 文件选项卡。

  2. 设置框架类型(例如 #define 框架配置 HEXA_FRAME),以便为您的画框获取正确的图像

  3. 在此文件中启用或禁用您希望的功能。

    例如,如果您想在编译时禁用自动调整功能,只需取消对该行的注释

    //# 禁用自动调整功能 // 禁用自动调整功能以节省 7k 闪存
    

    要禁用默认启用的自动调整功能,可将其更改为

    # 禁用自动调整功能 // 禁用自动调整功能以节省 7k 闪存
    

    已注释的选项是非默认选项,只需取消注释即可使用。

  4. 保存该文件并选择文件 Copter。

    至此,您就可以开始编译了。

    第一次尝试,我会选择核查。

    ../_images/arduino_tools_verify_button.jpg

上传至 ArduPilot

  1. 如图所示,如果一切正常,则上传至(飞行)控制器:

    ../_images/arduino_tools_upload_ardupilot_button.png

    这可能需要一段时间...

  2. 最后您会看到如下所示的信息。

    ../_images/arduino_tools_upload_complete_message.jpg
  3. 像往常一样使用规划器配置 ArduPilot。

    警告

    您刚刚编译的代码在配置中未经测试。请仅用于测试。如果您没有信心,请使用Mission Planner地面站上传预编译代码。

更新代码

请确保您电脑上的代码版本为最新版本,使用 git 将代码更新为最新代码。