PID++:一种计算轻量级的人形运动控制算法(Matlab代码实现)

本文介绍了一种新的PID++算法,它基于实时位置输入,实现动态、自适应的运动控制,适用于各种应用场景。算法无需大量内存,可在微控制器上轻松实现,具有人性化特征。文中还展示了运行结果和Matlab代码示例。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文献


💥1 概述

文献来源:

摘要:目前,机器人运动控制算法充其量是繁琐的实现,缺乏自动情境适应性,并且本质上是静态的。人形(类人)控制只不过是一个梦想,对所有人来说,但最快的计算机。本文提出的主要工作思想是定义一种全新的、简单的、计算轻量级的人形运动控制方法。本文提出了一种新的比例-积分-微分(PID)控制器算法,称为PID++,该算法基于实时编码器位置输入,使用基本算术进行微小调整,以实现稳定、精确、可控、动态、自适应的控制系统,用于线性运动控制,无论负载如何。在最初未指定PID系数的情况下,所提出的PID++算法动态调整和更新PID系数KP,K和Kd周期性地。不需要存储值数据库,因为在计算中仅使用具有准确时基的感测位置的当前值和先前值,并在每个读取间隔中覆盖,因此无需部署大量内存来存储和使用向量或矩阵。该算法的实现完成,设计上真正动态和自适应,工程师将能够在商业、工业、生物医学和太空应用中使用该算法。运动控制具有明确无误的人性化特征,甚至可以使用单个命令在最小的微控制器 (MCU) 上实现,而无需重新编程或重新配置。

关键词:

自适应运动控制;PID++算法;人形生物;计算轻量级

详细文章讲解见第4部分。 

📚2 运行结果

可视化:

figure
plot(dt_sum, ReadEncoder);
xlabel('Time')
title('Encoder Position (Distance Traveled)')
saveas(gcf,'../results/DistanceTraveled.png')


figure
plot(dt_sum, expOutput);                    % This is PID++ output from actual run on microcontroller
xlabel('Time')
title('Experiment Output')
saveas(gcf,'../results/ExpOut.png')


figure
plot(dt_sum, Velocity);
xlabel('Time')
title('Speed')
saveas(gcf,'../results/Speed.png')


%figure
%plot(dt_vec, output);                       % This is PID++ output from MATLAB simulation
%xlabel('Time')
%title('Controller Output')
%saveas(gcf,'../results/Out.png')

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码及文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值