发明内容
有鉴于此,本申请的目的在于提供一种清洁机器人的避障行走方法、装置、电子设备及介质,以减少清洁机器人的漏清洁区域,提高清洁机器人的智能程度。
第一方面,本申请实施例提供了一种清洁机器人的避障行走方法,包括:
在清洁机器人满足原地旋转要求的情况下,根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向;
在控制所述清洁机器人按照所述目标旋转方向和所述目标旋转角度进行原地旋转的过程中,获取所述清洁机器人在所述预设沿边方向上的侧边激光雷达数据;
根据所述侧边激光雷达数据确定所述清洁机器人的避障移动模式;所述避障移动模式为沿着目标障碍物的边缘做沿边运动。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述目标传感器数据包括激光雷达数据;当所述原地旋转要求为所述清洁机器人与所述目标障碍物之间的距离小于第一阈值时,所述根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向,包括:
根据所述预设沿边方向以及所述激光雷达数据中包含的所述目标障碍物的位置信息,确定所述目标旋转角度和所述目标旋转方向。
结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述目标传感器数据包括碰撞传感器数据;当所述原地旋转要求为所述清洁机器人与所述目标障碍物之间发生碰撞时,所述根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向,包括:
根据所述预设沿边方向以及所述碰撞传感器数据中包含的所述清洁机器人的碰撞位,确定所述目标旋转角度和所述目标旋转方向;所述碰撞位包括左侧碰撞位、中部碰撞位、右侧碰撞位。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述获取所述清洁机器人在所述预设沿边方向上的侧边激光雷达数据,包括:
当所述清洁机器人旋转至预设旋转角度时,开始获取在所述清洁机器人的所述预设沿边方向上的侧边激光雷达数据;所述预设旋转角度小于所述目标旋转角度。
结合第一方面,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述根据所述侧边激光雷达数据确定所述清洁机器人的避障移动模式,包括:
判断所述侧边激光雷达数据的数量是否大于第二阈值;
若是,则根据所述侧边激光雷达数据拟合出用于表示所述目标障碍物的拟合直线;
根据所述拟合直线与所述清洁机器人移动方向的沿墙夹角、所述清洁机器人与所述拟合直线之间的第一距离,确定所述清洁机器人的角速度;
根据所述角速度和所述清洁机器人的预设移动速度,控制所述清洁机器人以沿墙移动模式移动。
结合第一方面的第四种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述判断所述侧边激光雷达数据的数量是否大于第二阈值之后,还包括:
若否,则根据所述侧边激光雷达数据拟合出所述目标障碍物的中心点;
根据所述清洁机器人与所述中心点之间的第二距离、所述清洁机器人的预设角速度以及所述中心点对于所述清洁机器人水平方向的偏转角度,确定所述清洁机器人的线速度;
根据所述线速度和所述预设角速度,控制所述清洁机器人以围绕所述中心点做圆周运动的模式移动。
第二方面,本申请实施例还提供一种清洁机器人的避障行走装置,包括:
第一确定模块,用于在清洁机器人满足原地旋转要求的情况下,根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向;
获取模块,用于在控制所述清洁机器人按照所述目标旋转方向和所述目标旋转角度进行原地旋转的过程中,获取所述清洁机器人在所述预设沿边方向上的侧边激光雷达数据;
第二确定模块,用于根据所述侧边激光雷达数据确定所述清洁机器人的避障移动模式;所述避障移动模式为沿着目标障碍物的边缘做沿边运动。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述目标传感器数据包括激光雷达数据;当所述原地旋转要求包括所述清洁机器人与所述目标障碍物之间的距离小于第一阈值时,所述第一确定模块在用于根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向时,具体用于:
根据所述预设沿边方向以及所述激光雷达数据中包含的所述目标障碍物的位置信息,确定所述目标旋转角度和所述目标旋转方向。
结合第二方面,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述目标传感器数据包括碰撞传感器数据;当所述原地旋转要求为所述清洁机器人与所述目标障碍物之间发生碰撞时,所述第一确定模块在用于根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向时,具体用于:
根据所述预设沿边方向以及所述碰撞传感器数据中包含的所述清洁机器人的碰撞位,确定所述目标旋转角度和所述目标旋转方向;所述碰撞位包括左侧碰撞位、中部碰撞位、右侧碰撞位。
结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,其中,所述获取模块在用于获取所述清洁机器人在所述预设沿边方向上的侧边激光雷达数据时,具体用于:
当所述清洁机器人旋转至预设旋转角度时,开始获取在所述清洁机器人的所述预设沿边方向上的侧边激光雷达数据;所述预设旋转角度小于所述目标旋转角度。
结合第二方面,本申请实施例提供了第二方面的第四种可能的实施方式,其中,所述第二确定模块在用于根据所述侧边激光雷达数据确定所述清洁机器人的避障移动模式时,具体用于:
判断所述侧边激光雷达数据的数量是否大于第二阈值;
若是,则根据所述侧边激光雷达数据拟合出用于表示所述目标障碍物的拟合直线;
根据所述拟合直线与所述清洁机器人移动方向的沿墙夹角、所述清洁机器人与所述拟合直线之间的第一距离,确定所述清洁机器人的角速度;
根据所述角速度和所述清洁机器人的预设移动速度,控制所述清洁机器人以沿墙移动模式移动。
结合第二方面的第四种可能的实施方式,本申请实施例提供了第二方面的第五种可能的实施方式,其中,所述第二确定模块在用于判断所述侧边激光雷达数据的数量是否大于第二阈值之后,还用于:
若否,则根据所述侧边激光雷达数据拟合出所述目标障碍物的中心点;
根据所述清洁机器人与所述中心点之间的第二距离、所述清洁机器人的预设角速度以及所述中心点对于所述清洁机器人水平方向的偏转角度,确定所述清洁机器人的线速度;
根据所述线速度和所述预设角速度,控制所述清洁机器人以围绕所述中心点做圆周运动的模式移动。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面中任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面中任一种可能的实施方式中的步骤。
本申请实施例提供的一种清洁机器人的避障行走方法、装置、电子设备及介质,在清洁机器人满足原地旋转要求的情况下,根据清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向;在控制清洁机器人按照目标旋转方向和目标旋转角度进行原地旋转的过程中,获取清洁机器人在预设沿边方向上的侧边激光雷达数据;根据侧边激光雷达数据确定清洁机器人的避障移动模式;避障移动模式为沿着目标障碍物的边缘做沿边运动。该实施例中,通过控制清洁机器人沿着目标障碍物的边缘做沿边运动,有利于减少目标障碍物附近的漏清洁区域。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中清洁机器人清洁过程中存在较多漏清洁区域,智能程度较低的问题,基于此,本申请实施例提供了一种清洁机器人的避障行走方法、装置、电子设备及介质。有利于减少目标障碍物附近的漏清洁区域。下面通过实施例进行描述。
实施例一:
为便于对本实施例进行理解,首先对本申请实施例所公开的一种清洁机器人的避障行走方法进行详细介绍。图1示出了本申请实施例所提供的一种清洁机器人的避障行走方法的流程图,如图1所示,包括以下步骤S101-S103:
S101:在清洁机器人满足原地旋转要求的情况下,根据清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向。
该实施例中,该方法应用于清洁机器人中。清洁机器人包括扫地机器人,和/或,拖地机器人。目前,清洁机器人通常只有前进和旋转两种行进方式。清洁机器人上安装有激光雷达传感器和碰撞传感器。其中,激光雷达传感器是360度旋转的,通常情况下1s可转6圈。激光雷达传感器可实时测量清洁机器人与各个障碍物之间的距离。碰撞传感器用于实时测量清洁机器人与各个障碍物之间是否发生碰撞。
获取清洁机器人在移动过程中采集的目标传感器数据;其中,目标传感器数据包括激光雷达传感器数据和碰撞传感器数据。激光雷达传感器数据是通过激光雷达传感器测量出的,激光雷达传感器数据中包括清洁机器人与各个障碍物之间的距离,以及各个障碍物的位置。碰撞传感器数据是通过碰撞传感器测量出的,碰撞传感器数据中包括清洁机器人与各个障碍物之间是否发生碰撞,以及当发生碰撞时清洁机器人身上的碰撞位。
其中,原地旋转要求包括:清洁机器人与目标障碍物之间的距离小于第一预设距离,或者,清洁机器人与目标障碍物之间发生碰撞。
本实施例中,为了避免清洁机器人身上的激光雷达传感器受到损害,会在激光雷达传感器外围设置一个保护罩,保护罩是通过两三个支柱支撑起来的。由于支柱会遮挡激光雷达传感器的部分视线,从而使得激光雷达传感器产生盲区。因此当障碍物位于激光雷达传感器盲区时,激光雷达传感器是检测不到障碍物的,也就会使得激光雷达数据中不包含该障碍物的距离和位置信息。这时候,就有可能会使得清洁机器人与该障碍物之间发生碰撞。
该实施例中,当通过激光雷达传感器数据确定清洁机器人与目标障碍物之间的距离小于第一预设距离时,或者,当通过碰撞传感器数据确定清洁机器人与目标障碍物之间发生碰撞时,控制清洁机器人停止移动,并根据预设沿边方向以及目标传感器数据中包含的目标障碍物在清洁机器人当前行进方向的方位,确定目标旋转角度和目标旋转方向。其中目标障碍物在清洁机器人当前行进方向的方位包括左前方、右前方和正前方。
其中,清洁机器人底部会设置有清洁部位,清洁机器人的预设沿边方向是根据该清洁部件在清洁机器人底部的位置决定的。例如,当清洁刷在清洁机器人底部的右侧时,清洁机器人的预设沿边方向为右侧沿边。本实施例中,清洁机器人的预设沿边方向可以为左侧沿边,也可以为右侧沿边。
图2示出了本申请实施例所提供的一种清洁机器人目标旋转角度和目标旋转方向的示意图,如图2所示,黑色方块表示目标障碍物,白底黑边的圆形表示清洁机器人,清洁机器人内黑色实线箭头所指方向为清洁机器人当前的行进方向,即清洁机器人原地旋转之前的行进方向。目标障碍物在清洁机器人当前行进方向的左前方。若清洁机器人的预设沿边方向为右侧沿边,则此时清洁机器人的目标旋转方向为逆时针旋转,如图2所示,θ1为清洁机器人的目标旋转角度,虚直线上的白色箭头所指方向为清洁机器人的原地旋转了目标旋转角度后的行进方向。
该实施例中,当清洁机器人按照目标旋转角度和目标旋转方向原地旋转之后,会使得清洁机器人的清洁部位靠近目标障碍物,即预设沿边方向对准目标障碍物。
S102:在控制清洁机器人按照目标旋转方向和目标旋转角度进行原地旋转的过程中,获取清洁机器人在预设沿边方向上的侧边激光雷达数据。
图3示出了本申请实施例所提供的清洁机器人预设沿边方向的示意图,如图3所示,清洁机器人的预设沿边方向为清洁机器人当前行进方向的右侧,其中,黑色箭头所指方向为清洁机器人当前行进方向。
在清洁机器人根据目标旋转角度和目标旋转方向进行原地旋转的过程中,激光雷达传感器在预设沿边方向上可以测量针对目标障碍物的侧边激光雷达数据。具体地,该侧边激光雷达数据可以为针对目标障碍物的点云数据。
S103:根据侧边激光雷达数据确定清洁机器人的避障移动模式;避障移动模式为沿着目标障碍物的边缘做沿边运动。
该实施例中,根据针对目标障碍物的侧边激光雷达数据的数量确定目标障碍物的类型。当针对目标障碍物的侧边激光雷达数据的数量大于第二阈值时,则将该目标障碍物的类型确定为墙体。当针对目标障碍物的侧边激光雷达数据的数量小于等于第二阈值时,则将该目标障碍物的类型确定为非建筑障碍物。其中,非建筑障碍物可以为桌子腿、椅子腿等。
根据目标障碍物的类型确定清洁机器人的避障移动模式,并控制清洁机器人按照避障移动模式移动。其中,当目标障碍物的类型为墙体时,避障移动模式为沿墙移动模式。当目标障碍物的类型为非建筑障碍物时,避障移动模式为围绕目标障碍物的中心做圆周运动。
在一种可能的实施方式中,目标传感器数据包括激光雷达数据;当原地旋转要求为清洁机器人与目标障碍物之间的距离小于第一阈值时,在执行步骤S101根据清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向时,具体可以按照以下步骤执行:
S1011:根据预设沿边方向以及激光雷达数据中包含的目标障碍物的位置信息,确定目标旋转角度和目标旋转方向。
当目标障碍物未在激光雷达传感器盲区时,激光雷达数据中包含有目标障碍物的位置信息,位置信息具体可以为目标障碍物的极坐标信息A(d1,θ2)。图4示出了本申请实施例所提供的极坐标的示意图,如图4所示,黑色箭头所指方向为清洁机器人的行进方向,d1为目标障碍物与清洁机器人中心点之间的距离,θ2为清洁机器人水平方向与目标障碍物和清洁机器人连线的夹角。
在该实施例中,如图4所示,当预设沿边方向为清洁机器人行进方向的左侧时,则目标旋转方向为顺时针旋转,目标旋转角度为θ2。当预设沿边方向为清洁机器人行进方向的右侧时,则目标旋转方向为逆时针旋转,目标旋转角度为180°-θ2。
当清洁机器人按照目标旋转角度和目标旋转方向原地旋转完成后,该清洁机器人的预设沿边方向对准目标障碍物。
在一种可能的实施方式中,目标传感器数据包括碰撞传感器数据;当原地旋转要求为清洁机器人与目标障碍物之间发生碰撞时,在执行步骤S101根据清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向时,具体可以按照以下步骤执行:
S1012:根据预设沿边方向以及碰撞传感器数据中包含的清洁机器人的碰撞位,确定目标旋转角度和目标旋转方向;碰撞位包括左侧碰撞位、中部碰撞位、右侧碰撞位。
当目标障碍物在激光雷达传感器盲区时,激光雷达传感器检测不到目标障碍物,因此清洁机器人可能与目标障碍物之间发送碰撞。当碰撞传感器检测到清洁机器人与目标障碍物之间发生碰撞时,碰撞传感器数据中包括有清洁机器人的碰撞位,即清洁机器人的哪个部位与目标障碍物发生碰撞。
该实施例中,左侧碰撞位具体为清洁机器人行进方向的左前方,中部碰撞位为清洁机器人行进方向的正前方,右侧碰撞位具体为清洁机器人行进方向的右前方。
碰撞传感器可以分别安装在清洁机器人移动方向的左前方和右前方,通过左前方的碰撞传感器检测清洁机器人的左前方与目标障碍物之间是否发生碰撞。通过右前方的碰撞传感器检测清洁机器人的右前方与目标障碍物之间是否发生碰撞。通过左前方和右前方的碰撞传感器共同检测清洁机器人的正前方与目标障碍物之间是否发生碰撞。
图5示出了本申请实施例所提供的碰撞位的示意图,如图5所示,黑色箭头所指方向为清洁机器人的行进方向,黑色圆圈表示清洁机器人的碰撞位,即该实施例中的碰撞位为右侧碰撞位。
如图5所示,当预设沿边方向为清洁机器人行进方向的左侧时,则目标旋转方向为顺时针旋转,目标旋转角度为图5的θ3。当预设沿边方向为清洁机器人行进方向的右侧时,目标旋转方向为逆时针旋转,目标旋转角度为图5的θ4。
本实施例中,目标旋转方向的取值在1-180°之间。目标旋转方向包括顺时针旋转和逆时针旋转。
在一种可能的实施方式中,在执行步骤S102获取清洁机器人在预设沿边方向上的侧边激光雷达数据时,具体可以按照以下步骤执行:
S1021:当清洁机器人旋转至预设旋转角度时,开始获取在清洁机器人的预设沿边方向上的侧边激光雷达数据;预设旋转角度小于目标旋转角度。
该实施例中,图6示出了本申请实施例所提供的目标障碍物为墙体拐角位置的俯视示意图,如图6所示,此时目标障碍物为墙体拐角,箭头所指方向为清洁机器人当前的行进方向,预设沿边方向为清洁机器人行进方向的右侧。若在清洁机器人开始旋转时开始检测清洁机器人的预设沿边方向上的针对目标障碍物的侧边激光雷达数据,那么此时,预设沿边方向上包含有墙体L1的侧边激光雷达数据中,且针对墙体L1的侧边激光雷达数据的当前数量也是大于第二阈值。若此时确定墙体L1为目标障碍物,控制清洁机器人停止旋转,并控制清洁机器人沿墙体L1移动,那么清洁机器人就会撞击到墙体L2。
因此,该实施例中,为了避免上述情况发生,在控制清洁机器人按照目标旋转角度和目标旋转方向进行原地旋转的过程中,并非刚开始旋转的时候就通过预设沿边方向观察针对目标障碍物的侧边激光雷达数据,而是在原地旋转了预设旋转角度以后,再通过预设沿边方向观察针对目标障碍物的侧边激光雷达数据。通过该方式,使得预设沿边方向上观察到的是墙体L2的侧边激光雷达数据。当针对墙体L2的侧边激光雷达数据的当前数量大于第二阈值时,此时控制清洁机器人停止旋转,并控制清洁机器沿着墙体L2移动。从而避免预设沿边方向观察的是墙体L1的侧边激光雷达数据,且针对墙体L1的侧边激光雷达数据的当前数量也是大于第二阈值的情况发生。
在一种可能的实施方式中,在执行步骤S103根据侧边激光雷达数据确定清洁机器人的避障移动模式时,具体可以按照以下步骤执行:
S1031:判断侧边激光雷达数据的数量是否大于第二阈值。
S1032:若是,则根据侧边激光雷达数据拟合出用于表示目标障碍物的拟合直线。
该实施例中,若针对目标障碍物的侧边激光雷达数据的数量大于第二阈值,则表示该目标障碍物为墙体。此时控制请假机器人停止移动,并根据侧边激光雷达数据拟合出用于表示墙体的拟合直线。
S1033:根据拟合直线与清洁机器人移动方向的沿墙夹角、清洁机器人与拟合直线之间的第一距离,确定清洁机器人的角速度。
图7示出了本申请实施例所提供的拟合直线与清洁机器人的俯视示意图,如图7所示,清洁机器人上的箭头所指方向为清洁机器人的移动方向,拟合直线L与清洁机器人移动方向的沿墙夹角为图7中的θ5,清洁机器人与拟合直线L之间的第一距离为d2。该实施例中,将沿墙夹角θ5、第一距离d2输入到PID(proportional integral derivative)控制算法中,通过PID控制算法计算出机器人的角速度。
S1034:根据角速度和清洁机器人的预设移动速度,控制清洁机器人以沿墙移动模式移动。
由于清洁机器人当前的移动方向与拟合直线不一定是平行的(即θ5不等于0),所以,此时需要使得清洁机器人按照计算出的角速度以及预设移动速度旋转移动(如按照图7中的虚线路线移动),以使清洁机器人能够沿平行于墙体的方向移动。
在一种可能的实施方式中,在执行步骤S1031判断侧边激光雷达数据的数量是否大于第二阈值之后,具体还可以按照以下步骤执行:
S1035:若否,则根据侧边激光雷达数据拟合出目标障碍物的中心点。
若针对目标障碍物的侧边激光雷达数据的数量大于第二阈值,则表示该目标障碍物为非建筑障碍物,非建筑障碍物具体可以为桌子腿、椅子腿、凳子腿等。此时控制请假机器人停止移动,并根据针对目标障碍物的侧边激光雷达数据拟合出目标障碍物的中心点。
S1036:根据清洁机器人与中心点之间的第二距离、清洁机器人的预设角速度以及中心点对于清洁机器人水平方向的偏转角度,确定清洁机器人的线速度。
如图4所示,θ2表示目标障碍物的中心点对于清洁机器人水平方向的偏转角度,通过以下公式计算清洁机器人的线速度:
V=W×(d1+θ2×α)
其中,V表示清洁机器人的线速度,W表示清洁机器人的预设角速度,d1表示清洁机器人与中心点之间的第二距离,α为可变参数,一般取经验值。
S1037:根据线速度和预设角速度,控制清洁机器人以围绕中心点做圆周运动的模式移动。
在一种可能的实施方式中,在使用碰撞传感器检测清洁机器人与目标障碍物之间是否发生碰撞时,具体可以按照以下步骤执行:
获取碰撞传感器数据;碰撞传感器数据包括清洁机器人与目标障碍物之间的碰撞关系和清洁机器人上的碰撞方位;所述碰撞关系包括发生碰撞或未发生碰撞;碰撞方位包括左前方碰撞、右前方碰撞和正前方碰撞中的一种。
对碰撞传感器数据进行防抖处理。
具体地,由于碰撞传感器数据是电信号,电信号会发生抖动。因此该实施例中,短时间内的碰撞时,电信号只维持了几毫秒,则认为短时间内的碰撞是无效的,维持一定时间的碰撞才是有效的。该实施例中,当电信号的维持时间大于一定时间长度时,则认为发生了碰撞。
在一种可能的实施方式中,在使用激光雷达传感器测量激光雷达数据(即清洁机器人与目标障碍物之间的距离),或者,侧边激光雷达数据时,具体可以按照以下步骤执行:
获取激光雷达数据,或者,侧边激光雷达数据;
对激光雷达数据,或者,侧边激光雷达数据进行数据校正;
对激光雷达数据,或者,侧边激光雷达数据进行异常数据过滤。
具体地,对激光雷达数据或侧边激光雷达数据进行数据校正时,由于激光雷达数据或侧边激光雷达数据可能存在畸变,因此可以通过校正去除畸变,得到标准激光雷达数据或侧边激光雷达数据。
对激光雷达数据或侧边激光雷达数据进行异常数据过滤,指的是激光雷达数据或侧边激光雷达数据中存在异常数据时,例如存在一个孤立点数据,将其过滤掉。
实施例二:
基于相同的技术构思,本申请实施例还提供了一种清洁机器人的避障行走装置,该装置驻留于清洁机器人中,图8示出了本申请实施例所提供的一种清洁机器人的避障行走的结构示意图,如图8所示,该装置包括:
第一确定模块801,用于在清洁机器人满足原地旋转要求的情况下,根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向;
获取模块802,用于在控制所述清洁机器人按照所述目标旋转方向和所述目标旋转角度进行原地旋转的过程中,获取所述清洁机器人在所述预设沿边方向上的侧边激光雷达数据;
第二确定模块803,用于根据所述侧边激光雷达数据确定所述清洁机器人的避障移动模式;所述避障移动模式为沿着目标障碍物的边缘做沿边运动。
可选的,所述目标传感器数据包括激光雷达数据;当所述原地旋转要求包括所述清洁机器人与所述目标障碍物之间的距离小于第一阈值时,所述第一确定模块801在用于根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向时,具体用于:
根据所述预设沿边方向以及所述激光雷达数据中包含的所述目标障碍物的位置信息,确定所述目标旋转角度和所述目标旋转方向。
可选的,所述目标传感器数据包括碰撞传感器数据;当所述原地旋转要求为所述清洁机器人与所述目标障碍物之间发生碰撞时,所述第一确定模块801在用于根据所述清洁机器人在移动过程中采集到的目标传感器数据以及预设沿边方向,确定目标旋转角度和目标旋转方向时,具体用于:
根据所述预设沿边方向以及所述碰撞传感器数据中包含的所述清洁机器人的碰撞位,确定所述目标旋转角度和所述目标旋转方向;所述碰撞位包括左侧碰撞位、中部碰撞位、右侧碰撞位。
可选的,所述获取模块802在用于获取所述清洁机器人在所述预设沿边方向上的侧边激光雷达数据时,具体用于:
当所述清洁机器人旋转至预设旋转角度时,开始获取在所述清洁机器人的所述预设沿边方向上的侧边激光雷达数据;所述预设旋转角度小于所述目标旋转角度。
可选的,所述第二确定模块803在用于根据所述侧边激光雷达数据确定所述清洁机器人的避障移动模式时,具体用于:
判断所述侧边激光雷达数据的数量是否大于第二阈值;
若是,则根据所述侧边激光雷达数据拟合出用于表示所述目标障碍物的拟合直线;
根据所述拟合直线与所述清洁机器人移动方向的沿墙夹角、所述清洁机器人与所述拟合直线之间的第一距离,确定所述清洁机器人的角速度;
根据所述角速度和所述清洁机器人的预设移动速度,控制所述清洁机器人以沿墙移动模式移动。
可选的,所述第二确定模块803在用于判断所述侧边激光雷达数据的数量是否大于第二阈值之后,还用于:
若否,则根据所述侧边激光雷达数据拟合出所述目标障碍物的中心点;
根据所述清洁机器人与所述中心点之间的第二距离、所述清洁机器人的预设角速度以及所述中心点对于所述清洁机器人水平方向的偏转角度,确定所述清洁机器人的线速度;
根据所述线速度和所述预设角速度,控制所述清洁机器人以围绕所述中心点做圆周运动的模式移动。
实施例三:
基于相同的技术构思,本申请实施例还提供一种电子设备,图9示出了本申请实施例所提供的一种电子设备的结构示意图,如图9所示,该电子设备900包括:处理器901、存储器902和总线903,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器901与存储器902之间通过总线903通信,处理器901执行机器可读指令,以执行实施例一中所述的方法步骤。
实施例四:
基于相同的技术构思,本申请实施例四还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行实施例一中所述的方法步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、电子设备和计算机可读存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。