CN115890676A - 机器人控制方法、机器人及存储介质 - Google Patents
机器人控制方法、机器人及存储介质 Download PDFInfo
- Publication number
- CN115890676A CN115890676A CN202211500595.8A CN202211500595A CN115890676A CN 115890676 A CN115890676 A CN 115890676A CN 202211500595 A CN202211500595 A CN 202211500595A CN 115890676 A CN115890676 A CN 115890676A
- Authority
- CN
- China
- Prior art keywords
- robot
- point cloud
- cloud data
- pressure
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 230000003068 static effect Effects 0.000 claims abstract description 59
- 230000007613 environmental effect Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 238000011065 in-situ storage Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 6
- 230000004888 barrier function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000010813 municipal solid waste Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了机器人控制方法、机器人及存储介质,其中,所述方法包括以下步骤:在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据;根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转;在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径;控制所述机器人沿所述脱困路径行进。在机器人靠近障碍物行驶,由于定位偏差,机器人定位结果是在障碍物所在区域时,机器人能够有效地脱离困境,避免机器人定位导航失败。
Description
技术领域
本发明涉及机器人控制领域,尤其涉及机器人控制方法、机器人及存储介质。
背景技术
随着物联网技术的发展,物联网设备如移动机器人在生活中的应用越来越广泛。在酒店等服务场所,为了节约人力成本,通常都会使用机器人进行迎宾,让机器人带领客人到达房间;使用机器人送餐,让机器人将物品送达到房间等。
然而,机器人在这些场景下的工作环境复杂多变,特殊地,机器人行驶进入窄道区域中,并且在障碍物数量较多的情况下,由于定位偏差,若机器人的错误定位结果是在障碍物所在区域,则容易导致机器人定位导航失败。
发明内容
本发明的主要目的在于提供一种机器人控制方法、机器人及存储介质,解决现有技术中机器人由于定位偏差,导致机器人定位导航失败的问题。
为实现上述目的,本发明提供一种机器人控制方法,所述机器人控制方法包括以下步骤:
在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据;
根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转;
在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径;
控制所述机器人沿所述脱困路径行进。
可选地,所述根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转的步骤包括:
确定所述点云数据中的特征点云的位置与所述机器人当前位置的距离;
基于所述距离,确定所述机器人当前位置的危险系数;
根据所述危险系数,确定所述机器人的转速,以及根据所述点云数据中的特征点云的位置确定所述转动方向;
基于所述转速以及所述转动方向控制所述机器人旋转。
可选地,所述在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据的步骤之前,还包括:
获取所述机器人当前所处区域的环境障碍物信息;
基于所述环境障碍物信息构建所述静态地图,其中,所述静态地图包括可通行区域和不可通行区域,基于机器人当前所处区域和所述环境障碍物信息预构建所述静态地图的所述可通行区域和所述不可通行区域,对机器人当前所处区域对应的所述可通行区域缩小范围,以使得所述可通行区域的边界相对于环境障碍物在所述静态地图的位置远离预设距离。
可选地,所述基于所述环境障碍物信息构建所述静态地图的步骤之后,还包括:
接收行进任务,基于所述静态地图生成当前位置到所述行进任务关联的目标位置的指引路径,并控制所述机器人沿所述指引路径行进;
在控制所述机器人沿所述指引路径行进的过程中,判断所述机器人的定位结果是否处于所述静态地图的所述不可通行区域。
可选地,所述在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径的步骤包括:
所述机器人原地旋转一周,并获取所述机器人周围环境的点云数据;
基于所述机器人周围环境的点云数据,生成预设范围内的局部地图;
将所述局部地图作为输入,根据向量场直方图算法确定目标行进方向,以及目标行进距离;
基于所述目标行进方向以及所述目标行进距离,确定所述脱困路径。
可选地,所述控制所述机器人沿所述脱困路径行进的步骤之后,还包括:
在检测到所述机器人位于所述脱困路径对应的目的地后,控制所述机器人原地旋转,并在所述机器人原地旋转时获取所述机器人周围环境的点云数据;
根据所述机器人周围环境的点云数据,在所述脱困路径对应的目的地进行自定位。
可选地,获取所述机器人传感器采集到的点云数据的步骤包括:
获取所述机器人的外壳的压力传感器反馈的压力信息;
在所述压力信息的数据为空时,获取所述机器人传感器采集到的点云数据。
可选地,所述获取所述机器人的外壳的压力传感器反馈的压力信息的步骤之后,还包括:
在所述压力信息中存在一个压力点时,控制所述机器人往所述压力点相反的方向移动预设距离,并在压力传感器反馈的压力信息为空时,获取所述机器人传感器采集到的点云数据;
在所述压力信息中存在至少两个压力点时,确定各压力点对应的合压力的方向,控制所述机器人沿与所述合压力相反的方向移动,并在检测到移动过程中所述压力点的数量减少至零个时,获取所述机器人传感器采集到的点云数据。
此外,为实现上述目的,本发明还提供一种机器人,所述机器人包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机器人控制程序,所述机器人控制程序被所述处理器执行时实现如上所述的机器人控制方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有机器人控制程序,所述机器人控制程序被处理器执行时实现如上所述的机器人控制方法的步骤。
区别于现有技术,本发明实施例提供了机器人控制方法,在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据,并根据点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转,在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径,随后控制所述机器人沿所述脱困路径行进。可以看出,通过检测到机器人处于不可通行区域时,获取点云数据,根据点云数据的信息确定机器人旋转方向以及转速,并在旋转后根据旋转后获取的点云数据的信息生成脱困路径,以使机器人能够根据点云数据信息,在机器人靠近障碍物行驶,由于定位偏差,机器人定位结果是在障碍物所在区域时,机器人能够有效地脱离困境,避免机器人定位导航失败。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明机器人控制方法的第一实施例的流程示意图;
图2是本发明机器人控制方法的第一实施例的步骤S10之前的流程示意图;
图3为本发明机器人控制方法的第一实施例的步骤S10之前的另一流程示意图;
图4为本发明机器人控制方法的第一实施例的步骤S20的细化流程示意图;
图5为本发明机器人控制方法的第一实施例的步骤S30的细化流程示意图;
图6为本发明机器人控制方法的第二实施例的流程示意图;
图7是本发明机器人控制方法的各个实施例的终端硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合附图对本发明权利要求要求保护的内容进行详细说明。
参照图1,图1为本发明机器人控制方法的第一实施例的流程示意图。
本发明实施例提供了机器人控制方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明机器人控制方法各个实施例的执行主体可以是机器人,机器人可以是常规的由自动控制程序控制的机器人,或可用于承载货物、规划路径、配送获取等,各实施例中对机器人种类样式以及具体实现细节并不作限制。在本实施例中,机器人控制方法包括以下步骤S10-S40:
步骤S10,在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据。
在本实施例中,机器人采用SLAM(Simultaneous Localization and Mapping)技术实现地图构建和定位,静态地图是机器人根据应用场景的点云数据预先构建的先验地图,其中静态地图包括可通行区域和不可通行区域。例如,机器人通过激光雷达扫描环境信息以构建静态地图,静态地图为栅格地图,在栅格地图中,可通行区域所占据的栅格用“0”表示,障碍物区域所占据的栅格用“1”表示,未扫描到的区域为未知区域,未知区域所占据的栅格用“-1”表示。在本发明中,机器人仅能够在静态地图的可通行区域行驶,静态地图的不可通行区域包括障碍物区域和未知区域。在基于SLAM定位算法对机器人当前所在位置进行位姿估算时,机器人的定位结果与机器人实际位置并不一致。例如,在机器人靠近障碍物行驶,由于定位偏差,机器人定位结果可能是位于障碍物区域,然而机器人实际位置是不可能位于障碍物区域的,显然,机器人的定位结果是错误的,以使机器人陷入困境,甚至导致定位导航失败。
传感器可以是激光雷达或深度相机,例如激光雷达是单线激光雷达或多线激光雷达。例如,单线激光雷达能够扫描机器人正前方270°扇形区域范围的一平面内的障碍物,在机器人工作时,单线激光雷达能够实时采集并计算激光扫描点的信息。点云数据是指传感器采集到的如垃圾桶、箱子、墙壁以及行人等各类障碍物的扫描点的集合。
根据机器人当前所在位置的SLAM定位结果,判断机器人当前所在位置是否处于静态地图的不可通行区域,在检测到机器人的定位结果处于静态地图的不可通行区域时,获取机器人传感器采集到的点云数据。
示例性的,机器人在根据静态地图规划的指引路径行进,在机器人靠近障碍物行驶,由于定位偏差,机器人的SLAM定位结果是位于障碍物区域时,则确定机器人的定位结果是处于静态地图的不可通行区域,此时控制机器人停止行进,并获取机器人的外壳的压力传感器反馈的压力信息,在机器人压力传感器反馈的压力信息的数据为空时,保存机器人的传感器在当前位置扫描到的点云数据,避免机器人与障碍物处于接触状态时进行旋转,导致机器人与障碍物发生碰撞。
可选地,参照图2,步骤S10之前,还包括步骤S50-S60:
步骤S50,获取所述机器人当前所处区域的环境障碍物信息;
步骤S60,基于所述环境障碍物信息构建所述静态地图。
在本实施例中,环境障碍物信息包括机器人在当前所处区域的墙壁、桌子、垃圾桶、行人等障碍物信息。在机器人通过位置感知模块完成初始位置的定位后,根据当前所处的区域中的环境障碍物信息,构建静态地图。其中,静态地图包括可通行区域和不可通行区域,在构建静态地图的过程时,基于机器人当前所处区域和所述环境障碍物信息构建所述静态地图的所述可通行区域和所述不可通行区域,并对机器人当前所处区域对应的所述可通行区域缩小范围,以使得所述可通行区域的边界相对于环境障碍物在所述静态地图的位置远离预设距离(例如0.2米)。
例如,机器人通过激光雷达扫描环境信息以构建静态地图,静态地图为栅格地图,在栅格地图中,可通行区域所占据的栅格用“0”表示,障碍物区域所占据的栅格用“1”表示,未扫描到的区域为未知区域,未知区域所占据的栅格用“-1”表示。机器人根据静态地图中的可通行区域所在栅格规划输出全局静态路径,机器人可根据全局静态路径行进。为了使得机器人尽量远离障碍物(例如、墙壁、桌子等)行驶,可选地,对静态地图进一步更新,以使得用于路径规划的静态地图中的可通行区域所占据的栅格范围缩小,例如,对机器人当前所处区域对应的所述可通行区域缩小范围,以使得所述可通行区域的边界相对于环境障碍物在静态地图的位置远离预设距离(例如0.2米)。机器人在根据更新后的静态地图进行路径规划时,机器人根据可通行区域所占据的栅格进行路径规划,从而使得机器人尽量远离可通行区域的边界障碍物(例如,窄道的墙壁)行驶。
可选地,参照图3,步骤S60,基于所述环境障碍物信息构建所述静态地图的步骤之后,还包括步骤S70-S80:
步骤S70,接收行进任务,基于所述静态地图生成当前位置到所述行进任务关联的目标位置的指引路径,并控制所述机器人沿所述指引路径行进。
在本实施例中,行进任务指的是用户对机器人输入的行进指令,用于完成物品的派送或人员的引领。在机器人接收到行进任务后,根据当前所处的位置以及行进任务所需到达的目标位置,生成一条由机器人当前位置到目标位置的指引路径,并控制机器人沿着指引路径行进,以便机器人能顺利完成行进任务。
步骤S80,在控制所述机器人沿所述指引路径行进的过程中,判断所述机器人的定位结果是否处于所述静态地图的所述不可通行区域。
在本实施例中,机器人按照指引路径行进时,根据机器人SLAM定位结果,确定机器人的定位结果中的位置坐标是否处于所述静态地图的不可通行区域的坐标区间内。进一步地,传感器实时扫描机器人前方270°的障碍物以获得点云数据,机器人根据获取到的点云数据确定机器人是否与障碍物发生碰撞。
步骤S20,根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转。
在本实施例中,为避免机器人在旋转过程中因旋转过快导致机器人与附近障碍物发生碰撞,在机器人传感器扫描到点云数据后,需要根据点云数据的位置以及距离信息确定机器人的转速以及转动方向,并在机器人确定转动方向以及转速后,机器人根据转动方向以及转速对应的参数进行选择。
可选地,参照图4,步骤S20,根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转的步骤包括步骤S21-S24:
步骤S21,确定所述点云数据中的特征点云的位置与所述机器人当前位置的距离;
步骤S22,基于所述距离,确定所述机器人当前位置的危险系数;
步骤S23,根据所述危险系数,确定所述机器人的转速,以及根据所述点云数据中的特征点云的位置确定所述转动方向;
步骤S24,基于所述转速以及所述转动方向控制所述机器人旋转。
在本实施例中,特征点云指的是扫描障碍物以获得的特征点簇,可用于识别出障碍物的位置和/或形状。特征点云与机器人当前位置的距离指的是特征点云中各个激光扫描点与机器人中心位置的平均距离。
机器人通过激光雷达或深度相机等设备扫描前方270°扇形区域的障碍物,以获得关于障碍物的点云数据,通过对各个特征点云的坐标与机器人中心坐标进行计算,得到各个特征点云与机器人的距离,并根据各个特征点云的距离计算出平均距离,以使机器人能根据平均距离确定危险系数,在确定危险系数后,能根据危险系数与机器人旋转速度参照关系,确定机器人的旋转速度,避免机器人因旋转过快而与障碍物发生碰撞。
具体的,机器人可通过以下公式计算特征点云与机器人的距离:
其中,D为激光扫描点与机器人中心位置的距离,(xi,yi)是点云数据中的第i个特征点云的坐标,(xr,yr)则是机器人的中心坐标。
在点云数据中通过类簇提取特征点云,在计算出特征点云各个扫描点与机器人的距离之后,将距离大于预设距离(例如,0.65米)的扫描点进行过滤,也即获取机器人附近的点云作为计算对象。例如,在特征点云中获取机器人附近的点云,并计算出特征点云到机器人外壳的平均距离因而,在根据如上公式确定过滤后各个特征点云与机器人中心位置后,将过滤后各个特征点云的距离减去机器人的半径(例如0.25米),随后根据过滤后的各个特征点云作差后的得到的距离数据,确定平均距离在机器人得到各个特征点云与机器人外壳的平均距离后,根据平均距离的值来确定机器人当前位置的危险系数,其中平均距离与危险系数的映射关系如下所示:在时,危险系数为1级;在时,危险系数为2级;在时,危险系数为3级;在时,危险系数为4级。其中,平均距离的计量单位为厘米。
具体的,在平均距离小于10cm时,可认为当前机器人与障碍物(例如墙壁)处于接触状态或靠近接触状态,为避免旋转过程中与障碍物发生摩擦碰撞,将危险系数定为1,表示当前状态为非常危险,机器人不做任何操作。在危险系数为2时,表示当前状态为危险,机器人的角速度可以设定为0.5rad/s;在危险系数为3时,表示当前状态为轻度危险,机器人的角速度可以设定为1rad/s;在危险系数为4时,表示当前状态为比较安全,机器人的角速度可以设定为1.5rad/s。当然,仍可根据实际情形,设置多档不相同的机器人旋转角速度,以用于机器人原地旋转。
需要说明的是,上述危险系数以及角速度的具体数值只是做举例说明,并非是作具体限定,可以根据实际情况动态设置。
可选地,机器人在当前所处位置,根据过滤后的特征点云的平均距离确定危险系数,并根据危险系数确定旋转的角速度后,对过滤后的特征点云的坐标信息进行计算,确定过滤后的特征点云在静态地图中的分布状况,可选地,可以以机器人当前激光雷达或深度相机等设备扫描到的前方270°扇形区域为基准面,若机器人当前位置的左边分布的过滤后的特征点云较多时,则机器人确定向右边旋转为转动方向,若右边特分布的过滤后的特征点云较多,则机器人确定向左边旋转为转动方向。
在一具体实施场景中,在机器人靠近障碍物行驶,由于定位偏差,机器人的SLAM定位结果是位于障碍物区域例如墙角,则判断机器人当前的定位结果是处于静态地图的不可通行区域,此时,对激光雷达采集到的关于墙角的点云数据进行筛选,过滤掉距离大于0.65米的扫描点,随后对剩下的特征点云进行位置的计算,并得到各个特征点云至机器人外壳的平均距离为20厘米,即对应的危险系数为3,表征为轻度危险,此时机器人选择的转动的角速度为1.5rad/s,随后经过对比分析确定扫描到的前方270°的扇形区域中,机器人的右边的特征点云数量分布较多,此时,机器人以1.5rad/s的角速度向左边旋转1周。
可选地,机器人可在旋转过程中动态设置旋转的角速度,即在旋转时不间断地计算扫描到的点云数据至机器人外壳的平均距离,基于预设时间间隔如1秒,根据平均距离重新计算危险系数以及重新计算旋转的角速度后,控制机器人按照重新计算的角速度进行旋转,以使机器人的旋转速度更合理,提高旋转的安全性。
步骤S30,在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径。
具体地,参照图5,步骤S30包括步骤S31-S34:
步骤S31,所述机器人原地旋转一周,并获取所述机器人周围环境的点云数据;
步骤S32,基于所述机器人周围环境的点云数据,生成预设范围内的局部地图;
步骤S33,将所述局部地图作为输入,根据向量场直方图算法确定目标行进方向,以及目标行进距离;
步骤S34,基于所述目标行进方向以及所述目标行进距离,确定所述脱困路径。
在本实施例中,局部地图指的是机器人根据获取到的点云数据构建的局部区域的地图,例如,根据有限数量帧激光帧以构建机器人当前位置的局部地图。在机器人至少旋转一周的过程中,记录激光雷达或深度相机扫描到的旋转过程中的360°范围内的点云数据,并根据点云数据构建局部地图,随后机器人将局部地图作为输入,根据向量场直线方图算法(Vector Field Histogram,简称VFH,例如VFH*算法)确定预设时段的目标行进方向,以及目标行进距离,并根据目标行进方向以及目标行进距离计算出机器人的指引路径即脱困路径,以使机器人能够沿着指引路径行进,脱离不可通行区域。
需要说明的是,上述实施例危险系数、角速度、预设范围、VFH*算法等只是用作对方案的说明,并非是对本发明的内容作具体限定。
步骤S40,控制所述机器人沿所述脱困路径行进。
在机器人根据局部地图生成脱困路径之后,能够沿着脱困路径行驶,以使机器人有效地远离障碍物,脱离困境。
在本实施中,机器人根据静态地图规划的指引路径行进,在靠近障碍物行驶时,由于定位偏差,在机器人SLAM定位结果是处于不可通行区域时,获取机器人在当前位置通过激光雷达或深度相机采集到的点云数据,并计算点云数据中的激光扫描点与机器人中心位置的距离,根据计算得到的距离计算出特征点云至机器人外壳的平均距离,基于平均距离确定当前位置的危险系数,并根据危险系数确定机器人的旋转速度,以及根据特征点云的位置分布确定旋转方向,控制机器人基于转动方向以及转速原地旋转,并在机器人进行了至少一周的旋转后,根据激光雷达采集到的转动后的点云数据的信息,生成局部地图以及脱困路径,随后控制机器人沿着脱困路径行进,以使机器人能够远离障碍物,脱离困境,避免机器人定位导航失败。
基于上述实施例,提出本发明的机器人控制方法的第二实施例。
在该实施例中,基于第一实施例,参照图6,步骤S40之后还包括步骤S90-S100:
步骤S90,在检测到所述机器人位于所述脱困路径对应的目的地后,控制所述机器人原地旋转,并在所述机器人原地旋转时获取所述机器人周围环境的点云数据;
步骤S100,根据所述机器人周围环境的点云数据,在所述脱困路径对应的目的地进行自定位。
在本实施例中,机器人沿着脱困路径行进到脱困路径对应的目的地后,通过自旋转获取激光雷达或深度相机采集到的点云数据,在机器人自旋转一周之后,根据获取到的点云数据执行重定位操作。若机器人重定位成功,则机器人重新规划出当前位置到任务指定的目的地的新的指引路径,以使机器人在脱困后进行重新定位,并能重新执行任务。
在本实施例中,在机器人脱离了受困区域后,通过获取脱困后所处位置的周围环境的点云数据,根据获取到的点云数据执行重定位操作。
基于第一实施例,提出本发明的机器人控制方法的第三实施例。
在该实施例中,基于第一实施例,步骤S10的步骤具体包括步骤S11-S13:
步骤S11,获取所述机器人的外壳的压力传感器反馈的压力信息;
步骤S12,在所述压力信息的数据为空时,获取所述机器人传感器采集到的点云数据;
可以理解的是,压力信息的数据为空时,虽然机器人SLAM定位结果是在静态地图的不可通行区域,但机器人的实际位置并未与不可通行区域的障碍物产生接触。
可选地,步骤S11之后,还包括,步骤S13,在所述压力信息中存在一个压力点时,控制所述机器人往所述压力点相反的方向移动预设距离,并在压力传感器反馈的压力信息为空时,获取所述机器人传感器采集到的点云数据。
在本实施例中,压力信息包括机器人外壳的压力传感器反馈的压力大小和压力方向等。在检测到压力信息中的压力点只有一个时,可判断机器人在当前所处的位置里,有一个部位与障碍物接触,此时控制机器人沿压力点的压力方向的反方向移动预设距离,以使机器人远离障碍物,在压力点消失时,再执行获取传感器采集到的点云数据的步骤,使得机器人由于定位失误陷入困境时,若与障碍物发生接触,在对当前所处位置进行微调整后,再通过激光雷达或深度相机采集当前位置采集到的点云数据,从而避免机器人与障碍物发生碰撞或摩擦。
可选地,步骤S12之后,还包括,步骤S14,在所述压力信息中存在至少两个压力点时,确定各压力点对应的合压力的方向,控制所述机器人沿与所述合压力相反的方向移动,并在检测到移动过程中所述压力点的数量减少至零个时,获取所述机器人传感器采集到的点云数据。
在本实施例中,机器人在当前所处的位置,检测到的压力点至少为两个时,计算各压力点对应的合压力的方向,并控制所述机器人沿合压力方向的相反方向移动,以使机器人远离障碍物,直到检测到移动过程中压力点的数量减少到0个时(表明机器人完全不与障碍物发生接触),执行获取传感器采集到的点云数据的步骤,使得机器人由于定位失误陷入到困境时,若与障碍物发生接触,在对当前所处位置进行微调整后,再通过激光雷达或深度相机采集当前位置采集到的点云数据,从而避免机器人与障碍物发生碰撞或摩擦。
可选地,在检测到移动过程中压力点的数量减少为1个时,可以跳转执行步骤S13的动作。
需要说明的是,在压力传感器反馈的信息为空时,机器人执行第一实施例所述的内容。
在本实施例中,在检测到机器人SLAM定位结果是处于不可通行区域时,通过检查压力传感器反馈的压力信息来判断机器人是否与障碍物发生接触,若存在压力点,则认为机器人与障碍物处于接触状态,将机器人往压力点压力方向的相反方向行驶,以离开障碍物,随后执行脱困步骤。通过此方法,避免机器人与障碍物发生接触时,直接根据扫描到的障碍物激光点的信息进行危险系数的判断,导致机器人无法执行脱困动作。
参照图7,图7为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
需要说明的是,本发明实施例设备可以是智能手机、个人计算机和服务器等具有数字处理能力的设备,所述设备可以部署于移动机器人中,在此不做具体限制。
如图7所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图7中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及机器人控制程序。操作系统是管理和控制设备硬件和软件资源的程序,支持机器人控制程序以及其它软件或程序的运行。在图7所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的机器人控制程序,并执行以下操作:
在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据;
根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转;
在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径;
控制所述机器人沿所述脱困路径行进。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
确定所述点云数据中的特征点云的位置与所述机器人当前位置的距离;
基于所述距离,确定所述机器人当前位置的危险系数;
根据所述危险系数,确定所述机器人的转速,以及根据所述点云数据中的特征点云的位置确定所述转动方向;
基于所述转速以及所述转动方向控制所述机器人旋转。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
获取所述机器人当前所处区域的环境障碍物信息;
基于所述环境障碍物信息构建所述静态地图,其中,所述静态地图包括可通行区域和不可通行区域,基于机器人当前所处区域和所述环境障碍物信息预构建所述静态地图的所述可通行区域和所述不可通行区域,对机器人当前所处区域对应的所述可通行区域缩小范围,以使得所述可通行区域的边界相对于环境障碍物在所述静态地图的位置远离预设距离。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
接收行进任务,基于所述静态地图生成当前位置到所述行进任务关联的目标位置的指引路径,并控制所述机器人沿所述指引路径行进;
在控制所述机器人沿所述指引路径行进的过程中,判断所述机器人的定位结果是否处于所述静态地图的所述不可通行区域。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
所述机器人原地旋转一周,并获取所述机器人周围环境的点云数据;
基于所述机器人周围环境的点云数据,生成预设范围内的局部地图;
将所述局部地图作为输入,根据向量场直方图算法确定目标行进方向,以及目标行进距离;
基于所述目标行进方向以及所述目标行进距离,确定所述脱困路径。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
在检测到所述机器人位于所述脱困路径对应的目的地后,控制所述机器人原地旋转,并在所述机器人原地旋转时获取所述机器人周围环境的点云数据;
根据所述机器人周围环境的点云数据,在所述脱困路径对应的目的地进行自定位。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
获取所述机器人的外壳的压力传感器反馈的压力信息;
在所述压力信息的数据为空时,获取所述机器人传感器采集到的点云数据。
进一步地,处理器1001可以调用存储器1005中存储的机器人控制程序,还执行以下操作:
在所述压力信息中存在一个压力点时,控制所述机器人往所述压力点相反的方向移动预设距离,并在压力传感器反馈的压力信息为空时,获取所述机器人传感器采集到的点云数据;
在所述压力信息中存在至少两个压力点时,确定各压力点对应的合压力的方向,控制所述机器人沿与所述合压力相反的方向移动,并在检测到移动过程中所述压力点的数量减少至零个时,获取所述机器人传感器采集到的点云数据。
此外,本发明实施例还提出一种机器人,所述机器人包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机器人控制程序,所述机器人控制程序被所述处理器执行时实现如上各个实施例机器人控制方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有机器人控制程序,所述机器人控制程序被处理器执行时实现如上各个实施例所述的机器人控制方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是机器人)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种机器人控制方法,其特征在于,所述方法包括:
在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据;
根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转;
在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径;
控制所述机器人沿所述脱困路径行进。
2.如权利要求1所述的方法,其特征在于,所述根据所述点云数据确定所述机器人的转速以及转动方向,并基于所述转速以及所述转动方向控制所述机器人旋转的步骤包括:
确定所述点云数据中的特征点云的位置与所述机器人当前位置的距离;
基于所述距离,确定所述机器人当前位置的危险系数;
根据所述危险系数,确定所述机器人的转速,以及根据所述点云数据中的特征点云的位置确定所述转动方向;
基于所述转速以及所述转动方向控制所述机器人旋转。
3.如权利要求1所述的方法,其特征在于,所述在检测到机器人的定位结果是处于静态地图的不可通行区域时,获取所述机器人传感器采集到的点云数据的步骤之前,还包括:
获取所述机器人当前所处区域的环境障碍物信息;
基于所述环境障碍物信息构建所述静态地图,其中,所述静态地图包括可通行区域和不可通行区域,基于机器人当前所处区域和所述环境障碍物信息预构建所述静态地图的所述可通行区域和所述不可通行区域,对机器人当前所处区域对应的所述可通行区域缩小范围,以使得所述可通行区域的边界相对于环境障碍物在所述静态地图的位置远离预设距离。
4.如权利要求3所述的方法,其特征在于,所述基于所述环境障碍物信息构建所述静态地图的步骤之后,还包括:
接收行进任务,基于所述静态地图生成当前位置到所述行进任务关联的目标位置的指引路径,并控制所述机器人沿所述指引路径行进;
在控制所述机器人沿所述指引路径行进的过程中,判断所述机器人的定位结果是否处于所述静态地图的所述不可通行区域。
5.如权利要求1所述的方法,其特征在于,所述在所述机器人旋转时,获取所述传感器改变采集方向后采集到的所述点云数据,并生成脱困路径的步骤包括:
所述机器人原地旋转一周,并获取所述机器人周围环境的点云数据;
基于所述机器人周围环境的点云数据,生成预设范围内的局部地图;
将所述局部地图作为输入,根据向量场直方图算法确定目标行进方向,以及目标行进距离;
基于所述目标行进方向以及所述目标行进距离,确定所述脱困路径。
6.如权利要求5所述的方法,其特征在于,所述控制所述机器人沿所述脱困路径行进的步骤之后,还包括:
在检测到所述机器人位于所述脱困路径对应的目的地后,控制所述机器人原地旋转,并在所述机器人原地旋转时获取所述机器人周围环境的点云数据;
根据所述机器人周围环境的点云数据,在所述脱困路径对应的目的地进行自定位。
7.如权利要求1所述的方法,其特征在于,获取所述机器人传感器采集到的点云数据的步骤包括:
获取所述机器人的外壳的压力传感器反馈的压力信息;
在所述压力信息的数据为空时,获取所述机器人传感器采集到的点云数据。
8.如权利要求7所述的方法,其特征在于,所述获取所述机器人的外壳的压力传感器反馈的压力信息的步骤之后,还包括:
在所述压力信息中存在一个压力点时,控制所述机器人往所述压力点相反的方向移动预设距离,并在压力传感器反馈的压力信息为空时,获取所述机器人传感器采集到的点云数据;
在所述压力信息中存在至少两个压力点时,确定各压力点对应的合压力的方向,控制所述机器人沿与所述合压力相反的方向移动,并在检测到移动过程中所述压力点的数量减少至零个时,获取所述机器人传感器采集到的点云数据。
9.一种机器人,其特征在于,所述机器人包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机器人控制程序,所述机器人控制程序被所述处理器执行时实现如权利要求1至8中任一项机器人控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有机器人控制程序,所述机器人控制程序被处理器执行时实现如权利要求1至8中任一项所述的机器人控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211500595.8A CN115890676B (zh) | 2022-11-28 | 2022-11-28 | 机器人控制方法、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211500595.8A CN115890676B (zh) | 2022-11-28 | 2022-11-28 | 机器人控制方法、机器人及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115890676A true CN115890676A (zh) | 2023-04-04 |
CN115890676B CN115890676B (zh) | 2024-08-13 |
Family
ID=86475860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211500595.8A Active CN115890676B (zh) | 2022-11-28 | 2022-11-28 | 机器人控制方法、机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115890676B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118670397A (zh) * | 2024-08-13 | 2024-09-20 | 深圳市普渡科技有限公司 | 重定位方法、装置、机器人和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102038470A (zh) * | 2009-10-09 | 2011-05-04 | 泰怡凯电器(苏州)有限公司 | 自移动地面处理机器人及其贴边地面处理的控制方法 |
US20130338831A1 (en) * | 2012-06-18 | 2013-12-19 | Dongki Noh | Robot cleaner and controlling method of the same |
CN107807643A (zh) * | 2017-10-30 | 2018-03-16 | 珠海市微半导体有限公司 | 机器人的行走预测和控制方法 |
CN107817796A (zh) * | 2017-10-25 | 2018-03-20 | 上海思岚科技有限公司 | 移动机器人贴障碍物运动的方法和设备 |
WO2018176668A1 (zh) * | 2017-03-27 | 2018-10-04 | 平安科技(深圳)有限公司 | 机器人的避障控制系统、方法、机器人及存储介质 |
CN110244743A (zh) * | 2019-07-03 | 2019-09-17 | 浙江大学 | 一种融合多传感器信息的移动机器人自主脱困方法 |
CN111300404A (zh) * | 2019-12-09 | 2020-06-19 | 小狗电器互联网科技(北京)股份有限公司 | 一种机器人脱困方法、装置及存储介质 |
CN111714028A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 清扫设备的禁区脱困方法、装置、设备及可读存储介质 |
CN113110498A (zh) * | 2021-05-08 | 2021-07-13 | 珠海市一微半导体有限公司 | 基于单点tof的机器人脱困方法 |
WO2022143114A1 (zh) * | 2020-12-31 | 2022-07-07 | 深圳市普渡科技有限公司 | 静态地图生成方法、装置、计算机设备及存储介质 |
-
2022
- 2022-11-28 CN CN202211500595.8A patent/CN115890676B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102038470A (zh) * | 2009-10-09 | 2011-05-04 | 泰怡凯电器(苏州)有限公司 | 自移动地面处理机器人及其贴边地面处理的控制方法 |
US20130338831A1 (en) * | 2012-06-18 | 2013-12-19 | Dongki Noh | Robot cleaner and controlling method of the same |
WO2018176668A1 (zh) * | 2017-03-27 | 2018-10-04 | 平安科技(深圳)有限公司 | 机器人的避障控制系统、方法、机器人及存储介质 |
CN107817796A (zh) * | 2017-10-25 | 2018-03-20 | 上海思岚科技有限公司 | 移动机器人贴障碍物运动的方法和设备 |
CN107807643A (zh) * | 2017-10-30 | 2018-03-16 | 珠海市微半导体有限公司 | 机器人的行走预测和控制方法 |
CN111714028A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 清扫设备的禁区脱困方法、装置、设备及可读存储介质 |
CN110244743A (zh) * | 2019-07-03 | 2019-09-17 | 浙江大学 | 一种融合多传感器信息的移动机器人自主脱困方法 |
CN111300404A (zh) * | 2019-12-09 | 2020-06-19 | 小狗电器互联网科技(北京)股份有限公司 | 一种机器人脱困方法、装置及存储介质 |
WO2022143114A1 (zh) * | 2020-12-31 | 2022-07-07 | 深圳市普渡科技有限公司 | 静态地图生成方法、装置、计算机设备及存储介质 |
CN113110498A (zh) * | 2021-05-08 | 2021-07-13 | 珠海市一微半导体有限公司 | 基于单点tof的机器人脱困方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118670397A (zh) * | 2024-08-13 | 2024-09-20 | 深圳市普渡科技有限公司 | 重定位方法、装置、机器人和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115890676B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210302990A1 (en) | Mobile robot system and method for autonomous localization using straight lines extracted from visual images | |
CN113168184B (zh) | 地形感知步伐计划系统 | |
EP3460406B1 (en) | Information processing apparatus, vehicle, information processing method, running control method, and map updating method | |
CN112074383B (zh) | 使用2d和3d路径规划的机器人导航 | |
CN110674705B (zh) | 基于多线激光雷达的小型障碍物检测方法及装置 | |
CN114503043A (zh) | 受限移动性建图 | |
US7864302B2 (en) | Method for detecting objects with a pivotable sensor device | |
CN115890676B (zh) | 机器人控制方法、机器人及存储介质 | |
CN108549383A (zh) | 一种实时多传感器的社区机器人导航方法 | |
CN112741562A (zh) | 扫地机控制方法、装置、设备及计算机可读存储介质 | |
CN115686019A (zh) | 机器人的限速方法、装置及电子设备 | |
JP2010026727A (ja) | 自律移動装置 | |
CN111240322B (zh) | 机器人移动限制框的工作起点确定方法及运动控制方法 | |
CN116166006A (zh) | 无人车控制方法、无人车及存储介质 | |
US20240255956A1 (en) | Information processing device, information processing system, information processing method, and program | |
CN115373402A (zh) | 一种装载机行驶控制方法、装置、设备及存储介质 | |
CN113984071B (zh) | 地图匹配方法、装置、机器人和计算机可读存储介质 | |
CN114415659B (zh) | 一种机器人安全避障方法、装置、机器人及存储介质 | |
JP2839282B2 (ja) | 移動体の自己定位方法 | |
Wu et al. | Developing a dynamic obstacle avoidance system for autonomous mobile robots using Bayesian optimization and object tracking: Implementation and testing | |
CN118913240A (zh) | 一种agv位姿确定方法、装置和存储介质 | |
CN115841635A (zh) | 一种地面点的分割方法、装置、设备及存储介质 | |
JP2022003437A (ja) | 移動体の制御システム及び制御方法 | |
CN116766225A (zh) | 脱困方法、装置、设备及可读存储介质 | |
CN115755899A (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 | ||
CP03 | Change of name, title or address |
Address after: Unit 7-11, 6th Floor, Building B2, No. 999-8 Gaolang East Road, Wuxi Economic Development Zone, Wuxi City, Jiangsu Province, China 214000 Patentee after: Youdi Robot (Wuxi) Co.,Ltd. Country or region after: China Address before: 5D, Building 1, Tingwei Industrial Park, No. 6 Liufang Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen City, Guangdong Province Patentee before: UDITECH Co.,Ltd. Country or region before: China |