(转载)1. 飞控与无人机系统

2024-02-13 22:59
文章标签 系统 转载 无人机 飞控

本文主要是介绍(转载)1. 飞控与无人机系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

1. 飞控与无人机系统
Tam Alex

原帖地址:https://zhuanlan.zhihu.com/p/32306372

终于开始写第一篇文字了,实在是太懒了,希望以后能抓紧时间。这第一篇文字呢,就讲一讲这个专栏要讨论哪些内容吧。


这个专栏的初衷是要总结和记录一下自己这些年的工作的,实际上我这些年在做的是基于C/C++的与平台无关的飞行状态估计及飞行控制算法库的开发。那么这部分工作在无人机系统里面是在什么位置呢?首先可以看下下面这幅图。

目前传统的无人机系统结构就跟这个图显示的一样,包括地面控制站(Ground Control Station,GCS)、飞行器(包括动力设备)、飞行状态感知系统、飞行控制系统、任务设备系统和数据链系统。那么这个专栏要讨论的就是实现飞行状态感知和飞行控制的一些方法和算法。


一个系统呢当然包括软件和硬件,实现飞行状态感知和飞行控制的硬件结构大致如下图。

一系列传感器和对传感器数据进行处理的运算器,以及利用飞行状态进行飞行控制的处理器。就本专栏而言打算从基础的聊起,所以先不涉及比较耗费计算能力的图像处理等,我们就假设一个CPU能够对传感器数据进行处理,然后利用处理后的飞行状态进行控制。那么在这个系统的软硬件构成可以由下图表示。

我们的软件就可以分为三大部分:与硬件打交道的应用层,调度管理各个任务的管理层和算法层。其中应用层各个CPU厂家都会有一些标准库供开发者使用,当然开发者也可以直接通过C或汇编语言直接操作寄存器。管理层部分可以使用RTOS,micro-COS II这样的操作系统,也可以自己简单的编写一个单线程的loop,将各种任务排列在其中。使用操作系统的优点是能够对任务进行评估和调度,比如任务超时会强制终结任务,缺点是会消耗系统的资源。使用单线程loop的优点就是高效,而且通过实验基本确定了一些主要计算的耗时后,能够合理地对loop进行安排,我们的大部分工程都使用单线程loop,如下图所示。

剩下的软件部分就是算法层了,也就是这个专栏准备写的东西。算法层主要包括飞行状态估计和飞行控制两个部分,其中飞行状态估计是实现飞行控制的基础,我们下期就从飞行状态估计开始喽

这篇关于(转载)1. 飞控与无人机系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/SS15/article/details/104135251
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/706850

相关文章

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ