一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人控制方法、机器人及计算机可读存储介质与流程

2022-11-14 00:44:34 来源:中国专利 TAG:


1.本技术涉及扫地机器人技术领域,具体涉及一种机器人控制方法、机器人及计算机可读存储介质。


背景技术:

2.随着生活水平的日益提高以及家用服务机器人技术的飞快发展,扫地机器人越来越多地进入到家庭生活中。这种机器人通常具备有可以自主转动的底部驱动轮以及滚刷,边刷,吸尘装置等,能够对地表面进行清洁工作。
3.通常根据机器人的运行状态可以将其分为无规划随机游走式和全覆盖规划清扫式,由于前者随机游走式清扫效率较低已被逐渐淘汰,后者全覆盖清扫式已经成为扫地机器人的主流方法。但是随着深入研究发现,全覆盖清扫更适合比较空旷的区域,相对比较隐蔽的例如墙角,桌角等死角灰尘更容易堆积。于是人们提出了一种在全覆盖清扫之前的特定清扫模式“沿边清扫”。
4.通常沿边清扫是通过使用沿墙传感器将扫地机器人控制在墙面特定距离处,并通过碰撞传感器实现机器人的遇障转向,以达到使扫地机器人一直沿着墙面清扫的效果。但当待清扫区域非常大时,扫地机器人需要花费大量的时间才能完成整个区域的沿边清扫流程,不利于快速开展全覆盖清扫流程,一旦沿边区域围成的待清扫区域过大也不利于进行合理的全覆盖路径规划。


技术实现要素:

5.本技术提出了一种机器人控制方法、机器人及计算机可读存储介质,以使机器人快速开展全覆盖清扫,提高机器人的清扫效率。
6.为解决上述技术问题,本技术采用的一个技术方案是:提供一种机器人控制方法,该方法包括:获取由环境地图点云转换的栅格地图,在栅格地图中提取墙面信息;基于墙面信息,生成规划沿边起始点,并在栅格地图中生成若干局部规划路径框,其中,规划沿边起始点位于其中一个局部规划路径框的与墙面信息的墙面平行的一条边的中点;控制机器人从规划沿边起始点开始,沿规划沿边起始点所在的当前局部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历;控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,直至遍历所有局部规划路径框的边框路径点以及内部路径点。
7.其中,在栅格地图中提取墙面信息之后,在栅格地图中生成若干局部规划路径框之前,机器人控制方法还包括:在栅格地图中提取障碍物位置;基于障碍物位置在栅格地图中生成若干局部规划路径框,其中,若干局部规划路径框的边框以及内部区域均不存在障碍物。
8.其中,障碍物包括充电桩;基于墙面信息,生成规划沿边起始点,包括:基于墙面信息,以及充电桩的位置生成规划沿边起始点;其中,规划沿边起始点为与墙面相距第一预设距离的若干栅格点中,与充电桩的相对距离小于等于第二预设距离的至少一个栅格点。
9.其中,沿规划沿边起始点所在的当前局部规划路径框的边框进行沿边运动,包括:在控制机器人沿当前局部规划路径框的边框进行沿边运动的过程中,获取运动方向上的障碍物感知距离;在障碍物感知距离小于第三预设距离时,触发遇障固定动作;在机器人执行遇障固定动作的过程中,监测机器人与墙面的侧向距离;在侧向距离小于第四预设距离时,退出遇障固定动作,并基于当前位置继续执行沿边运动。
10.其中,遇障固定动作为:控制机器人沿第一方向旋转,并记录第一旋转角度;在第一旋转角度达到第一预设角度时,控制机器人沿第二方向旋转,并记录第二旋转角度;在第二旋转角度达到第二预设角度时,控制机器人停止旋转;第一方向与第二方向为两个相反的方向。
11.其中,基于当前位置继续执行沿边运动,包括:判断机器人的当前位置是否处于当前局部规划路径框的边框上;若是,则从当前位置开始继续执行沿边运动;若否,则获取当前局部规划路径框的边框上与当前位置距离最小的跟踪路径点,并将机器人从当前位置调度到跟踪路径点,从跟踪路径点开始继续执行沿边运动。
12.其中,将机器人从当前位置调度到跟踪路径点,包括:获取机器人从当前位置调度到跟踪路径点的调度路径;按照调度路径将机器人从当前位置调度到跟踪路径点,并将调度路径上的路径点标记为已遍历点。
13.其中,控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,包括:获取当前局部规划路径框与其余局部规划路径框的相对距离;将与当前局部规划路径框的相对距离最小的局部规划路径框,作为当前局部规划路径框的下一个局部规划路径框;获取下一个局部规划路径框与墙面信息的墙面平行的两个边框,并计算两个边框中与墙面的相对距离;在两个边框中相对距离小的一个边框的中点,设置新的规划沿边起始点;控制机器人从新的规划沿边起始点开始,沿下一个局部规划路径框的边框进行沿边运动。
14.为解决上述技术问题,本技术采用的一个技术方案是:提供一种机器人,该机器人包括处理器及与处理器连接的存储器,存储器中存储有程序数据,处理器执行存储器存储的程序数据,以执行实现:获取由环境地图点云转换的栅格地图,在栅格地图中提取墙面信息;基于墙面信息,生成规划沿边起始点,并在栅格地图中生成若干局部规划路径框,其中,规划沿边起始点位于其中一个局部规划路径框的与墙面信息的墙面平行的一条边的中点;控制机器人从规划沿边起始点开始,沿规划沿边起始点所在的当前局部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历;控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,直至遍历所有局部规划路径框的边框路径点以及内部路径点。
15.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种计算机可读存储介质,其内部存储有程序指令,程序指令被执行以实现:获取由环境地图点云转换的栅格地图,在栅格地图中提取墙面信息;基于墙面信息,生成规划沿边起始点,并在栅格地图中生成若干局部规划路径框,其中,规划沿边起始点位于其中一个局部规划路径框的与墙面信息的墙面平行的一条边的中点;控制机器人从规划沿边起始点开始,沿规划沿边起始点所在的当前局部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历;控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,直至遍历所有局部规划路径框的边框路径点以及内部路径点。
16.本技术的有益效果是:区别于现有技术的情况,本技术通过环境点云转换的栅格地图提取墙面信息,再基于墙面信息生成规划起始点,并在栅格地图上生成若干局部规划路径框,并控制机器人从规划起始点沿局部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历清扫,再控制机器人移动至下一个局部规划路径框重复上述动作。本技术在沿边区域围成的待清扫区域过大时,通过设置若干局部规划路径框使机器人在当前局部规划路径框沿边结束后能快速地对当前局部规划路径框的区域进行全覆盖清扫,相较于现有技术中完成整个区域的沿边才能开始全覆盖清扫的方法,本技术的机器人控制方法有利于进行合理地全覆盖路径规划,提高机器人的清扫效率,且在较复杂环境和空旷环境下依然适用。
附图说明
17.图1是本技术机器人控制方法第一实施例的流程示意图;图2是本技术栅格地图一实施例的示意图;图3是本技术机器人控制方法第二实施例的流程示意图;图4是图1中步骤s103中一具体实施例的流程示意图;图5是图4中步骤s304中一具体实施例的流程示意图;图6是图5中步骤s403中一具体实施例的流程示意图;图7是图1中步骤s104中一具体实施例的流程示意图;图8是本技术机器人一实施例的结构示意图;图9是本技术计算机可读存储介质一实施例的结构示意图。
具体实施方式
18.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.随着家用服务机器人技术的飞快发展,越来越多的扫地机器人进入家庭生活中,当前机器人在进行清扫时其运行状态可以划分为无规划随机游走式及全覆盖规划清扫式,但无规划随机游走式清扫效率较低被逐渐淘汰,在机器人的全覆盖清扫式中,全覆盖清扫式更适合比较空旷的区域,相对比较隐蔽的例如墙角,桌角等死角灰尘更容易堆积。于是又
在全覆盖清扫式之前的提出一种特定清扫模式沿边清扫,但待清扫区域非常大时,机器人需要花费大量的时间才能完成整个区域的沿边清扫流程,不利于快速开展全覆盖清扫流程,一旦沿边区域围成的待清扫区域过大也不利于进行合理的全覆盖路径规划。
20.为了解决提高机器人的清扫效率,快速开展全覆盖清扫流程,本技术首先提出一种机器人控制方法,请参阅图1,图1是本技术机器人控制方法第一实施例的流程示意图。如图1所示,该机器人控制方法具体包括步骤s101至步骤s104:步骤s101:获取由环境地图点云转换的栅格地图,在栅格地图中提取墙面信息。
21.机器人在接收到沿边清扫指令,机器人使能自身的激光雷达传感器,具体可以为激光直接成型(laser direct structuring,lds)雷达传感器,机器人并且同步开启同步定位与地图绘制(simultaneous localization and mapping,slam)模块。
22.其中,slam可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。定位是指机器人必须知道自己在环境中位置。建图是指机器人必须记录环境中特征的位置。slam是指机器人在定位的同时建立环境地图。
23.在本实施例中,机器人可以通过激光雷达传感器及slam模块采集自身环境地图的点云信息,并将点云信息转化为栅格地图。
24.请参阅图2,图2是本技术栅格地图一实施例的示意图。如图2所示。
25.机器人在获取栅格地图后,可以在栅格地图中进行墙面信息提取。如图2所示,在栅格地图中,a则为栅格地图中的墙面信息,图中b和c则为栅格地图中障碍物。
26.在构建的栅格地图中,存在可提取的墙面信息时,为了后续规划沿边路径能够有效进行,可以获取墙面信息的墙面与构建的栅格地图坐标系的夹角,根据夹角矫正栅格地图,使栅格地图能够平行或垂直于地图坐标系。若不存在可提取的墙面信息,则默认机器人的当前角度为初始规划角度。
27.步骤s102:基于墙面信息,生成规划沿边起始点,并在栅格地图中生成若干局部规划路径框,其中,规划沿边起始点位于其中一个局部规划路径框的与墙面信息的墙面平行的一条边的中点。
28.若栅格地图中存在可提取的墙面信息时,机器人在提取获取墙面信息后,基于墙面信息的坐标生成一个规划沿边起始点,规划沿边起始点可以基于墙面信息的位置信息获取,在本实施例中,规划沿边起始点与墙面的距离可以为机器人直径的一半,也可以是其他预设数值,在此不作限定。
29.在基于墙面信息生成规划沿边起始点时,规划沿边起始点的选取可以尽可能靠近在机器人的充电桩附近。如图2所示,若障碍物b为充电桩,规格沿边起始点则可以在障碍物b附近的栅格进行选择。规划沿边起始点的位置靠近机器人的充电桩可以使机器人沿边清扫结束后回到充电桩附近,从而可以对机器人进行快速充电,提高机器人的清扫效率。
30.机器人获取到沿边起始点后,在栅格地图生成若干个局部规划路径框,其中,局部规划路径框可以为一个矩形框。在本实施例中,若干个局部规划路径框各自相邻组成了网状的全局规划沿边路径。在本实施例中,局部规划路径框的边长为4.5m。若基于待清扫区域生成的栅格地图的面积小于预设的局部规划路径框的面积时,在栅格地图中要生成至少一个局部规划路径框,在其他实施例中,可以基于栅格地图的面积在栅格地图中生成相应数
量的局部规划路径框,在此不作限制。
31.在其他实施例中,局部规划路径框的边长可以根据实际需要设置,局部规划路径框还可以为其他形状,在此不作限定。
32.在生成局部规划路径时需要保证生成的规划沿边起始点要与其中一个局部规划路径框的某条边的中点重合,且规划沿边起始点在的这条边要与墙面信息的墙面平行。因此在生成若干个局部规划路径框时可以首先生成规划沿边起始点所在的局部规划路径框,再生成其他各自相邻的若干个局部规划路径框。
33.若栅格地图中不存在可提取的墙面信息,则以机器人当前位置作为规划沿边起始点。
34.步骤s103:控制机器人从规划沿边起始点开始,沿规划沿边起始点所在的当前局部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历。
35.在栅格地图中建立若干个局部规划路径框后,则将机器人调度到规划沿边起始点,并将扫地机切换为规划沿边状态state_ew_plan。当前状态下可以控制机器人沿当前局部规划路径框的边框沿边进行沿边运动。
36.此过程中,机器人的规划模块会实时下发当前局部规划路径框的局部段路径使机器人沿边前行,并且会实时记录机器人所有经过的局部路径点,直到遍历当前局部规划路径框的边框上的所有路径点后,此时机器人认为当前局部规划路径框围成的区域为可清扫区域,再对当前局部规划路径框的内部路径点进行全覆盖遍历,以使机器人对当前局部规划路径框内的所有区域进行全覆盖清扫。
37.步骤s104:控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,直至遍历所有局部规划路径框的边框路径点以及内部路径点。
38.机器人对规划沿边起始点的当前局部规划路径框内的所有区域进行全覆盖清扫,控制从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,直至遍历所有局部规划路径框的边框路径点以及内部路径点,完成对整个区域的全覆盖清扫。
39.本技术的机器人控制方法在复杂环境或者空旷场景无法从栅格地图中提取墙面信息的情况下,依然可以根据若干个局部规划路径框进行沿边清扫,此时规划的路径根据机器人当前的位置与朝向确定,生成预设固定边长的局部规划路径框矩形框,可以确保在任何场景下机器人都能正常地开展沿边清扫。同时,在某一个局部规划路径框的边缘及区域内清扫完成后,机器人可以直接调度到下一个局部规划路径框的沿边点,而无需再进行找边的操作,从而提高机器人的清扫效率。
40.区别于现有技术,本技术通过环境点云转换的栅格地图提取墙面信息,再基于墙面信息生成规划起始点,并在栅格地图上生成若干局部规划路径框,并控制机器人从规划起始点沿局部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历清扫,再控制机器人移动至下一个局部规划路径框重复上述动作。本技术在沿边区域围成的待清扫区域过大时,通过设置若干局部规划路径框使机器人在当前局部规划路径框沿边结束后能快速地对
当前局部规划路径框的区域进行全覆盖清扫,相较于现有技术中完成整个区域的沿边才能开始全覆盖清扫的方法,本技术的机器人控制方法有利于进行合理地全覆盖路径规划,提高机器人的清扫效率,且在较复杂环境和空旷环境下依然适用。
41.可选地,请参阅图3,图3是本技术机器人控制方法第二实施例的流程示意图。如图3所示,该机器人控制方法具体包括步骤s201至步骤s206:步骤s201:获取由环境地图点云转换的栅格地图,在栅格地图中提取墙面信息。
42.步骤s201与步骤s101一致,不再赘述。
43.步骤s202:在栅格地图中提取障碍物位置。
44.机器人在生成栅格地图后,要从栅格地图中提取障碍物的位置。在栅格地图中,除了存在墙面信息的墙面外,还会存在一些特定的障碍物,机器人在这些特定障碍物的位置上是不能通行的,例如图2中的障碍物b和障碍物c。因此在生成局部规划路劲框之前,要提取地图中障碍物位置。
45.步骤s203:基于障碍物位置在栅格地图中生成若干局部规划路径框,其中,若干局部规划路径框的边框以及内部区域均不存在障碍物。
46.在获取障碍物位置后,在栅格地图中生成若干局部规划路径框就需要对若干局部规划路径框的边框进行规划,使若干局部规划路径框的边框以及内部区域均不存在障碍物。即,生成的若干局部规划路径框以及内部区域中不能存在如图2所示的障碍物b和障碍物c。
47.生成若干局部规划路径框的边框,其若干局部规划路径框的边框以及内部区域均不存在障碍物可以防止机器人在进行清扫发生碰撞,或造成卡困风险,从而提高机器人的清扫效率。
48.步骤s204:基于墙面信息,生成规划沿边起始点,并在栅格地图中生成若干局部规划路径框,其中,规划沿边起始点位于其中一个局部规划路径框的与墙面信息的墙面平行的一条边的中点。
49.如上文所述,机器人在栅格地图中可以基于墙面信息生成规划起始点并在栅格地图中生成若干局部规划路径框,其中,规划沿边起始点位于其中一个局部规划路径框的与墙面信息的墙面平行的一条边的中点。
50.当栅格地图中存在的障碍物包括充电桩时,规划沿边起始点可以设置于充电桩附近,从而使机器人在沿边运动结束时回到充电桩附近进行快速充电,提高机器人的清扫效率。
51.在本实施例中可以通过如下方法实现基于墙面信息生成规划沿边起始点这一步骤,具体包括:基于墙面信息,以及充电桩的位置生成规划沿边起始点;其中,规划沿边起始点为与墙面相距第一预设距离的若干栅格点中,与充电桩的相对距离小于等于第二预设距离的至少一个栅格点。
52.本实施例中在生成规划起始点时可以基于墙面信息以及充电桩的位置生成规划沿边起始点。规划沿边起始点可以与墙面相距第一预设距离,第一预设距离可以为机器人机身的半径,第二预设距离可以基于实际需求进行设置,在此不作限定。
53.步骤s205:控制机器人从规划沿边起始点开始,沿规划沿边起始点所在的当前局
部规划路径框的边框进行沿边运动,直至遍历当前局部规划路径框的边框上的所有路径点后,对当前局部规划路径框的内部路径点进行全覆盖遍历。
54.步骤s205与步骤s103一致,不再赘述。
55.步骤s206:控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪,直至遍历所有局部规划路径框的边框路径点以及内部路径点。
56.步骤s206与步骤s104一致,不再赘述。
57.可选地,控制机器人在局部规划路径的边框进行沿边运动的方法如图4所示,图4是图1中步骤s103中一具体实施例的流程示意图。本实施例可通过如图4所示的方法实现步骤s103中沿规划沿边起始点所在的当前局部规划路径框的边框进行沿边运动的步骤,该实施例具体包括步骤s301至步骤s304:步骤s301:在控制机器人沿当前局部规划路径框的边框进行沿边运动的过程中,获取运动方向上的障碍物感知距离。
58.在控制机器人沿当前局部规划路径框的边框进行沿边运动的过程中,机器人使能rgb结构光或线激光传感器与沿墙传感器,开启感知模块,并设置第三预设距离forward_th,实时计算机器人与障碍物之间的障碍物感知距离,记为d_forward。
59.步骤s302:在障碍物感知距离小于第三预设距离时,触发遇障固定动作。
60.当机器人在沿当前局部规划路径框的边框进行沿边运动时,在沿边运动时突然遇到新增障碍物,实时计算机器人与障碍物之间的障碍物感知距离d_forward,若障碍物感知距离d_forward小于第三预设距离forward_th,认为前方有障碍物,此时机器人接收避障指令,触发遇障固定动作。其中,遇障固定动作是机器人事先预设好的一个避障动作,可以是一个绕障碍物的一个圆周运动,也可以是其他运动,在此不作限定。
61.具体地,遇障固定动作还包括:控制机器人沿第一方向旋转,并记录第一旋转角度;在第一旋转角度达到第一预设角度时,控制机器人沿第二方向旋转,并记录第二旋转角度;在第二旋转角度达到第二预设角度时,控制机器人停止旋转;第一方向与第二方向为两个相反的方向。
62.在本实施例中,在触发遇障固定动作的同时,控制机器人开始逆时针旋转,并记录第一旋转角度,当第一预设角度到达90度时开始顺时针旋转,并记录第二旋转角度,当第二预设角度到达90度时停止旋转。
63.步骤s303:在机器人执行遇障固定动作的过程中,监测机器人与墙面的侧向距离。
64.在机器人执行遇障固定动作的过程中,即在机器人进行旋转的过程中,利用沿墙传感器实时检测机器人与墙面的侧向距离。
65.步骤s304:在侧向距离小于第四预设距离时,退出遇障固定动作,并基于当前位置继续执行沿边运动。
66.机器人在遇障固定动作的过程中,若侧向距离小于第四预设距离,则立即退出遇障固定动作,并基于机器人的当前位置继续执行沿边运动。
67.区别于现有技术,本技术的机器人控制方法能够在进行在沿当前局部规划路径框的边框进行沿边运动进行及时避障处理,可以极大程度的避免扫地机器人被临时障碍物、人或宠物干扰,且本技术能够实时监测机器人与墙面的侧向距离,能够及时退出固定避障
动作,从而提高机器人的清扫效率。
68.可选地,图5是图4中步骤s304中一具体实施例的流程示意图。本实施例可通过如图5所示的方法实现步骤s304中基于当前位置继续执行沿边运动的步骤,该实施例具体包括步骤s401至步骤s404:步骤s401:判断机器人的当前位置是否处于当前局部规划路径框的边框上。
69.机器人在退出遇障固定动作后,会判断机器人的当前位置是否处于当前局部规划路径框的边框上,即判断机器人是否处于规划沿边状态state_ew_plan。
70.若是,则进入步骤s402;若否,则进入步骤s403;步骤s402:从当前位置开始继续执行沿边运动。
71.机器人若处于规划沿边状态state_ew_plan,则机器人从当前位置开始继续执行沿边运动。
72.步骤s403:获取当前局部规划路径框的边框上与当前位置距离最小的跟踪路径点,并将机器人从当前位置调度到跟踪路径点,从跟踪路径点开始继续执行沿边运动。
73.机器人在退出遇障固定动作后,判断机器人不处于规划沿边状态,则获取前局部规划路径框的边框上与当前位置距离最小的跟踪路径点m,并切换机器人的状态为实体沿边状态state_ew_real,并记录下机器人利用传感器开始沿边的初始角度init_real,机器人处于实体沿边状态state_ew_real时,是利用机器人的侧向距离传感器控制机器人进行沿边运动。此时将机器人从当前位置调度到与当前位置距离最小的跟踪路径点m,从与当前位置距离最小的跟踪路径点m开始继续执行沿边运动。
74.在机器人处于实体沿边状态state_ew_real,将机器人从当前位置调度到跟踪路径点时,在此运行的路径上,若调度过程中遇到障碍物同样要进行前文的遇障固定动作,且在退出遇障固定动作后,要对机器人的当前位置进行两次判断,第一次判断机器人是否处于当前局部规划路径框外,若处于当前局部规划路径框外则通过两点调度将机器人调度返回跟踪路径点m。第二次判断机器人是否处于当前局部规划路径框的边框路径上,若机器人的当前位置与当前局部规划路径框的边框的距离满足第五预设阈值,则将机器人的实体沿边状态state_ew_real改为规划沿边状态state_ew_plan,使机器人从当前的路径跟踪点m开始继续执行沿边运动。
75.此外,机器人在处于实体沿边状态state_ew_real,是通过沿墙传感器或者激光传感器的距离信息控制机器人沿墙进行运动。当机器人在实体沿边状态state_ew_real进行遇障固定动作时,机器人计算当前旋转角度与初始角度init_real的差值,判断差值是否大于360度,若大于则判断机器人偏离墙面异常旋转一周,此时,控制机器人从当前位置调度到跟踪路径点m。
76.可选地,请参阅图6,图6是图5中步骤s403中一具体实施例的流程示意图。本实施例可通过如图6所示的方法实现步骤s403中将机器人从当前位置调度到跟踪路径点的步骤,该实施例具体包括步骤s501至步骤s502:步骤s501:获取机器人从当前位置调度到跟踪路径点的调度路径。
77.当机器人从实体沿边状态state_ew_real改为规划沿边状态state_ew_plan后,机器人从当前的路径跟踪点m开始继续执行沿边运动时,此时需要更新机器人遍历的当前局部规划路径边框的路径点,因此需要获取机器人从遇障固定动作结束后的当前位置调度到
跟踪路径点m的调度路径。
78.步骤s502:按照调度路径将机器人从当前位置调度到跟踪路径点,并将调度路径上的路径点标记为已遍历点。
79.机器人将按照调度路径将机器人从当前位置调度到跟踪路径点m,并且机器人更新当前轨迹跟踪点为跟踪路径点m,并且将当前局部规划路径边框上从规划沿边起始点到跟踪路径点m点之前的所有路径点为标记为已遍历点。
80.区别于现有技术,本技术的机器人控制方法在沿边运动过程中出现异常,机器人可以自主回到当前局部规划路径边框上继续之前的沿边运动,并不需要机器人重新开始沿边运动,从而提升了机器人的清扫效率并且避免了重复清扫的情况,也提高了本技术机器人沿局部规划路径框的边框进行沿边运动的鲁棒性。
81.且本技术的机器人控制方法在沿边运动结束条件判断上采用与规划相结合的方式,通过使机器人遍历相应局部规划路径框的边框路径点才认为沿边运动结束,本技术的机器人控制方法可以更精确地控制机器人沿边运动的结束条件,避免过早或过晚地结束机器人沿边运动,从而达到提升机器人的覆盖率与工作效率。
82.可选地,请参阅图7,图7中图1中步骤s104中一具体实施例的流程示意图。如图7所示,本实施例可通过如图7所示的方法实现步骤s104中控制机器人从当前局部规划路径框移动至下一个局部规划路径框,以对下一个局部规划路径框进行路径跟踪的步骤,该实施例具体包括步骤s601至步骤s605:步骤s601:获取当前局部规划路径框与其余局部规划路径框的相对距离。
83.机器人完成对当前局部规划路径框的全覆盖清扫时,则获取当前局部规划路径框与其余局部规划路径框的相对距离。
84.步骤s602:将与当前局部规划路径框的相对距离最小的局部规划路径框,作为当前局部规划路径框的下一个局部规划路径框。
85.机器人将与当前局部规划路径框的相对距离最小的局部规划路径框,作为当前局部规划路径框的下一个局部规划路径框。
86.步骤s603:获取下一个局部规划路径框与墙面信息的墙面平行的两个边框,并计算两个边框中与墙面的相对距离。
87.机器人获取下一个局部规划路径框与墙面信息的墙面平行的两个边框,并计算两个边框中与墙面的相对距离。
88.步骤s604:在两个边框中相对距离小的一个边框的中点,设置新的规划沿边起始点。
89.机器人选取在两个边框中相对距离小的一个边框的中点,将其设置新的规划沿边起始点。
90.步骤s605:控制机器人从新的规划沿边起始点开始,沿下一个局部规划路径框的边框进行沿边运动。
91.控制机器人从新的规划沿边起始点开始,沿下一个局部规划路径框的边框进行沿边运动,重复前文中的步骤,直至当前栅格地图中不存在可到达的局部规划路径框后认为当前区域全覆盖式清扫已完成。
92.区别于现有技术,本技术的机器控制方法在某一个局部规划路径框清扫完之后,
机器人可以直接调度到下一个局部规划路径框的规划沿边点,且无需再进行找边的操作,可以提高机器人的清扫效率。
93.可选地,本技术进一步提出一种机器人,请参阅图8,图8是本技术机器人一实施例的结构示意图,该机器人200包括处理器201及与处理器201连接的存储器202,其中,存储器202中存储有程序数据,处理器201执行存储器202存储的程序数据,以执行实现上述各方法实施例中的步骤。
94.处理器201还可以称为cpu(central processing unit,中央处理单元)。处理器201可能是一种集成电路芯片,具有信号的处理能力。处理器201还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
95.存储器202用于存储处理器201运行所需的程序数据。
96.处理器201还用于执行存储器202存储的程序数据以实现上述机器人控制方法。
97.可选地,本技术进一步提出一种计算机可读存储介质。请参阅图9,图9是本技术计算机可读存储介质一实施例的结构示意图。
98.本技术实施例的计算机可读存储介质300内部存储有程序指令310,程序指令310被执行以实现上述机器人控制方法。
99.其中,程序指令310可以形成程序文件以软件产品的形式存储在上述存储介质中,以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
100.本实施例计算机可读存储介质300可以是但不局限于u盘、sd卡、pd光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
101.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各方法实施例中的步骤。
102.另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本技术还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如u盘、光盘、服务器等。也就是说,本技术可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
103.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
104.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括
一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的机构、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
105.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
106.以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献