节水灌溉竞赛机器人设计*
2020-08-26李思睿梁家涵史颖刚
李思睿,梁家涵,史颖刚,刘 利
(西北农林科技大学机械与电子工程学院,陕西咸阳 712100)
0 引言
农业用水一直占我国总用水量的60%以上,灌溉水利用系数仅为0.53,用水效率低,但节水灌溉可节水80%以上。因此机器人竞赛开设节水灌溉机器人子项目,以学科竞赛为背景,模拟农业地形和施水目标,使学生独立完成作品设计,对比赛项目进行解决和拓展研究,提升学生专业素养[1]。
节水灌溉机器人通常由机器人进行单一作业。为了保证灌溉效率,要求机器人按实际干旱程度变量施水。本文设计的节水灌溉机器人采用无人机和机器人空地协同作业,使机械、电气和控制相结合,通过获取模拟干旱信息、灌溉对象位置和本体姿态数据,实现颜色识别传输、自主导航、目标识别、变量施水和自主调平,在按照所需施水量进行灌溉的同时,减少复杂环境对作业效果的影响,提高水利用率。最后,针对所设计的机器人进行实地调试和参赛,验证了其有效性。
1 节水灌溉机器人竞赛
节水灌溉机器人竞赛是中国机器人大赛农业机器人赛项的子项目,竞赛场地如图1 所示,比赛时,无人机从起点区自主起飞,在信息采集区域收集A 区、B 区、C 区、D区的干旱信息,经过信号处理后,分别将A 区的旱情信息和B 区、C 区、D 区的旱情信息,发送给A 区的渗灌控制系统和停在起始区的灌溉机器人,然后在降落点完成自主降落。A 区的渗灌控制系统接收到无人机发送的旱情信息后,根据不同旱情的需水量,控制渗灌系统完成灌溉。灌溉机器人从起始区出发,依次通过B 区、C 区、D 区,对不同地形和植物进行变量施水,完成作业任务后机器人返回终点区。
无人机信息采集区有用于无人机导航的白线,4个旱情模拟图,分别模拟施水区A 区、B 区、C 区、D 区的干旱情况,旱情信息使用不同颜色的矩形区域模拟,每个矩形区域平均分为6个部分,每个部分从红色(R:255,G:0,B:0)、绿色(R:0,G:255,B:0)、蓝色 (R:0,G:0,B:255) 中随机抽取,并由志愿者现场随机摆放。其中,红色表示严重干旱,施水量最多,数字代号3;绿色代表一般干旱,施水量中等,数字代号2;蓝色代表轻微干旱,施水量最少,数字代号1。
A 区为自动渗灌区,采用LED 指示灯点亮的数量代表施水量;B区为矮株作物灌溉区,模拟灌木作物的施水;C区为大田连续灌溉区,此区域设有坡道,植株为高杆作物;D 区为随机树苗灌溉区,喷靶位置和方向随机摆放。机器人需要能识别起跑线、停止线和赛道导引线,在没有导引线的部分路段,能自主完成任务。
图1 竞赛场地
机器人比赛流程如图2所示,无人机主控制器驱动4个空心杯无刷直流电机转动,使无人机起飞后按规划路径飞行;调用OpenMV 视觉模块识别信息采集区域的色块,处理后获得各区域旱情信息;ATK-LORA 以字符串形式将旱情信息,传送至A 区渗灌系统控制器和灌溉机器人的主控制器,随后无人机自主返航。
图2 机器人比赛流程
图3 图像识别结果
2 旱情信息识别
OpenMV3 摄像头模组搭载于无人机上,在OpenMV IDE的编程环境中,采用Python 语言编写基于OpenMV 视觉库的图像处理算法,其选用LAB 颜色模型,识别代表旱区信息的色块颜色[2-3],图像识别结果如图3 所示。经图像处理后,区域颜色信息转化为旱情信息,并由串口[4]将数据传输给A区渗灌系统控制器和灌溉机器人的主控制器。
摄像头模组进行视觉识别的流程,如图4 所示。无人机飞行过程中,OpenMV3 摄像头模组动态捕捉代表旱情区域的色块颜色,然后滤掉图像信息的背景颜色,将色块均分处理成12 个矩形小块后,获取图像信息,判断各个局部色块的阈值,返回字符串代码,建立色块信息储存数组,得到旱情图样。无人机主控制器驱动OpenMV3 摄像头模组连续重复识别3 次旱情区域的色块颜色,若3 次数据均相同,则将字符串打包,通过ATK-LORA 模块分别将灌溉信息发送给A 区渗灌控制系统的LORA 模块和灌溉机器人的LORA 模块。渗灌系统和灌溉机器人根据不同的旱情信息,执行相应的灌溉动作。无人机、渗灌控制系统和灌溉机器人的LORA 模块采用一般模式透明传输,使用点对多通信,地址、信道、无线速率等参数的设置相同。
图4 无人机视觉识别流程
3 渗灌区自动施水系统
A 区的渗灌区自动施水系统架构,如图5 所示,包括ATK-LORA 模块、STM32 处理器、6 组LED 灯组,每组LED灯组包括3 个供电电压3.7~5 V 的LED 灯珠。采用共阴极接法,将每个灯珠的负极端接到STM32的GND端,正极依次连接到STM32处理器的IO口上,STM32处理器通过控制IO口输出高电平,点亮相应LED灯。
图5 渗灌区自动施水系统架构
无人机与A 区自动渗灌系统的通信字符以“A”为起始符,“B”为结束符,中间6 位数字采用16 进制,代表不同的干旱程度,AB均为字符型:1代表蓝色,轻微干旱;2代表绿色,一般干旱;3 代表红色,严重干旱。例如:“A”0x1 0x1 0x2 0x3 0x30x3“B”,代表识别A区干旱信息依次为:轻微干旱、轻微干旱、一般干旱、严重干旱、严重干旱、严重干旱。
STM32 处理器中,事先预制好一个数组,数组中的每个元素都是两位数,其中,十位数上的数字表示第几组花盆,个位数上的数字表示干旱程度,即需要点亮灯的个数,例如“12”表示第一组花盆,一般干旱。
ATK-LORA 模块接收无人机发送的旱情信息数据包,STM32 处理器以逐位接收方式将数据包储存到串口数据缓存区,选用Strcmp 函数,将数据缓存区的数据与预制数组中的元素逐个对比,即可获得A 区旱情对应施水量的字符串,STM32 处理器发送字符串命令,控制6 组LED 的亮灭,模拟渗灌系统的有效灌溉。
4 灌溉机器人
根据竞赛要求,设计灌溉机器人如图6 所示。底盘由铝合金板材制成,实心橡胶轮进行前轮驱动,后接万向轮作为从动轮[5]。执行机构固定安装在底盘上,为提高机器人在比赛施水过程中的灵活性,执行机构采用平面连杆机构。
图6 灌溉机器人实物
控制系统架构如图7 所示,主控制器STM32 处理器接收到无人机发送的旱情信息后,先处理旱情信息,获得B区、C区、D 区的施水量,然后控制步进电机驱动器,根据预先规划算法,实现机器人底盘前进、后退、转向的组合运动。
图7 总体控制系统架构
机器人采用2 个光电开关检测前方障碍物,当前方有障碍物时,光电开关返回低电平信号,主控制判断到达灌溉点。在循迹线区域,8 路循迹传感器返回高低电平给主控制器,引导机器人巡线前进和转向运动。机器人行驶至C 区的坡道时,陀螺仪反馈车体的倾斜角度信息,主控制器驱动丝杠电机转动,调整执行机构始终保持在水平位置。到达灌溉点后,主控制器依据预定的作业位置,驱动直流电机转动,使灌溉平台移动。喷头处的光电开关扫描到喷靶位置后,返回低电平信号,主控制器即可定位喷靶位置,并按旱情数据控制电磁继电器,调节增压泵的压力和流量,精确灌溉喷靶。
4.1 底盘基本运动控制
灌溉机器人底盘结构分布如图8 所示,左、右2 个车轮各由一个57步进电机驱动。采用TB6600 电机驱动器控制步进电机的正转、反转,步进电机的旋转受使能控制位En 控制电机的开关,方向控制位Cw 控制电机的正转和反转。主控制器定时中断产生的脉冲控制步进电机转速,表1所示为是步进电动机正反转控制真值表。步进电机驱动器与主控制器STM32的IO口相连,使PB5、PE7,PE7、PE8,PB0、PB1分别控制电机的转向、使能和电平反转,实现机器人底盘的前进、后退、左转、右转、速度调节和停止等动作。
图8 灌溉机器人底盘结构分布
表1 步进电动机正反转控制真值表
也可以更改TIM7的预分频值和重装载值,确定定时器产生中断的频率,利用TIM_SetCompare 函数调节PWM 波占空比,实现步进电机的调速控制。
4.2 循迹路径规划
灌溉机器人底盘前端装有八路灰度循迹传感器S308[6],从左至右依次为L4、L3、L2、L1,R1、R2、R3、R4。基于循迹的路径规划流程如图9所示。
STM32 处理器把连接灰度循迹传感器的8 个IO 口设置成浮空输入,通过读取IO口的高低电平信号,判断循迹传感器的工作状态。模拟大地的黄色地毯上采用白色胶带作为灌溉机器人的循迹引导线,当循迹传感器发出的光遇到黄色地毯时,光被吸收,循迹传感器没有接受到反射光,循迹传感器的IO口保持高电平;当循迹传感器发出的光遇到白色胶带时,光被反射到接收管,经施密特触发器整形后,循迹传感器的IO口输出低电平。
若车体向右偏转,L2或L1路检测到循迹线,主控制器调节左、右车轮的转速差值,使车体向左校正;若到达左转位置,L4 或L3 路检测到循迹线,主控制器控制左侧车轮反转,右侧车轮正转,车体左转;机器人循迹过程中的向右校正算法和右转控制算法原理,类似于向左校正算法和左转控制算法,方向相反,不再赘述[7]。
图9 基于循迹的路径规划流程
4.3 灌溉执行机构
机器人的灌溉动作执行机构原理,如图10 所示,4 组平行四杆机构构成了2个左右对称的平面连杆机构,机构末端设有喷头架用来放置施水装置。为减轻车体自重,齿轮齿条机构选用尼龙制品。主控制器通过驱动直流电机转动,实现齿轮齿条的啮合传动,从而变换平面连杆机构的伸缩长度。平面连杆机构的最大伸长量为1 m,可根据B 区、C 区、D 区的喷靶摆放位置,实时调整工作长度。
图10 灌溉动作执行机构
每个齿轮齿条机构由一个直流电机控制。主控制器利用定时器8的通道1和2分别输出2组模式1的PWM波,PWM输出端口连接直流电机的EN1 引脚,用于改变PWM 波的占空比,调整电机转速[8],控制臂长伸缩时间;主控制器的2个IO口分别连接电机的方向控制信号IN1、IN2引脚,当两位数字信号置为0、1时,电机反转,平面连杆机构收缩;反之,电机正转,平面连杆机构伸长,实现喷灌距离调整。
当机器人喷灌作业时,平面连杆机构伸缩,喷头架上的光电开关返回主控制器低电平信号,系统定位喷靶位置。光电识别到喷靶时,主控制器检测光电开关信号的IO 口为下降沿,触发外部中断操作,同时主控制器控制对应电磁继电器开启,实现增压泵工作,并限制开启时长,完成喷灌施水任务。
4.4 自平衡机构
图11所示为灌溉机器人的自平衡机构,底盘为元器件安装层,托板为平面连杆机构和水箱的放置层。丝杠螺母与托板固定连接,通过控制丝杠电机转动可调节平面连杆机构及水箱的平衡,确保车体在有障碍设置的部分地区稳定通过。
图11 灌溉机器人自平衡机构
STM32 处理器采用MPU9250 陀螺仪获取自平衡机构的托板姿态[9]。选择定时器3 更新中断,利用IIC 总线通信,每0.05 s获取一次自平衡机构的姿态数据,处理角度反馈值,判断丝杆电机正反转,使得托板始终处于水平状态。
图12 调平流程
托板调平流程如图12所示,首先在平地校正陀螺仪,设置初始水平参考角,机器人上斜坡时,底盘角度不断变化,陀螺仪反馈托板的偏移角度给STM32 处理器,计算后获得托板矫正系数,驱动丝杠电机调整角度,自主调平灌溉执行机构。
5 结束语
根据节水灌溉竞赛机器人的竞赛要求,以无人机、渗灌系统和灌溉机器人为主,构建了机器人竞赛系统,机械、电气和控制相结合,实现了视觉识别、信息收发、灌溉控制、循迹导航、自动调平等功能。搭建竞赛场地进行了216次的实地测试,结果表明无人机视觉系统检测结果与色块吻合成功率达94.91%,旱情信息传输正确率97.69%,自动渗灌区作业成功率98.61%,灌溉机器人精准喷灌成功率90.74%,系统走完全程并全部实现预期灌溉的成功率是83.33%。本文设计的节水灌溉竞赛机器人,于2019年8月参加了2019中国机器人大赛,并获得冠军,验证了本设计的有效性,同时,对相关竞赛机器人的设计也有一定的参考意义。