智能清粪机器人系统的设计与试验
2024-01-11高彦玉罗土玉周昆乐钟日开
高彦玉,罗土玉,边 峰,周昆乐,钟日开
(1.广东省现代农业装备研究所,广州 510630;2.广东广兴牧业机械设备有限公司,广州 510520)
0 引言
近3年来,我国畜禽养殖业规模化发展迅速,集中式、高密度养殖成为主流,在生猪养殖方面尤为明显。为了改善养殖舍环境,舍内地板大多为漏粪板结构,但在实际应用中粪污不能完全通过漏粪板缝隙掉入集粪槽,堆积在漏粪板上的粪污不及时处理便会挥发氨气、硫化氢等有害气体,降低舍内空气质量[1-3]。同时,由于畜禽粪具有一定的黏性,未掉落的粪污被畜禽蹄踩踏后易粘在蹄部而产生蹄病,且畜禽在栏舍内走动会增加细菌微生物繁衍和传播的机会,降低了畜禽的健康水平和抗病能力。随着养殖装备的升级,畜禽舍内清粪或清洗装备得到兴起,清理方式从人工清理发展到机器人清理,技术逐渐趋于成熟。目前,国外所研发、设计并规模生产使用的智能化清粪装备具有良好的清除粪污效果。其中,最为典型的是瑞典利拉伐公司的DeLaval robat scraper RS250、德国GEA集团的SRONE以及荷兰的LELY公司的Lely Discovery。这3款机器人应用于养牛舍的清洁,均能够自主掌握工作环境信息,实现自动寻迹与避障;结构上均采用两电机驱动,形成差速,运动灵活;同时,可以使用传感器感知外部环境,适应不同的环境[4-8]。与国外相比,我国养殖舍内的清洁机器人仍处于研究起步阶段。尧李慧等[9]研发了一款牛舍清洁机器人,主要研究该机器人的路径规划与避障控制方法和技术。姚腾飞等[10]基于PLC开发漏缝地板式猪舍粪污智能清扫小车,在清除粪污的同时可自动检测猪舍内有害气体浓度。国内对养殖舍内粪污清理装备的研发投入逐步增大,但现有的研究在实际猪场还未得到大面积推广应用。为此,在总结前人研究的基础上,根据机器人技术的发展,设计了一种智能清粪机器人,以期为畜禽养殖装备提供应用参考。
清粪机器人工作环境恶劣,养殖舍内配有围栏、饮水设备、饲喂器等,会加大清粪机器人的工作难度。因此,本研究在机械零部件上严格按照畜禽舍复杂环境选取,控制方面以SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)算法为基础[11-14],利用小型工控机为上层控制器、STM32 ARM系列芯片为底层控制器,基于WR-SD 3000系列激光雷达[15-16],以开源的机器人操作系统ROS(Robot Operating System,ROS)为软件开发平台[17-19],以稳定性较好的QT Creater为程序编译工具,设计并实现畜禽养殖舍内清粪机器人的建图、导航、清粪、充电与加水等功能。
1 清粪机器人系统结构及工作过程
1.1 整体结构
清粪机器人主要由充电与加水装置、电控系统、行走装置、作业系统等组成,如图1所示。其中,充电与加水装置实现整机的电池充电和水箱加水,包括充电触头、充电桩、入水管、充电座、电池、水位探头、水箱等;电控系统包括控制元件和传感器;行走装置包括前端万向轮和后端两个驱动轮,形成三点支撑行走架构,保持机体的平衡;作业系统包括前后水喷头和刮粪板。
1.激光雷达传感器 2.充电触头 3.充电桩 4.入水管 5.充电座 6.电池 7.水喷头 8.驱动轮 9.排水管 10.刮粪板 11.万向轮 12.超声波传感器1 13.水箱 14.溢流管 15.超声波传感器2 16.工控机图1 清粪机器人整体结构图Fig.1 The overall structure of the excrement cleaning robot
在整体结构设计中,将激光雷达传感器设于最顶端,其高度与养殖舍内围栏高度一致,以便于扫描养殖舍环境信息以及整机避障;在机身前端和中上端各设1个超声波传感器,用于探测所建地图之外的障碍物;充电桩内装有红外传感器,实现整机返回充电和加水(后简称回充)时自动找准回位;水喷头前后各1个,设置于清粪机器人前端的水喷头用于对漏粪地板上较硬的粪污湿润,便于刮粪板刮掉落进集粪槽,设置于后端的水喷头用于清洗刮后的地板。
1.2 清粪机器人运动学分析
清粪机器人能在养殖舍内自主行驶、完成清粪工作,其核心为路径规划方法。因此,以自主避障与全区域覆盖路径规划为出发点进行深入研究,达到实时清粪的目的。
清粪机器人在作业时,畜禽舍内的围栏、饲喂器、墙面等会阻碍其正常作业。因此,在清粪机器人作业前先采集畜禽舍环境信息,生成地图,并在地图内将固定的设施设备(如围栏、饲喂器、墙面)添加完毕,有效避免清粪机器人与此类障碍物发生碰撞。清粪机器人由位于底盘左右两侧的动力轮驱动行驶,底盘前端配置1个万向轮用于辅助支撑、平衡车体,两个动力轮独立控制速度,并通过设置不同速度实现底盘转向控制。清粪机器人运动学模型如图2所示。其中,x、y为建立的x轴和y轴坐标系,x’、y’为相对坐标系。
注:d为清粪机器人行驶中与障碍物的距离;Z为障碍物位置;α为清粪机器人的方向角;β为清粪机器人与障碍物移动坐标系夹角;o’ 为清粪机器人移动中心处的位置。图2 清粪机器人运动学模型Fig.2 The kinematic model of excrement cleaning robot
由图2可得全区域及清粪机器人移动坐标系之间的关系,公式为
x=m+x′cosα+y′sinα
(1)
y=n+y′cosα-x′sinα
(2)
(3)
(4)
式中α-清粪机器人的方向角(°);
β-清粪机器人与障碍物移动坐标系夹角(°);
d-清粪机器人行驶中与障碍物的距离(m);
m-清粪机器人移动中心处距离起始点的横向距离(m);
n-清粪机器人移动中心处距离起始点的纵向距离(m)。
根据式(3)、式(4)计算得到障碍物边界Z的具体位置,包括在清粪机器人移动坐标系中的具体位置以及在全区域路径坐标系中的位置。
1.3 工作过程
为了较好地展示该清粪机器人的作业过程,设计了工作流程图,如图3所示。具体流程如下:在清粪机器人开始作业前,养殖人员根据养殖舍内是否有畜禽和地面粪污量情况进行参数设置;然后,启动整机上电,在工控机与笔记本的通信互联成功后,将遥控器切换到手动遥控模式,人工控制清粪机器人行走;通过搭载的激光雷达传感器扫描养殖舍内环境点云数据,在养殖舍内行驶1个闭环后生成完整地图并保存;此时,启动导航,将清粪机器人显示在人机交互界面的方向,调整至与实际方向位置一致后,在所建地图上设置目标巡航点以及回充点,再开始工作;行驶完1个行程后,可结束工作并开启回充,清粪机器人进入回充模式,等待下一轮清粪。
图3 清粪机器人工作流程图Fig.3 Flow chart of the excrement cleaning robot
需要特别说明的是:①当作业中电量或水量低于设定的最小值时,会发出报警信息,此时在界面端点击回充模式,清粪机器人则自动返回到充电处进行充电、加水。②在开始工作前,如需将养殖舍内粪污统一推至固定点处堆积,则在所建地图上设置固定点;如粪污直接通过漏粪板推掉落进集粪槽内,则不用设固定点。③作业中,养殖舍内墙体及养殖设备等为静态障碍物,活体畜禽、养殖人员为动态障碍物。由于在生成地图时静态障碍物已扫描,当检测到此类障碍物时行驶速度不变且不发生碰撞;对于动态障碍物中的活体畜禽,由于畜禽经常在养殖舍内行走,当清粪机器人与畜禽发生碰撞时畜禽会自动避开。畜禽的身高低于激光雷达传感器所置高度时,超声波传感器可对其进行距离检测,检测到畜禽时清粪机器人的行驶速度减慢且会直接碰撞,但碰撞程度不会对其造成任何伤害。而对于养殖人员,这种高于激光雷达传感器的障碍物,激光雷达可读取,此时清粪机器人会绕开养殖人员继续行走。对于舍内没有障碍物的区域,可根据粪污量设置行驶速度,以提高作业效率。
2 清粪机器人控制系统设计
2.1 硬件系统
清粪机器人硬件系统是保障其清粪效率的重要前提,决定了清粪机器人的工作性能。硬件系统由控制器、传感器模块、信号处理模块、储水处理模块、充电模块、IMU(Inertial Measurement Unit,惯性测量单元)模块、编码器以及驱动模块组成,如图4所示。
图4 清粪机器人硬件系统框图Fig.4 Block diagram of the excrement cleaning robot hardware system
控制器包含上层控制器和底层控制器。上层控制器选用具有功耗低、耐腐防潮、耐高低温、能在恶劣环境中稳定运行且满足SLAM算法实时运算要求的双核四线程的工控机;底层控制器为STM32 ARM系列主控芯片,用于获取超声波传感器、编码器、IMU模块和水位探头等的信号,来控制清粪机器人实现相关动作。传感器模块包含激光雷达和超声波传感器。激光雷达传感器可实现270°范围、最大测量范围100m的二维区域检测和轮廓扫描,具有高精度、高分辨率、高速测量等特点,用于扫描养殖舍环境信息,结合Karto_slam算法构建环境地图;超声波传感器选用封闭式一体防水探头,工作温度在-15~+60℃之间,可适用于潮湿、恶劣的场合,用于探测和传输障碍物的距离信息到底层控制器;信号处理模块为遥控器,遥控器选用MC6C航模型,可实现远距离控制,操作简便;储水处理模块包含加水模块和喷水模块。
2.2 软件系统
清粪机器人软件部分是在ubuntu16.04操作系统下,结合ROS 系统,在QT 5.9下使用C++和Python混合编程。在ROS机器人操作系统中集成了Rviz数据可视化平台,实时、直观地显示构建的养殖舍环境地图,监测清粪机器人在养殖舍内作业的动态,方便操作人员进行系统参数设置与修改。
建图采用激光雷达传感器(WR-SD3000),通过上层控制启动底盘节点和建图SLAM节点,通过以太网通信将获取的点云数据传送至上层控制器,由工控机处理数据并利用Karto_slam算法构建地图。
导航框架与上层控制器之间通信采用ROS的多机通信功能,上层控制器开启底盘节点和movebase节点,使用AMCL定位算法和robot_pose_ekf扩展卡阿尔曼滤波算法对IMU和ODOM里程计进行融合实现导航。
路径规划采用Navigation功能包实现,利用zkwl_robot_start 通过可视化工具Rviz与清粪机器人进行交互,ros_robot_control 根据发出的指令启动相应的control,经过A*和D*算法运算后,将结果发送至底层控制器,最终实现对清粪机器人的运动及充电与加水控制。
3 试验分析
3.1 试验场地
为了验证所设计的清粪机器人的性能,以猪为测试对象。试验在广州市增城区某猪场,以人工清洗为对照组、清粪机器人清洗为测试组,选取两栋养猪量相同的猪舍。每栋舍内有16栏,每栏尺寸为4m×5m,放置自动饲喂器1台,养殖20头猪只。在猪只同一天出栏后(因非瘟防控要求,只能在无猪的情况下测试),人工清洗A栋舍,清粪机器人清洗B栋舍。
3.2 测试前的准备
1)通信互联。清粪机器人运行时,算法运算需要采集大量实时的传感器数据,受网络延迟影响,在清粪机器人上搭载工控机,实时生成的地图数据可通过无线网络将工控机与远程笔记本进行连接。试验中,将流量卡直插于无线路由器端,将工控机与远程笔记本的IP地址进行固定,可有效避免每次需要使用时因IP不一致而无法实现通信互联。在Rviz界面,将固定好的IP输入并点击连接按钮,界面中机器人状态显示在线则表明工控机与远程笔记本之间的通信连接成功。连接成功后的界面如图5所示。
图5 工控机与远程笔记本实现通信互联的界面Fig.5 Interface of communication between IPC and remote notebook
2)环境建图。在电脑端Rviz界面启动底盘并点击启动建图按钮,人工遥控清粪机器人在围栏内行走1圈,界面内会生成完整地图,此时点击保存地图并关闭建图。根据路径规划算法、清粪机器人行驶路线设计应用、猪场实际情况,设计如图6所示的路径图。
图6 清粪机器人运动轨迹设计图Fig.6 The design diagram movement track of the excrement cleaning robot
3)设置巡航点。根据运动轨迹设计图和扫描地图,在电脑端Rviz界面设置清粪机器人行驶速度0.23m/s和巡航点,设置完毕后等待开启巡航。
4)回充测试。清粪机器人的电量和水量会实时在Rviz界面显示。为了便于在作业中出现电量或水量低于设定的最小值,清粪机器人能返回到充电与加水处,当地图建立完成后,可先在界面内设置回充点。清粪机器人因选用额定容量为80Ah的电池,续航时间长,所以在本次测试前提前将电池进行了放电处理(剩余电量略高于最小值)。作业中,当清粪机器人电量或水量低于设定最小值时,能自动找准回充点进行充电和加水。
3.3 清粪作业
当清洗人员及清粪机器人两者的清洗前工作准备完毕后,同时开始作业,并记录开始时间。因未找到猪舍地面清洁的相关标准,以人工清洗的清洁度为参考,达到日常饲养人员清洗的清洁度即可。本次测试相关指标对比情况如表1所示。表1中,人工清洗模式下,参与人员数按照该猪场日常清洗要求配备;清粪机器人清洗模式下的参与人员为1人,主要用于清粪机器人开始工作前的准备,如扫描建图、电脑参数设置等。在固定猪场清洗时,只需第1次完成准备前工作,后期可自动作业,无需人工参与。
表1试验对比情况Table 1 Experimental comparison
3.4 试验结果
通过在猪场的测试,清粪机器人的建图、导航、充电与加水功能均可顺利实现。根据表1的数据,清粪机器人与人工清理相比,在同等养殖量和清洁度情况下可节省2名人工;同时,工作时长可减少80%,有效降低了作业强度;人工清理模式因操作者疲劳而不能长时间工作,而清粪机器人在电量充足的情况下可持续工作8h,其每次充电达到100%需持续充8h。
4 结论
1)基于养殖舍内粪污及漏粪板情况开发的清粪机器人系统,集成了传感器扫描建图与避障、直流无刷电机、橡胶刮粪板于一体,融入ARM系列嵌入式开发,降低了人工清粪强度及成本。
2)清粪机器人控制系统为上层控制器与底层控制器相结合,核心硬件系统采用高性能器件,软件平台拥有大量的功能包,支持多种编程语言,程序编译环境稳定,代码复用率高,提高了开发效率。
3)通过在猪场环境内测试,系统可实现建图、导航、清粪和回充功能,符合预设基本要求。