自平衡机器人DIY(二)

本文介绍了作者DIY自平衡机器人的过程,重点讨论了PID算法在保持机器人平衡中的应用。作者分享了PID参数的调试步骤,并提到了Arduino PID库的使用。通过两套PID参数控制,一套用于平衡速度,另一套用于修正持续偏移,成功让机器人能在一定范围内稳定站立。
摘要由CSDN通过智能技术生成

装好小车后,最重要的部分就是PID算法了。

推荐一个讲PID算法的博文:点击打开链接

以及PID参数的调试步骤:点击打开链接

还有Arduino PID Library的官网:点击打开链接


目前我只实现了站立的功能,蓝牙遥控还没加上去,等春节后了吧。

代码中使用了两套PID参数进行控制,Kp,Ki,Kd是控制平衡速度的。也就是小车往前倾,加速;后倾,减速这个过程。

但是仅靠一个PID控制会出现一个问题:

因为小车的平衡角度Setpoint是手动设定的,所以会有一个微小的误差。当小车以Setpoint为基准进行调整时,可能有一个细微的倾斜,从而导致小车一直向一边跑。

于是引入另一套速度的PID参数:Sp,Si,Sd。 Inputs 为一个变量speedcount,每次中断检查车轮的转向,正向+1,反向-1。这样,当小车持续向一个方向移动时,speedcount会越来越大,从而产生的Outputs也更大。于是对车轮加一个反向的电压,使小车尽量停在原地。

实现的时候,把Outputs的作用加到第一套PID的目标平衡角度Setpoint上,就可以实现效果。


现在小车基本可以站立在一个小范围内了。


代码

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值