Ardupilot学习笔记

news2024/12/27 18:12:23

参考文献

【1】https://ardupilot.org

主打的就是一个炫酷

在这里插入图片描述

自驾仪 Ardupilot

一套开源的自驾仪,集成了各种各样的代码,包括其他开源代码(如PX4代码)和项目、驱动等。
即:自驾仪即集成了整个可以实现无人载具(如无人机)自动驾驶功能的代码。

固件 Firmware

指定硬件(即target board)后,将Ardupilot编译后的可以下载到硬件的二进制程序(文件)。
文件后缀一般为.hex

软件(地面站)

一般指运行在pc上的地面站Mission Planner或QGC。
常用的地面站包括:

  • Mission Planner
  • QGC
  • APM Planner 2 Home
  • MAVProxy

地面站的主要功能包括:

  • Point-and-click waypoint/fence/rally point entry, using Google Maps/Bing/Open street maps/Custom WMS.
  • Select mission commands from drop-down menus
  • Download mission log files and analyze them
  • Configure autopilot settings for your vehicle
  • Interface with a PC flight simulator to create a full software-in-the-loop (SITL) UAV simulator.
  • Run its own SITL simulation of many frames types for all the ArduPilot vehicles.

支持的硬件

在这里插入图片描述

不同的载具类型由不同的硬件设备支持,以copter为例:

  • 开源硬件 Open hardware:
    ARKV6X DS-10 Pixhawk6
    CUAV V5 Plus
    CUAV V5 Nano
    CUAV Nora
    CUAV Pixhawk v6X
    CUAV X7/X7Pro/X7+/X7+ Pro
    Drotek Pixhawk3
    F4BY
    CubePilot Cube Black
    CubePilot Cube Orange/+
    CubePilot Cube Purple
    CubePilot Cube Yellow
    CubePilot Cube Green
    Holybro Durandal H7
    Holybro Pix32 v5
    Holybro Pixhawk 4
    Holybro Pixhawk6X
    Holybro Pixhawk6C/ 6C Mini
    Holybro Pix32v6(Pixhawk6C variant)
    mRo Pixhawk
    mRo Pixracer
    mRo X2.1
    mRo X2.1-777
    OpenPilot Revolution
    TauLabs Sparky2*
  • 不开源的硬件 Closed hardware:
    Aerotenna Ocpoc-Zynq
    Airvolute DroneCore
    AtomRC F405-NAVI
    Emlid NAVIO2 (Linux)
    Flywoo F745 AIO BL_32/ Nano
    Foxeer Reaper F745-AIO V2
    Furious FPV F-35 Lightning and Wing FC-10
    Holybro Kakute F4*
    Holybro Kakute F4 Mini*
    Holybro Kakute F7 AIO*
    Holybro Kakute F7 Mini* (only V1 and V2 are compatible)
    等等…

更多请参考官网:https://ardupilot.org/copter/docs/common-autopilots.html

查询与Ardupilot兼容的硬件方法:
以Coppter为例
https://ardupilot.org --> DOCUMENTATION --> Coppter --> Autopilot Hardware Options

支持的机器类型(载具) Vehicle Types Supported by ArduPilot

如:多旋翼、直升机、无人船、无人小车等…
更多兼容的载具类型请参考官网:https://ardupilot.org/ardupilot/docs/common-all-vehicle-types.html

MAVLink协议

自驾仪Ardupilot与地面站、上位机、ros等设备或软件通讯的协议。

MAVProxy(最小地面站)

一个基于MAVLink的地面站软件包。A UAV ground station software package for MAVLink based systems。

MAVProxy是一个功能齐全的、最低限度、便携的、可扩展的无人机UAV地面站。

特点:

  • 基于命令行的地面站软件,一般适合开发人员使用。
  • 它可以通过附加模块进行扩展,也可以与另一个地面站(如Mission Planner、APM Planner 2、QGroundControl等)进行相互的功能补充,以提供图形用户界面。
  • 可以通过UDP通信协议将无人机的信息通过网络转发到在其他设备上运行的地面站软件。
  • 用户现在在其他地面站工具中看到的许多功能可以追溯到MAVProxy。
  • 它是一个基于命令行控制台的应用程序。MAVProxy中包含一些插件来提供基本的GUI。
  • 可以联网并在任何数量的计算机上运行。
  • 它是便携的,可以在Linux、OS X、Windows和其他操作系统上运行。只要这些系统满足:any POSIX OS with python, pyserial, and select() function calls。
  • 它支持可加载模块,并具有支持控制台、移动地图、操纵杆、天线跟踪器等的模块。
  • 按Tab键完成命令。

常用的MAVProxy命令:https://ardupilot.org/mavproxy/docs/getting_started/cheatsheet.html#mavproxy-cheetsheet
学习MAVProxy更多知识请参考官网https://ardupilot.org/mavproxy/index.html

配套计算机(上位机) Companion Computers

一般指:
运行地面站的PC
负责运行一些高级任务(目标检测、拍照等)的上位机,如树莓派、TX2等。
这些上位机与飞控(下位机)通过Mavlink进行通信。

上位机可以划分未两个部分,即:

  • 硬件选型,如树莓派
  • 软件,如Ros机器人操作系统

流行的上位机硬件和使用教程(与ardupilot通信的教程)
在这里插入图片描述
流行的上位机软件和使用教程(与ardupilot通信的教程)
在这里插入图片描述
具体请参考官网:https://ardupilot.org/dev/docs/companion-computers.html

ArduPilot外围设备 AP_Periph

AP_Periph是ArduPilot外围设备的缩写,即基于现有ArduPilat自动驾驶仪代码的ArduPilet外围设备。它采用ArduPilot的外围设备驱动程序库,并使其在独立的外围设备上运行,这些外围设备通过CAN、MSP或其他外围总线协议与主自动驾驶仪通信。
在这里插入图片描述
详细请参考https://ardupilot.org/dev/docs/ap-peripheral-landing-page.html

Ardupilot 二次开发

官方开发者文档:https://ardupilot.org/dev/index.html

下载代码

  • ArduPilot官方GitHub仓库Repo:https://github.com/ArduPilot/ardupilot
  • fork 官方Repo成为自己的代码副本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day_61-62 决策树

目录 Day_61-62决策树(准备工作) 一. 算法的基本概念 1. 决策树的定义 2. 如何构建决策树? 2.1 熵 2.2 信息增益原则 2.3 计算步骤 二. 示例演示 1. 第一次节点决策分类: 2. 后续节点的决策分类 3. 决策分类的结束条件 三. 代码实现 1. 主函数 2. 两个构…

Matlab把两个不同的x轴和y轴画在同一个图里

我们知道画两个y轴可以用yyaxis. 那么画两个x轴呢? 这时候可以用神奇的tiledlayout. % 创建两组数据 x1 0:0.1:40; y1 4.*cos(x1)./(x12); x2 1:0.2:20; y2 x2.^2./x2.^3;t tiledlayout(1,1); % 创建一个tiledlayout % 第一个坐标系 ax1 axes(t); % 创建坐标系, 指定t为…

Go语言MinGW的安装

Go语言MinGW的安装 相比在 Linux 平台上安装 GCC 编译环境,在 Windows 平台上安装 MinGW 是比较简单的,只需经历以下几个过 程。 1、MINGW32位安装 1、打开 [MinGW 官网] https://osdn.net/projects/mingw/,下载 MinGW 安装包。 点击即可…

个人对于SAR的粗浅理解

个人对于SAR的粗浅理解 有同学问我是做成像的,让我解释一下SAR成像,我思索了一下,决定这样简单回答: 首先SAR的全称为Synthetic Aperture Radar,即合成孔径雷达,本质还是一种Radar 合成孔径,其…

CSS 制作动态蚂蚁线

效果&#xff1a; 代码&#xff1a; <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <style type"text/css"> .line{position:relative;margin-bottom: 5px;width: 1200px;height: …

【电商API接口系列】关键词搜索商品列表,品牌监控场景

API接口允许不同应用程序之间共享数据&#xff0c;在系统之间传输、读取和更新数据。例如&#xff0c;一个电商网站可以通过API接口获取支付系统的支付状态。API接口允许开发人员使用他人开发的功能来扩展自己的应用程序。通过调用第三方API接口&#xff0c;开发人员无需重新实…

我的创作纪念日兼GPT模型简单介绍

目录 一、引言 二、收获与开端 2.1 问题&#xff1a;在创作的过程中都有哪些收获&#xff1f; 2.2 模型开端 三、日常与深入 3.1 问题&#xff1a;当前创作和你的学习是什么样的关系&#xff1f; 3.2 模型深入介绍 3.2.1 无监督预训练 3.2.2 有监督下游任务精调 四、…

自动驾驶产业链躁动,四维图新能否做好新时代“Tier 1”?

自动驾驶行业的“劲风”又来了。 6月21日&#xff0c;工信部副部长辛国斌在国务院政策例行吹风会上表示&#xff0c;将启动智能网联汽车准入和上路通行试点&#xff0c;他强调&#xff0c;“这里面讲的是L3级&#xff0c;及更高级别的自动驾驶功能商业化应用”。此前工信部曾透…

C#实现低耦合读卡

我们经常要给用户实现读卡查询。有很多种读卡器&#xff0c;每个厂商的接口也不同。归纳为两类&#xff0c;一类是感应式读卡&#xff0c;卡片接触上去就读出数据。一种是触发式的&#xff0c;程序调用读卡方法&#xff0c;硬件再进入读卡轮询。对应触发式的只能加按钮触发了&a…

技术分享 | app自动化测试(Android)-- 特殊控件 Toast 识别

Toast 是 Android 系统中的一种消息框类型&#xff0c;它属于一种轻量级的消息提示&#xff0c;常常以小弹框的形式出现&#xff0c;一般出现 1 到 2 秒会自动消失&#xff0c;可以出现在屏幕上中下任意位置。它不同于 Dialog&#xff0c;它没有焦点。Toast 的设计思想是尽可能…

不要再纠结了!看完这篇,你就能秒懂webpack、vite、rollup三者间差异!

前端打包工具webpack、vite、rollup的区别及使用 webpack、vite、rollup的区别webpack、vite的区别为什么vite比webpack打包快&#xff1f;为什么有人会说vite慢&#xff1f;首屏问题懒加载问题解决方案注意点 webpackwebpack打包过程webpack打包原理第一次冷启动慢的原因热更新…

在yolov5源码中添加注意力机制

yolov5源码中添加注意力机制 1 项目环境配置1.1 yolov5 源码下载1.2 创建虚拟环境1.3 安装依赖 2 常用的注意力机制2.1 SE 注意力机制2.2 CBAM 注意力机制2.3 ECA 注意力机制2.4 CA 注意力机制 3 添加方式3.1 修改 common.py 文件3.2 修改 yolo.py 文件3.3 修改 yolov5s.yaml 文…

易查分如何导入数据?这个最关键的要点别忽略

我们在使用易查分制作查询系统时&#xff0c;偶尔会遇到Excel文件没有办法正常上传的情况。这个问题困扰着许多老师&#xff0c;他们不知道该如何解决。今天我想和大家讨论一下&#xff0c;易查分导入数据时最常出现错误的原因&#xff0c;其中这个要点最关键&#xff0c;但很多…

谷歌Bard入门指南

文章目录 谷歌Bard入门指南一、简介二、使用指南三、中文化3.1 中文提问3.2 中文回答 四、Hello Game五、亮点 谷歌Bard入门指南 一、简介 Bard 是一个大型语言模型&#xff0c;也称为对话式 AI 或聊天机器人&#xff0c;经过训练&#xff0c;内容丰富且全面。Bard 接受过大量…

Mysql——》哈希索引

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

接口测试-postman,JMeter与LoadRunner比较

目录 JMeter与LoadRunner比较 JMeter缺点 一.创建测试用例集、子集 二.创建测试用例 三.设置变量 四.添加响应处理 五.批量执行测试用例 总结&#xff1a; postman是一个谷歌出的轻量级的专门测试接口的小工具~&#xff08;PS&#xff1a;postman包括两种&#xff1a;C…

PostgreSQL如何根据执行计划进行性能调优?

EXPLAIN命令 PG中EXPLAIN命令语法格式如下&#xff1a; EXPLAIN [(option[,...])] statement EXPLAIN [ANALYZE] [VERBOSE] statement该命令的options如下&#xff1a; ANALYZE [boolean]VERBOSE [boolean]COSTS [boolean]BUFFERS [boolean]FORMAT {TEXT | XML | JSON | YAM…

【UnityDOTS 十】DynamicBufferComponent介绍

DynamicBufferComponent 前言 DynamicBufferComponent 作为一种特殊的组件存在&#xff0c;可以作为一种非托管内存下可动态调整带下的数组容器组件。 一、DynamicBufferComponent是什么&#xff1f; DynamicBufferComponent也是组件的一种。 需要关注的是内部指针&#xf…

spring使用01

① 导入 Spring 开发的基本包坐标 ② 编写 Dao 接口和实现类 ③ 创建 Spring 核心配置文件 ④ 在 Spring 配置文件中配置 UserDaoImpl ⑤ 使用 Spring 的 API 获得 Bean 实例 第一步&#xff1a;创建maven的web骨架 然后&#xff0c;导入 Spring 开发的基本包坐标 <depe…

工资10K,副业20K,这届程序员搞副业真野

最近刚完成了一个远程外包项目工作&#xff0c;钱刚到账&#xff0c;小金库又添了一笔&#xff1a; 从一开始的15K死工资&#xff0c;到现在的主业副业一共25K收入&#xff0c;最近的经济压力小了很多&#xff0c;终于也有闲钱和老婆去旅旅游&#xff0c;升级一下外设&#xff…