割草机器人基于PID控制算法的巡线方法

(整期优先)网络出版时间:2023-10-28
/ 2

割草机器人基于PID控制算法的巡线方法

刘贯营1 丁广华2

南京苏美达智能技术有限公司  南京市  210032

摘要智能割草机人巡线行走回充电站是一个运动控制的难点,本文介绍了利用经典的PID算法,结合信号采集模块,设计控制算法,通过对测试结果数据分析,对PID参数实时调整,得到了一个完美的工况参数,达到了割草机器人完美沿着边界线行走的结果。

关键词智能割草机器人;PID算法;巡线运动控制;

0 引言

随着半导体的发展,智能割草机器人已经在很大比例上取代了传统的人工手推式燃油割草机。它有着自动运行、自助回充、自动进行路径规划的特点,极大的降低了人的参与。在欧美市场,智能割草机器人已经取代了传统割草机百分之四十多的市场。智能智能割草机器人由中央控制单元、电机驱动单元、边界信号采集单元、信号发射单元、安全检测单元、充电单元、UI单元及APP和服务器等模块组成的一个复杂的系统。

1智能割草机的工作原理

目前市场上主流的智能割草机大多都是预埋线的方案。从大的模块上分,这个系统由机器人小车系统、边界信号发射基站和具有导电性能的边界线三部分组成。首先边界信号发射模块通过一根导线连接形成一个闭环,机器人只能在这根导线围成的圈里面工作。边界线的形状是根据实际的草地形状随机延伸,是不规则的。规律性的边界信号通过这根导线发射出去。机器内部的边界信号采集单元实时的采集数据,把采集到的数据传送给主控单元,主控单元根据信号的状态来发送命令给驱动单元,驱动单元驱动行走电机和割草电机的运行。


我们定义采集到第一个信号是下降沿,此信号采集模块在边界线圈内部,如果采集到的第一个信号是上升沿,则此信号采集模块在边界线圈的外部。机器的前端安装有3个信号采集模块,3个信号头把感应接收到的信号放大处理后,判断出来自己的位置是位于线圈内部还是线圈外部。如果3个信号头都在边界线圈内部,则主控发命令使驱动模块驱动电机前进,割草电机转动作业。当信号头传输给主控的状态是在边界线外时,主控模块发送停机命令。机器停下来后,重新检测信号是否在界外,如果是,机器做后退转弯的逻辑,转到边界线圈内来继续工作。这是智能割草机最基本的工作原理。本文主要介绍割草机回充的部分。当割草机在外面作业电量剩余20%时,则启动回充功能。机器人将沿着这条预埋的边界线回到充电站,进行充电。因为边界是不规则的。所以如何控制机器人很好的沿着这条线回到充电站则是这个系统的一个难点。

2 机器人巡线工作原理

割草机器人都是后面由两个驱动轮,前面两个万向轮组成。根据机器人运动模型,机器不能实现纵向运动。机器只能走一段圆弧,或者是直线。当两个驱动轮以相同的速度和方向运动时,机器则实现直线行走。当两侧的驱动轮速度不一样时,机器就会走出一段弧线。所以机器的运动由直线行走的线速度V和旋转速度W两个参数来控制。

机器人的前部安装的三个信号头,每个信号头间距在10厘米左右,三个信号头在一条直线上,中间那个信号头位于机器人的正中心位置。我们的目标是保证中间的信号头在边界线的正上方,这是理想的状态,实际控制出来的方案是中间信号头在边界线的两侧交替出现,也就是说当中间信号头在边界线内时,我们控制机器朝着边界线外的方向运动,当中间信号头在边界线外时,我们控制机器人朝着边界线内的方向运动。这样周而复始的循环,直到机器运动到充电站内停止运动。

当机器人在边界线内部任何位置启动回充时,机器人向前运动,直到机器人碰到边界线,3个信号头运行到边界线外,我们规定回充的运动方向是逆时针的,此时主控控制机器人左转,当机器人左侧的信号头转到边界线内,右侧的信号头在边界线外,这时启动沿线行走的控制逻辑。在左侧信号头在边界线内,右侧信号头在边界线外的大前提下,我们控制中间的信号头在边界线上方左右摆动运行,以达到能够沿线行走的目的。因为信号头很小,左右摆动的幅度在2厘米以内,所以看上去机器是沿着边界线直行的。

3 机器人沿线运行的PID控制算法

PID算法是控制系统中最为广泛的一种控制算法。P代表比例,就是输入偏差乘以一个常数;I代表积分,就是对输入的偏差进行积分运算;D代表微分,就是对输入的偏差进行微分运算。我们定义信号头检测到界内信号值为1,无信号为0(当信号头正好在边界线的正上方时,也是检测不到边界信号的),界外信号为-1。我们的目标是中间信号头在边界线的正上方。0值就是我们的目标,当信号值为1时,我们的时间常数deltaT从1开始增加,当增加到最大阈值50时保持这个值。当信号值为-1时,我们的时间常数deltaT从-1开始减减。当减到最小阈值-50时保持这个值。当信号值为0时,时间常数deltaT清0,当信号值从1变为-1时,deltaT的值从正值变为-1,当信号值从-1变为1时,deltaT的值从负值变为1。

我们保留最近10次的deltaT的值,把它的累加和当做积分运算和微分运算的输入。

两轮机器人的运动控制输入参数是线速度V和角速度W。当W等于0时,机器人左右轮的速度一样,机器直线前进。当W大于0时,机器向右偏转运动,此时左侧的轮速大于右侧的轮速,当W小于0时,机器向左偏转运动,此时右侧的轮速大于左侧的轮速。当V等于0,W不等于0时,测试相当于机器原地转圈。左右轮子已相同的速度朝着相反的方向运动。

我们结合两轮机器人的运动控制策略,我们给定机器人前进的线速度为30厘米每秒。利用PID算法来计算出机器人运动所需要的角速度W。

W=Kp*deltaT+Ki*err_sum+Kd*err_sum;

从上面公式我们可以看出,当中间信号头偏离正上方时间越长,deltaT的值就越大,计算出来的W越大,两个轮子的差速越大,调整的速度就越快。我们先假设一个常数,Kp为10,Ki为2,Kd为1,经过测试,发现机器来回摆动很大,基本走不了直线,出现了超调的现象。左侧信号头和右侧信号头都会在界内界外来回摆动。我们不断的修改Kp、Ki、Kd的值,最终Kp=3,Ki=0.5,Kd=0.1时到达了理想的结果。

参数调节稳定之后,经过长时间的测试,发现机器每一次回充都是走相同的路径,对草坪的破坏比较大,长时间的碾压把边界线上的草压枯萎。所以我们结合这个原理我们又拓展出两个控制策略,第一种,我们利用左侧的信号头沿线走,即中间和右侧的信号头保持在边界线外侧,控制左侧的信号头沿着边界线内外摆动。第二种,我们利用右侧的信号头沿着边界线行走,即保持中间和左侧的信号头在边界线内部,右侧的信号头在边界线上方来回的摆动。这样我们就会有三条回家的路线,每一条路线偏差在6厘米左右,使得边界线上同一处草被碾压的时间降低了百分之六十六。起到了很好的效果。

4 结语

本文提到的PID算法根据信号头的位置实时对速度进行调节,可以保证机器人沿线运动。即解决了割草机器人巡线行走的问题,同时也延伸出了回充多条路径的方法,解决了边界线上草被重复碾压的问题。此方法在智能割草机系统中已经稳定运行。

作者简介:刘贯营,中级工程师,研究方向:嵌入式系统应用

参考文献:

[1] 张玉叶 机器人小车电机PID控制算法及仿真。咸阳师范学院学报,2020,35(04):24-27

[2] 杨坤漓 许洋洋.仿人机器人PID控制优化仿真研究 中国工程机械学报 2022,20(06):76-80

[3] 孙建康 王帅 曹斯荫 石秀敏 基于模糊PID控制的智能循迹小车设计 现代制造技术与装备 2021,57(12):209-212