APP下载

基于分层代价地图的光伏电站清扫机器人导航方法

2022-03-29张经炜刘永杰

关键词:边界层图层代价

丁 坤,黎 彰,张经炜,王 立,刘永杰

(1.河海大学机电工程学院,江苏 常州 213022; 2.常州市光伏系统集成与生产装备技术重点实验室,江苏 常州 213022)

光伏发电广泛地应用在我国的能源生产领域中,它对改善生态环境、节能减排和建设可持续发展社会起到了积极的促进作用[1]。研究表明,光伏组件表面积灰严重影响组件的发电效率和可靠性。Jiang等[2]发现,组件表面灰尘沉积密度与发电效率的降低呈近似的线性关系,密度由0积累至22 g/m2时,对应组件发电效率的降低率由0升至26%。此外,光伏面板上的积灰可能会导致局部阴影,从而造成热斑效应,损毁光伏组件[3-4]。以光伏电站清洁机器人来代替人工完成清洁工作,是提升光伏阵列运行维护效率的发展趋势[5],因此国内外有关学者对其展开了相关研究。

已知便携式光伏电站清扫机器人一般采用差速式的行走机构,爬行在光伏阵列表面上,通过高速转动的毛刷进行清洁工作[6]。由于光伏阵列四周没有防护装置,机器人需要添加传感器进行边界检测,实现自我保护。对于清扫机器人边界检测问题,王军[7]使用电感式接近开关对组件边沿进行限位;侯杰等[8]对以3个超声波传感器为主体的边缘检测单元进行边界检测;张婵等[9]对光伏阵列图像进行边缘识别,以获取光伏阵列边界信息,从而进行边界检测。上述方法测量范围小,易受测量精度的影响,从而造成机器人不能提前做出反应,导致机器人有跌落光伏阵列的风险。此外,通过传感器获取的实时边界信息也会受外界因素的影响,如电感式接近开关会受磁场干扰而产生误动作[10],图像边缘检测容易收到强光的影响而失效[11],最终导致机器人跌落。为了解决机器人跌落的问题,引进了代价地图算法。传统的代价地图算法在障碍物周围设置一层安全缓冲区,从而在最短无碰撞路径搜索方面具有一定的优势,但该算法在信息分类方面有缺陷,限制了功能的可拓展性,也逐渐表现出应对复杂环境时障碍物划分不灵活、路径规划不理想等不足[12]。

本文在传统代价地图的基础上,将地图细分为不同的独立代价层并添加光伏阵列边界层,共同组成分层代价地图,进而提出一种基于分层代价地图的导航方法。①设计一套基于开源机器人操作系统(robot operating system,ROS)的系统架构;②分析机器人的工作环境,利用光电式接近开关识别阵列边界,同时控制系统采集阵列边界的尺寸信息并进行相应的处理,以插件的形式,在经典分层代价地图的基础上,增加光伏阵列边界层,完成图层的边界与代价值的更新,构建出机器人清扫区域地图,使机器人的工作空间约束在光伏阵列内;③基于分层代价地图,采用多点巡航的全覆盖清扫策略,实现清扫区域全遍历。通过测试本文方法,机器人实现了合理避障并在指定区域内运动,解决了机器人跌落光伏阵列的问题,有效完成了清扫任务。

1 清扫机器人系统结构

如图1(a)所示,光伏电站清扫机器人以带有滚刷的履带式移动机构作为执行机构来完成清扫工作。如图1(b)所示,光伏电站清扫机器人系统由决策层、执行层和感知层组成。机器人决策层主要负责精确定位与清扫区域建图、清扫路径规划与导航以及人机交互等功能,同时还兼具对外部传感器的数据采集以及与执行层的交互功能。机器人执行层主要负责根据决策层下达的控制指令转换电机和滚刷的转速,同时向决策层上传采集到的外部环境和内部状态信息。机器人感知层选用激光雷达进行实时障碍物检测,同时以6个光电接近开关组成边界检测单元,对机器人进行双重保护,该信号还用于构建环境地图。清扫机器人核心部件选型如表1所示。

图1 光伏电站清扫机器人的系统结构Fig.1 System structure of photovoltaic cleaning robot

表1 清扫机器人核心部件

为了实现上述功能,采用ROS作为机器人决策层的操作系统,其具备点对点拓扑的特点。精确定位和建图等功能模块被集成在ROS不同的功能包中,每一个模块都可以单独设计和编译,并通过松耦合方式连接,简化了机器人平台下的复杂任务创建与稳定行为控制[13]。

2 清扫区域地图的建立

2.1 分层代价地图

2014年,Lu等[14]提出了分层代价地图的概念,即根据不同的语义,将原有的代价地图细分为不同的独立代价层,主要有静态地图层、障碍物层、膨胀层等,每一层专注于某一特性类型的障碍物,并共同组成主代价地图以服务于路径规划算法。史满翔等[15-16]基于行人轨迹预测生成包含预测阶段社会代价的分层代价地图,提供预测阶段的社会约束信息,提高了机器人的环境适应能力。由此可见,可通过分层代价地图添加外界约束信息,借此提高光伏电站清扫机器人应对环境变化的能力。

2.2 清扫区域地图配置方案

光伏电站清扫机器人工作在存有倾斜角度且距离地面有一定高度的光伏阵列表面上,多数情况下四周是没有明显建筑特征的空间,大多传感器无法获取有效的数据信息,导致无法采用视觉SLAM中的方法进行地图的构建。分层代价地图可以添加感知层无法获取的外界约束信息,因此清扫区域地图采用基于分层代价地图的方法建立。如图2所示,针对全局路径规划与局部路径规划的特性分别建立两幅代价地图。

图2 分层代价地图配置方案Fig.2 Configuration scheme of hierarchical cost map

为了使清扫机器人工作空间约束在光伏阵列内,主要进行以下两方面的整改。

a.静态地图层。为实现全局路径规划,机器人需要一幅超出其传感器感知范围的地图,以定位静态障碍物的位置。针对光伏电站清扫机器人的工作环境,建立一幅比清扫区域面积大的空白地图,并加载到主代价地图中。

b.光伏阵列边界层。该图层为在经典分层代价图层基础上添加的新图层,是清扫区域建图的关键图层。将光伏阵列边界标记为障碍物属性,但与真实障碍物不同,实质是一种虚拟的障碍。该图层存在于膨胀层之上,膨胀层不应对其产生膨胀作用,以避免膨胀层干扰机器人的全覆盖清扫任务。由于可以真实地反应阵列边界,所以被标记的虚拟障碍物形状应与阵列边界形状一致,机器人在该障碍物边框的限制约束下导航,避免了跌落光伏阵列的风险。

构建光伏阵列边界层,需要确定光伏阵列的边界尺寸。如图3(a)所示,建立二维世界坐标系,设定O为坐标系原点。假定机器人从中心点O点移动到P点,当接近开关J1、J2、J3和J4同时为远离状态时读取世界坐标系统P坐标的(x,y)。则角点的m1坐标为

图3 光伏阵列边界层创建过程Fig.3 Creating process of photovoltaic array boundary layer

x1=x+Δlcosθ

(1)

y1=y+Δlsinθ

(2)

式中:Δl为机器人滚刷前端中部m与中点P的两点间距,mm;θ为机器人转角,rad。同理,控制机器人向其余角点移动并得到对应的角点坐标。

确定了光伏阵列边界的角点坐标之后,进入图层的创建过程,具体步骤如图3(b)所示:①进行图层的初始化,包括初始程序变量、初始地图边界,获取分层代价地图的指针等内容。②从参数服务器加载由机器人自动识别的光伏阵列边界角点坐标参数,对角点坐标进行取整处理。③以两点确定一条直线的原则,通过对相邻角点的横、纵坐标进行归一化处理,并结合地图分辨率确定相邻角点之间所有障碍点的坐标,这些连续的障碍点构成了相邻角点的连线。④执行地图更新过程,以光伏阵列边界作为更新图层的边界,并存储所有障碍点的坐标。⑤将确定的障碍点赋予占据属性的代价值,从而完成光伏阵列边界图层的建立,最后将光伏阵列边界图层以插件的形式加载到分层代价地图中。

3 导航功能的实现

3.1 导航框架

如图4所示,move_base包是ROS的导航框架,提供了ROS导航的配置、运行、交互接口[17]。在move_base包中构建清扫区域地图后,全局路径规划器接收构建好的全局代价地图,根据获取的坐标转换关系和目标点,利用算法实现清扫机器人的全局路径规划。局部路径规划器接收局部代价地图,根据获取的坐标转换关系和IMU/里程计的融合定位数据,机器人沿着规划好的全局路径移动的同时,根据DWA算法对路径进行优化和更新。最终将规划后的控制指令,即线速度与角速度发布于机器人执行层控制系统,实现机器人的导航。

图4 清扫机器人的导航框架Fig.4 Navigation framework of cleaning robot

3.2 基于多点巡航的全覆盖清扫策略

为了实现对光伏阵列绝大部分面积的清扫,设计了基于多点巡航的全覆盖清扫策略。如图5(a)所示,清扫机器人选用弓字形的清扫路径,可以在地图最外侧开始移动,通过到达边界的折返动作,实现对地图的全覆盖。如图5(b)所示,根据光伏阵列边界尺寸、机器人长度以及滚刷长度,在靠近光伏阵列边界的位置设置目标点。机器人从起点出发,利用move_base导航系统依次遍历每个目标点,最终回到起点,完成整个地图的遍历。该过程的执行基于ROS的客户端/服务器架构。

图5 多点巡航全覆盖清扫流程Fig.5 Full coverage cleaning process based on multi-point cruise

具体流程为:①初始化设置,主要包括初始化已完成目标点数量、总目标点数量、运行距离和起始时间等变量;②从参数服务器读取光伏阵列边界尺寸参数、机器人尺寸参数和全覆盖清扫次数等信息;③默认机器人从阵列右下角出发,此时机器人在地图坐标系上为原点,根据参数器得到的相关参数,计算可以覆盖整个区域的所有目标导航点,建立所需的目标导航点集;④与move_base服务器连接成功后,按照顺序从导航点集中提取目标点,将上轮循环的导航点作为本轮循环顺序的初始导航位置,计算本轮循环行驶到目标导航点的行驶距离;⑤存储本轮循环的位置变量,用于下轮计算;⑥发送目标点至move_base服务器,等待服务器反馈信息,查看是否成功到达目标点;⑦计算本轮导航所用的时间,输出本次导航的行驶距离和运行时间至终端界面,方便用户查看,并从点集中提取下一目标点,开始下一轮导航,直至到达最终目标点。

3.3 单次清扫的整体规划

张宇等[18]发现光伏组件表面积灰导致发电量下降最明显的是前15 d,其功率衰减了13.08%,而后15 d功率衰减量仅增加5.45%。考虑清洗费用和年发电损失的关系,该最小值所对应的清洗周期约为20 d[19-20],因此采用20 d为周期进行一次清扫的整体规划。此外,光伏板面上局部有可能存在难以通过一轮清扫去除的污物,如阵列边角大量堆积的灰尘、雨后产生的沟壑状的污渍和鸟粪等顽固污秽,因此要对这些区域进行第二轮清扫。

针对残留污染物的清扫方案,提出具体判断方案。如图6所示,清扫机器人根据清扫区域建立地图并进行路径规划;机器人进行导航和开始清扫工作,清扫过程中,实时检测清扫区域是否全覆盖,直至第一轮清扫结束。调取上层监测系统信息,将清扫后的各区域组串支路电流和工作电流比较下降是否超过20%;串支路电流与清扫后的相邻区域对比下降是否超过4%;选取另一光伏电站同时刻、同辐照度与清扫后的区域对比下降是否超过4%[21-22],3个条件同时符合则判断光伏阵列上残留灰尘;对残留灰尘的区域进行第二轮清扫;清扫结束,回收机器人。

图6 单次清扫策略整体规划Fig.6 Overall planning of single cleaning strategy

4 试验验证

4.1 有障碍环境下的路径规划试验

试验条件和参数如下:阵列尺寸横×纵为3.0 m×3.3 m,光伏阵列倾斜角为10°,机器人大小(长×宽)为1.00 m×0.55 m,移动速度为0.15,机器人质量为25 kg。

图7(a)为光伏阵列表面上进行的试验,模拟安装工具进入清扫区域的实拍图,图7(b)为rviz界面,显示了基于分层代价地图清扫区域的完整构建结果。灰色区域为静态图层,粉色矩形框为光伏阵列边界,清扫机器人只能在此边框内进行路径规划。绿色实线为路径规划结果,黑色实线为激光雷达识别的障碍物,该障碍物四周为膨胀区域。试验中清扫机器人从光伏阵列右下角出发,在靠近光伏阵列边界处设置目标导航点。通过试验分析可得,基于分层代价地图建立的清扫区域地图和设计的路径规划系统是合理并有效的。

图7 有障碍环境下的路径规划Fig.7 Path planning in obstacle environment

4.2 光伏阵列边界层的防跌落试验

机器人在不构建光伏阵列边界层的情况下,以传统代价地图算法为基础进行导航运动。如图8(a)所示,机器人可行驶出光伏阵列边界外,有跌落光伏阵列的风险,但系统对此未有应急处理方案。图8(d)中黑线为试验根据光伏阵列尺寸在rviz系统绘制光伏阵列地图线。

图8 光伏阵列边界层的防跌落试验Fig.8 Experiment on preventing falling of PV array boundary layer

试验根据光伏阵列尺寸构建光伏阵列边界层,在光伏阵列边界层外设置目标导航点,使机器人向该点前进。当机器人接近光伏阵列边界层后,机器人紧急刹停,停止路径规划并进入待机模式,同时系统自动发出警告。机器人进行手动控制时,也具备紧急制动功能。手动遥控机器人向光伏阵列边界层运行,在接近光伏阵列边界层后,机器人会紧急刹停并断开遥控控制。通过试验分析可得,分层代价地图的构建可使机器人能够有效识别边界信息并提前做出反应,从而有效地解决机器人跌落光伏阵列的问题。

4.3 多点巡航的全覆盖清扫试验

试验根据光伏阵列边界尺寸、机器人长度以及滚刷长度,在靠近阵列边界的位置设置目标导航点集。设置机器人从光伏阵列右下角出发,最大线速度为0.15 m/s,最大角速度为0.6 rad/s,机器人依次向设置的导航点前进,完成对清扫区域的全覆盖,最终回到原点。图9(a)(b)(c)为机器人全覆盖清扫的实拍过程,图9(d)(e)(f)为机器人全覆盖清扫的路径规划结果,其中绿实线为采用A星算法的全局路径规划,红实线为采用DWA算法的局部路径规划,表2为机器人清扫的具体情况。通过该试验分析可得,基于多点巡航的全覆盖清扫策略,机器人可以较好地完成清扫任务,该方法设计合理。

图9 基于多点巡航的全覆盖清扫Fig.9 Full coverage cleaning based on multi-point Cruise

表2 机器人清扫试验数据

4.4 已清扫区域发电性能检测试验

选取6块相同材质、相同面积的光伏组件构成两个清扫区域,在相同倾角和辐照度下,从上层监测系统提取数据对机器人清扫过的区域与未清扫区域进行对比。如图10(a)所示,未清扫区域的最大功率点下降,曲线发生变形扭曲。经过机器人全覆盖清扫的区域,最大功率点上升,实测电流-电压特性曲线趋于正常(图中环境温度为23.9℃;辐射度为546.9 W/m2)。如图10(b)所示,清扫机器人对某一清扫区域进行全覆盖清扫后,获取其10 min的实测功率曲线。由实测功率曲线可得,已清扫区域的实测输出功率相对于未清扫区域,经计算平均增加约14%。

图10 光伏组件阵列输出曲线Fig.10 Output curve of PV module array

5 结 语

在光伏阵列试验平台上进行了有障碍环境下的路径规划试验、光伏阵列边界层的防跌落试验、多点巡航的全覆盖清扫试验和已清扫区域发电性能检测试验,结果表明,本文提出的基于分层代价地图的导航方法解决了光伏电站清扫机器人可能出现的跌落问题,并且机器人可以实现合理避障功能和全覆盖清扫工作。清扫后光伏阵列实测电流-电压特性曲线趋于正常,输出功率上升,机器人能够高效地完成清扫工作。

猜你喜欢

边界层图层代价
土壤一维稳态溶质迁移研究的边界层方法比较*
一维摄动边界层在优化网格的一致收敛多尺度有限元计算
压力梯度对湍流边界层壁面脉动压力影响的数值模拟分析
为《飞舞的空竹龙》加动感
基于HIFiRE-2超燃发动机内流道的激波边界层干扰分析
解密照片合成利器图层混合模式
爱的代价
幸灾乐祸的代价
代价
用Photoshop图层技术制作精美邮票