翻译章节:Learning ArduPilot — Introduction

原文地址:https://ardupilot.org/dev/docs/learning-ardupilot-introduction.html

学习 ArduPilot  --- 简介

  本页介绍ArduPilot的基本结构,开始之前,您需要先确定利用哪种方式浏览代码,你可以只利用网页浏览器查看代码,此种方式不需要将代码克隆到本地,网址为:https://github.com/ArduPilot/ardupilot/ 如果你将代码克隆到本地,通过推荐的 IDE 将会更有利于代码阅读。

ArduPilot 可以分为5个基本组成部分:

  • 对象设备代码
  • 共享库
  • 硬件抽象层 (AP_HAL)
  • 工具目录
  • 外部支持代码(i.e. mavlink, droneki)

1,对象设备代码

对象设备目录是定义每一种设备的顶级目录,目前,APM 支持5中对象设备:固定翼无人机、直升机、无人车、Sub 与天线跟踪器。尽管这些无人机对象设备有许多共同点,但是它们直接仍然有差异,目前,我们仅对 Copter 目录代码的代码结构进行详细说明。

除了 .cpp 文件外, 每个对象设备目录中,都包含一个 make.inc 文件,此文件列出了相关的库文件,编译过程中, Makefile读取此内容创建-I和-L标志。

2,共享库文件

包括(Copter,、Plane、Rover 、AntennaTracker)在内的各种类型的无人设备共享库文件,这些库包括传感器驱动器,姿态和位置估计(akaEKF)和控制代码(即PID控制器),查询有关更多详细信息,请参见``库描述'',``库示例草图''和``传感器驱动器''页面。

3,硬件抽象层 (AP_HAL)

硬件抽象层 (Hardware Abstraction Layer) 使得 ArduPilot 可以一直待各种不同的硬件平台之上。代码库中,libraries/AP_HAL中包含一个 AP_HAL,AP_HAL属于顶层文件,定义了其余代码需要设配特定的硬件。因此,每种板类型都有一个AP_HAL_XXX子目录,例如,基于AVR的主板的AP_HAL_AVR,基于Pixhawk主板的AP_HAL_PX4,基于Linux的主板的AP_HAL_Linux 。

4,工具目录

工具目录是其他杂项支持目录,例如,tools/autotest 提供 autotest.ardupilot.org 网站背后的自动测试基础架构, tools/Replay提供日志回复功能。

5,外部支持代码

在某些平台上,我们需要外部支持代码来提供其他功能或主板支持。当前支持的外部功能为:

  • PX4NuttX - the core NuttX RTOS used on Pixhawk boards
  • PX4Firmware - the base PX4 middleware and drivers used on Pixhawk boards
  • uavcan - the uavcan CANBUS implementation used in ArduPilot
  • mavlink - the mavlink protocol and code generator

APM 飞控文档翻译2相关推荐

  1. APM 飞控文档翻译1

    闲来无事,翻译 APM 飞控官方文档,方便大家一起学习. 原文地址:点击查看原文地址 Learning the ArduPilot Codebase 学习 ArduPilot 代码库 The Ardu ...

  2. APM飞控使用动捕等外部定位

    本文初次写于2023.03.03,pixhawk飞控应该是刷写了ArduPilot 4.1以上的版本. 机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的 ...

  3. 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置

    来源于5iMX论坛的这篇帖子 富斯FS-T6 APM飞控两种飞行模式设置方法点击打开链接 但是我按照作者的设置MIX的方法,怎么都只有三种通道 先上图吧: 1.我的混控设置: OFFSET是偏移量,向 ...

  4. APM飞控电机输出逻辑(xyz->具体电机)

    @APM电机输出逻辑(Motors类详解) 一.概述 APM飞控中不管是姿态控制还是位置控制,串级PID都是作用在xyz三个坐标或者俯仰横滚偏航三个欧拉角上,这三个维度的控制量如何映射到具体电机上呢? ...

  5. Apm飞控学习笔记之添加我的设备或单片机串口通信-Cxm

    目录 PX4/APM/飞控的学习笔记前言-Cxm_chen_taifu的博客-CSDN博客开始了 开始了终于有时间可以学习飞控了此文章是用来当目录,我会持续更新我的学习之旅,希望能对各位有所帮助如果有 ...

  6. 关于apm飞控烧bootloader

    最近一直由于学校大创申请的的四轴,一直在做这玩意,哎,无奈这货实在不像想象的那样简单,自己写了N久飞控,也没把飞机飞起来,只能先用开源的apm飞控练练手呗,备份下apm烧bootloader的方法,以 ...

  7. APM飞控板增加继电器控制

    有时候,我们飞机在飞行过程中,需要增加额外的功能,比如使用继电器触发某i个设备工作,比如相机拍照,比如降落伞开启等.如何利用最简单操作来完成呢. 首先,淘宝购买如下的APM飞控板子.将5V控制的继电器 ...

  8. APM飞控学习之路:1 无人机的分类与发展

    "旧时王谢堂前燕,飞入寻常百姓家".无人机也像那堂前燕,从以前为军事所专属,负责侦查和战斗,飞入民用领域,在航拍.植保.快递.救灾.巡检.拍摄等行业大显身手,无人机+的应用遍地开花 ...

  9. APM飞控软件在环SITL仿真

    APM飞控本身已经做的很完善了,但是如果要做某些个性化的应用,我们就需要修改其源代码来满足自己的需求.相应的地面站程序也可以自行修改.但是改动过后的代码是不能直接用到飞机上飞的,不然铁定会炸机.所以我 ...

最新文章

  1. 高斯混合模型(GaussianMixture Model, GMM)聚类、可视化最优协方差形式、通过TSNE进行结果可视化分析、抽取核心特征因子
  2. 视觉SLAM总结——SVO中关键知识点总结
  3. Win7系统中Microsoft Office Word2003已停止工作
  4. 防盗链技术底层实现原理分析
  5. java实用教程——组件及事件处理——布局管理(五种)
  6. [MEGA DEAL] Ultimate SQL Bootcamp认证捆绑包(98%)
  7. 链表c++代码的实现
  8. zend studio 7.2.0怎么创建项目
  9. Exploit Kit攻击工具包流量锐减96%!这段时间究竟发生了什么?
  10. Android USB AUDIO初步分析
  11. 毕业设计 基于java的贴吧论坛_java毕业设计_springboot框架的论坛贴吧
  12. [Python+Django]Web图书管理系统毕业设计之源码+论文篇
  13. 【DB笔试面试666】在Oracle中,在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?...
  14. 抖音直播Web端框架及消息处理流程分析(新鲜出炉)
  15. KeilMDK编译错误Error: L6218E: Undefined symbol __aeabi_assert (referred from xxx.o).
  16. 两阶段(two stage)目标检测原理详解 -- RCNN
  17. 在python中输入圆的半_python半圆
  18. 深度学习之神经网络基础(1)——感知器,S型神经元,梯度下降法,神经网络架构
  19. 利用XGBoost实现短期电力负荷预测
  20. 蓝牙耳机哪款好用?2020高性能低延迟游戏蓝牙耳机推荐

热门文章

  1. 被百度AI官方认证的大学,究竟是哪所?
  2. 大学生为什么要学Linux?Linux有什么优点?
  3. 2021年12月电子学会Python等级考试试卷(三级)答案解析
  4. 【PhotoShop】用自己的照片做个好看的星空头像PS
  5. Stimulsoft Reports.WEB 23.1.8 完美Crack
  6. mysql 双机热备 原理,MySQL双机热备份的配置及原理
  7. linux删除重复文件,linuxshell删除重复文件只保留一份
  8. Cascade Classification
  9. 网关(Gateway)
  10. TensorFlow深度学习!构建神经网络预测股票!