基础实验篇 | RflySim底层飞行控制算法开发系列课程总体介绍

news2025/1/31 2:56:07

本讲主要介绍多旋翼的特点及选用多旋翼作为实验平台的原因、对于无人系统教育的一些新需求、RflySim平台对于飞控的底层控制算法的开发优势、本期平台课程的设置、以及如何开发自驾仪系统。

相较于固定翼和直升机,多旋翼具有机械结构简单、 易维护的优点。以四旋翼的操控为例,遥控器的不同通道分别对应升降、前后、左右以及偏航运动。实现了运动的相互解耦,同时具备无机械磨损、结构简单的特点。这满足了易用性、可靠性、勤务性的刚性体验,也是本平台选用多旋翼无人机作为主要实验载具的原因。

基础实验篇 | 课程总体介绍(一)

01.多旋翼

1.1 多旋翼涉及的学科包括以下八个一级学科

·力学、机械工程

多旋翼的构型方面

·电子科学与技术、信息与通信工程、电气工程、仪器科学与技术

多旋翼的组成:机架,动力系统,指挥控制系统,以及飞控内部的接线。

 

·控制科学与工程

多旋翼的刚体模型开发:控制器和动力学模型

·计算机科学与技术

多旋翼的刚体模型开发:控制器和动力学模型

02、教育新需求

在设计传统的大型航空航天器时,传统院校占有很大的优势:具有人员多、分工细、经验多、资源多等特点。这种方式不适合小型或微型的无人机开发,使得微型飞行器的开发很难投入大量精力。因此开发团队也呈现出了人员少 、一肩挑 、经验少、资源少的新形势。在这种形式下,特别需要全栈式工程师或者总工程师那样的复合型人才。基于这种新形势下的人才需求,针对理论和实践两方面,本平台开发了新工具和新教程以降低学习门槛。

03、RflySim平台

 RflySim是由北航可靠飞行控制组发布的生态系统(或工具链)。1.它采用基于模型设计(Model-Based Design,MBD)的思想, 可用于无人系统的控制和安全测试。因MATLAB/Simulink 支持MBD的整个设计阶段,我们选择它们作为控制/视觉/ 集群算法开发的核心编程平台;同时,因Python是免费的 且有丰富的视觉处理库,我们也支持它作为顶层视觉与集 群算法开发 。在平台安装包内可以看到很多例程都基于MATLAB和Python 进行开发,因为这两种语言在做科研或无人系统前端的开发过程中使用较多。2.RflySim平台目前分为了三个版本:基础版(免费)、高级体验版(免费)和高级完整版(付费,请咨询 service@rflysim.com)

3.1基础版

基础版作为实验平台对应了《多旋翼飞行器设计与控制实践》一书,安装包体积较小,只包含了PX4底层算法Simulink开发的功能。

3.2高级体验版

高级体验版在基础版上增加了飞机动力学模型开发、UE4三维场景开发、视觉控制开发和集群算法开发等功能,但是限制了集群数量和分C布式仿真等功能。

3.3高级完整版

高级完整版在体验版上增加了最新的UE4引警、全球大场景仿真、分布式局域网集群视觉仿真等功能。

04、课程设置

本系列课程主要介绍底层飞行控制算法开发,分为两部分:基础实验和进阶实验。

4.1基础实验内容

软件在环仿真实验;自动代码生成工具箱官方例程实验;姿态控制实验;飞控官方固件还原烧录实验;log数据记录;uORB读写通信;自定义uORB消息;回传提示消息;PX4控制器的外部通信;QGC实时调整控制器参数

4.2进阶实验内容

 实验内容包括:动力系统设计 ;动态建模 ;传感器标定 ;滤波器设计 ;姿态控制器设计 ;定点位置控制器设计 ;半自主控制模式设计 ;失效保护逻辑

4.2.1

本平台提供的例程可以保证每个实验或者每个版块的实验可以被单独完成 。为了使任务目标有差异化,本课程可以按照一种递进的结构完成:设计和建模实验 -〉估计实验-〉控制实验-〉决策实验

4.2.2以姿态控制器为例的实验步骤设计

基础实验:打开例程,阅读并运行程序代码,然后观察并记录分析数据。

分析实验 :指导读者修改例程,运行修改后的程序并收集和分析数据。

设计实验 :在上述两个实验的 基础上,针对给定的任务,进行独立的设计。

4.2.3增加新实验

动力系统设计实验和建模实验的参数可参考(飞行测评网站)自行设置。控制器设计实验方面,除了基础的PID控制,后续还会增加其他的控制方式(如 预测控制 、自抗扰控制 ),目前自抗扰控制的相关例程已开发完成。

05、开发自驾仪系统

自驾仪系统是一种嵌入式系统,在其中部署算法时应重点关注其实时性,这会直接影响系统的带宽和它的鲁棒特性。

5.1设置时钟

RflySim平台使用时间触发的方式确保算法的稳定运行,这可以在Simulink中使用状态流调度器实现

平台设计的控制器与PX4软件的控制器性能对比

在线参数整定

实验内容包括:动力系统设计 ;动态建模 ;传感器标定 ;滤波器设计 ;姿态控制器设计 ;定点位置控制器设计 ;半自主控制模式设计 ;失效保护逻辑

数据实时显示

如果使用者需要在飞行器飞行过程中实时观察飞行器状态或者控制器 的中间参数,也可以很方便地在Simulink模型中添加实时数据观测模块,并在QGC中 观测数据。

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

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

相关文章

使用 Pycharm 调试远程代码

文章目录 背景同步远程代码Interpreter注意点 背景 工作机是一台 Windows 电脑,而很多时候需要在 Mac 电脑上编码、配合 iPhone 模拟器,所以我以前是用 VNC 或者向日葵来远程 Mac 来编程,其实还能接受,但是最让我不舒服的是快捷键…

MySQL表操作:提高数据处理效率的秘诀(进阶)(2)

💕“学习难免有坎坷,重要的是你能尽力而为,持之以恒。”💕 🐼作者:不能再留遗憾了🐼 🎆专栏:MySQL学习🎆 🚗本文章主要内容:MySQL表操…

K Shortest Paths算法之Yen algorithm

Yen’s算法是一种在图论中用于计算单源K最短无环路径的算法,该算法由Jin Y. Yen在1971年提出。这个算法的时间复杂度和空间复杂度都取决于用于计算偏离路径的最短路径算法。如果使用Dijkstra算法,那么时间复杂度为O(KN3),采用Fibonacci堆计算…

Elasticsearch:Explain API - 如何计算分数

你想了解你的文档为何获得该分数吗? 文档 让我们通过一组示例文档来了解 Explain API。 就我而言,我将使用一小部分电影名言。 POST _bulk { "index" : { "_index" : "movie_quotes" } } { "title" : "T…

从malloc到跑路

当我还是一个懵懂无知的少年时,内心也曾升起这样的疑问这内存咋来的捏❓ 有个帅气的小哥哥给我甩了一篇博客:对,就是这篇,看完后总感觉意犹未尽,似乎少了点什么的样子。。。 还是从malloc开始 如果申请的内存小于64B…

“配置DHCP服务器和DHCP中继的网络自动配置实验“

"配置DHCP服务器和DHCP中继的网络自动配置实验" 【实验目的】 部署DHCP服务器。熟悉DHCP中继的配置方法。验证拓扑。 【实验拓扑】 实验拓扑如图所示。 设备参数如下表所示。 设备 接口 IP地址 子网掩码 默认网关 DHCPSERVE S0/3/0 192.168.10.1 255.255.…

丰富上下文的超高分辨率分割:一种新的基准

文章目录 Ultra-High Resolution Segmentation with Ultra-Rich Context: A Novel Benchmark摘要数据集Dataset SummaryData Collection and Pre-processing 数据标注数据统计 WSDNet实验结果 Ultra-High Resolution Segmentation with Ultra-Rich Context: A Novel Benchmark …

SSM整合快速入门案例(一)

文章目录 前言一、设计数据库表二、创建工程三、SSM技术整合四、功能模块开发五、接口测试总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者…

不认识docker,怎么好意思说自己是干IT的

1.Docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环…

用户行为数据分析

文章目录 用户行为数据分析1 项目描述2 项目需求3 数据准备1、创建user_data数据表用于导入user_data.csv中的数据2、加载user_data.csv中的数据到user_data表3、接下来进行数据清洗,包括:删除重复值,时间戳格式化,删除异常值。 4…

OpenGL光照之基础光照

文章目录 环境光照漫反射光照计算漫反射光照镜面光照代码 现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型,对现实的情况进行近似,这样处理起来会…

MyBatis-Plus(2.0)

ActiveRecord ActiveRecord(简称AR)一直广受动态语言(PHP、Ruby等)的喜爱,而java作为准静态语言,对于ActiveRecord往往只能感叹器优雅 什么是ActiveRecord? ActiveRecord也属于ORM(对象关系映射)层,由Rail…

视频|人人能看懂的苹果visionOS空间设计课程

本周的重磅消息无疑是苹果Vision Pro以及对应的visionOS,考虑到苹果头显硬件上当前以第一方App为主,因此本届WWDC的一个重点就是释放visionOS和相关能力给开发者,让开发者尽快打造出更多、更优质的第三方App阵容。 与此同时,苹果也…

【vue3】10-vue组件化额外知识补充(下)-动态组件-组件缓存-v-model在组件上的应用

组件化-额外知识补充(下) 动态组件的使用(了解)keep-alive(理解)认识keep-alivekeep-alive的使用 异步组件的使用webpack分包处理(了解)Vue中实现异步组件 组件的v-model组件的混入Mixin(了解&a…

阿里云弹性公网EIP收费价格表(按量/包年包月/配置费)

阿里云弹性公网EIP怎么收费?EIP地域不同价格不同,EIP计费模式分为包年包月和按量付费,弹性公网IP可以按带宽收费也可以按使用流量收费,阿里云百科分享阿里云弹性公网IP不同地域、不同计费模式、按带宽和按使用流量详细收费价格表&…

基于springboot+vue技术的在线考试系统源码数据库

源码看这里 https://download.csdn.net/download/2301_76965813/87881785 前台 学生登录: 如果没有账号,首先需要以学生的身份进行注册,即输入姓名、性别、密码以及班级,注册成功之后输入账户名和密码进行登录,进入…

conda虚拟环境配置和系统相关配置

一、conda虚拟环境 首先,尽量别在base中直接安装自己的包。原因有以下两个: 1.base环境是conda运行的基础,没法一键清除,如果损坏base环境要么滚回要么卸载重装,比较麻烦 2.base中很多包并不是项目需要的包&#xff0c…

Spring5

Spring5 文章目录 Spring5一.框架概述二.入门案例三.IOC容器1.IOC概念2.IOC底层原理3.IOC接口 四.IOC操做Bean管理1.Bean管理2.基于xml配置文件方式实现(1).创建对象(2).注入属性第一种注入:set方法第二种注入:有参数的构造p名称空间注入(了解)注入空值和特殊符号外部Bean内部B…

itop-3568开发板驱动学习笔记(27)设备树(六)pinctrl

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录 pinctrl 子系统简介pinctrl 设备树语法pinctrl 客户端pinctrl 服务端瑞星微平台全志平台三星平台iMX 平台 pinctrl 子系统简介 Linux pinctrl 子系统用来管理 GPIO 引脚,它主要完成了以下三种功…

MySQL数据库,从入门到精通:第三篇——MySQL 数据库规范和基础查询语句

MySQL数据库,从入门到精通:第三篇——MySQL 数据库规范和基础查询语句 第三篇_MySQL 数据库规范和基础查询语句1. SQL概述1.1 SQL背景知识1.2 SQL语言排行榜1.3 SQL 分类 2. SQL语言的规则与规范2.2 SQL大小写规范 (建议遵守)2.3 …