技术领域
[0001] 本发明涉及智能家电技术领域,更具体的,涉及:1、一种基于局部社区发现的房间智能清理方法;2、一种基于局部社区发现的房间清理装置。
相关背景技术
[0002] 随着科技的发展,房间清理的工作已出现向智能化发展的趋势,例如扫地机器人。也出现了一些对房间进行智能清理的装置,例如带有机械臂的可移动清理机器人,但这类机器人大多依靠人工控制,功能不够完善。
[0003] 其中,局部社区发现是一种旨在发现社交网络、交通网络、引文网络和生物网络等复杂网络中的社区结构的重要技术,对于理解这些复杂网络的特征非常重要。
[0004] 例如专利号为CN116720975A的中国发明专利即公开了基于结构相似的局部社区发现方法及系统。发明人考虑将局部社区发现应用到房间清理工作中,但发现上述专利的方法过于复杂、并不能很好地应用到房间清理工作中。因此,发明人提出了一种基于局部社区发现的房间智能清理方法及装置。
具体实施方式
[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033] 需要说明的是,当组件被称为“安装于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。当一个组件被认为是“固定于”另一个组件,它可以是直接固定在另一个组件上或者可能同时存在居中组件。
[0034] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。
[0035] 实施例1
[0036] 本实施例1公开了一种基于局部社区发现的房间清理装置,其为带有摄像头和机械臂的可移动清理机器人。
[0037] 房间清理装置底部设置有可控车轮——例如麦克纳姆轮等,使其能够在目标房间内自由移动。其中,摄像头用于对目标房间内的情况进行拍摄;机械臂具有多个自由度,用于待处理物品进行相应操作——挪动位置或收纳。
[0038] 本实施例1同步公开了一种基于局部社区发现的房间智能清理方法,即通过上述的房间清理装置对目标房间进行清理。
[0039] 参看图1,基于局部社区发现的房间智能清理方法包括以下步骤:
[0040] 步骤一,通过摄像头获取目标房间内的当前图像,并与目标房间内的初始图像进行对比,以分辨出当前是否存在M个待处理物品G1~GM。
[0041] 其中,目标房间内的初始图像对应于目标房间内所有物品处于清理完成后的状态。
[0042] 具体的,步骤一包括:
[0043] S11,预先对已完成清理的目标房间进行扫描,得到目标房间内的初始图像;
[0044] S12,采用目标检测算法(例如YoloV8算法)对初始图像进行处理,得到初始图像中的所有物品信息——物品种类、物品所处的原始位置等;
[0045] S13,从当前时刻房间清理装置所在位置通过摄像头对目标房间进行扫描,得到目标房间内的当前图像;
[0046] S14,采用目标检测算法(例如YoloV8算法)对目标房间内的当前图像进行处理,得到当前图像内的所有物品信息——物品种类、物品所处的当前位置等;
[0047] S15,将目标房间内的当前图像与初始图像中的所有物品信息进行比对,以分辨出当前是否存在G1~GM;
[0048] 其中,若某个待处理物品仅需挪动位置、无需收纳,则该待处理物品为待复位物品;
[0049] 若某个待处理物品不仅需要挪动位置、还需要收纳,则该待处理物品为待收纳物品
[0050] 需要注意的是,若当前存在G1~GM,则进行步骤二;否则结束。
[0051] 步骤二,将G1~GM转换成节点表示得到M个给定节点O1~OM,并将O1~OM分类为Y个待收纳节点Red1~RedY、N个待复位节点Yellow1~YellowN;Y+N=M。
[0052] 具体的,步骤二包括:
[0053] S21,以当前时刻房间清理装置所在位置作为参考原点,构建出三维直角坐标系;
[0054] S22,获取当前图像的点云数据、并处理成三维模型,分别得到G1~GM的体积、与房间清理装置的距离,并匹配到三维直角坐标系中以形成O1~OM;
[0055] S23,依据待处理物品的类型,将O1~OM划分为Red1~RedY、Yellow1~YellowN;
[0056] 其中,若某个待处理物品为待收纳物品,则该待处理物品对应的给定节点为待收纳节点;
[0057] 若某个待处理物品为待复位物品,则该待处理物品对应的给定节点为待复位节点。
[0058] 需要注意的是,若N>0,则进行步骤三;否则,进行步骤六。
[0059] 也就是说,若存在待收纳物品,则先处理待收纳物品;否则先处理待复位物品。
[0060] 步骤三,基于Red1~RedY构建出A个候选收纳局部社区CR1~CRA。
[0061] 参看图2,步骤三包括:
[0062] S31,从Red1~RedY中寻找出A个种子节点s1~sA;
[0063] 具体的,S31包括:
[0064] S311,分别计算出Red1~RedY的偏置Add_Bias1~Add_BiasY;
[0065] 其中,
[0066] 式中,Add_Biasy表示Redy的偏置;y∈[1,Y];Redy表示第y个待收纳节点;Volume_redy表示Redy对应的待处理物品的体积;
[0067] S312,依据Add_Bias1~Add_BiasY分别计算出Red1~RedY的ReLU激活函数值ReLU1~ReLUY;
[0068] 其中,
[0069] 式中,ReLUy表示Redy的ReLU激活函数值;
[0070] S313,遍历Red1~RedY,得到s1~sA、并组成种子节点集合S。
[0071] 其中,若某个待收纳节点的ReLU激活函数值非零,则将某个待收纳节点作为1个种子节点。
[0072] S32,以机械臂的操作最大距离DistanceMax作为阈值,以第a个种子节点Sa为中心构建出第a个候选收纳局部社区CRa;a∈[1,A]。
[0073] 具体的,S32包括:
[0074] S321,基于O1~OM构建出无向带权图Graph;
[0075] 其中,Graph={V,E};V表示Graph中的节点集合,V=[O1,…,OM];E表示Graph的边集合,初始为空;
[0076] S322,将V中非S的给定节点归入非种子节点集合H;H=[h1,…,hC];A+C=M;
[0077] 计算sa到hc的距离 其中,hc表示H中第c个非S的给定节点;c∈[1,C];
[0078] S323,若 则在sa、hc之间建立边ea,c;
[0079] 遍历s1~sA、h1~hC,得到若干条边、并更新到E中;
[0080] S324,保持Sa不变,以Sa为中心、基于所有的ea,c、hc形成候选收纳局部社区CRa。
[0081] S33,遍历s1~sA,得到CR1~CRA。
[0082] 步骤四,计算CR1~CRA的优先级;
[0083] 将优先级最大的候选收纳局部社区作为当前收纳局部社区,并通过机械臂对其内的待处理物品进行收纳。
[0084] 其中,CRa的优先级σa为:
[0085]
[0086] 式中,Num(CRa∩S)表示CRa中种子节点的个数; 表示CRa中所有节点对应的待处理物品的体积总和; 表示V中所有节点对应的待处理物品的体积总和; 表示V中所有节点对应的待处理物品与房间清理装置的距离总和;Distance_Sa表示Sa对应的待处理物品与房间清理装置的距离。
[0087] 步骤五,待当前收纳局部社区收纳完毕,返回步骤一;
[0088] 需要注意的是,考虑到前次扫描可能存在被遮挡的待处理物品,因此本步骤要回到步骤一重新开始,直至待收纳物品全部完成收纳。
[0089] 步骤六,对Yellow1~YellowN进行最优度计算;将最优度最小的待复位节点作为当前复位节点,并通过机械臂对其对应的待复位物品进行复位。
[0090] 参看图3,步骤六包括:
[0091] S61,获取Yellow1~YellowN对应的N个终点位置,并形成R个终点节点Destination1~DestinationN;
[0092] 其中,第n个待复位节点Yellown对应于第n个终点节点Destinationn;n∈[1,N];
[0093] S62,计算Destinationn到Yellown的距离
[0094] 若 则将Destinationn作为首级终点;否则,将Destinationn作为次级终点;
[0095] S63,遍历Destination1~DestinationN、Yellow1~YellowN,得到P个首级终点i1~iP、Q个次级终点k1~kQ;P+Q=N;
[0096] 其中,若P≠0,则进行S64;若P=0,则进行S65;
[0097] S64,计算i1~iP对应的P个待复位节点的最优度,并取最优度最小的待复位节点作为当前复位节点;
[0098] 其中,第p个首级终点ip对应的待复位节点为Ip;
[0099] Ip的最优度εp为:
[0100]
[0101] 式中, 表示房间清理设备到Ip对应的待处理物品的距离; 表示Ip对应的待处理物品到ip对应的终点位置的距离;
[0102] S65,计算k1~kQ对应的Q个待复位节点的最优度,并取最优度最小的待复位节点作为当前复位节点;
[0103] 其中,第q个次级终点kq对应的待复位节点为Kq;
[0104] Kq的最优度λp为:
[0105]
[0106] 式中, 表示房间清理设备到Kq对应的待处理物品的距离; 表示Kq对应的待处理物品到kq对应的终点位置的距离。
[0107] 步骤七,待当前复位节点复位完毕,返回步骤一。
[0108] 与步骤五类似的,考虑到前次扫描可能存在被遮挡的待处理物品,因此本步骤要回到步骤一重新开始,直至待复位物品全部被复位。
[0109] 通过上述操作,即实现了房间清理装置对目标房间的智能化清理。
[0110] 实施例2
[0111] 本实施例2公开了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现实施例1公开的基于局部社区发现的房间智能清理方法的步骤。
[0112] 本实施例2还公开了一种可读存储介质,该种可读存储介质中存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行实施例1公开的基于局部社区发现的房间智能清理方法的步骤。
[0113] 本实施例2还公开了一种计算机程序产品,包括计算机程序。该计算机程序被处理器执行时实现实施例1公开的基于局部社区发现的房间智能清理方法的步骤。
[0114] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。