当前位置: 首页 > news >正文

四旋翼无人机轨迹跟踪:预设性能控制、滑模控制与 PID 的探索之旅

预设性能控制,滑模控制,PID,四旋翼无人机轨迹跟踪,,

在无人机领域,实现精准的轨迹跟踪是关键挑战之一。今天咱们就唠唠预设性能控制、滑模控制和 PID 控制在四旋翼无人机轨迹跟踪上的应用。

PID 控制

PID 控制算是控制领域的元老级存在了,简单且经典。它通过比例(P)、积分(I)、微分(D)三个环节,根据当前误差、误差积分和误差变化率来调节控制量。

下面来看一段简单的 PID 控制代码示例(以 Python 为例,假设控制量为电机转速,用于调节四旋翼高度):

class PIDController: def __init__(self, kp, ki, kd): self.kp = kp self.ki = ki self.kd = kd self.prev_error = 0 self.integral = 0 def update(self, setpoint, process_variable): error = setpoint - process_variable self.integral += error derivative = error - self.prev_error output = self.kp * error + self.ki * self.integral + self.kd * derivative self.prev_error = error return output

在这段代码里,init方法初始化了比例系数kp、积分系数ki和微分系数kd,同时定义了preverror用于记录上一次的误差,integral用于累计误差。update方法根据当前的设定值setpoint和实际值processvariable计算误差,进而计算出控制输出output。PID 控制在四旋翼无人机轨迹跟踪中能起到一定作用,不过它对复杂环境和动态变化的适应性有限。

滑模控制

滑模控制是一种非线性控制策略,它的特点是系统的 “结构” 会根据系统当前状态以跃变的方式按既定规律变化。

预设性能控制,滑模控制,PID,四旋翼无人机轨迹跟踪,,

以四旋翼无人机姿态控制为例,简单代码框架如下(假设使用 C++):

class SlidingModeController { public: SlidingModeController(double k1, double k2) : k1(k1), k2(k2) {} double update(double state, double reference) { double error = reference - state; double s = error; // 简单定义滑模面 double control; if (s > 0) { control = k1 * s + k2; } else { control = k1 * s - k2; } return control; } private: double k1; double k2; };

在这个代码片段里,update方法根据当前状态state和参考值reference计算误差error,进而得到滑模面s。根据滑模面的正负来决定控制量control,这里的k1k2是控制参数。滑模控制对系统的不确定性和干扰有较好的鲁棒性,能在四旋翼无人机飞行过程中应对一些突发状况,但它可能会引起高频抖振问题。

预设性能控制

预设性能控制则是给系统的跟踪误差设定一个边界,保证误差在给定的性能函数范围内收敛。

假设有如下 Python 代码来实现简单的预设性能控制(同样针对四旋翼高度控制):

import numpy as np class PrescribedPerformanceController: def __init__(self, alpha, beta, gamma): self.alpha = alpha self.beta = beta self.gamma = gamma def update(self, error, t): bar_error = error / (self.beta - self.alpha * np.exp(-self.gamma * t)) # 根据 bar_error 计算控制量,这里简单示意,实际更复杂 control = np.sign(bar_error) return control

在这段代码中,init方法初始化了预设性能函数的参数alphabetagammaupdate方法将实际误差error通过预设性能函数转化为归一化误差bar_error,并基于此简单计算控制量。预设性能控制能从根本上保证跟踪误差的收敛性能,为四旋翼无人机的轨迹跟踪提供更可靠的保障。

在四旋翼无人机轨迹跟踪这场“战役”中,预设性能控制、滑模控制和 PID 控制各有千秋,选择合适的控制策略,或者将它们结合使用,才能让四旋翼无人机在天空中划出精准而优美的轨迹。

http://www.jsqmd.com/news/556656/

相关文章:

  • liteparse 支持的文档格式
  • 预印本在线发表流程解析:从校稿到最终版本的完整指南
  • ESP32音频播放项目终极指南:从入门到实战打造专业级音乐播放器
  • 如何让Windows任务栏焕然一新?RoundedTB给你三个惊喜答案
  • 技术赋能B端拓客:号码核验行业的破局与价值重塑,氪迹科技法人股东号码筛选系统,阶梯式价格
  • 如何使用ProxyManager构建高效代理模式:从工厂到生成的完整指南
  • 车载服务器主板选购指南:ITX/MATX尺寸、12V供电与高性能CPU的完美平衡
  • 深入解析Spring AI与MilvusVectorStore的集成实践
  • 设计师福音:Z-Image-Turbo_UI界面实现草图到成品的快速转化
  • 3个实例掌握视觉理解:用Transformers构建工业级图像分类系统
  • 打破苹果与Windows的图片隔阂:让HEIC缩略图预览不再是难题
  • 技术赋能B端拓客:号码核验行业的革新与实践,氪迹科技法人号码核验系统,阶梯式价格
  • 从分立元件到一颗芯片:手把手拆解一个经典Buck电路,看PMIC如何‘偷走’PCB面积
  • 保姆级教程:手把手教你构建Vitis AI 3.0的Pytorch和Opt-Pytorch双GPU容器(附编译问题解决)
  • OS17.【Linux】进程基础知识(1)
  • 英雄联盟智能助手LeagueAkari:本地化工具让你的游戏体验更高效
  • Visual C++运行时组件故障解决完全指南:从问题定位到能力提升
  • 如何快速构建InstaMaterial项目:Gradle配置与APK打包完整指南
  • 零基础玩转CosyVoice:3步完成声音克隆,制作专属语音祝福
  • PMSM无位置控制:为什么EKF比传统观测器更稳定?(实测数据对比)
  • Packer-Fuzzer架构设计分析:模块化安全扫描引擎实现原理
  • Windows Terminal版本管理决策指南:从选择到优化的全方位策略
  • Mermaid图表绘制终极指南:用Markdown代码快速创建专业图表
  • 从零开始:如何用AI在3分钟内制作专业级视频
  • 如何通过内置实时地图彻底解决黑神话悟空中的迷路问题:终极导航指南
  • 黑客松只是写代码?不,这是你大学生涯最值得的72小时投资
  • 计算机毕业设计:Python智慧交通大数据可视化监控平台 Flask框架 可视化 百度地图 汽车 车况 数据分析 大模型 机器学习(建议收藏)✅
  • 麒麟V10服务器离线装Docker,手把手教你搞定systemctl服务配置(含软连接避坑)
  • 引用文章 - 科学可视化软件汇总
  • DFRobot SHT温湿度传感器驱动库深度解析与工程实践