本发明涉及一种基于随机森林和二维码识别的农业移动机器人,尤其涉及一种可以基于随机森林模型进行作业决策和基于二维码进行模式识别和定位的移动机器人。
背景技术:
当下移动机器人的应用越来越广泛,几乎渗透到了所有领域,也慢慢的应用于了农业领域,越来越多地够取代人们完成一些重复的工作。其中农业移动机器人的主要技术问题还是定位问题,当下的主流技术有gps定位,但是其成本高,对处理模块的通讯要求高。又考虑到,在农业领域,路径规划比较简单,如人在农田中的作业路径一般都是在田垄上的,是既定的、相似的、小范围的,其定位可以是离散的,离散程度可以根据情况而定。此外移动机器人需要工作的区域有多种地方,除了识别出不同的坐标以外,还需要一个模式识别方法,在不同的地方做不同的事,也就是说坐标信息中还需要包含模式信息。针对这些问题,本文提出了一个基于二维码的农业移动机器人,解决定位成本高和模式识别复杂问题,将坐标信息和模式信息都包含在二维码中。
当下农业作业也越来越大规模化和区域化,对人工工作量要求比较大,在这样的现状下,我们很希望可以使用移动机器人进行人工替代,提高生产力和农业自动化程度。但是农业领域中移动机器人又不能死板地进行统一作业,因为不同情况下的作物种植、培育过程不一样,有的需要除虫,有的又不需要。且大部分的工作的完成都是基于经验性的工作,有很多重复、麻烦但基于经验的工作,一般的移动机器人无法进行作业,故此对于一些经验性的问题,本发明提出了基于随机森林的决策模型,进行决策,解决常规移动机器人的不“灵活”、低效的特点。
技术实现要素:
本发明的目的在于针对市场的需求和现有技术的不足,公开了一种基于随机森林和二维码识别的农业移动机器人。本发明应用于农业领域,基于随机森林和二维码识别的农业移动机器人包括摄像头、二维码识别模块、通讯模块、温度传感器、湿度传感器、控制器、电机驱动模块、运动电机和工作电机。摄像头、二维码识别模块、通讯模块、温度传感器、湿度传感器、电机驱动模块均与控制器相连,电机驱动模块与运动电机、工作电机相连。
二维码以离散形式分布在农业工作区域的田垄中,以某一直线田垄所在方向为x轴,与其垂直的田垄方向为y轴,所述的二维码包含二维码所在位置的坐标信息和模式信息,所述的模式信息是指以二维码所处位置为中心、以上述x轴与y轴构成的直角坐标系四个象限内的作物种类信息。二维码识别模块用于识别所述的二维码,二维码信息包含六个元素(x0,y0,m0,n0,z0,p0),其中(x0,y0)代表着当前二维码在农田中的坐标,而m0表示第一象限的作物编号,n0表示第二象限作物编号,z0表示第三象限作物编号,p0表示第四象限作物编号。
相应的路径规划:
由于田垄的结构特殊性,移动机器人只能直线运动和转向。本发明的机器人设定如下路径规则:机器人优先向x坐标靠近再向y坐标靠近,在路径不需要转弯时,移动机器人保持惯性向前。其路径规划算法思路如下:设本移动机器人所在的位置坐标为(x0,y0,m0,n0,z0,p0),通过通讯模块得知自己的作业目的地坐标为(xd,yd,md,nd,zd,pd)。其地理坐标变化过程如下:移动机器人由(x0,y0)->(xd,y0)->(xd,yd),这样,可使转向数量最小,路径简单且符合实际。
所述的通讯模块用于接收用户的设定指令,如用于设定农业移动机器人目标位置、作业植物编号或作业行为操作。
移动机器人工作模式可以为全局遍历监视农作物即让移动机器人按期行进路径每株植物监视过去,也可以指向区域农业作业。其中遍历指令则是让移动机器人进行全局巡视,使得移动机器人直接从一个坐标,遍历所有坐标进行决策判断,是否作业行为,在需要的地方进行农业操作。
其中指向区域农业作业可以通过通讯模块输入的特例单一编码形式为:(xd,yd,md,d),其中(xd,yd)表示目的地坐标,md表示对象作物编码。d表示作业行为操作,则移动机器人根据指令去其坐标处,然后根据读取的坐标确定四周作物方向,控制摄像头面向的作物为md,判断是否需要d操作,如果需要则进行,不需要则停止工作等待下一个指令。且移动机器人的所有农业过程,可以通过通讯模块将相关信息发送到云端,用于其他用途,如专家进行分析等。
控制器内含有决策模型,所述的决策模型是基于随机森林的,且对于不同的植物的不同作业行为,训练出不同的模型,整个方法利用随机森林模型。本模型结构为四输入,单输出。输入为:温度(温度传感器获得)、湿度(湿度传感器获得)、虫斑级别(摄像头图像处理得到)、植物干湿级别(摄像头图像处理得到),输出为当下植物属于的作业类别(一共四类中的某一类)。
其中图像处理方法:对于虫斑情况,先进行边缘提取、再进行二值化处理(用虫斑和植物颜色区别来区分开虫斑和植物叶子),最后进行膨胀运算和腐蚀运算(即进行一次闭运算,将一些断断续续的虫斑连接起来)。最终得到虫斑占叶子的面积比例,其对应为虫斑情况,作为模型输入。对于植物干湿情况,则由图片中植物的颜色分类,经过灰度值处理后,也将干湿情况对应输入。最终本模型根据输入:植物的虫斑情况和植物的干湿情况、当天温度、湿度,得到输出:植物所属的四类作业类别(需要浇水和除虫、需要浇水不需要除虫、不需要浇水需要除虫,不需要浇水不需要除虫)中的一类,并根据结果进行农业行为。如果需要浇水则浇水,需要除虫则除虫。
模型的训练过程:
本模型先选取n个样本,由专家鉴定在当时的输入情况下(当时的温度,湿度,干枯级别,虫斑级别),鉴定结果为四类作业中的哪一类。
随机选取80%的样本进行随机森林模型的训练,参考指标为gini系数,(gini系数是表征数据集纯度的一个参数),先选择一个指标作为特征a将这些植物划分为两类(如虫斑级别为5,将植物分为超过5一类,小于5一类),并看下最终的gini系数是否足够下小,如果不满足要求则修改特征a,直到gini系数满足要求。然后重复选取其他各个指标继续进行划分重复上述行为,最终划分完所有植物,进入4个类型中。
完成训练后,再选取20%带入训练出的模型进行检验,如果正确率大于95%,则说明模型建立成功,否则重新对模型进行训练,调整gini参数或者进行剪纸处理。最后我们利用最终模型,对其输入温度、湿度、虫斑级别、植物干湿级别,得到其是否需要浇水或者除虫。并根据此结果进行农业作业:浇水、除虫。
本发明通过通讯模块得到目的地和需要进行的工作内容编码,然后读取二维码和图像,经过其中的二维码读取,得知移动机器人在农业场所(如农田)中的模式识别和定位,进行运动电机控制向目的地靠近;图像则是用于监测农作物情况,并将其作为输入,经过图像处理和随机森林模型进农业行为工作内容决策控制,如:是否要去虫、浇水等农业行为。本发明的目的是:提高农业自动化程度,减少人工参与,具有成本低、运动精准,效率高的特点。
附图说明
图1移动机器人结构示意图;
图2整个农田的坐标系布局;
图3移动机器人工作过程示意图;
图4随机森林决策模型;
图5随机森林模型训练过程示意图。
具体实施方式
本发明应用于农业领域,且移动机器人包括摄像头、二维码识别模块、通讯模块、控制器、电机驱动模块、运动电机和工作电机。其中二维码识别模块可以使用honeywelln56xx、摄像头可以使用摄像头串口通讯、控制器用stm32,通讯模块可以使用gprs模块,电机则可用直流电机配上驱动器模块即可完成本移动机器人的功能。
整个移动机器人结构如图1所示,通过通讯模块得到目的地和需要进行的工作内容编码,然后读取二维码和图像,经过其中的二维码读取,得知移动机器人的模式识别和定位,进行运动电机控制向目的地靠近;图像则是用于监测农作物情况,并将其作为输入,经过图像处理和随机森林模型进农业行为工作内容决策控制,如:是否要去虫、浇水等农业行为。本发明的目的是:提高农业自动化程度,减少人工参与,具有成本低、运动精准,效率高的特点。整个机器人设计思路主要分为两点,定位系统和模式识别的设计和随机森林模型设立。
1.上述农业移动机器人在农田中的定位和模式识别结构设计:
其中整个农田的坐标系布局如图2所示:
我们将移动机器人的轨迹设立在田垄上,以某一直线田垄所在方向为x轴,与其垂直的田垄方向为y轴,所述的二维码包含二维码所在位置的坐标信息和模式信息,所述的模式信息是指以二维码所处位置为中心、以上述x轴与y轴方向构成的直角坐标系四个象限内的作物种类信息。二维码识别模块用于识别所述的二维码,二维码信息包含六个元素(x0,y0,m0,n0,z0,p0),其中(x0,y0)代表着当前二维码在农田中的坐标,而m0表示第一象限的作物编号,n0表示第二象限作物编号,z0表示第三象限作物编号,p0表示第四象限作物编号。其中当移动机器人在整个坐标系的边角时,则默认作物编号为0代表无作物。以图2为例,结合图2中位于左侧的直角坐标系和位于右侧的东南西北四个方向标识可知,图2所在直角坐标系构成的第一象限即为东方、第二象限为北方,第三象限为西方,第四象限位南方。假设青菜为编码1,韭菜为编码2。假设移动机器人获取的当前二维码坐标为(1,1,0,0,1,2),则表示移动机器人的位置在(1,1),监测的作业区的东、北方向没有作物,西方作物为青菜,南方作物为韭菜。
然后将坐标信息离散的分布在田垄上,在移动机器人运动过程中读取田垄上的二维码进行坐标获取,然后解码坐标得到相应的信息。移动机器人经过读取的信息结合选择本身摄像头的朝向,得到需监测的作物种类,然后根据作物类别选择相应的随机森林模型。
整个机器人系统控制流程图如图3所示,先得到控制指令,然后根据二维码获得坐标和模式信息,带入不同的模型,进行农业行为决策。
相应的路径规划:
由于田垄的结构特殊性,移动机器人只能直线运动且转向只可以九十度转向。所以我们设定规则:机器人优先向x坐标靠近再向y坐标靠近,且当转向时,只能选择左转九十度或者右转九十度,在路径不需要转弯时,移动机器人保持惯性向前。其路径规划算法思路如下:设本移动机器人所在的位置坐标为(x0,y0,m0,n0,z0,p0),通过通讯模块得知自己的作业目的地坐标为(xd,yd,md,nd,zd,pd)。其地理坐标变化过程如下:移动机器人由(x0,y0)->(xd,y0)->(xd,yd),这样,可使转向数量最小,路径简单且符合实际。
控制指令(目的地和工作内容)解码:
移动机器人工作模式可以为全局遍历监视农作物即让移动机器人每株植物监视过去,也可以指向区域农业作业。其中遍历指令则是让移动机器人进行全局巡视,使得移动机器人直接从一个坐标,遍历所有坐标进行决策判断,是否作业行为,在需要的地方进行农业操作。
其中指向区域农业作业可以通过通讯模块输入的特例单一编码形式为:(xd,yd,md,d),其中(xd,yd)表示目的地坐标,md表示对象作物编码,如目标对象编码为1指的是青菜。d表示作业行为操作,如:0为浇水,1为除虫,2为默认值即浇水和除虫都需要监视并考虑是否进行。则(1,1,1,0)表示去坐标为(1,1)的青菜处(根据地标确定青菜方位,由摄像头去寻找),判断是否需要浇水,如果需要则进行,不需要则停止工作等待下一个指令。
移动机器人的所有农业过程,可以通过通讯模块将相关信息发送到云端,用于其他用途,如专家进行分析等。
2.其中控制器中,随机森林模型的建立:
本决策模型是基于随机森林的,且对于不同的植物不同作业行为,训练出不同的模型,整个方法利用随机森林模型。本模型为四输入,两输出。输入为:温度(温度传感器获得)、湿度(湿度传感器获得)、虫斑级别(摄像头图像处理得到)、植物干湿级别(摄像头图像处理得到)。
将输入进来的图像处理结果:植物的虫斑情况和植物的干湿情况,结合当天温度、湿度将植物进行分类,得到如需要浇水和除虫、需要浇水不需要除虫、不需要浇水需要除虫,不需要浇水不需要除虫四类,并根据结果进行农业行为。
其中图像处理方法:
对于虫斑情况,先进行边缘提取、再进行二值化处理(用虫斑和植物颜色区别来区分开虫斑和植物叶子),最后进行膨胀运算和腐蚀运算(即进行一次闭运算,将一些断断续续的虫斑连接起来)。最终得到虫斑占叶子的面积比例,我们将其分为0-10级(5%为1级,8%为2级…)分别对应为模型输入0-10。对于植物干湿情况,则由图片中植物的颜色分类,经过灰度值处理后,也将干湿情况分为10级,分别对应输入0-10。
整个模型输入还有当天的温度和湿度,输出则为植物的四个状态类别。模型结构如图4。
模型的训练过程:
整个训练过程如图5所示,本模型先选取1000个样本,由专家鉴定在当时的输入情况下(当时的温度,湿度,干枯级别,虫斑级别),鉴定结果为四类中的哪一类。
我们随机选取80%的样本进行随机森林模型的训练,参考指标为gini系数,(gini系数是表征数据集纯度的一个参数),先选择一个指标作为特征a将这些植物划分为两类(如虫斑级别为5,将植物分为超过5一类,小于5一类),并看下最终的gini系数是否足够下小,如果不满足要求则修改特征a,直到gini系数满足要求。然后重复选取其他各个指标继续进行划分重复上述行为,最终划分完所有植物,进入4个类型中。
完成训练后,再选取20%带入训练出的模型进行检验,如果正确率大于95%,则说明模型建立成功,否则重新对模型进行训练,调整gini参数或者进行剪纸处理。最后我们利用最终模型,对其输入温度、湿度、虫斑级别、植物干湿级别,得到其是否需要浇水或者除虫。并根据此结果进行农业作业:浇水、除虫。最终提升移动机器人的智能化、自动化。