CN108983776B - 一种机器人控制方法及其装置、电子设备 - Google Patents

一种机器人控制方法及其装置、电子设备 Download PDF

Info

Publication number
CN108983776B
CN108983776B CN201810798639.7A CN201810798639A CN108983776B CN 108983776 B CN108983776 B CN 108983776B CN 201810798639 A CN201810798639 A CN 201810798639A CN 108983776 B CN108983776 B CN 108983776B
Authority
CN
China
Prior art keywords
grid
traversed
robot
candidate
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810798639.7A
Other languages
English (en)
Other versions
CN108983776A (zh
Inventor
邹祖浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huanchuang Technology Co ltd
Original Assignee
Shenzhen Camsense Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Camsense Technologies Co Ltd filed Critical Shenzhen Camsense Technologies Co Ltd
Priority to CN201810798639.7A priority Critical patent/CN108983776B/zh
Publication of CN108983776A publication Critical patent/CN108983776A/zh
Application granted granted Critical
Publication of CN108983776B publication Critical patent/CN108983776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Acoustics & Sound (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及机器人控制技术领域,特别是涉及一种机器人控制方法及其装置、电子设备。其中,机器人控制方法包括:在遍历待遍历区域时,预测期望移动轨迹是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;若是,预留待遍历出路,待遍历出路用于连通第一待遍历子区域与第二待遍历子区域;在遍历完第一待遍历子区域后,通过待遍历出路移动至第二待遍历子区域。因此,当遍历完第一待遍历子区域后,由于机器人通过待遍历出路由已遍历完的第一待遍历子区域到第二待遍历子区域,因此,机器人能够避免重复遍历同一个已遍历区域,从而提高机器人的遍历效率。

Description

一种机器人控制方法及其装置、电子设备
技术领域
本发明涉及机器人控制技术领域,特别是涉及一种机器人控制方法及其装置、电子设备。
背景技术
扫地机器人自动清洁地面杂物,节省人工劳力的成本,因此,扫地机器人深受人们的喜爱。
传统扫地机器人能够按照预设规划路径自动遍历地面,以完成遍历工作。然而,传统扫地机器人的路径规划存在不合理的地方,例如,传统机器人未能够全局预判死胡同的出现,导致机器人欲遍历待遍历区域时,会再次经过并遍历已遍历区域,从而降低机器人的遍历效率。其中,死胡同被定义为:机器人四周不存在待遍历区域,但是远处存在待遍历区域,亦即,机器人遍历时,让自身陷入已遍历区域的包围之中,若机器人欲遍历远处的待遍历区域,机器人需要再次遍历已遍历区域,方可移动至远处的待遍历区域。
发明内容
本发明实施例一个目的旨在提供一种机器人控制方法及其装置、电子设备,其遍历效率高。
为解决上述技术问题,本发明实施例提供以下技术方案:
在第一方面,本发明实施例提供一种机器人控制方法,应用于移动机器人规划路径,包括:
在遍历待遍历区域时,预测期望移动轨迹是否将所述待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;
若是,预留待遍历出路,所述待遍历出路用于连通所述第一待遍历子区域与所述第二待遍历子区域;
在遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域。
可选地,在遍历待遍历区域前,所述方法还包括:
获取初始地图;
基于所述初始地图,构建局部工作区域,以便根据所述局部工作区域,遍历所述待遍历区域,其中所述局部工作区域包括所述待遍历区域。
可选地,所述基于所述初始地图,构建局部工作区域,包括:
基于所述初始地图,确定所述局部工作区域中主体障碍物的边界;
构建预设形状的局部工作区域,其中,所述预设形状的局部工作区域的至少一个边界长度为所述机器人沿着所述主体障碍物的边界行进的预设长度。
可选地,所述确定所述局部工作区域中主体障碍物的边界,包括:
构建世界坐标系;
根据霍夫变换算法,从所述初始地图检测出各条线段,计算出所述各条线段在所述世界坐标系内的斜率;
统计数量最多的相同斜率作为主斜率;
将斜率为所述主斜率的目标线段作为所述局部工作区域中主体障碍物的边界。
可选地,所述构建预设形状的局部工作区域,包括:
判断所述目标线段的长度是否大于预设阈值;
若大于,从长度大于所述预设阈值的若干目标线段中选择与所述机器人相对距离最近的目标线段作为所述主体障碍物的边界;
朝向所述主体障碍物的边界移动,在抵达所述主体障碍物的边界后,沿着所述主体障碍物的边界行进,以构建预设形状的局部工作区域;
若小于,按照预设逻辑规划路径。
可选地,所述在遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域,包括:
确定每次移动的最优位置,所述最优位置包括直行位置或者转弯位置或者环绕障碍物的位置;
移动至所述最优位置,并遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域;
标记所述第一待遍历子区域为已遍历区域。
可选地,所述确定每次移动的最优位置,包括:
以所在位置为中心基准,比较位于不同方向任意两个候选位置的最优解得分;
根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
可选地,所述根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置,包括:
栅格化所述初始地图,其中,所述机器人每移动一个单位步长便占据一个栅格;
以所在栅格为中心栅格,确定所述中心栅格的四周栅格中各个候选栅格的权重、障碍物距离权重以及期望移动至每个候选栅格对应的偏向角,其中,不计已遍历区域对应栅格的权重,所述障碍物距离权重为候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时对应的权重;
将每个所述候选栅格的权重、所述障碍物距离权重以及所述偏向角作加权求和运算,计算出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
可选地,所述机器人配置队列表,所述队列表包括N+1个数组,每个数组记为[Mi,Pi+1],i∈[0,N],N为非负整数,Mi为所述机器人自起始栅格移动i个单位步长后所在的栅格,Pi+1为Mi栅格对应的队列权重,各个队列权重按照次序递增;
所述以所在栅格为中心栅格,确定所述中心栅格的四周栅格中各个候选栅格的权重,包括:
各个候选栅格对应的权重为统计与候选栅格相邻、并且属于已遍历的栅格的队列权重之和。
可选地,所述将每个所述候选栅格的权重、所述障碍物距离权重以及所述偏向角作加权求和运算,计算出最优解得分最大的候选位置,包括:
在直行场景下,所述最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小对应的候选栅格;
在调头场景下,所述调头场景包括第一次转弯与第二次转弯,所述第一次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小以及权重最大的候选栅格,所述第二次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最大以及权重最大的候选栅格;
在环绕障碍物场景下,以所在栅格为中心栅格,所述中心栅格的四周栅格中至少一个候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时,以位于以障碍物所在栅格或区域为中心的预设周边栅格的候选栅格为最优解得分最大的候选位置。
可选地,所述预测期望移动轨迹是否将所述待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域,包括:
在移动至最优位置后,预测在行进方向上,最优位置的下一个位置所形成的期望移动轨迹是否将所述待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历区域。
可选地,所述方法还包括:
若否,按照预设规划路径遍历待遍历区域。
在第二方面,本发明实施例提供一种机器人控制装置,应用于移动机器人规划路径,包括:
预测模块,用于在遍历待遍历区域时,预测期望移动轨迹是否将所述待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;
预留模块,用于若是,预留待遍历出路,所述待遍历出路用于连通所述第一待遍历子区域与所述第二待遍历子区域;
控制模块,用于在遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域。
可选地,所述装置还包括:
获取模块,用于获取初始地图;
构建模块,用于基于所述初始地图,构建局部工作区域,以便根据所述局部工作区域,遍历所述待遍历区域,其中所述局部工作区域包括所述待遍历区域。
可选地,所述构建模块包括:
第一确定单元,用于基于所述初始地图,确定所述局部工作区域中主体障碍物的边界;
构建单元,用于构建预设形状的局部工作区域,其中,所述预设形状的局部工作区域的至少一个边界长度为所述机器人沿着所述主体障碍物的边界行进的预设长度。
可选地,所述第一确定单元包括:
构建子单元,用于构建世界坐标系;
检测子单元,用于根据霍夫变换算法,从所述初始地图检测出各条线段,计算出所述各条线段在所述世界坐标系内的斜率;
统计子单元,用于统计数量最多的相同斜率作为主斜率,将斜率为所述主斜率的目标线段作为主体障碍物的边界。
可选地,所述构建单元包括:
判断子单元,用于判断所述目标线段的长度是否大于预设阈值;
第一控制子单元,用于若大于,从长度大于所述预设阈值的若干目标线段中选择与所述机器人相对距离最近的目标线段作为所述主体障碍物的边界;朝向所述主体障碍物的边界移动,在抵达所述主体障碍物的边界后,沿着所述主体障碍物的边界行进,以构建预设形状的局部工作区域;
第二控制子单元,用于若小于,按照预设逻辑规划路径。
可选地,所述控制模块具体用于:
确定每次移动的最优位置,所述最优位置包括直行位置或者转弯位置或者环绕障碍物的位置;
移动至所述最优位置,并遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域;
标记所述第一待遍历子区域为已遍历区域。
可选地,所述控制模块具体用于:
以所在位置为中心基准,比较位于不同方向任意两个候选位置的最优解得分;
根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
可选地,所述控制模块具体用于:
栅格化所述初始地图,其中,所述机器人每移动一个单位步长便占据一个栅格;
以所在栅格为中心栅格,确定所述中心栅格的四周栅格中各个候选栅格的权重、障碍物距离权重以及期望移动至每个候选栅格对应的偏向角,其中,不计已遍历区域对应栅格的权重,所述障碍物距离权重为候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时对应的权重;
将每个所述候选栅格的权重、所述障碍物距离权重以及所述偏向角作加权求和运算,计算出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
可选地,所述机器人配置队列表,所述队列表包括N+1个数组,每个数组记为[Mi,Pi+1],i∈[0,N],N为非负整数,Mi为所述机器人自起始栅格移动i个单位步长后所在的栅格,Pi+1为Mi栅格对应的队列权重,各个队列权重按照次序递增;
所述控制模块具体用于:
各个候选栅格对应的权重为统计与候选栅格相邻、并且属于已遍历的栅格的队列权重之和。
可选地,所述控制模块还具体用于:
在直行场景下,所述最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小对应的候选栅格;
在调头场景下,所述调头场景包括第一次转弯与第二次转弯,所述第一次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小以及权重最大的候选栅格,所述第二次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最大以及权重最大的候选栅格;
在环绕障碍物场景下,以所在栅格为中心栅格,所述中心栅格的四周栅格中至少一个候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时,以位于以障碍物所在栅格或区域为中心的预设周边栅格的候选栅格为最优解得分最大的候选位置。
可选地,所述预测模块用于:
在移动至最优位置后,预测在行进方向上,最优位置的下一个位置所形成的期望移动轨迹是否将所述待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历区域。
可选地,所述装置还包括:遍历模块,用于若否,按照预设规划路径遍历待遍历区域。
在第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行任一项所述的机器人控制方法。
在第四方面,本发明实施例提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行任一项所述的机器人控制方法。
在第五方面,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的机器人控制方法。
在本发明各个实施例提供的机器人控制方法及其装置、电子设备中,首先,在机器人遍历待遍历区域时,预测期望移动轨迹是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;其次,若是,若是,预留待遍历出路,待遍历出路用于连通第一待遍历子区域与第二待遍历子区域;再次,在遍历完第一待遍历子区域后,通过待遍历出路移动至第二待遍历子区域。因此,当遍历完第一待遍历子区域后,由于机器人通过待遍历出路由已遍历完的第一待遍历子区域到第二待遍历子区域,因此,机器人能够避免重复遍历同一个已遍历区域,从而提高机器人的遍历效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供一种机器人的示意图;
图2是本发明实施例提供一种机器人控制方法的流程示意图;
图2a是本发明实施例提供一种机器人遍历待遍历区域的示意图;
图3是本发明另一实施例提供一种机器人控制方法的流程示意图;
图4是图3中S22的流程示意图;
图4a是本发明实施例提供一种机器人在未遇到障碍物的情况下,构建局部工作区域的示意图;
图4b是本发明实施例提供一种机器人在遇到另一面墙体的情况下,构建局部工作区域的示意图;
图4c是本发明实施例提供一种机器人在障碍物的情况下,构建局部工作区域的示意图;
图5是图4中S221的流程示意图;
图5a是本发明实施例提供一种机器人构建另一个局部工作区域的示意图;
图5b是本发明实施例提供一种机器人构建另一个局部工作区域时,遇到上一个局部工作区域的示意图;
图6是图2中S27的流程示意图;
图7是图6中S271的流程示意图;
图7a是本发明实施例提供一种机器人在栅格化地图上移动时,各个栅格与权重对应的示意图;
图7b是本发明实施例提供一种机器人遍历局部工作区域时,在初始场景下的示意图;
图7c是本发明实施例提供一种机器人遍历局部工作区域时,在直行场景下的示意图;
图7d是本发明实施例提供一种机器人遍历局部工作区域时,在调头场景下的第一种状态示意图;
图7e是本发明实施例提供一种机器人遍历局部工作区域时,在调头场景下的第二种状态示意图;
图7f是本发明实施例提供一种机器人遍历局部工作区域时,在调头场景下的第三种状态示意图;
图7g是本发明实施例提供一种机器人遍历局部工作区域时,在环绕障碍物场景下的第一种示意图;
图7h是本发明实施例提供一种机器人环绕障碍物场景下的第一种状态图;
图7i是本发明实施例提供一种机器人遍历局部工作区域时,在环绕障碍物场景下的第二种示意图;
图7j是本发明实施例提供一种机器人环绕障碍物场景下的第二种状态图;
图7k是本发明实施例提供一种机器人预测死胡同的遍历示意图;
图7l是本发明实施例提供一种机器人预测死胡同而规避死胡同现象的遍历示意图;
图7m是本发明实施例提供一种机器人完整遍历一个局部工作区域的示意图;
图8是本发明实施例提供一种机器人控制装置的结构示意图;
图8a是本发明另一实施例提供一种机器人控制装置的结构示意图;
图8b是图8a中构建模块的结构示意图;
图8c是图8b中第一确定单元的结构示意图;
图8d是图8b中构建单元的结构示意图;
图9是本发明实施例提供一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例的机器人控制方法可以在任何合适类型并具有运算能力的电子设备中执行,其中,本发明实施例的电子设备可以被构造成任何合适形状,例如,电子设备被构造成圆状体的扫地机器人。
本发明实施例涉及的“遍历”这一词的理解可以根据产品应用场景来作出适应于产品应用场景的解释,下文涉及的应用场景如涉及“遍历”用语并不用于限制权利要求书中“遍历”的解释范围,只是用于辅助说明。例如,当电子设备为扫地机器人时,“遍历”地面可以理解为“清洁”地面,当电子设备为搜索机器人时,“遍历”环境可以理解为在特定环境中“搜索”目标物。
请参阅图1,机器人100包括:控制单元11、惯性测量单元12、环境数据采样单元13、定位与建图单元14、无线通信单元15、清洁单元16及驱动单元17。
控制单元11作为机器人100的控制核心,可以采用多种路径规划算法控制机器人实施遍历工作,例如,控制单元11采用全覆盖路径规划算法指示机器人完全遍历一个环境空间。全覆盖路径规划算法指机器人在获取的环境信息以及建图后对路径进行规划以达到遍历环境空间算法。
控制单元11可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,控制单元11还可以是任何传统处理器、控制器、微控制器或状态机。控制单元11也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。
惯性测量单元12用于测量机器人的三轴姿态角以及加速度,惯性测量单元12可以为三轴陀螺仪与加速度传感器的集合。
环境数据采样单元13用于采样环境空间各类数据,诸如环境空间图像数据等等,环境数据采样单元13可以为光学摄像头、激光雷达或者声波雷达等传感器。
定位与建图单元14采用SLAM(simultaneous localization and mapping,即时定位与建图技术)技术,根据环境数据构建地图和定位。控制单元11基于被建立好的地图以及机器人的位置,通过全覆盖路径规划算法指示机器人完全遍历一个环境空间。例如,在机器人100遍历时,环境数据采样单元13获取遍历区域的图像,其中,该遍历区域的图像可以为整片遍历区域的图像,亦可以为整片遍历区域中局部遍历区域的图像。定位与建图单元14根据遍历区域的图像生成地图,该地图已指示机器人100需要遍历的区域以及位于遍历区域中的障碍物所在的坐标位置。当机器人100每遍历完一个位置或区域后,机器人100基于该地图,标记该位置或区域已被遍历。并且,由于障碍物在地图中是以坐标方式被标记,机器人遍历时,可以根据当前位置对应的坐标点与障碍物涉及的坐标点,判断与障碍物之间的距离,从而实现环绕障碍物作遍历工作。同理,位置或区域已遍历而被标记后,当机器人100下一个位置将会移动至该位置或该区域时,机器人100基于该地图以及该位置或该区域的标记,作出转弯调头或者停止遍历的策略。
可以理解的是,控制单元11还可以根据多种方式识别已遍历位置或区域,或者,识别障碍物,从而作出满足产品需求的控制策略。
无线通信单元15用于与用户终端或遥控器无线通信,无线通信单元15与控制单元11电连接。遍历时,用户通过用户终端或遥控器向机器人100发送控制指令,无线通信单元15接收控制指令并向控制单元11发送该控制指令,控制单元11根据该控制指令控制机器人100完成遍历工作。
其中,无线通信单元15包括广播接收模块、移动通信模块、无线互联网模块、短距离通信模块和定位信息模块。
清洁单元16用于清洁地面,清洁单元16可以包括一些吸尘等清洁组件。
驱动单元17用于驱动机器人100行进或后退,清洁时,控制单元11向驱动单元17发送控制指令,驱动单元17根据控制指令带动清洁单元16完成清洁工作。
驱动单元17包括电机组件以及驱动轮,电机组件接收控制指令,并根据控制林带动驱动轮转动,从而驱动机器人100行进或后退。
请参阅图2,图2是本发明实施例提供一种机器人控制方法的流程示意图。如图2所示,机器人控制方法200包括:
S23、在遍历待遍历区域时,预测期望移动轨迹是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;
待遍历区域为机器人尚未清洁的区域,机器人遍历该待遍历区域,以完成清洁工作。
期望移动轨迹为机器人基于当前所在位置,按照预设规划路径,将要实施的移动轨迹,该期望移动轨迹可以为以机器人100当前位置为基准,按照预设规划路径移动的下一个位置或者下下一个位置而形成的移动轨迹等等。例如,请参阅图2a,机器人100的当前位置为A,机器人100按照预设规划路径移动时,下一个位置为B,下下个位置为C。其中,黑色区域为已遍历区域,白色区域为待遍历区域。此时,AB形成期望移动轨迹,AC形成另一条期望移动轨迹。当机器人100继续移动至D位置时,由于A、B、C及D位置,机器人已遍历过,于是,机器人100移动至D位置的行为便将待遍历区域20分为两个封闭的第一待遍历子区域201与第二待遍历区域202,亦即,第一待遍历子区域201与第二待遍历区域202的四周都是已遍历的区域。假设机器人100移动至C位置后,不再继续直行,而是向左转或右转,机器人100移动至C位置的行为并未能够将待遍历区域20分为两个封闭的第一待遍历子区域201与第二待遍历区域202,亦即,第一待遍历子区域201与第二待遍历区域202都留有缺口,该缺口使得第一待遍历子区域201与第二待遍历区域202未能够形成封闭的待遍历子区域。
当预测机器人100的期望移动轨迹未能够将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历区域时,机器人100按照预设规划路径遍历待遍历区域,亦即,机器人100可以先遍历第一待遍历子区域,后在遍历第二待遍历区域,亦可以先遍历第二待遍历子区域,后在遍历第一待遍历区域。在一些实施例中,当第一待遍历子区域的面积小于第二待遍历区域的面积时,机器人100首先遍历第一待遍历子区域,后再遍历第二待遍历子区域。采用此种方式,可以在死胡同无可避免时,减少重复遍历已遍历区域的面积。
S25、若是,预留待遍历出路,待遍历出路用于连通第一待遍历子区域与第二待遍历子区域;
待遍历出路用于为机器人100提供避免重复遍历已遍历区域的出路。
请再参阅图2a,机器人100移动至C位置后,不再继续直行至D位置,而是转左或转右进入第一待遍历子区域201或第二待遍历子区域202,于是,机器人100便预留着待遍历出路203。
S27、在遍历完第一待遍历子区域后,通过待遍历出路移动至第二待遍历子区域;
机器人100在遍历第一待遍历子区域时,可以根据第一待遍历子区域的遍历环境,结合局部决策,实施遍历。例如,当机器人100未遇到障碍物,或者未遇到已遍历区域时,机器人100直行而遍历第一待遍历子区域。或者,当机器人100遇到已遍历区域时,机器人100调头而遍历第一待遍历子区域。其中,本文涉及的已遍历区域不仅包括机器人100已遍历的区域,而且还包括机器人100在构建局部工作区域时,局部工作区域的边界。从整体上观察机器人100直行以及调头所产生的移动轨迹,该移动轨迹可以被解释为“弓”字形。或者,当机器人100遇到障碍物时,机器人100躲避障碍物,并且环绕障碍物的周边进行遍历。于是,机器人100以全覆盖路径规划算法遍历第一待遍历子区域。
同理可得,机器人遍历第二待遍历子区域时,可以采用上述局部决策展开遍历工作,在此不再赘述。
请再参阅图2a,机器人100从第一待遍历子区域201的最右侧边界线的端点开始遍历工作,并从第一待遍历子区域201的最左侧边界线的端点进入待遍历出路203的入口,再次通过待遍历出路203的出口进入第二待遍历子区域202。
在一些实施例中,当机器人100无可避免地处在死胡同情况,控制单元11控制机器人100沿着轨迹往回搜索轨迹附近还待遍历区域,再次,根据点对点方式规划路径,使得机器人100能够避开障碍物抵达搜索到的待遍历区域。
S29、若否,按照预设规划路径遍历待遍历区域。
总体而言,机器人100能够避免重复遍历同一个已遍历区域,从而提高机器人100的遍历效率。
一般的,传统技术采用全局规划方式构建全局地图。在规划路径时,机器人已获取全局地图。由于诸如激光雷达等传感器的最长测距有限以及障碍物的遮挡,机器人并不能够在较短时间内获取全局地图的所有信息,因此,传统技术需要机器人去探索未知区域,这导致了路径规划失去了实时性。并且全局规划方式需要储存和处理的数据量非常大,对硬件要求高。
在一些实施例中,为了降低机器人100对巨大数据量的处理与储存的负荷,提高机器人100的实时性,在一些实施例中,机器人100从比较大的遍历环境空间内构建一系列局部工作区域。请参阅图3,机器人控制方法200还包括:
S21、获取初始地图;
S22、基于初始地图,构建局部工作区域,以便根据局部工作区域,遍历待遍历区域,其中,局部工作区域包括待遍历区域。
定位与建图单元14根据环境数据采样单元13发送的图像以及环境信息,建立初始地图。在建立初始地图的过程中,为提高遍历效率,建立初始地图的工作在一个线程上运行,路径规划的工作在另一个线程上运行,亦即,路径规划与建图工作是并发进行。
一般的,人工清洁房间时,选择从墙体边界开始清洁,从而减少人工重复在已清洁区域走动,提高清洁效率,对于机器人,遍历原理与此类似。因此,在一些实施例中,请参阅图4,S22包括:
S221、基于初始地图,确定局部工作区域中主体障碍物的边界;
S222、构建预设形状的局部工作区域,其中,预设形状的局部工作区域的至少一个边界长度为机器人沿着主体障碍物的边界行进的预设长度。
主体障碍物为遍历环境空间中的主要障碍物,例如,主体障碍物可以为房屋中主体构架的墙体,该墙体可以为砖头堆砌而成,亦可以为较长的木板。
局部工作区域呈预设形状,该预设形状为矩形或正方形。在一些实施例中,局部工作区域较佳地为矩形,对于机器人遍历相同面积的局部工作区域而言,机器人遍历矩形的局部工作区域所需要调头的次数相对于正方形的局部工作区域少,从而提高遍历效率。
在构建局部工作区域时,控制单元11控制机器人100移动至主体障碍物的边界,并以抵达主体障碍物的边界之处为起始点,开始构建预设形状的局部工作区域。
请参阅图4a,机器人100为实心圆,主体障碍物19为墙体,机器人100以K1为起始点,朝着墙体的边界直行,直至抵达墙体的边界,于是,机器人100沿着墙体边界往上移动L距离后,向左转水平移动W距离,L大于W,依次类推,直至机器人100构建出矩形的局部工作区域,并重新回到K1。
在一些实施例中,机器人100未必一定构建预设距离L的局部工作区域。例如,请参阅图4b,机器人100朝着墙体的边界直行距离S时,行进方向遇到另一面墙体,其中,S小于L,于是,机器人100向左转水平移动W距离,依次类推,从而构建一个长为S、宽为W的矩形局部工作区域。
在一些实施例中,机器人100在构建局部工作区域时,遇到障碍物时,机器人100避开障碍物继续构建局部工作区域。例如,请参阅图4c,机器人100避开障碍物后,构建一个长为S、宽为W的矩形局部工作区域。
一般的,机器人100可以采用多种方式确定主体障碍物的边界,例如直线拟合方式等等。在本实施例中,机器人100结合霍夫变换算法确定主体障碍物的边界。请参阅图5,S221包括:
S2211、构建世界坐标系;
S2212、根据霍夫变换算法,从初始地图检测出各条线段,计算出各条线段在世界坐标系内的斜率;
S2213、统计数量最多的相同斜率作为主斜率;
S2214、将斜率为主斜率的目标线段作为主体障碍物的边界。
在一些实施例中,机器人100构建预设形状的局部工作区域的过程中,判断目标线段的长度是否大于预设阈值,若大于,将目标线段作为主体障碍物的边界,控制机器人朝向所述主体障碍物的边界移动,在抵达主体障碍物的边界后,控制机器人沿着所述主体障碍物的边界行进,构建预设形状的局部工作区域;若小于,按照预设逻辑控制机器人,其中,该预设逻辑由用户自定义。
采用此种方式确定主体障碍物的边界,其能够避免机器人将一些边界长度比较短的障碍物作为主体障碍物而降低遍历效率的问题出现。
在一些实施例中,机器人100将目标线段作为主体障碍物的边界时,机器人100从长度大于预设阈值的若干目标线段中选择与机器人相对距离最近的目标线段作为主体障碍物的边界。
采用此种方式确定主体障碍物的边界,其能够避免机器人舍近求远地从远处主体障碍物的边界开始遍历,导致机器人移动时间过长而降低遍历效率的问题出现。
当机器人100遍历完当前局部工作区域后,机器人100接着构建另外一个局部工作区域。例如,机器人100构建完上述的局部工作区域(第一个局部工作区域)后,再构建第二个局部工作区域,依次类推,构建第M个局部工作区域,其中,M为正整数。
机器人100遍历历完当前局部工作区域后,离开当前局部工作区域,抵达当前局部工作区域的边界外周。请参阅图5a,机器人构建另外一个局部工作区域时,机器人100沿着上一个局部工作区域的边界直行,遇到主体障碍物时,沿着主体障碍物边界的切线方向转弯,从而再次构建预设形状的局部工作区域,具体过程可以参照上述构建局部工作区域的过程,在此不赘述。此处值得说明的是:当机器人判断出以某一方向转弯会进入已遍历区域时,则,机器人以相反方向转弯,从而确保不再进入已遍历区域,例如,请参阅图5b,黑色部分5b1为已遍历区域,机器人100沿着X轴方向直行至墙体边界时,向左转会进入已遍历区域,于是,机器人100向右转并构建另外一个局部工作区域。
在一些实施例中,机器人100遍历待遍历区域时,其能够自适应地实现直行、调头或环绕障碍物展开遍历工作。请参阅图6,S27包括:
S271、确定每次移动的最优位置,最优位置包括直行位置或者转弯位置或者环绕障碍物的位置;
S272、移动至最优位置,并遍历完第一待遍历子区域后,通过待遍历出路移动至第二待遍历子区域;
S273、标记第一待遍历子区域为已遍历区域。
在本实施例中,直行位置为以机器人100所在位置为中心基准、并且预设区域内不存在障碍物时,机器人所在位置的前方位置。
转弯位置为机器人的前方位置已进入已遍历区域时,为了避免进入已遍历区域而需要转弯后的位置。
环绕障碍物的位置为机器人开始进入以障碍物所在区域为中心的预设周边区域时的第一位置,第一位置与机器人所在的当前位置最近。
在一些实施例中,确定机器人每次移动的最优位置的方式多种多样。例如,请参阅图7,S271包括:
S2711、以所在位置为中心基准,比较位于不同方向任意两个候选位置的最优解得分;
S2712、根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
机器人100根据比较结果遍历出最优解得分最大的候选位置的过程中,首先,机器人100栅格化初始地图,其中,栅格化初始地图的操作包括初始化相关矩阵与参数。其中,每个栅格的宽度为机器人的长度,机器人每移动一个单位步长便占据一个栅格。在一些实施例中,机器人一般为圆形,每个栅格的宽度为机器人的直径。
其次,机器人100确定以机器人100所在栅格为中心基准,四周栅格中各个候选栅格的权重、障碍物距离权重以及机器人期望移动至每个候选栅格对应的偏向角,其中,忽略已遍历区域对应栅格的权重,障碍物距离权重为候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时对应的权重。各个候选栅格对应的权重为统计与候选栅格相邻、并且属于机器人已遍历的栅格的队列权重之和。偏向角为机器人由前方方向移动至候选位置所在方向需要的角度。
在一些实施例中,机器人配置队列表,队列表包括N+1个数组,每个数组记为[Mi,Pi+1],i∈[0,N],N为非负整数,Mi为机器人自起始栅格移动i个单位步长后所在的栅格,Pi+1为Mi栅格对应的队列权重,各个队列权重按照次序递增。
举例而言,请参阅图7a,机器人自起始栅格开始移动,一共移动3个栅格,亦即N=3。第0个栅格70为机器人刚进入局部工作区域所在的起始栅格,第0个栅格70对应第1队列权重;第1个栅格71为机器人移动一个步长后所在的栅格,第1个栅格71对应第2队列权重;第2个栅格72为机器人移动一个步长后所在的栅格,第2个栅格72对应第3队列权重;第3个栅格73为机器人移动一个步长后所在的栅格,第3个栅格73对应第4队列权重。其中,第1队列权重小于第2队列权重,第2队列权重小于第3队列权重,第3队列权重小于第4队列权重。
在一些实施例中,当机器人移动预设数量栅格后,后续移动对应的栅格不再与相应的队列权重对应,例如,当机器人移动5个栅格后,亦即第4个栅格不再对应有第5队列权重。以下假设机器人移动5个栅格后,亦即第4个栅格不再对应有第5权重。
再次,机器人100将每个候选栅格的权重、障碍物距离权重以及偏向角作加权求和运算,计算出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
在一些实施例中,机器人100计算出最优解得分最大的候选位置的过程中,其可以分为以下场景计算出最优解得分最大的候选位置。例如,在直行场景下,最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小对应的候选栅格。例如,机器人的前方位置的偏向角最小,并且,根据候选栅格的权重与障碍物距离权重计算出的最优解得分未能够降低最小偏向角对应的最优解得分,于是,偏向角最小对应的候选栅格的最优解得分最大,因此,机器人的前方位置为最优位置。于是,当机器人从当前位置移动至前方位置后,机器人便完成直走。
在调头场景下,调头场景包括第一次转弯与第二次转弯,第一次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小以及权重最大的候选栅格,第二次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最大以及权重最大的候选栅格。例如,在第一次转弯发生前的直走场景中,前方出现已遍历区域,在没有产生死胡同的情况下,机器人直走一个单位步长后便进入第一次转弯发生场景下,于是,最优位置为机器人的右方以及右后方或者左方以及左后方,其中,忽略已遍历区域对应栅格以及局部工作区域的边界区域对应的栅格,由于右方或者左方的偏向角最小,以及候选栅格的权重与障碍物距离权重又不足以降低偏向角最小的最优解得分,因此,最优解得分最大的候选位置为右方或者左方的位置,于是,机器人完成第一次转弯。
在机器人完成第一次转弯后,进入第二次转弯场景下,候选位置为前方、前右方以及右方,或者,前左方以及左方。右方或者左方对应的候选栅格的权重最大,并且偏向角以及障碍物距离权重又不足以降低候选栅格的最大权重的最优解得分,因此,最优解得分最大的候选位置为右方或者左方,机器人完成第二次转弯。
在环绕障碍物场景下,以机器人所在栅格为中心基准,四周栅格中至少一个候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时,以位于以障碍物所在栅格或区域为中心的预设周边栅格的候选栅格为最优解得分最大的候选位置。例如,当机器人四周的栅格中出现了障碍物所在栅格或区域时,障碍物的预设周边栅格的障碍物距离权重使得障碍物的预设周边栅格的最优解得分非常大,偏向角以及候选栅格的权重无法使非障碍物的预设周边栅格的最优解得分比障碍物的预设周边栅格的最优解得分高,因此所述机器人优先遍历障碍物的预设周边栅格,完成环绕障碍物。其中,当四周栅格中出现了多个障碍物周边栅格,那么偏向角以及候选栅格的权重则会影响这些障碍物周边栅格的最优解得分,从而决定最优位置如何在这些障碍物周边栅格中选出。
下面结合图7b至图7j详细阐述机器人的行走过程中。
请参阅图7b,在初始场景下,机器人100刚构建完局部工作区域,处于局部工作区域的边界上,机器人100进入局部工作区域内后,机器人100初始方向被设定为沿着边界的切线方向。其中,在图7b以及后续附图中,为了可视化,每个栅格的宽度大于机器人的直径。
请参阅图7c,在直行场景下,存在8个候选栅格由机器人100可以选择移动,但是,由于机器人所在栅格的左侧栅格为局部工作区域的边界,该边界对应的栅格在构建局部工作区域时已遍历,因此,左侧3个栅格从8个候选栅格中除去,剩下5个候选栅格。但是,机器人100在初始场景中以按照初始方向已遍历位于机器人所在栅格N0的顶部栅格N5,因此,再次从剩下的5个候选栅格除去1个栅格,剩下4个候选栅格。
在图7c中,栅格N0对应的队列权重为第2队列权重C2,栅格N5对应的队列权重为第1队列权重C1,C2大于C1。其中,机器人所在栅格N0被遍历过,并且栅格N0与候选栅格N1共用同一边长,因此,候选栅格N1的队列权重为C2。并且,当机器人100从栅格N0移动至候选栅格N1时,对应的第一偏向角在N1至N4里是最小的。
对于候选栅格N2,由于候选栅格N2并不与栅格N0或者N5共用同一边长,候选栅格N2的权重约为零。并且,当机器人100从栅格N0移动至候选栅格N2时,对应的第二偏向角大于第一偏向角。
对于候选栅格N3,由于候选栅格N3与栅格N0共用同一边长,候选栅格N2的权重为C1。并且,当机器人100从栅格N0移动至候选栅格N3时,对应的第三偏向角大于第二偏向角。
对于候选栅格N4,由于候选栅格N4与栅格N5共用同一边长,栅格N5被遍历过,栅格N5的队列权重为C1,因此,候选栅格N2的权重为C1。并且,当机器人100从栅格N0移动至候选栅格N4时,对应的第四偏向角大于第三偏向角。
因为远离障碍物,这些候选栅格的障碍物距离权重都约为零。由于机器人100从栅格N0移动至候选栅格N1的偏向角最小以及权重最大,因此,候选栅格N1的最优解得分最大,亦即,候选栅格N1为最优位置。
请一并参阅图7d、图7e及图7f,在调头场景中,机器人需要通过两次转弯完成调头。在第一次转弯中,机器人100所在栅格的权重为C4,候选栅格N1的权重为C4,候选栅格N2的权重为C3,机器人100由所在栅格移动至候选栅格N1的偏向角小于移动至候选栅格N2的偏向角,因此,候选栅格N1为最优位置。
在第二次转弯中,机器人100所在栅格的权重为C4,候选栅格N1的权重为C4,候选栅格N2的权重约为零,候选栅格N3的权重为C4+C2之和,机器人100由所在栅格移动至候选栅格N1的偏向角小于移动至候选栅格N2的偏向角,机器人100由所在栅格移动至候选栅格N2的偏向角小于移动至候选栅格N3的偏向角。由于第二次转弯中,候选栅格N3的权重很大,而即使在其偏向角相对较大的情况下,通过公式运算得出,候选栅格N3的最优解得分最大,亦即,候选栅格N3为最优位置。
在环绕障碍物场景中,请参阅图7g与7h,机器人所在栅格位于以障碍物所在栅格或区域为中心的一个周边栅格时,机器人按照直行场景下的路径策略环绕障碍物。请参阅图7i与图7j,当机器人所在栅格的候选栅格N2位于以障碍物所在栅格或区域为中心的一个周边栅格时,障碍物距离权重将变得非常大,导致其在最优解的公式运算中处于主导地位,迫使障碍物所在栅格或区域为中心的周边栅格的最优解得分最大,亦即,候选栅格N3为最优位置。
在预判死胡同场景中,步骤23包括:在机器人移动至最优位置后,预测在行进方向上,最优位置的下一个位置是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历区域。例如,请一并参阅图7k与图7l,机器人100直行时,将候选栅格N1作为最优位置。为了避免死胡同情况出现,机器人100还会预测移动至候选栅格N1的下一个栅格NN1,是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历区域。显然,机器人100移动至候选栅格N1的下一个栅格NN1时,其能够将待遍历区域划分成两个封闭的第一待遍历子区域701与第二待遍历区域702。于是,由于第一待遍历子区域701的面积小于第二待遍历区域702的面积,于是机器人100在候选栅格N1向左转。机器人100遍历完第一待遍历子区域701,经由待遍历出路703抵达至第二待遍历区域702。
总体而言,请参阅图7m,机器人100遍历局部工作区域时,其并不会出现重复遍历已遍历区域,并且能够避开障碍物以及环绕障碍物展开遍历工作。
在上述各个实施例中,机器人100遍历完一个局部工作区域后,再次获取新初始地图,并根据新初始地图判断另外局部工作区域的障碍物信息是否存在变化,若变化,更新原有初始地图,该更新工作包括更新参与相关运算的矩阵和参数。若没变化,按照预设逻辑展开遍历工作。
需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本发明实施例的另一方面,本发明实施例提供一种机器人控制装置,应用于移动机器人规划路径。本发明实施例的机器人控制装置可以作为其中一个软件功能单元,机器人控制装置包括若干指令,该若干指令存储于存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述机器人控制方法。
请参阅图8,机器人控制装置800包括:预测模块81、预留模块82、控制模块83及遍历模块84。
预测模块81用于在遍历待遍历区域时,预测期望移动轨迹是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;
预留模块82用于若是,预留待遍历出路,待遍历出路用于连通第一待遍历子区域与第二待遍历子区域;
控制模块83用于在遍历完第一待遍历子区域后,通过待遍历出路移动至第二待遍历子区域。
遍历模块84用于若否,按照预设规划路径遍历待遍历区域。
综上,当遍历完第一待遍历子区域后,由于机器人通过待遍历出路由已遍历完的第一待遍历子区域到第二待遍历子区域,因此,机器人能够避免重复遍历同一个已遍历区域,从而提高机器人的遍历效率。
在一些实施例中,请参阅图8a,机器人控制装置800还包括:获取模块85与构建模块86。
获取模块85用于获取初始地图;
构建模块86用于基于初始地图,构建局部工作区域,以便根据局部工作区域,遍历待遍历区域,其中,局部工作区域包括所述待遍历区域。
在一些实施例中,请参阅图8b,构建模块86包括:第一确定单元861与构建单元862。
第一确定单元861用于基于所述初始地图,确定局部工作区域中主体障碍物的边界;
构建单元862用于构建预设形状的局部工作区域,其中,预设形状的局部工作区域的至少一个边界长度为机器人沿着主体障碍物的边界行进的预设长度。
在一些实施例中,请参阅图8c,第一确定单元861包括:构建子单元8611、检测子单元8612及统计子单元8613。
构建子单元8611用于构建世界坐标系;
检测子单元8612用于根据霍夫变换算法,从初始地图检测出各条线段,计算出各条线段在世界坐标系内的斜率;
统计子单元8613用于统计数量最多的相同斜率作为主斜率,将斜率为主斜率的目标线段作为主体障碍物的边界。
在一些实施例中,请参阅图8d,构建单元862包括:判断子单元8621、第一控制子单元8622及第二控制子单元8623。
判断子单元8621用于判断目标线段的长度是否大于预设阈值;
第一控制子单元8622用于若大于,从长度大于预设阈值的若干目标线段中选择与机器人相对距离最近的目标线段作为主体障碍物的边界;朝向主体障碍物的边界移动,在抵达主体障碍物的边界后,沿着主体障碍物的边界行进,以构建预设形状的局部工作区域;
第二控制子单元8623用于若小于,按照预设逻辑规划路径。
在一些实施例中,控制模块83具体用于:确定每次移动的最优位置,最优位置包括直行位置或者转弯位置或者环绕障碍物的位置;移动至所述最优位置,并遍历完第一待遍历子区域后,通过待遍历出路移动至第二待遍历子区域;标记第一待遍历子区域为已遍历区域。
在一些实施例中,控制模块83具体用于:以所在位置为中心基准,比较位于不同方向任意两个候选位置的最优解得分;根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
在一些实施例中,控制模块83具体用于:栅格化初始地图,其中,机器人每移动一个单位步长便占据一个栅格;以所在栅格为中心栅格,确定中心栅格的四周栅格中各个候选栅格的权重、障碍物距离权重以及期望移动至每个候选栅格对应的偏向角,其中,不计已遍历区域对应栅格的权重,障碍物距离权重为候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时对应的权重;将每个候选栅格的权重、障碍物距离权重以及偏向角作加权求和运算,计算出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
在一些实施例中,机器人配置队列表,队列表包括N+1个数组,每个数组记为[Mi,Pi+1],i∈[0,N],N为非负整数,Mi为机器人自起始栅格移动i个单位步长后所在的栅格,Pi+1为Mi栅格对应的队列权重,各个队列权重按照次序递增。
控制模块83具体用于:各个候选栅格对应的权重为统计与候选栅格相邻、并且属于机器人已遍历的栅格的队列权重之和。
在一些实施例中,控制模块83还具体用于:在直行场景下,所述最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小对应的候选栅格;在调头场景下,所述调头场景包括第一次转弯与第二次转弯,所述第一次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小以及权重最大的候选栅格,所述第二次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最大以及权重最大的候选栅格;在环绕障碍物场景下,以所述机器人所在栅格为中心基准,四周栅格中至少一个候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时,以位于以障碍物所在栅格或区域为中心的预设周边栅格的候选栅格为最优解得分最大的候选位置。
在一些实施例中,预测模块81用于:在移动至最优位置后,预测在行进方向上,最优位置的下一个位置所形成的期望移动轨迹是否将待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历区域。
需要说明的是,上述机器人控制装置可执行本发明实施例所提供的机器人控制方法,具备执行方法相应的功能模块和有益效果。未在机器人控制装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的机器人控制方法。
作为本发明实施例的另一方面,本发明实施例提供一种电子设备。请参阅图9,该电子设备900包括:一个或多个处理器91以及存储器92。其中,图9中以一个处理器91为例。
处理器91和存储器92可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器92作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的机器人控制方法对应的程序指令/模块。处理器91通过运行存储在存储器92中的非易失性软件程序、指令以及模块,从而执行上述各个实施例的机器人控制方法,或者上述各个实施例的机器人控制装置的各种功能应用以及数据处理。
存储器92可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器92可选包括相对于处理器91远程设置的存储器,这些远程存储器可以通过网络连接至处理器91。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器92中,当被所述一个或者多个处理器91执行时,执行上述任意方法实施例中的机器人控制方法,例如,从而执行上述各个实施例的机器人控制方法,或者上述各个实施例的机器人控制装置的各种功能应用以及数据处理。
本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行如上任一项所述的机器人控制方法。
综上,当遍历完第一待遍历子区域后,由于机器人通过待遍历出路由已遍历完的第一待遍历子区域到第二待遍历子区域,因此,机器人能够避免重复遍历同一个已遍历区域,从而提高机器人的遍历效率。
本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的机器人控制方法。
综上,当遍历完第一待遍历子区域后,由于机器人通过待遍历出路由已遍历完的第一待遍历子区域到第二待遍历子区域,因此,机器人能够避免重复遍历同一个已遍历区域,从而提高机器人的遍历效率。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (9)

1.一种机器人控制方法,应用于移动机器人规划路径,其特征在于,包括:
获取初始地图;
基于所述初始地图,构建局部工作区域,以便根据所述局部工作区域,遍历待遍历区域,其中所述局部工作区域包括所述待遍历区域;
在遍历所述待遍历区域时,预测期望移动轨迹是否将所述待遍历区域划分成两个封闭的第一待遍历子区域与第二待遍历子区域;
若是,预留待遍历出路,所述待遍历出路用于连通所述第一待遍历子区域与所述第二待遍历子区域;
在遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域;
其中,所述基于所述初始地图,构建局部工作区域,包括:
基于所述初始地图,确定所述局部工作区域中主体障碍物的边界;
构建预设形状的局部工作区域,其中,所述预设形状的局部工作区域的至少一个边界长度为所述机器人沿着所述主体障碍物的边界行进的预设长度;
其中,所述构建预设形状的局部工作区域,包括:
判断目标线段的长度是否大于预设阈值;
若大于,从长度大于所述预设阈值的若干目标线段中选择与所述机器人相对距离最近的目标线段作为所述主体障碍物的边界;
朝向所述主体障碍物的边界移动,在抵达所述主体障碍物的边界后,沿着所述主体障碍物的边界行进,以构建预设形状的局部工作区域;
若小于,按照预设逻辑规划路径。
2.根据权利要求1所述的方法,其特征在于,所述确定所述局部工作区域中主体障碍物的边界,包括:
构建世界坐标系;
根据霍夫变换算法,从所述初始地图检测出各条线段,计算出所述各条线段在所述世界坐标系内的斜率;
统计数量最多的相同斜率作为主斜率;
将斜率为所述主斜率的目标线段作为所述局部工作区域中主体障碍物的边界。
3.根据权利要求1所述的方法,其特征在于,所述在遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域,包括:
确定每次移动的最优位置,所述最优位置包括直行位置或者转弯位置或者环绕障碍物的位置;
移动至所述最优位置,并遍历完所述第一待遍历子区域后,通过所述待遍历出路移动至所述第二待遍历子区域;
标记所述第一待遍历子区域为已遍历区域。
4.根据权利要求3所述的方法,其特征在于,所述确定每次移动的最优位置,包括:
以所在位置为中心基准,比较位于不同方向任意两个候选位置的最优解得分;
根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
5.根据权利要求4所述的方法,其特征在于,所述根据比较结果,遍历出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置,包括:
栅格化所述初始地图,其中,所述机器人每移动一个单位步长便占据一个栅格;
以所在栅格为中心栅格,确定所述中心栅格的四周栅格中各个候选栅格的权重、障碍物距离权重以及期望移动至每个候选栅格对应的偏向角,其中,不计已遍历区域对应栅格的权重,所述障碍物距离权重为候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时对应的权重;
将每个所述候选栅格的权重、所述障碍物距离权重以及所述偏向角作加权求和运算,计算出最优解得分最大的候选位置,并将最优解得分最大的候选位置作为最优位置。
6.根据权利要求5所述的方法,其特征在于,所述机器人配置队列表,所述队列表包括N+1个数组,每个数组记为
Figure 233868DEST_PATH_IMAGE002
,i∈[0, N],N为非负整数,
Figure 744484DEST_PATH_IMAGE004
为所述机器人自起始栅格移动i个单位步长后所在的栅格,
Figure 789800DEST_PATH_IMAGE006
Figure 653851DEST_PATH_IMAGE004
栅格对应的队列权重,各个队列权重按照次序递增;
所述以所在栅格为中心栅格,确定所述中心栅格的四周栅格中各个候选栅格的权重,包括:
各个候选栅格对应的权重为统计与候选栅格相邻、并且属于已遍历的栅格的队列权重之和。
7.根据权利要求5所述的方法,其特征在于,所述将每个所述候选栅格的权重、所述障碍物距离权重以及所述偏向角作加权求和运算,计算出最优解得分最大的候选位置,包括:
在直行场景下,所述最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小对应的候选栅格;
在调头场景下,所述调头场景包括第一次转弯与第二次转弯,所述第一次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最小以及权重最大的候选栅格,所述第二次转弯对应的最优解得分最大的候选位置为在候选栅格未位于以障碍物所在栅格或区域为中心的预设周边栅格时,偏向角最大以及权重最大的候选栅格;
在环绕障碍物场景下,以所在栅格为中心栅格,所述中心栅格的四周栅格中至少一个候选栅格位于以障碍物所在栅格或区域为中心的预设周边栅格时,以位于以障碍物所在栅格或区域为中心的预设周边栅格的候选栅格为最优解得分最大的候选位置。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1至7任一项所述的机器人控制方法。
9.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行如权利要求1至7任一项所述的机器人控制方法。
CN201810798639.7A 2018-07-19 2018-07-19 一种机器人控制方法及其装置、电子设备 Active CN108983776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810798639.7A CN108983776B (zh) 2018-07-19 2018-07-19 一种机器人控制方法及其装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810798639.7A CN108983776B (zh) 2018-07-19 2018-07-19 一种机器人控制方法及其装置、电子设备

Publications (2)

Publication Number Publication Date
CN108983776A CN108983776A (zh) 2018-12-11
CN108983776B true CN108983776B (zh) 2021-07-30

Family

ID=64549353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810798639.7A Active CN108983776B (zh) 2018-07-19 2018-07-19 一种机器人控制方法及其装置、电子设备

Country Status (1)

Country Link
CN (1) CN108983776B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111374594B (zh) * 2018-12-27 2023-05-16 北京奇虎科技有限公司 超边界处理方法、装置、电子设备及计算机可读存储介质
EP3907575B1 (en) * 2019-01-03 2023-09-06 Ecovacs Robotics Co., Ltd. Dynamic region division and region channel identification method, and cleaning robot
CN111459153B (zh) * 2019-01-03 2022-09-06 科沃斯机器人股份有限公司 动态区域划分与区域通道识别方法及清洁机器人
CN109947114B (zh) * 2019-04-12 2022-03-15 南京华捷艾米软件科技有限公司 基于栅格地图的机器人全覆盖路径规划方法、装置及设备
CN110221604A (zh) * 2019-05-16 2019-09-10 浙江工业大学 一种基于遗传算法的快速全局路径规划方法
CN111012251B (zh) * 2019-12-17 2021-09-03 哈工大机器人(合肥)国际创新研究院 一种清扫机器人的全覆盖路径的规划方法及装置
CN111061270B (zh) * 2019-12-18 2023-12-29 深圳拓邦股份有限公司 一种全面覆盖方法、系统及作业机器人
CN111152266B (zh) * 2020-01-09 2021-07-30 安徽宇润道路保洁服务有限公司 一种清洁机器人的控制方法及系统
CN111136636B (zh) * 2020-01-09 2023-07-28 上海山科机器人有限公司 行走机器人、控制行走机器人的方法和行走机器人系统
CN111429574B (zh) * 2020-03-06 2022-07-15 上海交通大学 基于三维点云和视觉融合的移动机器人定位方法和系统
CN111638713B (zh) * 2020-05-26 2023-06-09 珠海一微半导体股份有限公司 可通行区域的框定方法、面积计算方法、芯片及机器人
CN113812252B (zh) * 2020-06-18 2023-03-17 未岚大陆(北京)科技有限公司 控制设备工作的方法、机器人设备及存储介质
CN113110471B (zh) * 2021-04-25 2023-03-21 珠海格力电器股份有限公司 设备作业路径规划方法、装置、计算机设备和存储介质
CN114326698A (zh) * 2021-11-17 2022-04-12 中国船舶重工集团公司第七0九研究所 一种uuv覆盖探测水下目标的任务规划方法及系统
CN118570329A (zh) * 2023-02-28 2024-08-30 苏州宝时得电动工具有限公司 建图方法、设备、计算机存储介质及自移动机器人的工作方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045260A (zh) * 2015-05-25 2015-11-11 湖南大学 一种未知动态环境下的移动机器人路径规划方法
CN105320133A (zh) * 2015-10-26 2016-02-10 广东雷洋智能科技股份有限公司 一种应用于扫地机器人的改进势场栅格法
DE102015119865B4 (de) * 2015-11-17 2023-12-21 RobArt GmbH Robotergestützte Bearbeitung einer Oberfläche mittels eines Roboters
CN105922267B (zh) * 2016-06-28 2017-12-29 山东理工大学 一种清扫机器人全覆盖遍历路径规划算法的设计方法
CN107357295B (zh) * 2017-08-16 2021-02-23 珠海市一微半导体有限公司 一种基于栅格地图的路径搜索方法和芯片及机器人
CN107831773A (zh) * 2017-11-30 2018-03-23 深圳市沃特沃德股份有限公司 扫地机器人全覆盖清扫的方法及扫地机器人

Also Published As

Publication number Publication date
CN108983776A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN108983776B (zh) 一种机器人控制方法及其装置、电子设备
KR102636745B1 (ko) 걸레질 로봇의 제어 방법, 장치, 장비 및 저장 매체
CN109984689B (zh) 一种清洁机器人及清洁机器人的路径优化方法
CN108247647B (zh) 一种清洁机器人
KR102649384B1 (ko) 걸레질 로봇의 제어 방법, 장치, 장비 및 저장 매체
CN111700546B (zh) 一种移动机器人的清扫方法及移动机器人
CN106054900B (zh) 基于深度摄像头的机器人临时避障方法
US20210103286A1 (en) Systems and methods for adaptive path planning
CN111090282B (zh) 机器人的避障方法、机器人以及装置
KR20190019897A (ko) 로봇의 경로 계획 시스템, 방법, 로봇 및 매체
CN109407675B (zh) 机器人回座的避障方法和芯片以及自主移动机器人
KR20190134554A (ko) 동적 장애물을 식별하는 방법 및 이를 구현한 로봇
EP2592518A2 (en) Robot cleaner and control method thereof
CN102138769A (zh) 清洁机器人及其清扫方法
CN113110497B (zh) 基于导航路径的沿边绕障路径选择方法、芯片及机器人
CN108873882B (zh) 智能移动设备及其移动路径规划方法、装置、程序、介质
US20210213619A1 (en) Robot and control method therefor
WO2024037262A1 (zh) 一种机器人通过窄道的导航方法、芯片及机器人
CN110687903B (zh) 可移动机器人受困判断方法、装置与运动控制方法、装置
CN112051818A (zh) 一种机器人的本地递送调度方法、装置和机器人
CN111609853A (zh) 三维地图构建方法、扫地机器人及电子设备
CN112033423B (zh) 一种基于道路共识的机器人路径规划方法、装置和机器人
CN114019972A (zh) 无人清扫车避障方法、装置、电子设备及存储介质
CN114740849B (zh) 基于行人步行决策规则的移动机器人自主导航方法及装置
CN115826568A (zh) 机器人行进的控制方法、控制装置及机器人

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518000, Floor 1801, Block C, Minzhi Stock Commercial Center, North Station Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Huanchuang Technology Co.,Ltd.

Address before: 518000 C2 2315, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Patentee before: SHENZHEN CAMSENSE TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address