麦克纳姆轮PID控制原理

这篇具有很好参考价值的文章主要介绍了麦克纳姆轮PID控制原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、什么是麦克纳姆轮

二、运动原理

三、pid控制 

一、什么是pid?

 二、什么是串级PID?

三、麦克娜姆轮的控制思想

总结


麦克纳姆轮PID控制原理


前言

目前很多大学生比赛里面经常都会出现麦克娜姆轮,并且麦克娜姆轮在工业上也应用挺广泛,例如物流搬小车。下面是我玩麦克娜姆轮的一些经验总结,分享给大家。

一、什么是麦克纳姆轮

麦克纳姆轮是一种可以全向移动的全向轮,又叫麦轮,由轮毂和围绕轮毂的辊子组成,麦轮辊子轴线和轮毂轴线夹角成45度。在轮毂的轮缘上斜向分布着许多小轮子,即辊子,故轮子可以横向滑移。辊子是一种没有动力的小滚子,小滚子的母线很特殊,当轮子绕着固定的轮心轴转动时,各个小滚子的包络线为圆柱面,所以该轮子能够连续的向前滚动。由四个这种轮加以组合,可以使机构实现全方位移动的功能。麦克纳姆轮根据镜像关系分为A轮和B轮。

二、运动原理

1、四个轮子的正确组合如下图 。(顺便给四个轮子编个号)


麦克纳姆轮PID控制原理

 麦克娜姆轮的运动可以看做三个基本运动的叠加。下面我们做个假设。单个轮子的合速度为V,左右平移速度记作Va,前进后退记作Vb,旋转记作Vc。(取向上为正方向)

下面红色箭头代表车轮的正反转(取向上为正方向)

2、向前运动

1、2、3、4轮都正转。小车前进,反之则正转

麦克纳姆轮PID控制原理

3、向右运动

1、3轮正转,2、4轮反转小车向右运动,反之则向左运动。

麦克纳姆轮PID控制原理 

4、顺时针旋转

1、2轮正转,3、4轮反转小车顺时针原地旋转,反之则逆时针原地旋转。

麦克纳姆轮PID控制原理 

根据上面的叠加可得下面公式:

麦克纳姆轮PID控制原理

三、pid控制 

一、什么是pid?

PID,就是“比例、积分、微分”,是一种常见的控制算法。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。

麦克纳姆轮PID控制原理

 下面我们只介绍增量式PID(还有位置式pid)

公式如下:

麦克纳姆轮PID控制原理

 参数介绍:

Kp:比例系数,反应调节速度。Kp越大,系统响应速度越快,Kp越小,响应速度越慢。Kp过大会产生震荡,使系统不稳定。

Ki:积分控制,消除系统余差。只有偏差不存在时,积分才会停止。

Kd:微分控制,减小系统震荡。

en:输入量。

en-i:上一次的输入量。

en-2:上上次的输入量。

调试方法:先调P,再调I,最后调D。最好结合波形图来调,下面推荐一个波形显示上位:https://blog.csdn.net/qq_53022278/article/details/120584545

 二、什么是串级PID?

顾名思义就是两个PID串起来。一个pid的输出作为另一个PID的输入。 

串级pid调试方法:先调内环,再调外环。先调P再调I,最后再调D.

三、麦克娜姆轮的控制思想

一、我们采用串级pid,位置作为外环,速度作为内环。通过外环PID算出四个轮子需要达到的速度,然后将速度作为内环的输入,使小车达到所需的速度。

下面是电磁循迹麦克娜姆轮部分控制代码

外环:

int direction_PD(int left_inductance,int right_inductance)
{
    int new_direction,PWM_out;


    //归一化
    left_inductance=100*(left_inductance-left_min)/(left_max-left_min);
    right_inductance=100*(right_inductance-right_min)/(right_max-right_min);

    //位置函数,差比和算法
    new_direction=100*(left_inductance-right_inductance)/(left_inductance+right_inductance);
    //PD算法
    PWM_out=kp_direction*new_direction+kd_direction*(new_direction-old_direction);
    old_direction=new_direction;
    return PWM_out;
}

 内环:

int speed1_PI(int encoder,int Target_Speed)
{
    static int iError,lastError,PrevError,PWM;
    iError=Target_Speed-encoder;
    PWM+=kp_speed*(iError-lastError)+ki_speed*iError+kd_speed*(iError-2*lastError+PrevError);
    PrevError=lastError;
    lastError=iError;
    return PWM;
}

 

 

总结

以上就我自己的学习总结,个人对pid调试的建议,PID调试需要多实践,多琢磨,调试多了自然就会了。文章来源地址https://www.toymoban.com/news/detail-433371.html

到了这里,关于麦克纳姆轮PID控制原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [控制原理基础]浅谈PID算法

    一、PID使用背景 当今的自动控制技术都是基于反馈的概念。即一个In Loop闭环的理论,反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。 PID(Proportion Intergration Differentiation)算法是比例微分积分控制的

    2024年02月10日
    浏览(28)
  • 【智能车】模糊PID控制原理详解与代码实现

    本文主要由三部分构成:模糊PID控制器的原理,模糊PID控制器C++的实现与测试。 模糊PID控制流程如下图所示,把目标值 Xtarget 与输出值 Xout 的误差 e 与 e 的变化率 de/dt 作为模糊控制器的输入,模糊控制器先对输入进行模糊化处理,接着进行模糊推理,最后把模糊推理的结果

    2024年02月02日
    浏览(28)
  • 倒立摆系统之PID和LQR控制原理

    最优控制理论是一种数学方法,用于设计和分析控制系统,以使系统的性能最优。它的目标是找到一种控制策略,使得系统在满足一定的约束条件下,能够以最优的方式实现某种目标。 牛顿第二定律: F = m ⋅ a F = m cdot a F = m ⋅ a 转动定律: W = I ⋅ α W=I cdot alpha W =

    2024年02月07日
    浏览(34)
  • PID控制参数整定(调节方法)原理+图示+MATLAB调试

    原文链接:https://blog.csdn.net/viafcccy/article/details/107988093 首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性。 PID的作用概述: 1、P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。 2、I在有系统误差和外力作用时

    2024年02月03日
    浏览(28)
  • 深入理解PID控制算法:原理、举例及参数调试和选择方法

    PID控制算法的原理是基于负反馈控制理论的。当系统处于稳态时,PID算法通过不断测量系统的实际输出和期望输出之间的误差,并根据误差的大小来调整控制器的输出。PID算法可以通过三种不同的控制方式来实现这一目标: 比例控制(P控制):当系统的误差增大时,P控制将

    2024年02月16日
    浏览(29)
  • STM32应用(十)经典控制算法PID(单级和串级)原理与代码实现

    PID是什么,P,I,D的分别功能 你和PID调参大神之间,就差这篇文章! P(比例): 简单来说,P就是凉了加热水,热了加凉水。 比目标值小 ,我就 增加 一点, 比目标值大 ,我就 减小 一点。 (现在) P可能出现的问题: 1.P太小,达到目标值需要花费很长的时间,而且会有

    2024年02月03日
    浏览(32)
  • 《Git入门实践教程》前言+目录

    版本控制系统(VCS)在项目开发中异常重要,但和在校大学生的交流中知道,这个重要方向并未受到重视。具备这一技能,既是项目开发能力的体现,也可为各种面试加码。在学习体验后知道,Git多样化平台、多种操作方式、丰富的资源为业内人士提供了方便的同时,也造成

    2024年02月10日
    浏览(50)
  • FPGA学习实践之旅——前言及目录

    很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定

    2024年02月03日
    浏览(35)
  • 9、基于51单片机PID算法温度控制系统设计(程序+Proteus仿真+原理图+PCB图+参考论文+开题报告+任务书等)

    目录 摘要 一、硬件方案 二、设计功能 三、成品实物图 四、原理图  五、PCB图 六、Proteus仿真  七、程序源码    资料包括:     随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中 数字温度计 就是一个典型

    2024年02月05日
    浏览(35)
  • linux根据进程PID查找任务安装目录

    1、通过top 命令 找到PID,执行top命令后可以按住shift+m 按照内存从大到小倒序排列 2、假设pid为23730 通过 如下命令 可以查看任务详情 ps -aux|grep -v grep |grep 23730 3、通过cd /proc/23730 查看任务目录 4、进入目录后执行 ls -ail 出现的列表中 cwd- 开头的是任务目录

    2024年02月12日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包