APM 飞控文档翻译2
翻译章节: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相关推荐
- APM 飞控文档翻译1
闲来无事,翻译 APM 飞控官方文档,方便大家一起学习. 原文地址:点击查看原文地址 Learning the ArduPilot Codebase 学习 ArduPilot 代码库 The Ardu ...
- APM飞控使用动捕等外部定位
本文初次写于2023.03.03,pixhawk飞控应该是刷写了ArduPilot 4.1以上的版本. 机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的 ...
- 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置
来源于5iMX论坛的这篇帖子 富斯FS-T6 APM飞控两种飞行模式设置方法点击打开链接 但是我按照作者的设置MIX的方法,怎么都只有三种通道 先上图吧: 1.我的混控设置: OFFSET是偏移量,向 ...
- APM飞控电机输出逻辑(xyz->具体电机)
@APM电机输出逻辑(Motors类详解) 一.概述 APM飞控中不管是姿态控制还是位置控制,串级PID都是作用在xyz三个坐标或者俯仰横滚偏航三个欧拉角上,这三个维度的控制量如何映射到具体电机上呢? ...
- Apm飞控学习笔记之添加我的设备或单片机串口通信-Cxm
目录 PX4/APM/飞控的学习笔记前言-Cxm_chen_taifu的博客-CSDN博客开始了 开始了终于有时间可以学习飞控了此文章是用来当目录,我会持续更新我的学习之旅,希望能对各位有所帮助如果有 ...
- 关于apm飞控烧bootloader
最近一直由于学校大创申请的的四轴,一直在做这玩意,哎,无奈这货实在不像想象的那样简单,自己写了N久飞控,也没把飞机飞起来,只能先用开源的apm飞控练练手呗,备份下apm烧bootloader的方法,以 ...
- APM飞控板增加继电器控制
有时候,我们飞机在飞行过程中,需要增加额外的功能,比如使用继电器触发某i个设备工作,比如相机拍照,比如降落伞开启等.如何利用最简单操作来完成呢. 首先,淘宝购买如下的APM飞控板子.将5V控制的继电器 ...
- APM飞控学习之路:1 无人机的分类与发展
"旧时王谢堂前燕,飞入寻常百姓家".无人机也像那堂前燕,从以前为军事所专属,负责侦查和战斗,飞入民用领域,在航拍.植保.快递.救灾.巡检.拍摄等行业大显身手,无人机+的应用遍地开花 ...
- APM飞控软件在环SITL仿真
APM飞控本身已经做的很完善了,但是如果要做某些个性化的应用,我们就需要修改其源代码来满足自己的需求.相应的地面站程序也可以自行修改.但是改动过后的代码是不能直接用到飞机上飞的,不然铁定会炸机.所以我 ...
最新文章
- 高斯混合模型(GaussianMixture Model, GMM)聚类、可视化最优协方差形式、通过TSNE进行结果可视化分析、抽取核心特征因子
- 视觉SLAM总结——SVO中关键知识点总结
- Win7系统中Microsoft Office Word2003已停止工作
- 防盗链技术底层实现原理分析
- java实用教程——组件及事件处理——布局管理(五种)
- [MEGA DEAL] Ultimate SQL Bootcamp认证捆绑包(98%)
- 链表c++代码的实现
- zend studio 7.2.0怎么创建项目
- Exploit Kit攻击工具包流量锐减96%!这段时间究竟发生了什么?
- Android USB AUDIO初步分析
- 毕业设计 基于java的贴吧论坛_java毕业设计_springboot框架的论坛贴吧
- [Python+Django]Web图书管理系统毕业设计之源码+论文篇
- 【DB笔试面试666】在Oracle中,在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?...
- 抖音直播Web端框架及消息处理流程分析(新鲜出炉)
- KeilMDK编译错误Error: L6218E: Undefined symbol __aeabi_assert (referred from xxx.o).
- 两阶段(two stage)目标检测原理详解 -- RCNN
- 在python中输入圆的半_python半圆
- 深度学习之神经网络基础(1)——感知器,S型神经元,梯度下降法,神经网络架构
- 利用XGBoost实现短期电力负荷预测
- 蓝牙耳机哪款好用?2020高性能低延迟游戏蓝牙耳机推荐
热门文章
- 被百度AI官方认证的大学,究竟是哪所?
- 大学生为什么要学Linux?Linux有什么优点?
- 2021年12月电子学会Python等级考试试卷(三级)答案解析
- 【PhotoShop】用自己的照片做个好看的星空头像PS
- Stimulsoft Reports.WEB 23.1.8 完美Crack
- mysql 双机热备 原理,MySQL双机热备份的配置及原理
- linux删除重复文件,linuxshell删除重复文件只保留一份
- Cascade Classification
- 网关(Gateway)
- TensorFlow深度学习!构建神经网络预测股票!