news 2026/7/6 21:35:57

四旋翼的ADRC姿态控制总给人一种“玄学调参“的错觉,其实从模型到代码落地,整个过程比想象中有意思得多。咱先甩出核心公式——滚转通道的角加速度方程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
四旋翼的ADRC姿态控制总给人一种“玄学调参“的错觉,其实从模型到代码落地,整个过程比想象中有意思得多。咱先甩出核心公式——滚转通道的角加速度方程

四旋翼无人机ADRC姿态控制器仿真,已调好,附带相关参考文献~ 无人机姿态模型,力矩方程,角运动方程 包含三个姿态角的数学模型,以及三个adrc控制器。 简洁易懂,也可自行替换其他控制器。

\dot{p} = (I_y - I_z)qr/I_x + (J_r q \omega + l u_2)/I_x + d_p

这里Ix是转动惯量,l是力臂长度,dp代表内外扰动。看到没?耦合项qr和陀螺力矩项的存在让姿态控制天然带干扰,这就是ADRC大显身手的地方。

ADRC的精髓在于把模型误差和外界扰动打包成总扰动,用ESO实时怼回去。来看扩张状态观测器的代码实现:

class ESO: def __init__(self, beta1, beta2, beta3, dt): self.z = np.zeros(3) self.beta = [beta1, beta2, beta3] self.dt = dt def update(self, y, u): e = y - self.z[0] self.z[0] += self.dt*(self.z[1] + self.beta[0]*e) self.z[1] += self.dt*(self.z[2] + self.beta[1]*e + u) self.z[2] += self.dt*self.beta[2]*e return self.z

三个beta参数对应不同带宽,z[2]就是估计出的总扰动。调试时重点看beta参数组——太小时观测滞后,太大会震荡,个人经验是从系统带宽的3~5倍开始试。

控制器部分更带劲,TD(跟踪微分器)给参考信号加惯性,避免setpoint跳变引发的超调:

def TD(v, v_last, h, r): fh = r * (v - v_last) + r**2 * (v - v_last)**3 / (2*h) return v_last + h*fh

这个非线性函数里的r控制跟踪速度,h是步长。实测当参考角速度超过50deg/s时,立方项能有效抑制微分爆破。

整套控制器在Gazebo中的表现相当顶。给个横滚角阶跃响应测试结果:

!stepresponse

上升时间0.8秒,超调3%以内,外加突加风扰后的恢复时间不到1秒。代码里最关键的是扰动补偿项的处理时机:

// 在控制循环中 eso_z3 = eso.update(y, u_prev); u = kp*(ref - z1) - kd*z2 - z3/b0;

别把z3补偿到前馈通道,必须在反馈之后叠加。曾经在这里栽过跟头,补偿位置不对会导致静态误差。

替换PID?简单,把ESO和TD模块摘了,保留误差计算部分就行。不过实测ADRC在突风扰动下的恢复速度比PID快40%以上,参数还少两个(PID要整定三个参数,ADRC每个通道只需调beta组和kp/kd)。

参考文献建议啃韩京清原版的《自抗扰控制技术》,或者直接看Madonski的ADRC无人机应用论文(2017年那篇TIE)。仿真代码已传Github,搜索"ADRCQuadSIM"就能白嫖。下期打算拆解ADRC的串级速度控制,比姿态环更有挑战性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 3:17:58

两挡AMT电动车仿真模型实战手记

两挡AMT纯电动汽车仿真模型,可实现换挡过程模拟/ABS/TCS驱动防滑控制/电池管理等功能 模型可以输入WLTC/CLTC等不同工况,可以实时纯电量管理、换挡过程模拟、ABS防抱死控制、TCS驱动防滑控制、电池管理充放电控制、SOC估计等功能。 各个功能模块高度独立…

作者头像 李华
网站建设 2026/7/7 6:46:15

【读点论文】Depth Anything Unleashing the Power of Large-Scale Unlabeled Data基于dinov2结合MiDas进行深度估计,运用无标签数据

Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data Abstract 这项工作提出了 Depth Anything,这是一种用于鲁棒单目深度估计的高度实用的解决方案。在不追求新颖的技术模块的情况下,我们的目标是建立一个简单而强大的基础模型&#…

作者头像 李华
网站建设 2026/7/7 13:11:52

基于VUE的宿舍报修管理系统[VUE]-计算机毕业设计源码+LW文档

摘要:随着高校后勤管理信息化的发展,宿舍报修管理作为其中的重要环节,传统的管理方式已难以满足高效、便捷的需求。本文旨在设计并实现一个基于VUE框架的宿舍报修管理系统,以提高报修处理的效率和透明度。文章详细阐述了系统的需求…

作者头像 李华
网站建设 2026/7/7 15:05:05

技术变现新思路:漏洞挖掘私活接单经验分享

经常有小伙伴问我: 为什么自己总是挖不到漏洞呢? 渗透到底是什么样的流程呢? 所以全网最详细的渗透测试流程来了!!! 全篇文章内容较长,请耐心观看! 如果想要视频教程自己慢慢学,可以直接拉到文末 渗透测试 渗透测试其实就是通过一些手段来找到网…

作者头像 李华
网站建设 2026/7/7 6:37:10

Wi-Fi® 性能技术

Wi-Fi 的产品组合包括各种具有测量机制的技术,以确保提供高质量的 Wi-Fi 性能。 Wi-Fi Device Metrics Wi-Fi Device Metrics 是一种用于评估网络设备质量的测试工具,它通过测量各种部署场景中的吞吐量、延迟和用户体验来促进标准化方法和统一术语,以帮助表征和评估 Wi-Fi…

作者头像 李华
网站建设 2026/7/6 14:33:40

35岁老码农转战网安亲历:行业的“红利”,到底还能吃几年?

在IT行业,35岁似乎成了一个分水岭。许多程序员在这个年龄开始焦虑,担心自己的职业生涯会因年龄增长而走向下坡路。但确实到了这个年纪竞争力会快速下降,薪资收入长期停滞甚至下降。 还有一部分过了35岁真的就失业了。知乎上很多人认为这么说就…

作者头像 李华