ardupilot开发 --- 机载计算机-软件方案 篇

马儿跑马儿不吃草

  • 0. 概述
  • APSync
  • BlueOS
  • DroneKit
  • FlytOS
  • Maverick
  • ROS
  • Rpanion-server
  • 结论

0. 概述

The Companion Computer software refers to the programs and tools that run on the Companion Computer. They will take in MAVLink telemetry from the Flight Controller and can route and process the telemetry data. Specific tutorials for popular Companion Computer software tools/suites are listed below.

  • APSync
  • BlueOS
  • DroneKit
  • FlytOS
  • Maverick
  • ROS
  • Rpanion-server

应该选哪个方案好呢??????

APSync

提供日志下载和视频流转发到地面站的功能;
机载计算机通过串口与飞控连接,将飞控的log转存到自己的文件系统中,并创建一个网络热点,用于给运行地面站的PC连接,PC连接该热点后可以:1)从机载计算机下载日志;2)查看视频流;3)连接热点后地面站可以通过UDP连接到飞控;4)PC连接热点后可通过SSH工具来连接到机载计算机的cmd/bash/shell/命令窗口;

BlueOS

BlueOS是一个模块化、强大且高效的平台,用于通过车载计算机管理 vehicle 或 robot。BlueOS是模块化的核心,这使它具有可移植性、更新健壮性和可扩展性。

有哪些特性?
目前是有一些基本的功能,没有视觉定位、视觉避障、SLAM等功能。

  • 参考:https://blueos.cloud/docs/blueos/1.2/overview/#feature-comparison
  • Onboard Computer
  • Flight Controller
  • Video Streams
  • WIFI Manager
  • Ethernet Manager
  • Notification system
  • File Browser
  • Log Browser
  • MAVLink inspector
  • Network test
  • System information
  • Web Terminal
  • Autopilot Firmware
  • Autopilot Parameters
  • Version Chooser
  • MAVLink Endpoints
  • NMEA support
  • Ping Sonar Devices
  • Serial Bridges
  • Water Linked
  • Extensions

DroneKit

DroneKit-Python allows you to control ArduPilot using the Python programming language.
DroneKit-Python’s documentation
特性:
在这里插入图片描述

FlytOS

FlytOS是一个软件框架,提供无人机API和SDK,用于构建高水平的无人机应用程序,如空中运输精准农业勘测摄影工业检测灾害管理。它旨在使无人机开发人员能够使用其开放API构建高级无人机应用程序。
FlytOS基于Linux和ROS,是构建商业和科研无人机应用程序的理想平台。它支持多种硬件平台,如Raspberry Pi 3、Odroid XU4、Nvidia TX1、Intel Edison、Intel Aero和FlytPOD。它使用MAVLink与飞控通信,并在ROS、CPP、Python、REST和Websocket中暴露高级FlytAPI。
这使得使用计算机视觉、机器学习和云连接构建高级应用程序变得容易,FlytOS旨在为无人机应用程序开发人员提供一种与无人机对话的标准语言。

  • 支持的硬件平台:
    在这里插入图片描述
  • 模块化结构
    在这里插入图片描述
  • 一些应用场景
    • Vision-based Object-Tracking and Following 基于视觉的目标跟踪
    • Deep Learning with Nvidia 机器学习
    • GPS based Object Following 目标跟踪
    • SONAR based obstacle detection 基于声呐的障碍物检测

Maverick

Maverick是一个用于创建、维护和控制无人机机载计算机的系统。
Maverick没有为每种不同类型的计算机和操作系统创建、分发和维护单独的逻辑和大型完整的操作系统映像以及包存储库,而是允许通过更熟悉的编码和github工作流程敏捷、协作地开发配套计算机,并且与操作系统和硬件无关。在任何受支持的计算机上,在任何受支撑的操作系统上都会创建相同的环境,因此底层平台在很大程度上变得无关紧要。
为了方便起见,Maverick提供了易于安装的操作系统映像,但只需几K的github代码就可以完全安装。当使用Maverick开发新功能时,只需一个命令即可快速安全地更新现有安装,而不会对数据或运行的服务造成任何干扰。
希望通过在很大程度上自动化并将复杂的系统安装和配置简化为简单的安装,这将有助于减少潜在无人机开发人员的进入障碍,他们可以快速开始使用完整的开发堆栈。

特性:
在这里插入图片描述

ROS

特性:

在这里插入图片描述

Rpanion-server

Rpanion Server 是一个用于配套计算机(如Raspberry Pi)的开源软件包,它提供了一个基于网络的接口,用于配置网络、遥测(MAVLink)路由和从连接的飞行控制器进行日志记录。

在这里插入图片描述

结论

推荐使用Maverick方案,因为Maverick方案不仅包含了ROS、视觉方案(如避障和SLAM),还拥有其他方案的特性如视频流、log、云服务、无线热点、飞控控制等功能。

最终方案:

  • APSync+ROS+Visp+Rpanion-server
  • APSync+ROS+Maverick

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IGraph使用实例——图属性创建1

1 概述 在图论中,图由顶点(vertices)和边(edges)组成,可以是无向的或有向的。图的属性是用来提供关于图、顶点或边的额外信息的数据。以下是从图论角度对图的属性的描述: 图的属性&#xff08…

C++:特殊类设计和四种类型转换

一、特殊类设计 1.1 不能被拷贝的类 拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98: 1、将拷贝构造函数与赋值运算符重载只…

个人百度百科怎么创建

编辑百度词条是一个相对简单的流程,但需要注意的是,并不是所有的词条都可以编辑,部分锁定的词条是无法编辑的,但可以通过官方平台申请解封。以下百科优化网yajje分享是详细的步骤: 注册百度账号 首先,用户…

kernelbase.dll故障怎么处理的几种常见方法,有效的解决kernelbase.dll故障

kernelbase.dll是 Windows 操作系统的一个系统文件,它是 Windows NT 基本 API 客户端库的一部分。如果你遇到了kernelbase.dll出现故障的情况,这可能会导致软件崩溃或无法正常运行。下面是一些处理kernelbase.dll故障的常见方法。 重新启动计算机&#x…

企业百度百科词条怎么修改

企业百度百科词条的修改是提升企业网络形象的重要手段。以下是百科优化网yajj总结详细的修改步骤: 准备工作 注册并登录百度账号:这是进行词条编辑的前提]。熟悉百度百科编辑规则:了解内容要求、格式规范、参考资料等,有助于更好…

深入解析 Web 开发中的强缓存与协商缓存机制

在 Web 开发中,缓存机制是提高页面加载速度和用户体验的重要技术。缓存分为两种主要类型:强缓存和协商缓存。本文将详细介绍这两种缓存机制的原理、实现方式及其区别,并演示如何在 <meta> 元素中和 Nginx 服务器中进行缓存控制。 强缓存 强缓存(Strong Caching)是指…

气泡式水位计施工技术要求

1、气泡式水位计压力气管出气口应安装并固定在最低水位处&#xff0c;其压力气管也应固定&#xff0c;有条件的可用金属管或塑料管保护。气泡式水位计安装示意图见附图。 2、安装要求 1&#xff09;检查气泡式水位计气管外观有无破损及变形&#xff1b; 2&#xff09;旋开带有…

【c++进阶(二)】STL之string类的模拟实现

&#x1f493;博主CSDN主页:Am心若依旧&#x1f493; ⏩专栏分类c从入门到精通⏪ &#x1f69a;代码仓库:青酒余成&#x1f69a; &#x1f339;关注我&#x1faf5;带你学习更多c   &#x1f51d;&#x1f51d; 1.前言 本章重点 本章主要介绍一些关键接口的模拟实现&#xff…

Simulink从0搭建模型09-P10 各类常用子系统介绍

Simulink从0搭建模型09-P10 各类常用子系统介绍 今日学习内容1. 使能子系统 Enabled Subsystem2. 触发子系统 Triggered Subsystem3. 函数调用子系统 Function-Call Subsystem3.1. 使用Function-Call Generator 产生一个f()信号3.2. 使用Stateflow产生f()一个信号3.2.1. Chart模…

CentOS 7~9 救援模式恢复root密码实战指南

在管理Linux服务器时&#xff0c;忘记root密码是一件棘手的事情&#xff0c;但幸运的是&#xff0c;CentOS提供了救援模式来帮助我们重置root密码。本文将详细介绍如何通过GRUB引导菜单进入紧急模式&#xff08;或称为救援模式&#xff09;&#xff0c;进而恢复root用户的密码。…

政安晨【零基础玩转各类开源AI项目】:解析开源项目:Champ 利用三维参数指导制作可控且一致的人体图像动画

目录 论文题目 Champ: 利用三维参数指导制作可控且一致的人体图像动画 安装 创建 conda 环境&#xff1a; 使用 pip 安装软件包 推理 1. 下载预训练模型 2. 准备准备引导动作数据 运行推理 训练模型 准备数据集 运行训练脚本 数据集 政安晨的个人主页&#xff1a;…

Stable diffusion文生图大模型——隐扩散模型原理解析

1、前言 本篇文章&#xff0c;我们将讲这些年非常流行的文生图大模型——Stable Diffusion。该模型也不难&#xff0c;甚至说很简单。创新点也相对较少&#xff0c;如果你学会了我以前的文章讲过的模型&#xff0c;学习这个也自然水到渠成&#xff01; 参考论文&#xff1a;H…

JVM-JAVA-双亲委派机制

双亲委派机制 双亲委派机制Tomcat打破双亲委派机制 双亲委派机制 双亲委派机制&#xff0c;加载某个类时会先委托父加载器寻找目标类&#xff0c;找不到再委托上层父加载器加载&#xff0c;如果所有父加载器在自己的加载类路径下都找不到目标类&#xff0c;则在自己的类加载路径…

Docker 基础使用 (1) 使用流程概览

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx Docker 基础使用&#xff08;0&#xff09;基础认识 Docker 基础使用 (1) 使用流程概览 Docker 基础使…

PHPStudy(xp 小皮)V8.1.1 通过cmd进入MySQL命令行模式

PHPStudy是一个PHP开发环境集成包&#xff0c;可用在本地电脑或者服务器上&#xff0c;该程序包集成最新的PHP/MySql/Apache/Nginx/Redis/FTP/Composer&#xff0c;一次性安装&#xff0c;无须配置即可使用。MySQL MySQL是一个关系型数据库管理系统&#xff0c;由瑞典 MySQL A…

【C++入门到精通】C++ thread线程库 [ C++入门 ]

阅读导航 引言一、thread类的简单介绍二、thread类的用法1. 创建线程2. 使用 Lambda 表达式3. 传递参数给线程4. 线程的 join 和 detach5. 检查线程是否可 join6. 线程的 ID7. 线程的移动语义8. 线程的析构&#x1f6a8; 注意事项 三、线程函数参数温馨提示 引言 C thread线程…

代码随想录第二十三天 | 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 看完想法&#xff1a;需要熟悉一下双指针的操作&#xff0c;好久没复习了&#xff0c;优先掌握递归 遇到在二叉搜索树上求什么最值&#xff0c;求差值之类的&#xff0c;都要思考一下二叉搜索树可是有序的&#xff0c;要利用好这一特点&#xff0…

el-date-picker选择开始日期的近半年

<el-date-pickerv-model"form[val.key]":type"val.datePickerType || daterange":clearable"val.clearable && true"range-separator"~"start-placeholder"开始日期"end-placeholder"结束日期"style&q…

ETF期权开户流程复杂吗?

ETF期权开户流程复杂吗&#xff1f;对于许多初次接触ETF期权的投资者来说&#xff0c;这个问题可能会让他们感到困惑。实际上&#xff0c;ETF期权开户的流程虽然涉及一些步骤&#xff0c;但只要遵循正确的指引&#xff0c;理解每一步的要求&#xff0c;整个过程并不会显得过于复…

【图像处理与机器视觉】频率域滤波

知识铺垫 复数 CRjI 可以看作复平面上的点&#xff0c;则该复数的坐标为&#xff08;R&#xff0c;I&#xff09; 欧拉公式 e j θ c o s θ j s i n θ e^{j\theta} cos \theta j sin \theta ejθcosθjsinθ 极坐标系中复数可以表示为&#xff1a; C ∣ C ∣ ( c o s…