无名的飞控默认是用的PID,没用ADRC,可以改变宏定义切换。而且只在角速度环用ADRC。

本文主要是介绍无名的飞控默认是用的PID,没用ADRC,可以改变宏定义切换。而且只在角速度环用ADRC。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

看了下代码,默认是PID模式,所以实际那飞的效果是PID。

而且从它这宏定义看书,无名只是把ADRC用在角速度环上面,角速度环的控制可以用ADRC或者PID。

 

 

我是怎么一步步找到那的呢,先找到main.c

这里说 主要核心:传感器滤波、姿态解算、惯导、控制等代码在TIME.c里面运行

那就找到time.c

可以看到最关键的一段,把整个控制算法都概括了!!!!

Total_Control();//总控制器:水平位置+水平速度+姿态(角度+角速度)控制器,高度位置+高度速度+高度加速度控制器

那我们找到  Total_Control()  的定义,右键可以跳转

会发现这个这么核心的函数也就几行,第一句就是控制器模式选择。

我查看  Attitude_Control()  的定义

我选择查看角速度控制这个函数的定义,因为之前听余义2017那个ADRC的论坛讲的他就是只在角速度环用了ADRC

https://v.youku.com/v_show/id_XMzMyOTMwNTMwOA==.html?spm=a2hzp.8253869.0.0

果然这个角速度控制函数的第一句就是判断是用什么控制器!!!!,这样一切就清楚了。

你再右键查看  GYRO_CONTROL_MODE  这个的定义,就会跳到,一切就真相大白了,默认用的PID模式。

 

这样无名飞控的大体思路我也能够理清楚了。就算用ADRC模式,我也知道如何调参。用PID更知道如何调参了。看来其实用PID就可以飞得很稳了。

这篇关于无名的飞控默认是用的PID,没用ADRC,可以改变宏定义切换。而且只在角速度环用ADRC。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/507493

相关文章

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

SpringBoot实现多环境配置文件切换

《SpringBoot实现多环境配置文件切换》这篇文章主要为大家详细介绍了如何使用SpringBoot实现多环境配置文件切换功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 示例代码结构2. pom文件3. application文件4. application-dev文

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾