增量式pid分析 及 参数整定

2023-10-27

/**************************************************************************
函数功能:增量PI控制器
1.入口参数:编码器测量值,目标速度
2.入口参数:编码器位置 ,目标位置
返回 值:电机PWM
根据增量式离散PID公式
pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
e(k)代表本次偏差
e(k-1)代表上一次的偏差 以此类推
pwm代表增量输出
在我们的速度控制闭环系统里面,只使用PI控制
pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)
**************************************************************************/
int Incremental_PI (int Encoder,int Target)
{
static float Bias,Pwm,Last_bias;
Bias=Encoder-Target; //计算偏差
Pwm+=Velocity_KP*(Bias-Last_bias)+Velocity_KI*Bias; //增量式PI控制器
Last_bias=Bias; //保存上一次偏差
return Pwm; //增量输出
}
首先先要明确,增量式pid和位置式pid本质是一样的,本次增量式pid的输出是由本次位置式pid的输出减去上次位置式的输出得到的。对比一下:
增量式:pwm+= Kp[e(k)-e(k-1)] + Ki*e(k) +Kd[e(k)-2e(k-1)+e(k-2)]
位置式:pwm = Kp*e(k) + Ki*∑e(k) + Kd[e(k)-e(k-1)]
可以看出增量式的KP和位置式的kd一样,增量式的ki和位置式的kp一样。所以对于增量式的参数整定,应该先整定KI,它反映了响应的速度,再整定KP,它反映了对超调量的限制,也就是缓减增量式KI参数过大时候的抖动。
增量式pid调节目标速度时候参数整定:
先加大KI,这时候会越来越接近实际速度,当KI过大的时候,在切换目标速度的时候,就会抖动,这时候就是KI大了响应速度高了,但导致超调量增加,这时候就加大增量式的KP,来缓减抖动,减小超调量。
增量式pid调节目标位置时候参数整定:
经过我自己的实验,增量式pid的位置控制,只用比例参数就够了,把kp从小往大了调,过小响应慢,过大反应会来回摆动。而如果加上积分参数的话,会来回转的很厉害,可能正是因为它和位置式的p很相似,并且他是一直在+=,以至于他越转误差越大,如果大家有比我好的想法可以评论在下方哦 欢迎指正!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

增量式pid分析 及 参数整定 的相关文章

  • idea leetcode摸板

    package leetcode editor cn question content public class velocityTool camelCaseName question titleSlug public static voi
  • Numpy实现神经网络-手写数字识别

    使用numpy实现神经网络的前向传播 以及反向传播 使用矩阵计算加快运算速度 理论推导则在以前的博客中 多层感知机梯度推导 import numpy as np import tensorflow as tf import matplotl
  • Spring工程搭建系列01-spring的接入

    总是看到一些人写文章的时候会将一些无用的jar包带到工程中去 导致maven工程看起来很大很繁琐 所以整理下 做个系列出来 参考而已 看官不喜勿喷 有时间想到了就会更新 编程环境 jdk1 8 maven3 编译器工具 idea 本文最终的
  • 边缘计算:提升AR应用体验的关键技术

    随着科技的快速发展 增强现实 AR 应用已经在各个领域得到了广泛应用 然而 由于AR应用需要处理大量实时数据 对计算和网络资源的要求很高 传统的云计算模式已经无法满足需求 为了提升AR应用的体验 边缘计算和容器技术成为了关键 边缘计算是一种
  • Java多并发(六)

    文章目录 线程池 1 池化技术的优点 2 线程池的核心底层实现的相关参数 1 corePoolSize 线程池的基本大小 2 maximumPoolSize 线程池最大数量 3 runnableTaskQueue 任务队列 4 Reject
  • 【yolo】ubuntu18.04 yolo打开摄像头实时检测框目标 转化pth文件为onnx

    heziyi heziyi ZenBook UX425IA U4700IA 桌面 PyTorch YOLOv3 python3 video py yolov3 ckpt 69 onnx Traceback most recent call
  • python 的zip函数

    Python 的 zip 在Python中 zip 是一个内置函数 用于将多个可迭代对象 例如列表 元组等 打包成一个元组的迭代器 它接受多个参数 每个参数代表一个可迭代对象 并返回一个迭代器 每次迭代返回一个包含来自每个可迭代对象的元素组
  • 分布式文件与分布式存储系统学习总结(持续更新)

    存储系统知识 Write Ahead Log 问题引入 存储系统在运行过程中 每时每刻都在发生数据更新 如对文件数据的CRUD 对于中心控制节点来说 这些都会涉及到metadata的更新操作 为了保持元数据和文件数据的状态一致性 系统所有对
  • PLC学习第一篇:PLC程序架构

    前言 PLC资料获取 汇川官网 可以下载汇川PLC相关资料 倍福虚拟学院 西门子工业支持网站 西门子系列PLC的编程手册都可以查到 1 PLC编程语言发展 在PLC发展的早期阶段 由于没有统一的国际标准 各个制造商使用不同的编程语言 对使用
  • 操作系统知识

    操作系统结构 1 MS DOS层次 磁盘操作系统 易受错误程序的伤害导致系统崩溃 原因在于应用程序直接连接底层IO 2 UNIX层次 单一式结构使得UNIX难以增强 3 微内核 保留核心模块 是客户程序和运行在用户控件的各种服务之间通信以消
  • 八大经典排序算法

    目录 插入排序 希尔排序 选择排序 堆排序 快速排序 hoare法 挖坑法 前后指针法 快速排序的优化 非递归实现快排 归并排序 计数排序 常见的八种排序算法 插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 插入排序 思
  • 【Linux】记一次系统异常宕机分析过程(内存异常)(业务Kubernetes)

    问题现象 最近遇到不同的业务正常运行时出现了宕机 物理机 虚拟机 查看日志是指向的怀疑是内存问题 业务都是部署的Kubernetes 容器集群管理系统 初步日志排查 message日志信息反馈 下面是虚拟机的日志信息 这些日志重复循环到问题
  • C#系列-流程控制

    一 if else结构 using System using System Collections Generic using System Linq using System Text using System Threading Tas
  • matplotlib.pyplot使用for循环进行多个子图Subplot的绘制的方法

    matplotlib pyplot使用for循环进行多个子图Subplot的绘制 目录 matplotlib pyplot使用for循环进行多个子图Subplot的绘制 一 matplotlib pyplot绘制子图的基本方法 二 使用fo
  • 服务器打不开网页dns错误是怎么回事,DNS错误原因是什么 如何解决DNS错误【详细介绍】...

    DNS错误的原因是什么 DNS 是域名系统 Domain Name System 的缩写 它是由解析器和域名服务器组成的 域名服务器是指保存有该网络中所有主机的域名和对应IP地址 并具有将域名转换为IP地址功能的服务器 其中域 名必须对应一
  • vue字符串展示不同信息用逗号分隔

    效果图 原始图 直接上代码 表格数据
  • Linux安装negix

    本文章介绍了在CentOS7 9 64位系统下 安装neginx 1 20 2版本 注意红色字体都是我踩的坑 目录 第一步 下载negix和安装依赖 第二步 解压安装 第三步 执行配置命令 第四步 编译和安装 第五步 启动nginx 第六步
  • Unity -- 物体运动到某个地方自动销毁的实现 && 物体在某个点无限生成

    文章目录 物体运动到某个地方自动销毁 物体在某个点无限生成 创建空出生点 写随机生成的脚本 物体运动到某个地方自动销毁 using System Collections using System Collections Generic us
  • 文档管理存储服务器,管理存储服务器

    管理存储服务器 内容精选 换一换 云服务器备份在支持崩溃一致性备份的基础上 同时支持数据库备份 文件 磁盘数据在同一时间点 通过数据库备份内存数据 能够保证应用系统一致性 如包含MySQL或SAP HANA数据库的弹性云服务器 暂不支持集群

随机推荐

  • 【C#】.Net Framework框架下的Authorize权限类

    2023年 第31周 第3篇文章 给自己一个目标 然后坚持总会有收货 不信你试试 在C 的 NET Framework中 你可以使用Authorize类来处理权限认证 Authorize类位于System Web Mvc命名空间中 它提供了
  • python对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种

    for i in range 32 a 0 0 gt 5b format i print a
  • JAVA安装详细教程

    JAVA安装详细教程 JAVA安装总共分为三部分 一 下载JAVA安装包并安装JAVA 二 电脑环境设置 三 验证Java是否安装成功 一 下载JAVA安装包并安装JAVA 1 首先去官网现在JAVA安装包 JAVA安装包下载地址 http
  • Vue实例——百度搜索案例

    Vue实例 百度搜索案例 vue作为前端开发的渐进式框架 不仅比jQuery更加简洁 而且功能更为强大 接下来我将用vue js给大家介绍一个运用搜索框实现百度搜索的功能 开始之前我需要讲解一下百度搜索的数据传递流程 首先我们进百度搜索网站
  • Windows10下安装VMware16虚拟机

    前记 由于本人系统为Windows 10 家庭中文版 无法安装Linux子系统WSL 虽然网上也有强制安装的方法 但为保险起见 还是把之前的VMware虚拟机重新进行安装 并浅浅记录一下安装过程 一 VMware虚拟机的下载 下载 VMwa
  • qvariant是如何和稀泥的

    unionData char c uchar uc short s signedchar sc ushort us int i uint u long l ulong ul bool b double d float f qreal rea
  • 原地删除数组中的指定元素

    题目 给你一个数组 nums 和一个值 val 你需要 原地 移除所有数值等于 val 的元素 并返回移除后数组的新长度 示例 1 输入 nums 3 2 2 3 val 3 输出 2 nums 2 2 解释 函数应该返回新的长度 2 并且
  • 【deep_thoughts】48_快速复现PyTorch的Weight Normalization

    文章目录 理论 代码 全连接层 卷积层 视频链接 48 快速复现PyTorch的Weight Normalization 哔哩哔哩 bilibili 官方API torch nn utils weight norm 原始论文 Weight
  • declared implicitly

    declared implicitly 警告 h文件中未声明 如果还是不行 也可以把函数名改了试试
  • 虚拟交换机工作原理

    一 虚拟交换机概述 1 虚拟交换机简介 Switch Virtual Switch 指虚拟交换机或虚拟网络交换机 工作在二层数据网络 通过软件方式实现物理交换机的二层 和部分三层 网络功能 与传统物理交换机相比 虚拟交换机具备的优点 配置灵
  • 谷歌浏览器设置点击链接时打开新窗口

    根据谷歌浏览器的版本而定 我的是 步骤 1 右上角三个点的地方 选设置 2 外观 显示 主页 按钮选 打开新的标签页 OK设置完成
  • 详解大模型微调方法LoRA Adapter(内附实现代码)

    LoRA论文地址 LORA LOW RANK ADAPTATION OF LARGE LANGUAGE MODELS 1 背景介绍 以GPT 3 175B参数量为例 过大的参数量在Finetune的时候代价很大 Adapter适配器方法是进
  • STM32(六)库函数串口发送与接收实例(中断)

    STM系列文章目录 文章目录 STM系列文章目录 前言 一 串口配置步骤 二 实际编写 1 代码部分 重定向fputc函数 GPIO 前言 本篇用库函数写个简单的串口收发 用的是 STM32F103RCT6 开发板 部分来自正点原子 STM
  • rtsp实例及讲解

    rtsp是real time streaming protocol 按照我的理解为流媒体控制协议 协议双方的的编码类型和地址 以及对stream media的控制 play pause record 注意这里不要与RTCP协议搞混 rtcp
  • Mysql—修改用户密码(重置密码)

    Mysql 修改用户密码 重置密码 1 登录mysql 1 2 root localhost mysql uroot p123456 root localhost mysql hlocalhost uroot p123456 如果忘记密码
  • ASP.NET Core 运行原理剖析

    1 ASP NET Core 运行原理剖析 1 1 概述 1 2 文件配置 1 2 1 Starup文件配置 Configure ConfigureServices 1 2 2 appsetting json配置 1 3 处理管道 中间件
  • cesium绘制点、线、面

    cesium绘制点 线 面 地图地形上 点 let handler new Cesium ScreenSpaceEventHandler viewer scene canvas handler setInputAction function
  • 【超级无敌详细的黑马前端笔记!即时更新~】

    超级无敌详细的黑马前端笔记 即时更新 这个笔记 是我自己在同步学习黑马前端使用的 不可以商用哦 学习路径 基础概念铺垫 了解 认识网页 五大浏览器和渲染引擎 Web标准 HTML初体验 HTML的感知 HTML骨架结构 开发工具的使用 语法
  • 【08】STM32·HAL库开发-HAL库介绍

    目录 1 初识HAL库 了解 1 1CMSIS简介 1 2HAL库简介 2 STM32Cube固件包浅析 了解 2 1如何获取STM32Cube固件包 2 2STM32Cube固件包文件夹简介 2 3CMSIS文件夹关键文件 2 3 1CM
  • 增量式pid分析 及 参数整定

    函数功能 增量PI控制器 1 入口参数 编码器测量值 目标速度 2 入口参数 编码器位置 目标位置 返回 值 电机PWM 根据增量式离散PID公式 pwm Kp e k e k 1 Ki e k Kd e k 2e k 1 e k 2 e