CN111090282A - 机器人的避障方法、机器人以及装置 - Google Patents

机器人的避障方法、机器人以及装置 Download PDF

Info

Publication number
CN111090282A
CN111090282A CN201911319428.1A CN201911319428A CN111090282A CN 111090282 A CN111090282 A CN 111090282A CN 201911319428 A CN201911319428 A CN 201911319428A CN 111090282 A CN111090282 A CN 111090282A
Authority
CN
China
Prior art keywords
obstacle
distance
bypassing
current
currently
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.)
Granted
Application number
CN201911319428.1A
Other languages
English (en)
Other versions
CN111090282B (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.)
Anker Innovations Co Ltd
Original Assignee
Anker Innovations 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 Anker Innovations Co Ltd filed Critical Anker Innovations Co Ltd
Priority to CN201911319428.1A priority Critical patent/CN111090282B/zh
Publication of CN111090282A publication Critical patent/CN111090282A/zh
Application granted granted Critical
Publication of CN111090282B publication Critical patent/CN111090282B/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
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/12Target-seeking control

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请公开了机器人的避障方法、机器人以及装置。其中方法包括:在地图上获取初始位置和目标位置;确定以初始位置为起点和以目标位置为终点的行进路径以及依次排列于行进路径上的多个轨迹点;利用惯性导航跟踪多个轨迹点,以沿着行进路径向目标位置行进;若在行进过程中检测到与障碍物发生碰撞,并绕行障碍物;确定绕行障碍物过程中的位置特征,并将位置特征和与位置特征对应的预设条件进行比较得出比较结果,执行与比较结果相匹配的绕行策略。通过上述方式,本申请能够有效进行避障。

Description

机器人的避障方法、机器人以及装置
技术领域
本申请涉及机器人导航技术领域,特别是涉及机器人的避障方法、机器人以及具有存储功能的装置。
背景技术
机器人自主进行路径规划和导航一直是机器人研究和制造的热门领域。对于智能家居行业而言,随着技术的发展,目前的智能家居类机器人越来越智能,而且市场非常广阔。
但是,目前通过陀螺仪等构建机器人的地图是非实时地图,难以实时获取地图或者对地图进行更新,这使得机器人在跟踪目标点的过程中碰到障碍物能以进行有效的避障。
发明内容
本申请主要解决的技术问题是提供机器人的避障方法、机器人以及具有存储功能的装置,能够解决利用惯性导航的机器人难以进行有效避障的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种机器人的避障方法,包括:
在地图上获取初始位置和目标位置;
确定以初始位置为起点和以目标位置为终点的行进路径以及依次排列于行进路径上的多个轨迹点;
利用惯性导航跟踪多个轨迹点,以沿着行进路径向目标位置行进;
若在行进过程中检测到与障碍物发生碰撞,则绕行障碍物;
确定绕行障碍物过程中的位置特征,并将位置特征和与位置特征对应的预设条件进行比较得出比较结果,执行与比较结果相匹配的绕行策略。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种机器人,包括处理器、通信电路和存储器。处理器耦接通信电路和存储器,存储器存储有程序数据,处理器用于执行程序数据以实现上述的机器人的避障方法。
本申请的有益效果是:区别于现有技术的情况,本申请在机器人绕行障碍物的过程中确定其位置特征,进而能够得出机器人在偏离行进路径的情况下位置情况,利用位置特征与预设条件进行比较,以匹配相应的位置情况,根据比较结果执行相匹配的绕行策略,也即针对不同的位置特征执行相应的绕行策略,能够较好地改善惯性导航的机器人在非实时地图下进行避障问题,能够有效应对行进中出现的不同情况,提高机器人在未进行规划的区域或者在偏离行进路径情况下的避障效率。
附图说明
图1是本申请机器人实施例的电路结构示意框图;
图2是本申请机器人实施例的结构示意图;
图3是本申请机器人的避障方法实施例的第一流程示意图;
图4是本申请机器人的避障方法实施例的行进路径的示意图;
图5是本申请机器人的避障方法实施例的避障过程中的位置关系示意图;
图6是本申请机器人的避障方法实施例的第一种场景的位置关系示意图;
图7是本申请机器人的避障方法实施例的第二种场景的位置关系示意图;
图8是本申请机器人的避障方法实施例的第三种场景的位置关系示意图;
图9是本申请机器人的避障方法实施例的第四种场景的位置关系示意图;
图10是本申请机器人的避障方法实施例的第五种场景的一位置关系示意图;
图11是本申请机器人的避障方法实施例的第五种场景的另一位置关系示意图;
图12是本申请机器人的避障方法实施例的第二流程示意图;
图13是本申请机器人的避障方法实施例的第三流程示意图;
图14是本申请机器人的避障方法实施例的第四流程示意图;
图15是本申请机器人的避障方法实施例的进行坐标对齐的位置关系示意图;
图16是本申请具有存储功能的装置实施例的电路示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请机器人实施例中所描述的机器人可以是智能家居机器人,比如扫地机器人或者吸尘机器人等清洁机器人,当然还可以是其他商用机器人、民用机器人、工业机器人等。
参阅图1,以扫地机器人为例,机器人10可以包括处理器110、通信电路120和存储器130。处理器110可以通过通信总线与通信电路120 和存储器130。
处理器110用于控制机器人10的操作,处理器110还可以称为CPU (CentralProcessing Unit,中央处理单元)。处理器110可能是一种集成电路芯片,具有信号的处理能力。处理器110还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器110也可以是任何常规的处理器等。
通信电路120可以是机器人10与外界设备进行通信的接口,例如收发器。存储器130可以包括随机存取存储器(RAM)、只读存储器 (ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。存储器130可以存储有程序数据,程序数据例如可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储器130分布。存储器130可被耦接到处理器110以使得该处理器110能从/向该存储器130读写信息。当然,存储器130可以被整合到处理器110。
参阅图1和图2,机器人10可以包括壳体21、行走组件22、清扫组件23和吸尘组件24。壳体21可以作为整个机器人10的壳体,机器人10的上述提及的电路或者控制部分可以设置于壳体21内。壳体21 可以具有顶部202、底部201和周侧203。行走组件22可以设置于壳体 21的底部201,行走组件22可以在处理器110等控制下进行工作,以可以使得机器人10进行移动。清扫组件23可以设置于壳体21,用于在清洁装置进行工作时提供清扫功能,对机器人10的工作面进行清洁。
行走组件22可以包括驱动机构221和滚动轮机构222。处理器可以耦接驱动机构221,驱动机构221在处理器110等的控制指令下驱动滚动轮机构222转动,可以实现在机器人10的工作面上行走。驱动机构 221例如是驱动电机。清扫组件23可以包括滚刷231、与滚刷231连接的电机232,电机232用于驱动滚刷231滚动,滚刷231可以与机器人 10的工作面(例如地面)接触,并通过滚动实现清扫。图2所示的电机 232和滚刷231的位置关系仅为示意,不对两者之间的连接、传动、工作等方式限定。行走组件22的驱动机构221和清扫组件23的电机232 可以为同一个驱动机构,也即两者共用一个驱动机构。
壳体21可以设有集尘盒240,用于搜集灰尘、垃圾等待处理物。集尘盒240可以开设有吸尘口241、收集腔242和出风口243,收集腔242 连通吸尘口241和出风口243。吸尘组件24可以进一步包括抽风机244,抽风机244可以形成依次经过吸尘口241、收集腔242、出风口243的气流。处理器110也可以通过控制指令进而控制抽风机244的工作。吸尘口241例如可以朝向机器人10的工作面设置,从而能够吸取工作面上的灰尘或者垃圾。当然,吸尘组件24中还可以设置有滤网等过滤部件245,例如设置于出风口243和收集腔242之间,使得较大的垃圾或者颗粒能够留存于收集腔242中。清扫组件23和吸尘组件24在处理器 110等的控制下可以相互配合,共同作用。例如吸尘口241可以邻近滚刷231设置,使得滚刷231转动过程中所清扫出垃圾或者灰尘,能够被吸入到收集腔242中。
如图2所示,机器人10为了实现各种导航、寻址、路径规划或者感知功能,还可以包括多个传感器26,多个传感器26可以与处理器110 耦接。多个传感器26例如包括碰撞传感器、陀螺仪、加速度计等。壳体21的顶部202、底部201以及周侧203分别可以设置有一个或者多个传感器26,例如碰撞传感器、加速度计等。加速度计和陀螺仪可以实现机器人10进行惯性导航,碰撞传感器等可以实现避障处理。
以上机器人10的电路和结构均为示例性描述,并不限制本申请的机器人10具体结构或者电路。
本申请的发明人经过长期研究发现,通过摄像头和图像传感器可以实时构建地图,也可以对全局和局部进行地图规划。陀螺仪、加速度计等也能够用于构建机器人10工作环境的地图。但通过陀螺仪构建的地图一般是构建机器人10运动行驶过的区域,未行驶过的区域为未知地图。而且通过陀螺仪构建的地图,相对于通过摄像头、图像传感器等构建的地图而言,通常是非实时构建的。无论地图无法实时构建或者更新,还是机器人10在未知地图中进行移动,其路径规划和导航是比较困难的。在陀螺仪构建的地图上,通过惯性导航进行避障一直是该技术的难点。
为了改善或者解决在惯性导航中出现的上述问题,本实施例的处理器110通过执行存储器中的程序数据,可以实现如下本申请机器人的避障方法实施例中描述的避障方法,进而改善或者解决上述技术问题。
参阅图3,本申请机器人的避障方法实施例可以包括:
S100:在地图上获取初始位置和目标位置。
在本实施例中,地图可以是通过机器人10的陀螺仪等进行构建的。例如地图可以以二维栅格的形式呈现。参阅图4,初始位置可以是指机器人10进行路径规划前在地图上的原始位置。目标位置可以是指机器人10将要达到的目的地所在的位置。初始位置和目标位置在地图上可以存在对应的坐标,例如在图4中初始位置的坐标为(xs,ys),目标位置的坐标为(xg,yg)。目标位置可以使用者输入的,例如在手机上通过APP输入,或者通过遥控器等进行输入。当然,目标位置可以通过其他装置进行引导的,比如安装于某个地方的充电装置,该充电装置的位置作为目标位置在地图上呈现,引导机器人10移动。当然,目标位置还可以是机器人10自我设定的,例如通过训练模型进行训练而后续能够自我设定目标位置。目标位置还可以通过其他方式输入或者设定。
S200:确定以初始位置为起点和以目标位置为终点的行进路径以及依次排列于行进路径上的多个轨迹点。
如图4所示,确定了初始位置和目标位置后,机器人10可以路径规划,以得出行进路径。机器人10可以通过跳点搜索算法进行路径规划,以获取初始位置到目标位置之间的路径最短的行进路径。跳点搜索 (即Jump Point Search,简称JPS)算法生成并扩展的节点数量很少,而且到达目标的速度很快,因为跳点搜索能够消除路径间的对称性,通过在直线和对角线方向上修剪节点来识别后继,在搜索时跳过了大量可能会添加到相应列表中的中间节点以及其他计算,这使搜索速度有了很大提升,且其过程中节点存储量少。计算出行进路径之后,可以在该行进路径上确定可以包括起点和终点在内的多个轨迹点。通过设置轨迹多个轨迹点,能够使得机器人10能够循序渐进从初始位置移动至目标位置,提高路径规划的精确性。
S300:利用惯性导航跟踪多个轨迹点,以沿着行进路径向目标位置行进。
如图4所示,通过惯性导航从初始位置开始,跟踪当前跟踪的轨迹点,并行走至该当前跟踪的轨迹点。到达该当前跟踪的轨迹点时,继续跟踪后续的轨迹点,如此往复,朝着目标位置行进。
假设目标位置的坐标为(xg,yg),初始位置的坐标为(xs,ys),则行进路径可以通过一系列坐标表示:
<(xs,ys),(x1,y1),(x2,y2),(x3,y3),......,(xg,yg)>。
对于利用惯性导航的具体过程,可以通过S300包括的如下步骤实现:
S310:判断当前到达的轨迹点是否为目标位置。
机器人10从初始位置出发,到达邻近的轨迹点时,需要判断当前达到的轨迹点是否为目标位置。若是目标位置,则说明机器人10已经到达目的地,无需继续行进。
S320:若否,调整航线角以使得行进方向朝向当前跟踪的轨迹点,并往行进方向移动至当前跟踪的轨迹点。
对于跟踪轨迹点而言,首先可以进行航线角跟踪。如图4所示,例如将当前跟踪的轨迹点的位置信息和陀螺仪等传感器所采集当前的航线角信息发给处理器110进行处理。如图1和图2所示,处理器110将进行处理后生成调整信号发送给机器人10相应的部件,例如是行走组件22中的驱动机构221,可以旋转机器人10的航线角,进而调整机器人10的行进方向,进而使得机器人10的行进方向朝向当前跟踪的轨迹点。
如图4所示,假设机器人10当前达到的轨迹点的坐标为(xi,yi),当前跟踪的轨迹点的坐标(xj,yj),进行航线角跟踪,那么机器人10所需要旋转的角度可以为:
Figure RE-GDA0002407815930000071
如图4所示,当前到达的轨迹点(xi,yi)例如为初始位置(xs,ys),当前跟踪的轨迹点(xj,yj)例如为(x1,y1)。
再者,进行移动跟踪。例如机器人10可以计算当前轨迹点和当前跟踪的轨迹点之间的距离,根据上述航线角跟踪所需要旋转的角度和距离匹配新的移动速度,然后按照该移动速度移动至当前跟踪的轨迹点。移动的距离即为当前轨迹点和当前跟踪的轨迹点之间的距离di,如下所示:
Figure RE-GDA0002407815930000072
如此通过步骤S310-S320的方式不断地跟踪各轨迹点,进而最终达到目标位置。若在行进过程中没有撞上障碍物,则可以顺利地达到目标位置。
S400:在行进过程中检测到与障碍物发生碰撞,则绕行障碍物。
参阅图5,机器人10跟踪轨迹点的过程中进入到障碍物区域,可能会和障碍物发生碰撞。在发生碰撞时,机器人10可以通过碰撞传感器等检测到与障碍物的碰撞,并获取到发生第一次碰撞时的初始碰撞位置。初始碰撞位置可以是指机器人10行进过程中第一次碰到障碍物的碰撞点在地图上的位置。初始位置也可以称为障碍物入口位置,也就是说机器人10在行进过程中第一次与障碍物发生碰撞,在绕行过程中,还可能与其他位置的障碍物发生碰撞,因此初始碰撞位置可以称为障碍物入口。在本实施例中,障碍物可以是以一个整体呈现的障碍物,也是分散分布的障碍物,也即本实施例中的障碍物,并非限定其为单一或者唯一的障碍物。
机器人10检测到与障碍物发生碰撞后,需要绕行障碍物。例如通过对地图进行分析,并通过Bresenham直线算法计算位于初始碰撞位置前的上一个轨迹点和位于初始碰撞位置后的当前跟踪的轨迹点之间的 Bresenham直线,再对该Bresenham直线两侧的障碍物分布情况进行分析,机器人10可以往障碍物分布少的一侧进行绕行障碍物。
具体地,为了确定机器人10绕行障碍物过程中的位置特征,机器人10可以获取与障碍物第一次发生碰撞的初始碰撞位置和绕行障碍物过程中的当前位置,还可以获取要当前跟踪的轨迹点。当前位置可以是指机器人10当前绕行在地图上的所呈现的位置。
S500:确定绕行障碍物过程中的位置特征,并将位置特征和与位置特征对应的预设条件进行比较得出比较结果,执行与比较结果相匹配的绕行策略。
由于在绕行障碍物的过程中,可能会偏离已经规划好的行进路径,机器人10可以分析在绕行过程中的位置特征或者位置关系。位置特征可以用于确定机器人10当前的绕行情况。不同绕行情况可以对应不同的位置特征,不同的位置特征可以对应不同的预设条件。将位置特征与其相对应的预设条件比较,得出比较结果,进而执行与比较结果相匹配的绕行策略,也即针对不同的情况可以执行相应的绕行策略。
对于利用惯性导航的机器人10而言,即便在机器人10绕行障碍物的过程中偏离行进路径,通过确定机器人10绕行障碍物过程中的位置特征,能够得出机器人10在偏离行进路径的情况下位置情况,利用位置特征与预设条件进行比较以匹配相应的位置情况,根据比较结果执行相匹配的绕行策略,也即针对不同的位置特征执行相应的绕行策略,能够较好地改善惯性导航机器人10在非实时地图下进行避障问题,提高机器人10在未进行规划的区域或者在偏离行进路径情况下的避障效率。
如图5所示,假设当前跟踪的轨迹点的坐标为(xj,yj),当前位置的坐标为(x,y),初始碰撞位置的坐标为(xH,yH)。
当前位置与目标位置之间的距离为:
Figure RE-GDA0002407815930000091
当前位置与当前跟踪的轨迹点之间的距离为:
Figure RE-GDA0002407815930000092
初始碰撞位置与当前跟踪的轨迹点之间的距离为:
Figure RE-GDA0002407815930000093
当前位置与初始碰撞位置之间的距离为:
Figure RE-GDA0002407815930000094
当前位置到初始碰撞位置和当前跟踪的轨迹点连线的距离:
Figure RE-GDA0002407815930000095
其中A=yj-yH,B=xj-xH,C=xjyH-xHyj
一般,由于相邻两个轨迹点之间的行进路径是直线,因此上一个轨迹点和初始碰撞位置以及当前跟踪的轨迹点大致处于同一直线上。因此当前位置到初始碰撞位置和当前跟踪的轨迹点连线的距离大致相当于当前位置到上一个轨迹点和当前跟踪的轨迹点连线的距离。
在绕行过程中由于需要偏离行进路径,航线角则也需要进行相应的调整以便于机器人10从初始碰撞位置进行绕行障碍物,需要转动的角度
Figure RE-GDA0002407815930000096
角度
Figure RE-GDA0002407815930000097
的计算也可以为了便于计算机器人10从当前障碍物绕行的累积角度,以进行后续的计算,其中
Figure RE-GDA0002407815930000098
可以为:
Figure RE-GDA0002407815930000099
其中
Figure RE-GDA00024078159300000910
为初始碰撞位置到当前位置的向量,也即图5中L2所对应的向量,
Figure RE-GDA00024078159300000911
为初始碰撞位置到当前跟踪的轨迹点的向量,也即图5中L1所对应的向量,
Figure RE-GDA00024078159300000912
Figure RE-GDA00024078159300000913
Figure RE-GDA00024078159300000914
的取值范围可以为[0,π]。
机器人10在绕行障碍物的过程中,可以能够出现多种情况或者场景,可以根据不同的位置特征和预设条件判断其使何种场景,进而进行相应的绕行处理:
第一种场景:位置特征可以包括当前位置与目标位置之间的距离,预设条件包括预设距离值。参阅图6,对于第一种场景而言,通过步骤 S500包括如下步骤进行判断和处理:
S510:计算当前位置与目标位置之间的距离。
例如当前位置和目标位置之间距离为欧拉距离。如图4和图6中所示意的距离S,
Figure RE-GDA0002407815930000101
S511:判断当前位置与目标位置之间的距离是否小于或等于预设距离值。
预设距离值可以为机器人10部分宽度对应的值。例如,机器人10 的外形呈圆柱状设置,假设机器人10的半径为R,预设距离值可以为 R/4~R,可选为R/2或者R/3。
若小于或等于,则执行S512。若大于,则继续绕行障碍物。例如当前位置和目标位置之间的距离S大于R/2,则继续绕行障碍物,并可以继续实时、持续或者间歇性地确定位置特征并进行比较。
S512:若小于或者等于,则判定到达目标位置,停止绕行障碍物。
如图6所示,以预设距离值为R/2为例,若当前位置与目标位置之间的距离S小于或者等于R/2,则说明目标位置正处于机器人10的覆盖范围内,机器人10判定已到达目标位置,执行停止绕行障碍物的绕行策略,即停止绕行障碍物,行进路径跟踪结束。
第二种场景:位置特征可以包括当前位置与当前跟踪的轨迹点之间的距离,预设条件包括预设距离值。参阅图7,对于第二种场景而言,通过步骤S500包括如下步骤进行判断和处理:
S520:计算当前位置和当前跟踪的轨迹点之间的距离。
例如计算当前位置和当前跟踪的轨迹点之间的欧拉距离,例如图4 和图7中所示意的距离L,
Figure RE-GDA0002407815930000102
S521:判断当前位置与当前跟踪的轨迹点之间的距离是否小于或等于预设距离值。
预设距离值可以为机器人10至少部分宽度对应的值。例如,机器人10的外形呈圆柱状设置。假设机器人10的半径为R,预设距离值可以为R/4~R,可选为R/2或者R/3。
若大于,则继续绕行障碍物。例如,若当前位置与当前跟踪的轨迹点之间的距离L大于R/2,则说明当前跟踪的轨迹点还未处于机器人10 的有效覆盖范围内,需要继续绕行障碍物,还可以继续实时、持续或者间歇性地确定位置特征并进行比较。若小于或者等于,则执行S522。
S522:判定到达当前跟踪的轨迹点,停止绕行并继续沿行进路径跟踪后续的轨迹点。
如图7所示,以预设距离值为R/2为例,若当前位置与当前跟踪的轨迹点之间的距离L小于或者等于R/2,则说明当前跟踪的轨迹点正处于机器人10的覆盖范围内,机器人10判定已到达当前跟踪的轨迹点,执行停止绕行障碍物的绕行策略,即停止绕行障碍物,并继续跟踪后续的轨迹点。机器人10继续跟踪后续的轨迹点直至移动至目标位置,机器人10的当前位置和目标位置的距离S小于或者等于R/2,则达到目的地。
第三种场景:位置特征可以包括当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离、当前位置与当前跟踪的轨迹点之间的距离以及当前跟踪的轨迹点与初始碰撞位置之间的距离,预设条件包括预设距离值。参阅图8,对于第三种场景而言,通过步骤S500包括如下步骤进行判断和处理:
S530:计算当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离、当前位置与当前跟踪的轨迹点之间的距离以及当前跟踪的轨迹点与初始碰撞位置之间的距离。
例如图8所示意的当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D,当前位置与当前跟踪的轨迹点之间的距离L以及当前跟踪的轨迹点与初始碰撞位置之间的距离L1。
S531:判断当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离是否小于或者等于预设距离值。
预设距离值可以为机器人10至少部分宽度对应的值。例如,机器人10的外形呈圆柱状设置。假设机器人10的半径为R,预设距离值可以为R/4~R,可选为R/2或者R/3。
如图8所示,若当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D小于或者等于预设距离值,则说明行进路径和机器人10当前的位置距离较近,行进路径位于机器人10的覆盖范围内或者可以认为机器人10大致走在行进路径上。
若当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D小于或者等于预设距离值,则执行S532。若当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D大于预设距离值,则可以继续绕行障碍物,并可以实时、持续或者间歇性确定位置特征并执行相应的绕行策略。
S532:判断当前跟踪的轨迹点与初始碰撞位置之间的距离与当前位置与当前跟踪的轨迹点之间的距离的差值是否大于或者等于预设距离值。
如图8所示,以预设距离值为R/2为例,若当前位置到初始碰撞位置与当前跟踪的轨迹点连线之间的距离D小于或者等于R/2,则继续判断当前跟踪的轨迹点与初始碰撞位置之间的距离L1和当前位置与当前跟踪的轨迹点之间的距离L之间差值L1-L是否大于或者等于R/2。若当前跟踪的轨迹点与初始碰撞位置之间的距离L1和当前位置与当前跟踪的轨迹点之间的距离L之间差值L1-L大于或者等于预设距离值,则执行S533。
S533:离开障碍物并继续跟踪当前跟踪的轨迹点。
在本实施例中,当前跟踪的轨迹点与初始碰撞位置之间的距离L1 和当前位置与当前跟踪的轨迹点之间的距离L之间差值是指当前跟踪的轨迹点与初始碰撞位置之间的距离L1减去当前位置与当前跟踪的轨迹点之间的距离L得到的差值,即L1-L。
如图8所示,继续以预设距离值为R/2为例,若当前跟踪的轨迹点与初始碰撞位置之间的距离L1和当前位置与当前跟踪的轨迹点之间的距离L之间差值L1-L大于或者等于R/2,则说明机器人10的当前位置已差不多绕过了障碍物,比较接近轨迹点,则执行离开障碍物继续通过航线角和移动跟踪当前跟踪的轨迹点的绕行策略。若机器人10继续移动跟踪当前跟踪的轨迹点,当机器人10的当前位置与当前跟踪的轨迹点之间的距离小于或者R/2,则是上述第二种场景,则执行第二种场景的绕行策略。
若当前跟踪的轨迹点与初始碰撞位置之间的距离和当前位置与当前跟踪的轨迹点之间的距离的差值L1-L小于预设距离值,继续绕行障碍物。例如,若当前跟踪的轨迹点与初始碰撞位置之间的距离L1和当前位置与当前跟踪的轨迹点之间的距离L之间差值L1-L小于R/2,则距离当前跟踪的轨迹点还较远,则需要继续绕行障碍物并跟踪当前跟踪的轨迹点。
第四种场景:位置特征可以包括当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离、当前位置与初始碰撞位置之间的距离以及当前跟踪的轨迹点与初始碰撞位置之间距离,预设条件包括预设距离值。参阅图9,对于第四种场景而言,通过步骤S500包括如下步骤进行判断和处理:
S540:计算当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离、当前位置与初始碰撞位置之间的距离以及当前跟踪的轨迹点与初始碰撞位置之间的距离。
例如图9所示意的当前位置到初始碰撞位置的距离L2,当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D,初始碰撞位置与当前跟踪的轨迹点之间的距离L1以及当前跟踪的轨迹点与初始碰撞位置之间的距离L1。
S541:判断当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离是否小于或者等于预设距离值。
预设距离值可以为机器人10至少部分宽度对应的值。例如,机器人10的外形呈圆柱状设置,假设机器人10的半径为R,预设距离值可以为R/4~R,可选为R/2或者R/3。
若当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D小于或者等于预设距离值,则说明行进路径和机器人10当前的位置距离较近,行进路径位于机器人10的覆盖范围内或者可以说机器人10大致走在行进路径上,则执行S542。若当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D大于预设距离值,则可以继续绕行障碍物,并可以实时、持续或者间歇性地确定位置特征,并执行相应的绕行策略。
S542:判断当前位置与初始碰撞位置之间的距离和初始碰撞位置与当前跟踪的轨迹点之间的距离的差值是否大于或者等于预设距离值。
在本实施例中,当前位置与初始碰撞位置之间的距离L2与初始碰撞位置与当前跟踪的轨迹点之间的距离L1的差值是指当前位置与初始碰撞位置之间的距离L2减去初始碰撞位置与当前跟踪的轨迹点之间的距离L1得到的差值,即L2-L1。
如图9所示,以预设距离值为R/2为例,若当前位置到初始碰撞位置与当前跟踪的轨迹点连线之间的距离D小于或者等于R/2,则继续判断当前位置与初始碰撞位置之间的距离L2和初始碰撞位置与当前跟踪的轨迹点之间的距离L1之间差值L2-L1是否大于或者等于R/2。
通过判断当前位置与初始碰撞位置之间的距离L2和初始碰撞位置与当前跟踪的轨迹点之间的距离L1之间差值L2-L1是否大于或者等于 R/2,进而判断当前位置与当前跟踪的轨迹点之间的方位关系。若当前位置与初始碰撞位置之间的距离L2和初始碰撞位置与当前跟踪的轨迹点之间的距离L1之间差值L2-L1大于或者等于预设距离值,则执行S543。
S543:判定已绕到当前跟踪的轨迹点的前方,停止绕行障碍物并重新规划行进路径。
如图9所示,继续以预设距离值为R/2为例,若当前位置与初始碰撞位置之间的距离L2和初始碰撞位置与当前跟踪的轨迹点之间的距离 L1之间差值L2-L1大于或者等于R/2,则机器人10判定当前位置已绕到了当前跟踪的轨迹点的前方(也即,当前跟踪的轨迹点和目标位置之间),说明机器人10无法跟踪到当前跟踪的轨迹点,则无法继续跟踪后续的轨迹点,机器人10执行停止绕行,并重新规划行进路径。
例如机器人10当前要跟踪的当前跟踪的轨迹点已经被障碍物包围,导致其绕行障碍物时,会绕到该当前跟踪的轨迹点的前方。
若当前位置与初始碰撞位置之间的距离L2和初始碰撞位置与当前跟踪的轨迹点之间的距离L1之间差值L2-L1小于R/2,说明机器人10 正在接近当前跟踪的轨迹点或者稍微偏离到当前跟踪的轨迹点的前方,继续绕行障碍物,可以实时、持续或者间歇性地确定位置特征,例如出现上述第二种场景或者第一种场景等。
第五种场景:位置特征可以包括当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离、当前位置与当前跟踪的轨迹点之间的距离、当前跟踪的轨迹点与初始碰撞位置之间的距离以及自初始碰撞位置绕行到当前位置旋转航线角的累积角度。预设条件包括预设距离值。参阅图 10和图11,对于第五种场景而言,通过步骤S500包括如下步骤进行判断和处理:
S550:计算当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离、当前位置与当前跟踪的轨迹点之间的距离、当前跟踪的轨迹点与初始碰撞位置之间的距离以及自初始碰撞位置绕行到当前位置旋转航线角的累积角度。
例如图15所示意的当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D,当前位置与当前跟踪的轨迹点之间的距离L以及当前跟踪的轨迹点与初始碰撞位置之间的距离L1。机器人10自初始碰撞位置不断旋转航线角逐渐行进到当前位置的累积角度
Figure RE-GDA0002407815930000151
S551:判断是否满足累积角度大于或者等于2π且当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离小于或等于预设距离值。
预设距离值可以为机器人10至少部分宽度对应的值。例如,机器人10的外形呈圆柱状设置。假设机器人10的半径为R,预设距离值可以为0~R,可选为R/2或者R/3。预设距离值小于当前跟踪的轨迹点与初始碰撞位置的距离。若当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D小于或等于预设距离值,则意味着当前位置与行进路径较近。例如预设距离值为0时,则D为0,机器人10回到了行进路径上。
累积角度
Figure RE-GDA0002407815930000152
大于或者等于2π,则意味着机器人10可能已绕行障碍物一周。机器人10绕行障碍物一周后,距离行进路径较近,可能已绕回初始碰撞位置。若满足累积角度
Figure RE-GDA0002407815930000153
大于或者等于2π且当前位置到初始碰撞位置与当前跟踪的轨迹点连线的距离D小于或等于预设距离值,则执行S552。若不满足,则继续绕行障碍物,并可以实时、持续或者间歇性地确定位置特征,执行相应的绕行策略。
S552:判断当前位置与当前跟踪的轨迹点之间的距离和当前跟踪的轨迹点与初始碰撞位置之间的距离的差值的绝对值是否小于设定参数值。
当前位置与当前跟踪的轨迹点的距离L和当前跟踪的轨迹点与初始碰撞位置L1之间的差值的绝对值为|L-L1|。设定参数值可以为 R/4~1.5R。设定参数值可以大于预设距离值。例如,若预设距离值为0,则设定参数值可以为R。也即S552用于判断|L-L1|<R是否成立。若成立,则执行步骤S553。
S553:判定绕行障碍物一周返回初始碰撞位置,并重新规划行进路径或者沿当前绕行方向的相反方向反向绕行障碍物。
如图10或者图11所示,机器人10在绕行障碍物的过程中累计角度大于或等于2π,可以通过判断|L-L1|是否小于等于设定参数值,进而判定机器人10是否已绕回到初始碰撞位置。一般而言,当前位置若位于初始碰撞位置,则L=L1,|L-L1|=0,但是可能由于地图精度的关系,可能无法精确得出|L-L1|=0。可以根据地图精度和机器人10的半径大小的关系,确定设定参数值。例如预设距离值为0,设定参数值为 R。或者预设距离值为R/2,设定参数值为R/2。若|L-L1|<R,则判定机器人10又返回初始碰撞位置。设定参数值可以大于或者等于预设距离值。在此步骤中,返回初始碰撞位置,并非是指精确地回到初始碰撞位置,也即并非是指初始碰撞位置和当前位置完全重合,两者也开始是邻近,只要满足|L-L1|小于等于设定参数值和预设距离值之和,即认为返回初始碰撞位置。
判定机器人10绕行了障碍物一周返回了初始碰撞位置,意味着机器人10当前的绕行无法达到当前跟踪的轨迹点。例如机器人10在该绕行过程中往当前跟踪的轨迹点的路径已经被障碍物包围,无论如何朝向当前跟踪的轨迹点运动,都无法运动至当前跟踪的轨迹点。此处可以存在两者情况:如图11所示,一种是机器人10本身被障碍物所环绕,其内环障碍物一周回到了初始碰撞位置;如图10所示,另一种是当前跟踪的轨迹点被障碍物包围,机器人10外环障碍物一周,但无论如何也达到不了当前跟踪的轨迹点。也即,当前行进路径无法跟踪当前跟踪的轨迹点,机器人10可以重新规划行进路径。当然,机器人10还可以执反向绕行策略,即沿当前绕行方向相反方向反向绕行障碍物。
在本实施例中,机器人10回到初始碰撞位置后反向绕行障碍物,其累积角度
Figure RE-GDA0002407815930000161
清零,重新计算。
参阅图16,为了能够提高避障效率,可以通过机器人10绕行所行进的累积距离和/或当前位置到初始碰撞位置的距离大于或者等于预设距离对其绕行过程进行处理。例如通过本实施例包括如下步骤实现:
S610:判断自初始碰撞位置移动至当前位置的累积距离是否大于或者等于预设累积距离。
预设累积距离可以定义为机器人10从初始碰撞位置开始绕行障碍物允许的最大累积距离。
S620:判断当前位置与初始碰撞位置之间的距离是否大于或者等于最大距离值。
最大距离值可以定位为机器人10从初始碰撞位置绕行障碍物到当前位置所允许的最大的欧拉距离值。最大距离值可以根据实际情况进行设定,比如设定可以为6R。
其中S610和S620可以择一满足,也可以同时需要满足。若大于或等于,则执行S630。此处的“若大于或者等于”分别对应与步骤S610 和步骤S620。若对应S610,则初始碰撞位置移动至当前位置的累积距离大于或者等于预设累积距离。若对应S620,则当前位置到初始碰撞位置的距离大于或者等于最大距离值。若对应S610和S620同时满足,则初始碰撞位置移动至当前位置的累积距离大于或者等于预设累积距离且初始碰撞位置与当前位置之间的距离大于或者等于最大距离值。
若自初始碰撞位置移动至当前位置的累积距离大于或者等于预设累积距离,和/或若当前位置到初始碰撞位置的距离大于或者等于最大距离值,机器人10可以判定绕障碍物的距离过大。此两种情况,意味着机器人10的绕行出现异常,例如障碍物过大,为了避免不必要的继续绕行障碍物,需要计算机器人10在初始碰撞位置与当前跟踪的轨迹点的方位,可以执行S630,通过初始碰撞位置和当前位置的连线和初始碰撞位置和当前跟踪的轨迹点的连线的夹角进行判断。
S630:判断初始碰撞位置与当前位置的连线和初始碰撞位置与当前跟踪的轨迹点的连线之间的夹角是否大于或等于预设角度。
预设角度可以为π/4~π/2,可选为π/3。预设角度可以根据地图的精度、对行进路径而言的已知区域和未知区域进行确定。
若大于或者等于预设角度,则说明机器人10绕障碍物的距离过大,偏移行进路径的程度较大,导致可能进入了未知区域,机器人10继续绕行也难以达当前跟踪的轨迹点或者目标位置,重新规划行进路径也可能为当前的行驶路径,机器人10可以尝试反向绕行,执行步骤S631。若小于预设角度,说明机器人10已经走了一段距离,偏离行进路径的程度不大,位于地图的已知区域,机器人10的当前位置在初始碰撞位置与当前跟踪的轨迹点之间,重新规划行进路径比继续绕行障碍物更优,则执行S632。
S631:沿当前绕行方向相反的方向反向绕行障碍物返回初始碰撞位置,并继续并沿反向绕行的方向自障碍物的另一侧绕行障碍物。。
若大于或者等于预设角度,机器人10反向绕行策略,回到初始碰撞位置,从障碍物的另一侧绕行。
定义机器人10回到初始碰撞位置的距离常量∑Lm,若机器人10在当前位置到初始碰撞位置所允许的最大距离值L2max,机器人10从初始碰撞位置移动至当前位置,再从当前位置返回初始碰撞位置的距离L2,若L2>L2max+∑Lm,则说明机器人10返回初始碰撞位置的过程中,出现了远离初始碰撞位置的情况,则需要执行重新规划行进路径的绕行策略。
S632:判定当前位置在初始碰撞位置与当前跟踪的轨迹点之间,重新规划行进路径。
若小于预设角度,机器人10执行重新规划行进路径的策略。当然机器人10可以先停止当前的绕行,待行进路径规划完成后,再沿着新的行进路径进行前行。
当然,机器人10可能出现绕到其他障碍物上面的情况,例如预设累积角度为3π,若机器人10往障碍物的任一侧绕行旋转航线角的累积角度
Figure RE-GDA0002407815930000181
则可能说明机器人10撞击绕行的障碍物消失,并绕到了另一外环或内环障碍物上进行绕行,可以执行反向绕行的或者重新规划。
如图12所示,对于在步骤S630中,机器人10反向绕行返回初始碰撞位置,可以接下一个流程,便于在机器人10返回初始碰撞位置的过程中或者返回初始碰撞位置后执行相应的动作。
为了提高路径规划的准确性,沿当前绕行方向的相反方向绕行障碍物返回初始碰撞位置的过程中可以更新地图。由于利用惯性导航的机器人10难以实时更新地图,本实施例可以利用在返回初始碰撞位置的过程中更新地图,并在可以更新地图后重新规划行进路径,进而提高路径规划和避障的准确性。
参阅图13,如图13所示的接上一流程可以与图12的接下一流程对接。在上述步骤S632中,如果机器人10反向绕行到障碍物的另一侧时,仍然出现需要反向绕行的情况时,按照上述步骤S632的绕行策略,会再反向绕行。对于反复绕行可能导致避障效率低下的问题,本实施例通过在步骤S632之后,包括:
S710:记录沿当前绕行方向的相反方向来回绕行障碍物的次数。
每次反向绕行可以记录一次。例如第一次反向绕行则记录一次,第一次反向绕行之后的再反向绕行则记录为两次,如此类推。
S720:判断来回绕行障碍物的次数是否大于预设次数。
设置预设次数来限制机器人10的过多地来回绕行障碍,避免造成机器人10避障效率低下。预设次数可以根据实际情况,或者经过大数据统计分析进行合理设定。
S730:若大于,则停止绕行或者重新规划行进路径。
若来回绕行障碍物的次数大于预设次数,则机器人10可以判定目标位置难以到达,停止绕行,或者重新规划行进路径再继续跟踪轨迹点。
若来回绕行障碍物的次数小于预设次数,则机器人10可以继续绕行,并检测是否满足前述的五种场景等,若满足则执行相应的绕行策略。若继续来回绕行的次数大于预设次数,则停止绕行或者重新规划行进路径。
在本实施例中,若来回绕行障碍物的次数大于预设次数,则可以更新地图,并在可以更新地图,还可以确认障碍物在地图中的位置,然后重新规划行进路径,进而可以提高路径规划和避障的准确性。
参阅图14和图15,如图14所示的接上一流程可以与图12中的接下一流程对接。在上述步骤S632的沿当前绕行方向相反的方向反向绕行障碍物返回初始碰撞位置的过程中,如果距离目标点不远,而地图存在精度上的偏差,机器人10有可能已经实际达到,可以没必要再绕障碍物。对于此种情况可以通过如下步骤进行处理:
S810:判断沿当前绕行方向的相反方向绕行障碍物的绕行位置与目标位置之间距离是否小于或者等于预设值。
机器人10在反向绕行障碍物的过程中,计算绕行位置与目标位置之间距离。预设值可以根据机器人10地图的精度进行设置,可以设置为机器人10半径的2~3倍,即2~3R。
如图15所示,假设绕行位置的坐标为(xr,yr),则绕行位置与目标位置之间距离
Figure RE-GDA0002407815930000191
S820:若小于或者等于,则将绕行位置与目标位置进行横坐标对齐或者纵坐标对齐。
以预设范围为2R为例,L3<2R,即绕行位置与目标位置之间距离小于或者处于预设值,则将绕行位置的横坐标或者纵坐标设置为相等,也即进行对齐。具体地的表达式可以为:|xr-xg|=0或者|yr-yg|=0。图 15示出了对齐前和对齐后的状态。
S830:确定对齐后的绕行位置位于目标位置的方位。
如图15所示,以目标位置为基准,在地图上获取对齐后的绕行位置位于目标位置的方位,相当于获取当前机器人10位于目标位置的方位。本实施例定义八个方位:东、西、南、北、东南、西南、东北、西北。对齐后的绕行位置和目标位置之间存在其中的四个方位,即东、西、南、北。
当然,也可以以当前机器人10的绕行位置为基准,获取目标位置位于对齐后绕行位置的方位。
S840:自目标位置沿方位循环检查方位上以预设间距为步长的多组位置是否为障碍物区域。
如图15所示,在确定了对齐后的绕行位置位于目标位置的方位后,可以检查目标位置在该方位上的一定距离的障碍物情况,每组位置间隔预设步长,每组位置包括该方位的至少一侧上的多个位置。例如检查目标位置在该方位上距离
Figure RE-GDA0002407815930000201
预设步长则为R。
对于北方位循环检查的多个位置:(xg-mR,yg+iR),......, (xg-R,yg+iR),(xg,yg+iR),(xg+R,yg+iR),......,(xg+mR,yg+iR)。
对于南方位循环检查的多个位置:(xg-mR,yg-iR),......, (xg-R,yg-iR),(xg,yg-iR),(xg+R,yg-iR),......,(xg+mR,yg-iR)。
对于东方位循环检查的多个位置:(xg+iR,yg-mR),......, (xg+iR,yg-R),(xg+iR,yg),(xg+iR,yg+R),......,(xg+iR,yg+mR)。
对于西方位循环检查的多个位置:(xg-iR,yg-mR),......, (xg-iR,yg-R),(xg-iR,yg),(xg-iR,yg+R),......,(xg-iR,yg+mR)。
其中i≤N,m为要检查的位置个数。m可以取值1~2,每个方位可以检查3~5个点。
通过在地图上检查是否为障碍物区域,以进一步判断机器人10与目标位置之间的障碍物情况。
S850:若多组位置为障碍物区域,则判定达到目标位置,停止绕行。
如图15所示,例如机器人10的绕行位置位于目标位置的西方位,则循环检查西方位的多个位置范围,若该多个位置范围均障碍物区域,则机器人10判定已经达到目标位置。因为该方位上为障碍物区域,机器人10难以最终行进至目标位置,而当前绕行位置与位置相距较近,在对继续坐标对齐后,判断相应方位上的障碍物情况后,可以判定其相当于已经达到目标位置,停止绕行。
在本申请所提供的几个实施例中,应该理解到,所揭露的机器人和机器人的避障方法,可以通过其它的方式实现。例如,以上所描述的机器人各实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图16,上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在具有存储功能装置200中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储装置中,包括若干指令(程序数据)用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种介质以及具有上述存储介质的电脑、手机、笔记本电脑、平板电脑、相机等电子设备。
关于具有存储功能的装置中的程序数据的执行过程的阐述可以参照上述本申请机器人的避障方法实施例中阐述,在此不再赘述。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (12)

1.一种机器人的避障方法,其特征在于,包括:
在地图上获取初始位置和目标位置;
确定以所述初始位置为起点和以所述目标位置为终点的行进路径以及依次排列于所述行进路径上的多个轨迹点;
利用惯性导航跟踪所述多个轨迹点,以沿着所述行进路径向所述目标位置行进;
若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物;
确定绕行所述障碍物过程中的位置特征,将所述位置特征和与所述位置特征对应的预设条件进行比较得出比较结果,执行与所述比较结果相匹配的绕行策略。
2.根据权利要求1所述的避障方法,其特征在于,
所述若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物,包括:
获取与所述障碍物发生第一次碰撞的初始碰撞位置和绕行所述障碍物过程中的当前位置;
所述确定绕行所述障碍物过程中的位置特征,将所述位置特征和与所述位置特征对应的预设条件进行比较得出比较结果,执行与所述比较结果相匹配的绕行策略,包括:
计算所述当前位置与所述目标位置之间的距离;
判断所述当前位置与所述目标位置之间的距离是否小于或等于预设距离值;
若小于或者等于,则判定到达所述目标位置,停止绕行所述障碍物。
3.根据权利要求1所述的避障方法,其特征在于,
所述若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物,包括:
获取绕行所述障碍物过程中的当前位置和当前跟踪的所述轨迹点;
所述确定绕行所述障碍物过程中的位置特征,将所述位置特征和与所述位置特征对应的预设条件进行比较得出比较结果,执行与所述比较结果相匹配的绕行策略,包括:
计算所述当前位置和当前跟踪的所述轨迹点之间的距离;
判断所述当前位置与当前跟踪的所述轨迹点之间的距离是否小于或等于预设距离值;
若小于或者等于,则判定到达当前跟踪的所述轨迹点,停止绕行并继续沿所述行进路径跟踪后续的所述轨迹点。
4.根据权利要求1所述的避障方法,其特征在于,
所述若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物,包括:
获取与所述障碍物发生第一次碰撞的初始碰撞位置、绕行所述障碍物过程中的当前位置以及当前跟踪的所述轨迹点;
所述确定绕行所述障碍物过程中的位置特征,将所述位置特征和与所述位置特征对应的预设条件进行比较得出比较结果,执行与所述比较结果相匹配的绕行策略,包括:
计算所述当前位置到所述初始碰撞位置与当前跟踪的所述轨迹点连线的距离、所述当前位置与当前跟踪的所述轨迹点之间的距离以及当前跟踪的所述轨迹点与所述初始碰撞位置之间的距离;
判断所述当前位置到所述初始碰撞位置与当前跟踪的所述轨迹点连线的距离是否小于或者等于预设距离值;
若小于或者等于,判断当前跟踪的所述轨迹点与所述初始碰撞位置之间的距离与所述当前位置与当前跟踪的所述轨迹点之间的距离的差值是否大于或者等于所述预设距离值;
若大于或者等于,则离开所述障碍物,并继续跟踪当前跟踪的所述轨迹点。
5.根据权利要求1所述的避障方法,其特征在于,
所述若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物,包括:
获取与所述障碍物发生第一次碰撞的初始碰撞位置、绕行所述障碍物过程中的当前位置以及当前跟踪的所述轨迹点;
所述确定绕行所述障碍物过程中的位置特征,将所述位置特征和与所述位置特征对应预设模型进行比较得出比较结果,执行与所述比较结果相匹配的绕行策略,包括:
计算所述当前位置到所述初始碰撞位置与当前跟踪的所述轨迹点连线的距离、所述当前位置与所述初始碰撞位置之间的距离以及当前跟踪的所述轨迹点与所述初始碰撞位置之间的距离;
判断所述当前位置到所述初始碰撞位置与当前跟踪的所述轨迹点连线的距离是否小于或者等于预设距离值;
若小于或者等于,判断所述当前位置与所述初始碰撞位置之间的距离和所述初始碰撞位置与当前跟踪的所述轨迹点之间的距离的差值是否大于或者等于所述预设距离值;
若大于或者等于,则判定已绕到当前跟踪的所述轨迹点的前方,停止绕行所述障碍物并重新规划所述行进路径。
6.根据权利要求1所述的避障方法,其特征在于,
所述若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物,包括:
获取与所述障碍物发生第一次碰撞的初始碰撞位置、绕行所述障碍物过程中的当前位置以及当前跟踪的所述轨迹点;
所述确定绕行所述障碍物过程中的位置特征,将所述位置特征和与所述位置特征对应的预设条件进行比较得出比较结果,执行与所述比较结果相匹配的绕行策略,包括:
计算所述当前位置到所述初始碰撞位置与当前跟踪的所述轨迹点连线的距离、所述当前位置与当前跟踪的所述轨迹点之间的距离、当前跟踪的所述轨迹点与所述初始碰撞位置之间的距离以及自所述初始碰撞位置绕行到所述当前位置旋转航线角的累积角度;
判断是否满足所述累积角度大于或者等于2π且所述当前位置到所述初始碰撞位置与当前跟踪的所述轨迹点连线的距离小于或者等于预设距离值;
若满足,判断所述当前位置与当前跟踪的所述轨迹点的距离和当前跟踪的所述轨迹点与所述初始碰撞位置之间的距离的差值的绝对值是否小于设定参数值,其中所述设定参数值大于所述预设距离值;
若小于,则判定已绕行所述障碍物一周返回初始碰撞位置,并重新规划所述行进路径或者沿当前绕行方向的相反方向反向绕行所述障碍物。
7.根据权利要求1所述的避障方法,其特征在于,所述若在行进过程中检测到与障碍物发生碰撞,则绕行所述障碍物,包括:
获取与所述障碍物发生第一次碰撞的初始碰撞位置、绕行所述障碍物过程中的当前位置以及当前跟踪的所述轨迹点;
所述方法进一步包括:
判断自所述初始碰撞位置移动至所述当前位置的累积距离是否大于或者等于预设累积距离;和/或,判断所述当前位置与所述初始碰撞位置之间的距离大于或者等于最大距离值;
若大于或者等于,则判断所述初始碰撞位置和所述当前位置的连线与所述初始碰撞位置和当前跟踪的所述轨迹点的连线之间的夹角是否大于或等于预设角度;
若大于或者等于所述预设角度,则沿当前绕行方向相反的方向反向绕行所述障碍物返回所述初始碰撞位置,并沿所述反向绕行的方向自所述障碍物的另一侧绕行所述障碍物;
若小于所述预设角度,则判定所述当前位置在所述初始碰撞位置与当前跟踪的所述轨迹点之间,重新规划所述行进路径。
8.根据权利要求6或7所述的避障方法,其特征在于,在所述沿当前绕行方向的相反方向反向绕行所述障碍物之后,包括:
记录反向绕行所述障碍物的次数;
判断所述反向绕行所述障碍物的次数是否大于预设次数;
若大于,则停止绕行,更新所述地图并确认所述障碍物在所述地图中的位置;
和/或,
所述方法进一步包括:在沿所述当前绕行方向的相反方向绕行所述障碍物返回所述初始碰撞位置时,更新所述地图,并确认所述障碍物的在所述地图的位置。
9.根据权利要求6或7所述的避障方法,其特征在于,
所述沿当前绕行方向相反的方向反向绕行所述障碍物,包括:
判断沿所述当前绕行方向的相反方向绕行所述障碍物的绕行位置与所述目标位置之间距离是否小于或者等于预设值;
若小于或等于,则将所述绕行位置与所述目标位置进行横坐标对齐或者纵坐标对齐;
确定对齐后的所述绕行位置位于所述目标位置的方位;
自所述目标位置沿所述方位循环检查所述方位上以预设间距为步长的多组位置是否为障碍物区域,其中每组位置包括位于所述方位至少一侧的多个位置;
若所述多组位置为障碍物区域,则判定达到所述目标位置,停止绕行。
10.根据权利要求1所述的避障方法,其特征在于,
所述利用惯性导航跟踪所述多个轨迹点,以沿着所述行进路径向所述目标位置行进,包括:
判断当前到达的所述轨迹点是否为所述目标位置;
若否,调整航线角以使得行进方向朝向当前跟踪的所述轨迹点,并往所述行进方向移动至当前跟踪的所述轨迹点。
11.一种机器人,其特征在于,包括处理器、通信电路和存储器,所述处理器耦接所述通信电路和所述存储器,所述存储器存储有程序数据,所述处理器用于执行所述程序数据以实现如权利要求1-10任一项所述的避障方法。
12.一种具有存储功能的装置,其特征在于,所述装置存储有程序数据,所述程序数据能够被执行以实现如权利要求1-10任一项所述的避障方法。
CN201911319428.1A 2019-12-19 2019-12-19 机器人的避障方法、机器人以及装置 Active CN111090282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911319428.1A CN111090282B (zh) 2019-12-19 2019-12-19 机器人的避障方法、机器人以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911319428.1A CN111090282B (zh) 2019-12-19 2019-12-19 机器人的避障方法、机器人以及装置

Publications (2)

Publication Number Publication Date
CN111090282A true CN111090282A (zh) 2020-05-01
CN111090282B CN111090282B (zh) 2023-10-31

Family

ID=70396567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911319428.1A Active CN111090282B (zh) 2019-12-19 2019-12-19 机器人的避障方法、机器人以及装置

Country Status (1)

Country Link
CN (1) CN111090282B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111829526A (zh) * 2020-07-23 2020-10-27 中国人民解放军国防科技大学 一种基于防撞半径的距离地图重构与跳点路径规划方法
CN111906779A (zh) * 2020-06-30 2020-11-10 珠海市一微半导体有限公司 一种越障结束判断方法、越障控制方法、芯片及机器人
CN111984014A (zh) * 2020-08-24 2020-11-24 上海高仙自动化科技发展有限公司 机器人的控制方法、装置、机器人和存储介质
CN112711259A (zh) * 2020-12-28 2021-04-27 深圳市优必选科技股份有限公司 动态生成脚印集方法、装置、存储介质及双足机器人
CN112859848A (zh) * 2021-01-06 2021-05-28 国电内蒙古东胜热电有限公司 管道机器人的无线导航方法及系统
CN113011820A (zh) * 2021-03-25 2021-06-22 北京云迹科技有限公司 机器人配送方法及装置、存储介质及电子设备
CN113295167A (zh) * 2021-05-14 2021-08-24 山东新一代信息产业技术研究院有限公司 一种室内机器人避障方法
CN113804208A (zh) * 2020-09-18 2021-12-17 北京京东乾石科技有限公司 无人车路径优化方法及相关设备
WO2022000961A1 (zh) * 2020-06-30 2022-01-06 珠海一微半导体股份有限公司 一种机器人越障的沿边路径选择方法、芯片及机器人
CN114089775A (zh) * 2022-01-20 2022-02-25 杭州蓝芯科技有限公司 移动机器人的停障控制方法与装置
CN114578820A (zh) * 2022-03-02 2022-06-03 上海核工程研究设计院有限公司 一种核电站检测爬壁机器人的行进轨迹控制方法
CN114610022A (zh) * 2022-02-09 2022-06-10 北京三快在线科技有限公司 一种接驳定位方法及配送系统
CN114782927A (zh) * 2022-06-21 2022-07-22 苏州魔视智能科技有限公司 障碍物检测方法、装置、电子设备及存储介质
WO2022218177A1 (zh) * 2021-04-15 2022-10-20 北京石头创新科技有限公司 机器人避障方法及装置、机器人、存储介质、电子设备
CN116974286A (zh) * 2023-08-25 2023-10-31 上海木蚁机器人科技有限公司 调整无人车跟随控制点的避障方法、装置、设备和介质
JP7510635B2 (ja) 2020-06-30 2024-07-04 珠海一微半導体股▲ふん▼有限公司 障害物に対するロボットの回避のためのエッジ経路の選択方法、チップ及びロボット

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010963A (ko) * 2008-07-24 2010-02-03 주식회사 한울로보틱스 로봇 청소기의 청소경로 제어방법
US20140350839A1 (en) * 2013-05-23 2014-11-27 Irobot Corporation Simultaneous Localization And Mapping For A Mobile Robot
CN104977926A (zh) * 2014-04-14 2015-10-14 科沃斯机器人科技(苏州)有限公司 自移动机器人局部避障行走方法
CN105116886A (zh) * 2015-08-11 2015-12-02 余路 一种机器人自主行走的方法
US20160125739A1 (en) * 2014-02-21 2016-05-05 FLIR Belgium BVBA Collision avoidance systems and methods
CN106708053A (zh) * 2017-01-26 2017-05-24 湖南人工智能科技有限公司 一种自主导航的机器人及其自主导航方法
CN107368071A (zh) * 2017-07-17 2017-11-21 纳恩博(北京)科技有限公司 一种异常恢复方法及电子设备
CN107788914A (zh) * 2017-10-25 2018-03-13 深圳市亚谱达思科技有限公司 一种底置紫外线灯管的智能扫地机
CN107831766A (zh) * 2017-10-30 2018-03-23 北京奇虎科技有限公司 机器人的碰撞处理方法、装置及机器人
US20190129433A1 (en) * 2016-12-29 2019-05-02 Amicro Semiconductor Corporation A path planning method of intelligent robot
CN109871021A (zh) * 2019-03-18 2019-06-11 安徽大学 一种基于粒子群优化算法的机器人导航方法
CN110189547A (zh) * 2019-05-30 2019-08-30 广州小鹏汽车科技有限公司 一种障碍物检测方法、装置及车辆

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010963A (ko) * 2008-07-24 2010-02-03 주식회사 한울로보틱스 로봇 청소기의 청소경로 제어방법
US20140350839A1 (en) * 2013-05-23 2014-11-27 Irobot Corporation Simultaneous Localization And Mapping For A Mobile Robot
US20160125739A1 (en) * 2014-02-21 2016-05-05 FLIR Belgium BVBA Collision avoidance systems and methods
CN104977926A (zh) * 2014-04-14 2015-10-14 科沃斯机器人科技(苏州)有限公司 自移动机器人局部避障行走方法
US20170075353A1 (en) * 2014-04-14 2017-03-16 Ecovacs Robotics Co., Ltd. Local obstacle avoidance walking method of self-moving robot
CN105116886A (zh) * 2015-08-11 2015-12-02 余路 一种机器人自主行走的方法
US20190129433A1 (en) * 2016-12-29 2019-05-02 Amicro Semiconductor Corporation A path planning method of intelligent robot
CN106708053A (zh) * 2017-01-26 2017-05-24 湖南人工智能科技有限公司 一种自主导航的机器人及其自主导航方法
CN107368071A (zh) * 2017-07-17 2017-11-21 纳恩博(北京)科技有限公司 一种异常恢复方法及电子设备
CN107788914A (zh) * 2017-10-25 2018-03-13 深圳市亚谱达思科技有限公司 一种底置紫外线灯管的智能扫地机
CN107831766A (zh) * 2017-10-30 2018-03-23 北京奇虎科技有限公司 机器人的碰撞处理方法、装置及机器人
CN109871021A (zh) * 2019-03-18 2019-06-11 安徽大学 一种基于粒子群优化算法的机器人导航方法
CN110189547A (zh) * 2019-05-30 2019-08-30 广州小鹏汽车科技有限公司 一种障碍物检测方法、装置及车辆

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
汤俊;朱峰;万宇;老松杨;: "基于状态预测的空中防撞系统多机避碰性能改进方法", 系统仿真学报, no. 12 *
汪光辉: "一种智能红外避障自动扫地机器人的设计", vol. 36, no. 36, pages 78 - 79 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4039159A4 (en) * 2020-06-30 2022-11-16 Amicro Semiconductor Co., Ltd. PATH SELECTION METHOD FROM THE SIDE FOR ROBOT, CHIP AND ROBOT OBSTACLE CROSSING
JP2023509406A (ja) * 2020-06-30 2023-03-08 珠海一微半導体股▲ふん▼有限公司 障害物に対するロボットの回避のためのエッジ経路の選択方法、チップ及びロボット
CN111906779B (zh) * 2020-06-30 2022-05-10 珠海一微半导体股份有限公司 一种越障结束判断方法、越障控制方法、芯片及机器人
CN111906779A (zh) * 2020-06-30 2020-11-10 珠海市一微半导体有限公司 一种越障结束判断方法、越障控制方法、芯片及机器人
JP7510635B2 (ja) 2020-06-30 2024-07-04 珠海一微半導体股▲ふん▼有限公司 障害物に対するロボットの回避のためのエッジ経路の選択方法、チップ及びロボット
WO2022000960A1 (zh) * 2020-06-30 2022-01-06 珠海一微半导体股份有限公司 一种越障结束判断方法、越障控制方法、芯片及机器人
WO2022000961A1 (zh) * 2020-06-30 2022-01-06 珠海一微半导体股份有限公司 一种机器人越障的沿边路径选择方法、芯片及机器人
CN111829526A (zh) * 2020-07-23 2020-10-27 中国人民解放军国防科技大学 一种基于防撞半径的距离地图重构与跳点路径规划方法
CN111829526B (zh) * 2020-07-23 2022-05-10 中国人民解放军国防科技大学 一种基于防撞半径的距离地图重构与跳点路径规划方法
CN111984014A (zh) * 2020-08-24 2020-11-24 上海高仙自动化科技发展有限公司 机器人的控制方法、装置、机器人和存储介质
CN113804208B (zh) * 2020-09-18 2024-05-17 北京京东乾石科技有限公司 无人车路径优化方法及相关设备
CN113804208A (zh) * 2020-09-18 2021-12-17 北京京东乾石科技有限公司 无人车路径优化方法及相关设备
CN112711259B (zh) * 2020-12-28 2024-04-02 深圳市优必选科技股份有限公司 动态生成脚印集方法、装置、存储介质及双足机器人
CN112711259A (zh) * 2020-12-28 2021-04-27 深圳市优必选科技股份有限公司 动态生成脚印集方法、装置、存储介质及双足机器人
CN112859848A (zh) * 2021-01-06 2021-05-28 国电内蒙古东胜热电有限公司 管道机器人的无线导航方法及系统
CN112859848B (zh) * 2021-01-06 2023-03-10 国电内蒙古东胜热电有限公司 管道机器人的无线导航方法及系统
CN113011820A (zh) * 2021-03-25 2021-06-22 北京云迹科技有限公司 机器人配送方法及装置、存储介质及电子设备
WO2022218177A1 (zh) * 2021-04-15 2022-10-20 北京石头创新科技有限公司 机器人避障方法及装置、机器人、存储介质、电子设备
CN113295167A (zh) * 2021-05-14 2021-08-24 山东新一代信息产业技术研究院有限公司 一种室内机器人避障方法
CN113295167B (zh) * 2021-05-14 2022-07-15 山东新一代信息产业技术研究院有限公司 一种室内机器人避障方法
CN114089775A (zh) * 2022-01-20 2022-02-25 杭州蓝芯科技有限公司 移动机器人的停障控制方法与装置
CN114610022A (zh) * 2022-02-09 2022-06-10 北京三快在线科技有限公司 一种接驳定位方法及配送系统
CN114578820B (zh) * 2022-03-02 2024-05-07 上海核工程研究设计院股份有限公司 一种核电站检测爬壁机器人的行进轨迹控制方法
CN114578820A (zh) * 2022-03-02 2022-06-03 上海核工程研究设计院有限公司 一种核电站检测爬壁机器人的行进轨迹控制方法
CN114782927A (zh) * 2022-06-21 2022-07-22 苏州魔视智能科技有限公司 障碍物检测方法、装置、电子设备及存储介质
CN116974286A (zh) * 2023-08-25 2023-10-31 上海木蚁机器人科技有限公司 调整无人车跟随控制点的避障方法、装置、设备和介质
CN116974286B (zh) * 2023-08-25 2024-06-21 上海木蚁机器人科技有限公司 调整无人车跟随控制点的避障方法、装置、设备和介质

Also Published As

Publication number Publication date
CN111090282B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN111090282B (zh) 机器人的避障方法、机器人以及装置
EP3764186B1 (en) Method for controlling autonomous mobile robot to travel along edge
US11960304B2 (en) Localization and mapping using physical features
US20220324112A1 (en) Domestic robotic system and method
JP6947826B2 (ja) インテリジェントロボットの経路計画方法
AU2016213835B2 (en) Adaptive mapping with spatial summaries of sensor data
KR101372482B1 (ko) 이동 로봇의 경로 계획 방법 및 장치
US11656630B2 (en) Autonomous map traversal with waypoint matching
JP2020501282A5 (zh)
JP2021516403A (ja) ロボットの再測位方法
JP2007213236A (ja) 自律走行ロボットの経路計画方法及び自律走行ロボット
JPH10501908A (ja) 自律可動式装置のオリエンテーション、ルート選定及び制御のための方法
CN112183133A (zh) 一种基于ArUco码引导的移动机器人自主充电方法
US8447454B2 (en) Control method for a robot vehicle, and robot vehicle
CN112652001B (zh) 基于扩展卡尔曼滤波的水下机器人多传感器融合定位系统
CN113110497A (zh) 基于导航路径的沿边绕障路径选择方法、芯片及机器人
CN114879660A (zh) 一种基于目标驱动的机器人环境感知方法
CN114594772A (zh) 机器人、路径规划方法、装置和存储介质
CN112033423B (zh) 一种基于道路共识的机器人路径规划方法、装置和机器人
CN112882479B (zh) 一种基于内外角累积状态的路径规划方法
WO2023118946A1 (en) Method and system for navigating an autonomous vehicle in an open-pit site
Song et al. A localization algorithm for low-cost cleaning robots based on kalman filter
Bacha et al. A new robust cooperative-reactive Filter for vehicle localization: The Extended Kalman Particle Swarm ‘EKPS’
Kuhnert et al. Probabilistic approach to self-localization for autonomous mobile outdoor robotics based on hybrid map knowledge
CN117406721A (zh) 一种基于uwb的移动机器人及其导航和跟随方法

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