博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无名的飞控默认是用的PID,没用ADRC,可以改变宏定义切换。而且只在角速度环用ADRC。
阅读量:4083 次
发布时间:2019-05-25

本文共 560 字,大约阅读时间需要 1 分钟。

 

 

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

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

 

 

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

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

那就找到time.c

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

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

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

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

我查看  Attitude_Control()  的定义

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

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

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

 

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

转载地址:http://nxlni.baihongyu.com/

你可能感兴趣的文章
MySQL数据库的高可用方案总结
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
斯坦福大学机器学习——因子分析(Factor analysis)
查看>>
ssh 如何方便的切换到其他节点??
查看>>
Java实现DES加密解密
查看>>
HTML基础
查看>>
Java NIO
查看>>
Java大数据:Hbase分布式存储入门
查看>>
大数据入门:Zookeeper结构体系
查看>>
大数据入门:Spark RDD基础概念
查看>>
大数据入门:Scala函数式编程
查看>>
【数据结构周周练】002顺序表与链表
查看>>
C++报错:C4700:使用了非初始化的局部变量
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>