王新彦,张凯,盛冠杰,易政洋
(江苏科技大学机械工程学院,江苏镇江,212100)
在校园草坪及别墅区草坪的日常维护中,割草机器人在花丛与树木较多环境下作业时,由于传感器的不稳定性易发生漏检及避障失效[1-2]。为了降低割草机器人的漏检率及提高其避障能力,本文对割草机器人的稳定性展开了研究。
近年来国内外研究机构和学者已经研究出各类割草机器人[3-5],如:Friendly Machines公司设计的Friendly Robomow割草机器人、南京理工大学机械学院研究的MORO割草机器人[6]等,这些割草机器人普遍成本较高,并不适合推向市场。目前已经推向市场的割草机器人以围线割草机器人为主,通过GPS技术实现定位,但是这些方法在障碍物较多场景下定位效果较差,并且铺设电缆成本较高,效率较低,所以本文使用SLAM技术实现割草机器人定位。
相关2D激光SLAM技术方面[7-10],尹政等[11]针对变电站等复杂环境地图构建问题,分析对比了目前几种主流激光SLAM算法[12-13],以Cartographer SLAM作为研究基础,该方法基于双单线激光雷达互相垂直的方法实现三维建图的新系统。该方法通过增加传感器方式实现多维感知,需要一定经济成本且在导航时有一定困难,没有有效解决单线激光雷达室外多维感知问题。
针对上述问题,本文提出了一种自动调节激光雷达与SLAM融合的方法,通过Gazebo模拟器[14]与ROS[15]对割草机器人进行三维建模与仿真平台搭建来综合探究割草机器人感知形状不规则花丛的有效性。
割草机器人总体结构设计示意图如图1所示,设计一种基于单线激光雷达自动升降装置的割草机器人,实现单线激光雷达高度的无级调节。以Jetson Nano作为硬件开发平台,以STM32对步进电机进行控制实现电机正反转,从而驱动丝杆滑台水平往复运动。以步进电机作为激光雷达升降装置的动力,以激光雷达为主结合丝杆滑台、刀盘等完成整个割草机器人平台的搭建。
图1 总体示意图
图2为嵌入式割草机器人平台实物图,主要由单线激光雷达、Jetson Nano、丝杆滑台、STM32、锂电池、滑轮、激光雷达架等组成。
激光雷达升降装置主要技术参数,如表1所示。
图2 嵌入式割草机器人平台实物图
表1 激光雷达升降装置主要技术参数Tab. 1 Main technical parameters of the LiDAR lifting device
本文主要是用TOF的单线激光雷达,可以抗室外强光的照射,激光雷达固定在激光雷达架中。单线激光雷达的结构设计最主要目的是如何实现其自动升降,具体结构如图3所示。
图3 割草机器人剖视图
该结构的工作原理是:锂电池为Jetson Nano开发板提供电量,Jetson Nano为STM32单片机提供程序指令,STM32为电机驱动器提供控制指令,电机驱动器为电机提供正反转控制指令,电机提供动力给丝杆滑台,丝杆滑台将旋转运动转化为直线运动,滑块中使用绳索与其他固定环相连,激光雷达固定在雷达架上,雷达架在导轨中做往复直线运动,且滑块在丝杆滑台运动的长度等于激光雷达在导轨运动的长度,当滑块运动到两个极限位置时则是激光雷达在导轨中运动的最低点与最高点。
实现单线激光雷达竖直运动,主要结构部分是由滑轨和雷达架组成,绳索给雷达架提供动力,并在雷达架上安装了滚轮,有利于减少与滑轨的摩擦阻力,如图4和图5所示。
图4 滑轨内部结构图
图5 滑轨局部装配视图
本文选用的滑轨材料为铝合金,通过屈服强度计算公式
Re=Fe/So
(1)
其中屈服时恒定力Fe为3 N,面积So为1.63×10-2m2,得出最大屈服强度Re为1.838×102N/m2,从图6中Solidworks有限元分析可知屈服极限为3.7×108N/m2,因此该结构设计满足设计要求。
图6 滑轨应力分析图
单线激光雷达的运动是由丝杆滑台中滑块的水平位移控制,单线激光雷达上下调节示意图如图7所示。其中,O3、O4位置分别为单线激光雷达的两个极限位置,在O3处是单线激光雷达的位置为350 mm,在O4位置为50 mm。单线激光雷达在该范围内可以实现无级调节,可以有效地避免漏检现象。丝杆滑台中滑块移动速度v为56 mm/s,从O3位置到O4位置长度变化ΔL为300 mm,可求得所需移动时间,计算公式如式(2)所示。
(2)
可知所需的加速度,计算公式如式(3)所示。
(3)
图7 升降装置调节示意图
Gazebo可以通过统一的机器人描述格式(URDF)文件模拟世界环境、物理模型、传感器和控制系统。本次使用Gazebo模拟器创建教学楼草坪的环境。
图8所示为Gazebo创建的仿真环境,设置物理参数,如重力。模拟的世界环境包括花、树木和假山,它们高度不同,其中图8中1表示白玫瑰花丛,它的高度低于单线激光雷达安装高度,而图8中7表示花丛和树木(在树的周围种植花),图8中7蓝色部分为花丛,红色与黄色表示为树木,树木的高度高于单线激光雷达设定高度,但是花丛低于单线激光雷达设定高度。图8中6表示自动升降单线激光雷达割草机器人。图8中3、4、5表示其他种类的花品种且高度高于激光雷达高度。图8中2为假山,其余都为树木。RVIZ是ROS自带的图形化工具,图9是根据图8创建的教学楼草坪,基于RVIZ(图形化工具)和Cartographer(用激光雷达实现同步定位与地图构建)算法创建的二维环境地图。
图8 Gazebo创建教学楼草坪环境
图9 RVIZ创建教学楼草坪二维地图
基于单线激光雷达自动升降装置的割草机器人的核心部分也是其难点是控制系统与SLAM算法融合的设计,主要分为两个部分:一是SLAM算法的实现部分;二是驱动控制部分,即Ros_Control程序与SLAM算法的融合。
系统的组成包括供电模块、单线激光雷达采集模块、中央处理单元(Jetson Nano)、控制模块(Ros_Control)等,如图10所示。
图10 控制系统硬件构成
单线激光雷达扫描割草机器人前方障碍物情况,将采集的信息传递给Jetson Nano进行算法计算判定,决策单线激光雷达升降装置是否变化,然后再将决策信息传递给Ros_Control,Ros_Control可以控制电机驱动丝杆滑台,实现单线激光雷达上下移动,从而建立精确的栅格地图。
3.1.1 ROS_Control控制描述
为了控制激光雷达实现竖直移动,在Gazebo中引入Ros_Control这个控制插件,包括控制器接口、控制器、传输管理器、硬件接口和控制工具箱,所有这些结合起来将对机器人的关节执行器进行交互和控制。
模拟割草机器人的底层控制系统的流程如图11所示。通过启动包含割草机器人URDF文件的ROS程序包,可以在Gazebo的虚拟世界中打开模拟模型。其中在Mower URDF文件中的传输标签定义了命令界面的类型以及关节和执行器之间的关系。Ros_interface包含的可用控制器插件列表,比如关节的状态、关节的位置等;Controller Manager相当于控制管理器,提供一种通用的接口来管理不同的Controller;Controller完成每个joint控制后,然后请求下层硬件资源并提供了PID控制器,控制器将关节状态和设定点作为输入,并输出位置或速度;Hardware Resource Interface Layer指为上下两层提供硬件资源的接口;Hardware_interface::RobotHWSim包含关节限位、力矩转换、状态转换等功能。
图11 底层控制系统流程
该算法的实现平台是机器人操作系统ROS,在此系统上进行算法的编写,然后与C++语言进行联合编程,具体算法流程如图12所示。
使用单线激光雷达扫描前方障碍物的点云信息,经过对运动模型、观测模型等模型建立,确定障碍物在栅格地图的位置,并计算出障碍物(花丛)的高度。然后,对所提取的花丛的高度LAB进行区分,分为以下3种情况:(1)LAB>35 cm;(2)5 cm≤LAB≤35 cm;(3)LAB<5 cm,如图12所示。基于以上三种情况建立不同的对策,决策是哪一种情况并将处理结果经Ros_Control控制旋转系统驱动单线激光雷达上下移动。如遇到第(2)种情况时,要先计算出单线激光雷达与花丛之间的差值
Δe=35-LAB
(4)
然后,确定伸缩量ΔL,ΔL=Δe±10 mm(10 mm用于调解时存在必要误差)。
图12 算法流程图
为了验证本文中设计的基于单线激光雷达自动升降装置的割草机器人漏检与避障性能,针对学校的教学楼草坪区进行了仿真与实际场景试验,对改进前与改进后分别进行了20次试验。其中,试验分为三种情况:第1类型为草坪中出现低于激光雷达安装高度的花丛,草坪障碍物总数为9个;第2类型为草坪中出现高于激光雷达安装高度的不规则花丛,草坪障碍物总数为9个;第3类型为草坪中既出现高于激光雷达安装高度的花丛,又出现低于激光雷达安装高度的不规则花丛,草坪障碍物总数为10个。花丛高度范围为5~20 cm,试验结果如表2所示。
表2表明:该割草机器人改进后的平均漏检率达到0%;平均相对误差率为2.03%(误差值与实际距离的比值即为相对误差率);平均避障率为93.33%,改进后的割草机器人可以有效地建立精确的栅格地图,为割草机器人实现良好定位与避障提供了有效保障。
图13与图14对比可知,改进后可以确定花丛1在栅格地图中位置并且在导航时可以有效地避开花丛,而不会撞到花丛。图15与图16对比可知改进后可以感知不规则花丛的位置,图15中草丛7在栅格地图中表示为圆点,而在图16表示为一个矩形,在做避障时机器人根据障碍物大小进行有效避障。图17与图18对比可知改进后可以检测出高于激光雷达安装高度的花丛和低于激光雷达安装高度的不规则花丛,改进后图中花丛1和花丛7被有效检测出来。图19是该割草机器人在学校教学楼实际场景测试的SLAM建图效果,可以清晰表明各个障碍物的位置和割草机器人的位姿,图中草丛8表示为低于激光雷达高度,9表示高于激光雷达高度的草丛,通过自动升降装置可以有效建立栅格地图。
表2 割草机器人建图试验对比Tab. 2 Comparison of mowing robot map building tests
图13 改进前(1)建图效果
图14 改进后(1)建图效果
图15 改进前(2)建图效果
图16 改进后(2)建图效果
图17 改进前(3)建图效果
图18 改进后(3)建图效果
图19 基于该割草机器人的实际场景SLAM测试
1) 提出基于单线激光雷达自动升降装置的割草机器人的设计思想,使用方便快捷,实现单线激光雷达运用于室外草坪环境中。
2) 利用SLAM算法与单线激光雷达升降控制融合,避免因单线激光雷达误判障碍物位置而出现漏检或碰撞的情况。改进后与改进前相比,相对误差率降低了1.04%;漏检率降低为0;避障率提高93.33%。
3) 运用Gazebo模拟器创建仿真环境,利用Ros_Control有效地提供激光雷达升降装置的驱动控制,最后利用仿真试验和真实环境试验验证该方法的可靠性。