面向低成本巡线机器人的PID控制器优化——附源码

这篇具有很好参考价值的文章主要介绍了面向低成本巡线机器人的PID控制器优化——附源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

介绍

测试

电子元器件

系统特征

控制器设计

位置误差的计算

比例控制

积分控制

微分控制

改进的PID控制器

测试轨迹

源码链接


本文对经典PID控制器的改进和开环控制机制的发展进行了讨论,以提高差动轮式机器人的稳定性和鲁棒性。为了部署该算法,使用低成本、现成的组件,包括微控制器、反射率传感器和电机驱动器,构建了一个测试平台。本文描述了用于辨识系统特性以及优化控制器的启发式方法。对PID控制器进行了详细的分析。代码在文末。

介绍

导航是机器人应用中必不可少的一部分。要完成特定的任务,机器人遵循特定的路径是至关重要的。在高级应用中,机器人配备了先进的传感器,如深度相机、雷达和激光雷达,以增强感知能力。这些传感器的可用性使开发更复杂和高保真度的定位和地图算法成为可能。然而,这些传感器价格昂贵。某些需要在相对固定的环境中进行重复运动的任务,可以通过具有成本效益的应用来完成。例如,只有一个反射传感器阵列的直线跟踪机器人,可以用来承载工厂中从一点到另一点的特定负载。然而,增加积分增益会引起超调。由此产生的超调会导致系统表现出不稳定的行为。微分控制器的主要作用是减小超调量和加快瞬态响应速度。它可以被认为是一种检测系统中未来错误的机制。由于积分控制以超调量为代价来最小化稳态误差,因此可以使用导数控制来最小化超调量,以增加系统的鲁棒性。然而,微分控制器由于微分放大了高频信号,在噪声存在的情况下可能导致系统不稳定。本研究采用PID控制器,开发了一种高速、高保真的线跟踪控制器。

测试

图1显示了在整个研究中使用的两个巡线机器人作为测试平台。采用了两台低成本的6V直流减速电机。电机转速为250转/分,直流输入电压为6 ~ 7 V。由于他们有一个变速箱,他们产生足够的扭矩以获得更快的响应。这些电机的优点之一是成本低,并且可以应用较高的输入电压,以达到较高的RPM值,从而缩短运行时间。直流电机通过使用两个塑料件和两个螺钉固定在机架上。在循迹机器人中,车轮在机器人对路径的搬运中起着重要的作用。为了防止机器人打滑,特别是在急转弯时,需要较高的路面保持性。选择了车轮,以尽量减少打滑和增加机器人的能力。由于最重的部件是电池,所以要进行操作。随着质心越靠近机器人前部,滑移量越大。另一方面,随着质心向后方靠拢,则前方急转直下。因此,质心相对于机架中心已经居中。此外,地面与底盘之间的距离一直保持较短,这也是影响稳定性的另一个方面,尤其是在急转弯时。这样,QTR - 8反射率传感器也变得更容易放置在离地面更近的地方。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

图1 巡线机器人的顶视图、侧视图和后视图。

电子元器件

1 )电机驱动:采用具有L298N双全桥驱动器的电机驱动模块来驱动两台直流电机。该电机驱动模块采用13 V直流电压供电。它还具有5 V直流稳压器,用于给STM32供电。该电机有4个输入引脚,通过输入PWM信号来控制电机的旋转方向和转速。输出引脚为直流电机专用,可为每台电机提供最大2 A的电流。电机驱动模块已经安装在机器人前方。

2 )微控制器:为了读取传感器值并驱动直流电机,需要一个微控制器。本研究采用STM32F103C8单片机。系统时钟设置为72 MHz。APB2定时器时钟工作在72 MHz。预分频器为79,计数器周期为999,产生900 Hz的PWM信号。占空比由PID控制器进行自适应调节。微控制器的4个引脚已用于PWM生成。

3 )电池:6节MH Ni充电电池与4节AA碱性电池串联为机器人供电。这样共得到13 V直流输入电压。电池正极端与电机驱动器的12V输入引脚相连。观察到从电机驱动器内部调节器获得5 V输出电压至少需要7 V的输入电压,这样STM32和QTR - 8反射率传感器都能高效工作。系统绘制的电流总值约为1安培。其中很大一部分电流由直流电机消耗。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

图2 巡线机器人的电路原理图。

4 )传感器:QTR - 8传感器用于机器人跟随直线。该模块上有8个反射率传感器。这些传感器由红外光发射器、在红外光照射下开关的MOSFET和电容器组成。MOSFET控制电容器的接地。与传感器相对应的8个引脚与STM32的GPIO引脚相连,如图2所示,用于写入和读出操作。在进行读数操作之前,需要对电容器进行充电。为此,在输出模式下将逻辑1写入GPIO端口。如果MOSFET暴露在红外光下,电容与地相连,因此它们被放电。因此,在几毫秒后,GPIO引脚被切换到输入模式。对于特定的传感器,如果读数为逻辑0,则意味着存在反射

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

图3 系统辨识中使用的单位反馈系统框图。

电容放电所花费的时间,从而降低了传感器的采样率。

系统特征

采用启发式方法来辨识系统特性,而不是使用微分驱动运动学。在实现PID控制器之前,图3所示的统一反馈系统在机器人上进行了实验。在直线为直线的路径中,从非零误差开始,机器人以等量左右摆动。这意味着对于一条直线轨迹,存在零稳态跟踪误差。因此,可以断定该系统在原点至少有一个极点。然后,机器人以非零的位置误差开始放置在轨迹的弯曲区域。观察到系统更多地向曲率的反面振荡。这意味着遵循c存在稳态误差

控制器设计

控制器算法的总体结构如图4所示。首先,从传感器获得读数。基于此读数,得到一个位置信息,使得控制器知道线在哪里。然后,计算误差并反馈给PID控制器,PID控制器控制用于更新电机转速的误差项。然而,在输入新的PWM值之前,开环控制检查传感器是否错过线路。需要开环控制来处理测试轨迹中的拐角。这也提高了弯曲路径下的系统性能。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

图4 线跟踪控制器的流程图。

位置误差的计算

根据传感器数据计算误差。每个传感器的读数对应一个位置信息。该位置信息由( 1 )式计算得到。参考位置值为4500表示传感器的中间位置。误差按( 2 )式计算。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

若误差值为负,则表明机器人向右滑动。若误差值为正,则机器人向左偏离直线。PID控制器对电机转速进行控制。若计算误差为负,则减小左侧电机的转速,增大右侧电机的转速,使机器人向左侧运动,消除误差。若误差值为正,则左边电机转速升高,右边电机转速降低。然后机器人向右侧移动,消除误差。

比例控制

式( 3 )为比例控制的数学表达式。可以看出,当仅采用P控制时,机器人对直线跟踪过程中出现的误差响应更快。但当kP增益超过一定值时,振荡被发现相当高。当kP增益减小时,振荡减小,但机器人对误差的响应变慢。为此,在系统中加入了导数控制。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

积分控制

当单独使用比例控制时,已经观察到稳态误差的发生。积分控制的数学表达式由( 4 )给出。积分项表示过去误差的总和。因此,结合kI积分增益,积分反馈通过在原点引入一个极点来最小化稳态跟踪误差。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

在系统辨识阶段,不采用PID控制器的单位反馈实现表明该系统在原点至少存在一个极点。然而,系统不能够无稳态误差地跟踪弯曲路径。为了最小化弯曲路径下的稳态跟踪误差,在控制器中加入了积分项。然而,由于路径的形状并不总是直的,因此从一开始就对所有过去的错误进行加总是无效的。为了提高积分控制对路径曲率变化的响应,仅考虑过去5次误差。因此,对经典积分控制进行了修正,如式( 5 )所示。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

微分控制

式( 6 )为经典微分控制的数学表达式。加入了微分控制来消除比例项和积分项引起的振荡和超调。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

D控制防止了系统的超调,改善了系统的瞬态响应。但需要注意的是,D控制对噪声敏感[ 5 ]。D控制对噪声敏感的原因是它像一个高通滤波器放大了误差的瞬时变化。在机器人的研制过程中,噪声的影响还没有见到很多。因此,经典导数被修改为( 7 )式,因此计算是通过找到当前和以前的误差之间的差异来完成的。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

改进的PID控制器

式( 8 )表达了经典PID控制。经过上述修改,PID控制器的整体数学表达式如式( 9 )所示。在该控制器中,比例项用于最小化位置误差,积分项用于最小化弯曲路径中的稳态误差,导数项用于最小化振荡行为和超调。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

测试轨迹

图7展示了由90 °和45 °转弯的直线、曲率和转角组成的测试轨迹。履带由浅色木板制成。为了使反射率传感器高效工作,使用了黑色的电工胶带来创建路径。在未实施开环控制前,电池电压为10.2 V时,机器人无法处理45 °转弯。在实现了所有传感器都不在直线上,只考虑最左和最右传感器的开环控制后,机器人在9.2秒内完成了轨迹跟踪。以进一步缩短完成时间,电池电压提升至13 V。然而,机器人开始出现急转弯跟线失败。为了处理弯道中的急转弯和提高系统性能,对开环控制进行了改进。最终,在电池电压为13 V,PWM占空比为92 %的条件下,机器人在7.8 s内成功完成了循迹。

面向低成本巡线机器人的PID控制器优化——附源码,嵌入式相关方法算法,机器人,单片机,嵌入式硬件

图7 测试轨迹

源码链接

https://download.csdn.net/download/m0_61712829/89004452?spm=1001.2014.3001.5501


参考文献:

[1] V. Balaji, M. Balaji, M. Chandrasekaran, M. K. Khan, and I. Elamvazuthi, “Optimization of PID Control for High Speed Line Tracking Robots,” in Procedia Computer Science, 2015.

[2] A. Latif, H. A. Widodo, R. Rahim, and K. Kunal, “Implementation of Line Follower Robot based Microcontroller ATMega32A,” Journal of Robotics and Control (JRC), 2020.

[3] K. M. Hasan, Abdullah-Al-Nahid, and A. Al Mamun, “Implementation of autonomous line follower robot,” in 2012 International Conference on Informatics, Electronics and Vision, ICIEV 2012, 2012.

[4] M. Pakdaman, M. M. Sanaatiyan, and M. R. Ghahroudi, “A line follower robot from design to implementation: Technical issues and problems,” in 2010 The 2nd International Conference on Computer and Automation Engineering, ICCAE 2010, 2010.

[5] G. Franklin, J. D. Powell, and A. Emami-Naeini, “Feedback control of dynamic systems, 3e,” in American Society of Mechanical Engineers, Dynamic Systems and Control Division (Publication) DSC, 1994.

[6] Samet Oguten,Bilal Kabas.PID Controller Optimization for Low-cost Line Follower Robots[Z].arxiv,2021.文章来源地址https://www.toymoban.com/news/detail-844462.html

到了这里,关于面向低成本巡线机器人的PID控制器优化——附源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ChatGPT +工业机器人/自动驾驶控制器的一些尝试

    ChatGPT 的功能目前已扩展到机器人领域,可以用语言直观控制如机械臂、无人机、家庭辅助机器人等的多个平台。这会改变人机交互的未来形式吗? 你可曾想过用自己的话告诉机器人该做什么,就像对人说话那样? 比如说,只要告诉你的家庭助理机器人「请帮我热一下午餐」

    2023年04月08日
    浏览(52)
  • 如何将电机控制器添加到您的 ROS 机器人

            如果您正在构建与 ROS/ROS2 一起使用的移动机器人,您需要做的第一件事就是集成电机控制器。电机控制器的目的是接受来自更高级别的软件(如导航堆栈)的消息,并将其转换为驱动电机的信号。它还将从电机的编码器接收信息,以计算机器人的速度和位置。 您

    2024年02月15日
    浏览(52)
  • 基于ARM+FPGA的驱控一体机器人控制器设计

    目前市场上工业机器人,数控机床等多轴运动控制系统普遍采用运动控制器加 伺服驱动器的分布式控制方式。在这种控制方式中,控制器一方面完成人机交互,另 一方面进行 NC 代码的解释执行,插补运算,继而将计算出来的位置指令通过轴组模 块下发给各个伺服驱动器。下

    2024年02月14日
    浏览(52)
  • ABB DSQC639 3HAC025097-001/08 机器人控制器

    ABB DSQC639 3HAC025097-001/08 机器人控制器具有多种优势特性,包括: 高可靠性:该控制器采用先进的控制技术和算法,具有快速响应、高精度轨迹控制、高抗干扰能力等特点,能够满足各种复杂的应用需求。 高精度:该控制器具有高精度处理器和多种保护功能,可以确保机器人

    2024年02月04日
    浏览(46)
  • TinyMPC - CMU (卡耐基梅隆大学)开源的机器人 MPC 控制器

    CasADi - 最优控制开源 Python/MATLAB 库 TinyMPC: 资源受限微控制器上的模型预测控制 作者:Anoushka Alavilli*, Khai Nguyen*, Sam Schoedel*, Brian Plancher, Zachary Manchester Carnegie Mellon University, Barnard College 模型预测控制(Model-predictive control,MPC)是控制受复杂约束条件(complex constraints)影响的高

    2024年02月03日
    浏览(50)
  • LabVIEW开发微控制器控制的并行机器人的实时视觉图像处理

    LabVIEW开发微控制器控制的并行机器人的实时视觉图像处理         通过相机视觉,以对目标物体的不同颜色进行分类,并与平行机器人一起拾取和放置物体。通过使用MATLAB Simulink模拟合适的机器人工作空间来研究使用相机的效率和机器人的准确性。机械臂以使用运动学计算

    2024年02月09日
    浏览(51)
  • YASKAWA ERCR-NS01-B004-E1机器人控制器

    YASKAWA ERCR-NS01-B004-E1机器人控制器是一款由安川电机(Yaskawa Electric)生产的工业机器人控制器。该控制器主要用于控制和协调机器人的运动,包括机器人的轨迹规划、速度控制、姿态调整等。 ERCR-NS01-B004-E1控制器具有以下特点: 高性能:采用高速处理器和大容量存储器,支持

    2024年01月17日
    浏览(52)
  • FANUC机器人PRIO-621和PRIO-622设备和控制器没有运行故障处理

    如下图所示,新的机器人开机后提示报警: PRIO-621 设备没有运行 PRIO-622 控制器没有运行 我们首先查看下手册上的报警代码说明,如下图所示, 如下图所示,在PROFINET IO界面中,找到第4、5项: I/O控制装置和I/O设备均选择禁用 , 设置完成后,给控制柜断电再重新上电即可消

    2024年02月07日
    浏览(129)
  • ABB机器人将程序模块单个或批量导入控制器的具体方法和步骤

    在一个项目中,有可能会需要多个模块和程序文件,如果都是使用示教器来建立或编程,不是太方便且耗费时间较长。 通过RobotStudio可以单个/批量加载程序模块和参数。 具体的方法和步骤可参考以下内容 : 如下图所示,我们在电脑上创建一个离线的工作站项目,并创建了程

    2024年02月12日
    浏览(115)
  • 基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

    本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot , SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力 有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动 力,而且六轮与四轮相比整车分散到单个车轮的负

    2024年02月12日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包