CN114326711B - 窄道通行方法、装置、机器人及计算机可读存储介质 - Google Patents
窄道通行方法、装置、机器人及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114326711B CN114326711B CN202111472299.7A CN202111472299A CN114326711B CN 114326711 B CN114326711 B CN 114326711B CN 202111472299 A CN202111472299 A CN 202111472299A CN 114326711 B CN114326711 B CN 114326711B
- Authority
- CN
- China
- Prior art keywords
- target
- narrow channel
- lane
- line segment
- robot
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明公开了一种窄道通行方法、装置、机器人及计算机可读存储介质,窄道通行方法包括:当检测到所述机器人的运行前方存在目标窄道时,根据预设的直线拟合方式获取所述目标窄道的窄道信息;根据所述窄道信息调整所述机器人的窄道位姿,并检测所述目标窄道是否允许通过;若允许通过,则根据所述窄道位姿进入所述目标窄道。本发明提高了机器人通行窄道的智能性。
Description
技术领域
本发明涉及机器人技术领域,尤其涉及一种窄道通行方法、装置、机器人及计算机可读存储介质。
背景技术
目前机器人(如扫地机器人)运行的逻辑是碰到障碍物就会进行避障,以避开障碍物,但是这种方式没有确认机器人前方是否可以通过,并且会主动避开窄道,无法对窄道内的区域进行清扫,造成漏扫的现象发生,从而影响到整体清洁覆盖面积变小,使得清洁效果较低。因此如何避免机器人未判断窄道是否可以通行就主动避开窄道的现象发生,提高机器人通行窄道的智能性成为了目前急需解决的技术问题。
发明内容
本申请的主要目的在于提供一种窄道通行方法、装置、机器人及计算机可读存储介质,旨在解决如何提高机器人通行窄道的智能性的技术问题。
为实现上述目的,本申请提供一种窄道通行方法,包括以下步骤:
当所述机器人行进过程中检测到存在目标窄道时,获取所述目标窄道的窄道信息;
根据所述窄道信息确定所述目标窄道是否允许通过;
若允许通过,则根据所述窄道信息控制所述机器人进入所述目标窄道。
此外,为实现上述目的,本申请还提供一种窄道通行装置,所述窄道通行装置,包括:
获取模块,用于当所述机器人行进过程中检测到存在目标窄道时,获取所述目标窄道的窄道信息;
确定模块,用于根据所述窄道信息确定所述目标窄道是否允许通过;
控制模块,用于若允许通过,则根据所述窄道信息控制所述机器人进入所述目标窄道。
此外,为实现上述目的,本申请还提供一种机器人,机器人包括存储器、处理器及存储在存储器上并可在处理器上运行的窄道通行程序,窄道通行程序被处理器执行时实现如上述的窄道通行方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有窄道通行程序,窄道通行程序被处理器执行时实现如上述的窄道通行方法的步骤。
本申请通过在检测到机器人的运行前方存在目标窄道时,获取目标窄道的窄道信息,根据窄道信息判断窄道是否允许机器人通过,在确定目标窄道允许通过时,控制机器人根据窄道信息进入目标窄道。从而避免了现有技术中,机器人未判断窄道是否可以通行就主动避开窄道的现象发生,使得机器人可以顺利地进入窄道,避免漏清洁窄道区域,提高了机器人通行窄道的智能性和对窄道的清洁效果。
附图说明
图1是本申请实施例提供的一种固件升级方法的应用场景的示意图;
图2是本申请实施例提供的一种清洁机器人的立体示意图;
图3是本申请实施例提供的清洁机器人的另一结构示意图;
图4是本申请实施例提供的基站的另一结构示意图;
图5为本申请窄道通行方法第一实施例的流程示意图;
图6为本申请窄道通行方法中机器人的检测区域示意图;
图7为本申请窄道通行方法中机器人检测的场景示意图;
图8为本申请窄道通行方法中机器人窄道通行的场景示意图;
图9为本申请窄道通行方法中一种机器人获取窄道信息的流程示意图;
图10为本申请窄道通行方法中一种机器人获取窄道信息的流程示意图;
图11为本申请窄道通行方法中一种机器人获取窄道信息的流程示意图;
图12为本申请窄道通行方法中一种机器人获取窄道信息的流程示意图;
图13为本申请窄道通行方法中一种机器人获取窄道信息的流程示意图;
图14为本申请窄道通行装置的装置模块示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种窄道通行方法的应用场景,参见图1,该应用场景包括清洁机器人100和基站200。该清洁机器人100用于对待清洁空间的地面进行自动清洁,基站200为配合清洁机器人100使用的清洁设备,用于对清洁机器人100进行充电或者对清洁机器人100的清洁件进行清洗。该清洁机器人100上设有清洁件和驱动装置,驱动装置用于驱动清洁机器人100,清洁件用于对待清洁空间的地面进行自动清洁。清洁件可以为拖地模块或者扫地模块,该拖地模块用于对地面进行拖地清洁,拖地模块可以为拖擦件,拖擦件可以为抹布。该扫地模块用于对地面进行扫地清洁,且该扫地模块可以为边刷。
图2为本申请实施例提供的清洁机器人100的立体示意图。图3是图1所示清洁机器人100的另一结构示意图。
如图2至图3所示,清洁机器人100包括机器人主体101、驱动电机102、传感器单元103、处理器104、电池105、行走单元106、存储器107、通信单元108、机器人交互单元109、清洁件1101、和充电部件111等。
机器人主体101可以为圆形结构、方形结构等。在本申请实施例中,以机器人主体101为D字形结构为例进行说明。如图2所示,机器人主体101前部为倒圆角的矩形结构,后部为半圆形结构。在本申请实施例中,机器人主体101为左右对称结构。
清洁件用于对地面进行清洁,清洁件的数量可以为一个或多个。清洁件设置在机器人主体101的底部,具体为机器人主体101的底部靠前的位置。在机器人主体101内部设有驱动电机102,在机器人主体101的底部伸出两个转轴,清洁件套接在转轴上。驱动电机102可带动转轴旋转,从而转轴带动清洁件旋转。
处理器104设置在机器人主体101内部,处理器104用于控制清洁机器人100执行具体的操作。该处理器104例如可以为中央处理器(Central Processing Unit,CPU)、或微处理器(Microprocessor)等。如图3所示,处理器104与电池105、存储器107、驱动电机102、行走单元106、传感器单元103、以及机器人交互单元109等部件电连接,以对这些部件进行控制。
电池105设置在机器人主体101内部,电池105用于为清洁机器人100提供电力。
机器人主体101上还设有充电部件111,该充电部件111用于从外部设备获取电力,从而向清洁机器人100的电池105进行充电。
存储器107设置在机器人主体101上,存储器107上存储有程序,该程序被处理器104执行时实现相应的操作。存储器107还用于存储供清洁机器人100使用的参数。其中,存储器107包括但不限于磁盘存储器、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光学存储器等。
通信单元108设置在机器人主体101上,通信单元108用于让清洁机器人100和外部设备进行通信,通信单元108包括但不限于无线保真(WIreless-Fidelity,WI-FI)通信模块1081和短距离通信模块1082等。清洁机器人100可以通过WI-FI通信模块1081连接WI-FI路由器,从而与终端进行通信。清洁机器人100通过短距离通信模块1082与基站进行通信。其中,基站为配合清洁机器人100使用的清洁设备。
在机器人主体101上设置的传感器单元103包括各种类型的传感器,例如激光雷达1031、碰撞传感器1032、距离传感器1033、跌落传感器1034、计数器1035、和陀螺仪1036等,跌落传感器1034可包括悬崖传感器,距离传感器1033可包括沿边传感器。
机器人交互单元109设置在机器人主体101上,用户可通过机器人交互单元109和清洁机器人100进行交互。机器人交互单元109例如包括开关按钮1091、和扬声器1092等部件。用户可通过按压开关按钮1091,控制清洁机器人100启动工作或停止工作。清洁机器人100可通过扬声器1092向用户播放提示音。
应该理解,本申请实施例描述的清洁机器人100只是一个具体示例,并不对本申请实施例的清洁机器人100构成具体限定,本申请实施例的清洁机器人100还可以为其它的具体实现方式。例如,在其它的实现方式中,清洁机器人100可以比图2所示的清洁机器人100有更多或更少的部件。再如清洁机器人100可以为扫拖一体机器人,即该清洁机器人100的底部设有拖擦件、边刷、和吸风口,从而该清洁机器人100可以对地面同时进行拖地和扫地。
本申请实施例还提供了一种基站200,基站200用于和清洁机器人100配合使用,例如,基站200可以向清洁机器人100进行充电、基站200可以向清洁机器人100提供停靠位置等。在清洁机器人100为拖地机器人时,基站200还可以清洗拖地机器人1002的拖擦件1101。其中,拖擦件1101用于对地面进行拖地清洁。
图4为图1所示基站200的一结构示意图。
参阅图4,本申请实施例的基站200包括控制器206、通信单元207、存储器208、水泵209和基站交互单元210等。
控制器206设置在基站主体内部,控制器206用于控制基站200执行具体的操作。控制器206例如可以为中央处理器(Central Processing Unit,CPU)、或微处理器(Microprocessor)等。其中,控制器206与通信单元207、存储器208、水泵209和基站交互单元210电连接。
存储器208设置在基站主体上,存储器208上存储有程序,该程序被控制器206执行时实现相应的操作。存储器208还用于存储供基站200使用的参数。其中,存储器208包括但不限于磁盘存储器、CD-ROM、光学存储器等。
水泵209设置在基站主体内部,具体来说,水泵209有两个,一个水泵209用于控制清水箱向清洗槽203提供清洁用水,另一个水泵209用于将清洗拖擦件1101后的脏污水收集到污水箱中。
通信单元207设置在基站主体上,通信单元207用于和外部设备进行通信,通信单元207包括但不限于无线保真(WIreless-Fidelity,WI-FI)通信模块2071和短距离通信模块2072等。基站200可以通过WI-FI通信模块2071连接WI-FI路由器,从而与终端进行通信。基站200可通过短距离通信模块2072与清洁机器人100进行通信。
基站交互单元210用于和用户进行交互。基站交互单元210例如包括显示屏2101和控制按钮2102,显示屏2101和控制按钮2102设置在基站主体上,显示屏2101用于向用户展示信息,控制按钮2102用于供用户进行按压操作,以控制基站200的开机或停机等。
基站主体上还设有供电部件,而清洁机器人100上设有充电部件111,当清洁机器人100停靠在基站200上的预设停靠位置后,清洁机器人100的充电部件111和基站200的供电部件接触,从而基站200向清洁机器人100进行充电。其中,基站200的电能可来源于市电。
参照图5,本申请提供一种窄道通行方法,应用于机器人,在窄道通行方法的第一实施例中,窄道通行方法包括以下步骤:
步骤S10,当所述机器人行进过程中检测到存在目标窄道时,获取所述目标窄道的窄道信息;
其中,可通过获取机器人上传感器单元包括的各传感器的检测数据,进而根据各传感器的检测数据确定目标窄道的窄道信息,机器人可以在沿边行走时进行窄道检测,若检测到存在目标窄道,可根据获得的检测数据计算目标窄道在机器人坐标系下的窄道信息。
例如,正对着窄道导航前进时,可以通过较窄的窄道,但是当机器人在窄道拐角处沿边运行时,若触发到机器人左侧的保险杠,则机器人会判定为不能通过窄道,导致出现漏清洁窄道的情况。为了避免这一问题,在本实施例中,机器人会先进行窄道检测,并且机器人在沿边行走时,会一直检测机器人的行进过程中是否存在窄道,如检测运行前方是否存在窄道,也就是在机器人运行过程中检测机器人前方是否存在目标窄道,其机器人检测的左侧和右侧可以如图6所示进行相应的检测,以确定是否存在窄道。若存在窄道,则将检测到的窄道作为目标窄道,进而获取目标窄道的窄道信息。例如,如图7所示,当机器人为扫地机器人时,会检测机器人当前位置两边是否有窄道,若未检测到窄道,但在机器人的导航路径上检测到两侧的障碍物,确定两侧障碍物是否会形成窄道,若形成窄道,则将其作为目标窄道。
具体地,机器人在沿边行走时进行窄道检测,若左边保险杆的碰撞传感器触发,即碰撞传感器碰撞到障碍物,可获取机器人一定范围内的点云数据,例如,机器人坐标系的原点为机器人中心,机器人坐标系的x轴为机器人前方,机器人坐标系的y轴为机器人左边,若机器人左边碰撞到障碍物,可获取机器人坐标系下一四象限(即机器人左前方、右前方)一定范围内的点云数据。考虑到激光雷达在机器人上的高度大于其他传感器的高度,且激光雷达能够检测机器人后方的环境,可获取激光雷达检测到的到障碍物的距离,以及获取保险杆触发时碰撞传感器、沿边传感器、霍尔传感器或悬崖传感器等其他传感器检测到的到障碍物的距离;然后,将激光雷达检测到的与障碍物之间的距离与其他传感器检测到的到障碍物的距离进行比较,判断机器人的沿边传感器测得的距离、保险杆触发测得的距离、以及磁条或悬崖传感器触发测得的距离是否比激光雷达测得的距离更近。若激光雷达检测的距离更近或者激光雷达检测的距离与其他检测的距离至少一致,则可根据激光雷达检测的机器人后方的数据来确定目标窄道的窄道信息。例如,激光雷达检测到机器人距离目标窄道的距离为x1时,若其他传感器检测的距离比激光雷达检测到的距离更大,则可激光雷达检测的机器人后方的数据来确定目标窄道的窄道信息。
在本实施例中,若激光雷达检测到的机器人和目标窄道之间的距离比机器人中其他传感器检测到的机器人和目标窄道之间的距离更近,则根据提前设置好的直线拟合方式进行直线拟合操作,并直线拟合操作的结构计算目标窄道的窄道信息。其中,窄道信息包括窄道类型(可通过的类型,不可通过的类型)、目标窄道的进入位置、进入方向、窄道宽度、机器人进入窄道的位姿和窄道ID等。例如,在机器人的保险杠被触发时,获取机器人一、四象限(即右前侧)一定范围内的点云数据,然后检查机器人的沿边传感器测得的第一距离,保险杠触发测得的第二距离,以及磁条或悬崖触发测得的第三距离,激光雷达测得的第四距离,检测第一距离、第二距离和第三距离是否比第四距离更近。若否,即第四距离最小,则根据点云数据分别获取机器人一定范围内最近的两点,即窄道的左右两侧障碍物上的点,并确定两点的距离是否大于某个值(其中,某个值可以根据机器人的宽度自行进行设置),若是,即大于某个值,则以两点为起点,分别进行直线拟合,得到两条拟合线段的直线方程和两条拟合线段对应的方差,然后再根据方差判断是否拟合出合适的直线,即若两条直线的方差均小于阈值,则根据两条直线方程计算窄道信息;若只有一条直线的方差小于阈值,则计算点与直线的位置关系,计算窄道信息;若两条直线的方差都大于阈值,则根据两点计算窄道信息。并在计算得到窄道信息后,会返回窄道信息,如窄道类型、目标窄道的进入位置、进入方向和窄道宽度等。其中,若第一距离和/或第二距离和/或第三距离比第四距离更近,则停止窄道通行。若两点的距离小于或等于某个值,则停止窄道通行。
步骤S20,根据所述窄道信息确定所述目标窄道是否允许通过;
具体实施中,可以根据窄道信息中的窄道宽度判断机器人能否通过目标窄道,若目标窄道较窄,则可能机器人的机身无法通过目标窄道。
当获取到目标窄道的窄道信息后,需要根据此窄道信息调整机器人准备进入目标窄道的位姿,即控制机器人前端与窄道对齐,将机器人坐标系中的机器人自身坐标P、检测到的目标窄道的两侧的两个点p1、p2的坐标转换到具有机器人、所有障碍物的世界坐标系中,并计算出点P到两点的中垂线的距离h,垂足T,再根据距离h和垂足T计算出机器人准备进入目标窄道的位姿。若机器人在后退的过程中,没有触发到保险杆,则以机器人当前位置和垂足T为规划的起点终点,角速度,线速度取值范围为约束,计算出目标轨迹,再让机器人根据目标轨迹运行,以便机器人运行通过目标窄道。并且在机器人以目标轨迹运行时,会实时计算机器人的坐标点到中垂线的距离I,若I<|K|,则确定机器人在中垂线附近,可以机器人继续以目标轨迹运行。若I不小于|K|,则需要重新更新目标轨迹。其中,k表示可允许机器人通过的范围。
若机器人在以目标轨迹运行的过程中,发现机器人上的保险杠被触发,则机器人会向保险杠的反方向旋转一定的角度以对齐窄目标窄道所在的直线,然后再控制机器人通过目标窄道,并且在机器人通过目标窄道后,会调整机器人的状态,将其转换为提前设置的普通沿边的状态。
步骤S30,若允许通过,则根据所述窄道信息控制所述机器人进入所述目标窄道。
当经过判断发现允许通过目标窄道时,则需要根据提前设置的窄道位姿对应的目标轨迹控制机器人通过目标窄道,并且会提前控制机器人前端与目标窄道对齐。并且在机器人通过目标窄道时,会实时检测目标窄道,以确定是否需要放弃继续通过目标窄道,若不放弃,则继续运行,直至机器人完全通过目标窄道。例如,如图8所示,机器人的宽度为158*2=316mm,窄道的宽度为204*2=408mm,此时窄道的宽度大于机器人的宽度,则机器人会沿着窄道中的中垂线(即窄道的中间虚拟线段)运行通过窄道。
也就是在实施例中,会在机器人前进出窄道时,调整机器人姿态,保证机器人对准窄道,从窄道中间通过,从而使得机器人可以通过很窄的窄道,使得如扫地机器人避免漏扫的现象发生。
此外,为辅助理解本实施例中的窄道通行的方式的理解,下面进行举例说明。
例如,机器人先进行窄道检测,获取目标窄道的窄道信息,如进入位置、窄道宽度和进入方向,再计算当前检测到窄道与上次检测到窄道的时间间隔;计算当前检测到窄道与上次检测到窄道进入位姿的距离以及角度差,若时间间隔小于阈值,距离小于阈值,角度差小于阈值,则将当前检测的窄道和上次检测的窄道归为一类,并标记为旧窄道,打上相同的窄道ID。若时间间隔不小于阈值,或距离不小于阈值,或角度差不小于阈值,则判断当前窄道是否为旧窄道,若是,则将当前检测的窄道和上次检测的窄道归为一类,并标记为旧窄道,打上相同的窄道ID。若当前窄道不是旧窄道,则标记此窄道为一个新窄道,并分配新的窄道ID。然后再根据窄道信息控制机器人尝试通过窄道,检测窄道是否被标记为不可通过,若是,则放弃通过。若否,则通过窄道过程中,检测是否持续一段时间t1内,以间隔时间t2连续触发保险杠,若是,则放弃通过,并将该窄道ID标记为不可通过,若否,则继续通过。
在本实施例中,通过在检测到机器人的运行前方存在目标窄道时,获取目标窄道的窄道信息,根据窄道信息判断窄道是否允许机器人通过,在确定目标窄道允许通过时,控制机器人根据窄道信息进入目标窄道。从而避免了现有技术中,机器人未判断窄道是否可以通行就主动避开窄道的现象发生,使得机器人可以顺利地进入窄道,避免漏清洁窄道区域,提高了机器人通行窄道的智能性和对窄道的清洁效果。
进一步地,基于上述本发明的第一实施例,提出本发明窄道通行方法的第二实施例,在本实施例中,上述实施例步骤S10,获取所述目标窄道的窄道信息的步骤的细化,包括:
步骤a,获取所述机器人周围预设范围内的点云数据;
在本实施例中,在获取目标窄道的窄道信息时,可获取机器人预设范围内的点云数据(如机器人右前方、左后方的点云数据),在点云数据中选择最近的两个点对应的点云数据(即第一点和第二点),其中第一点可以为窄道左侧的障碍物对应的点云数据,第二点可以为窄道右侧的障碍物对应的点云数据。或者是第一点为窄道右侧的障碍物对应的点云数据,第二点为窄道左侧的障碍物对应的点云数据,也就是第一点和第二点不同。
步骤b,根据所述点云数据进行直线拟合,以获取第一拟合线段和第二拟合线段,确定所述第一拟合线段对应的第一方差,确定所述第二拟合线段;
在确定第一点后,可以根据提前设置的直线拟合方式对应第一点进行直线拟合,以获取第一拟合线段,和该第一拟合线段对应的第一方差。其中直线拟合的方式可以为随机抽样的方式。
步骤c,根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息。
同理,在确定第二点后,可以根据提前设置的直线拟合方式对应第二点进行直线拟合,以获取第二拟合线段,和该第二拟合线段对应的第二方差。并且会根据第一方差和第二方差来拟合出合适的直线,再根据直线计算出目标窄道的窄道信息。
在本实施例中,通过确定机器人和目标窄道之间点云数据中的第一点和第二点,并分别进行直线拟合,以确定第一拟合线段对应的第一方差和第二拟合线段对应的第二方差,并根据第一方差和第二方差获取目标窄道的窄道信息,从而保障了获取到的窄道信息的准确性。
可选地,如图9所示的一种实施例中机器人获取窄道信息的流程示意图,根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,包括:
步骤d,若所述第一方差和所述第二方差均小于预设阈值,则判断所述第一拟合线段和所述第二拟合线段是否满足预设条件;
在本实施例中,若第一方差和第二方差均小于预设阈值(用户提前设置的阈值),即可以根据第一拟合线段和第二拟合线段计算出目标窄道的窄道信息。因此可以先确定第一拟合线段和第二拟合线段是否满足预设条件,并根据不同的确定结果执行不同的操作。其中,预设条件可以是第一拟合线段和第二拟合线段平行,还可以是第一拟合线段和第二拟合线段的相交点与机器人之间的距离大于预设距离,即第一拟合线段和第二拟合线段近似平行。
步骤e,若满足,则确定所述第一拟合线段上第一点和第二拟合线段上第二点之间的第一中点,其中,所述第一点和所述第二点为第一拟合线段上和第二拟合线段上的距离最近的点;根据所述第一中点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息;
当经过判断发现第一拟合线段和第二拟合线段满足预设条件,如平行或近似平行时,可以先确定第一拟合线段上的第一点和第二拟合线段上的第二点,其中,第一点和第二点是第一拟合线段上和第二拟合线段上距离最近的两个点,因此可以直接计算第一点和第二点之间的中点,即第一中点,然后再将第一中点对应的位置作为窄道位置,即机器人待进入窄道的目标位置,并将进入窄道的方向设置为第一点或第二点对应直线方程的向量方向。并将目标位置、目标窄道的窄道宽度、进入窄道的方向等作为目标窄道的窄道信息。
步骤f,若不满足,则确定所述第一拟合线段和所述第二拟合线段的相交点;根据所述相交点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息。
当经过判断发现第一拟合线段和第二拟合线段不满足预设条件时,则先确定第一拟合线段对应的第一直线方程和第二拟合线段对应的第二直线方程,并根据第一直线方程和第二直线方程计算第一拟合线段和第二拟合线段的交点(即相交点),以确定交点对应的交点坐标,并将第一直线方程和第二直线方程转换为向量形式,得到第一直线方程对应的第一向量,第二直线方程对应的第二向量。然后再获取提前设置的机器人的方向向量,检测第一向量和反向向量的第一乘积是否大于零,若第一乘积不大于零,则将第一向量反向处理。第一乘积大于零,则保持第一向量不变。同理确定第二向量和方向向量的第二乘积是否大于零,若第二乘积不大于零,则将第二向量进行反向处理,若第二乘积大于零,则保持第二向量不变。然后再计算第一向量和第二向量的平分向量,将平分向量作为进入窄道的方向。并根据交点确定机器人的当前位置(即机器人在点云数据中的位置数据)在平分向量对应直线上的投影点,并将投影点对应的位置作为机器人准备进入窄道的目标位置。将投影点到第一拟合线段的距离和到第二拟合线段的距离之间的和值作为目标窄道的窄道宽度。
在本实施例中,通过在第一方差和第二方差均小于预设阈值时,若第一拟合线段和第二拟合线段平行,则根据第一点数据和第二点数据的第一中点数据确定目标位置,并将目标位置作为窄道信息,若第一拟合线段和第二拟合线段不平行,则根据第一拟合线段和第二拟合线段的相交点确定目标位置,并将目标位置作为窄道信息,从而保障了获取到的窄道信息的准确性。
具体地,如图10所示的一种实施例中机器人获取窄道信息的流程示意图,根据所述第一中点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息的步骤,包括:
步骤g,根据所述第一中点确定目标窄道的进入位置;
步骤h,确定所述第一中点到所述第一拟合线段的第一距离,并确定所述第一中点到所述第二拟合线段的第二距离,将所述第一距离和所述第二距离之和作为目标窄道的窄道宽度;或者,确定所述第一中点到第一拟合线段的第一垂足,确定所述第一中点到所述第二拟合线段的第二垂足;将所述第一垂足与所述第二垂足之间的距离作为目标窄道的窄道宽度;
步骤i,确定所述第一拟合线段的第一方向向量或第二拟合线段的第二方向向量,将所述第一方向向量或所述第二方向向量作为目标窄道的进入方向;将所述进入位置、所述窄道宽度和所述进入方向作为所述目标窄道的窄道信息。
在本实施例中,可以直接将第一中点对应的位置作为窄道位置,即机器人待进入窄道的进入位置,并在确定进入位置后,可以先统计第一中点到第一拟合线段的最短距离,即第一距离。同样统计第一中点到第一拟合线段的最短距离,即第二距离,并计算第一距离和第二距离之间的和值,将此和值作为目标窄道的窄道宽度。此外在另一场景中,还可以统计第一中点到第一拟合线段的垂足,即第一垂足,并确定第一中点到第二拟合线段的垂足,即第二垂足,再将第一垂足和第二垂足之间的距离和值作为目标窄道的窄道宽度。需要说明的是,确定目标窄道的窄道宽度的方式并不仅仅局限于上述两种,在本实施例中仅仅以上述两种进行举例说明。并且由于机器人在窄道通行时需要确定进入方向,而由于第一拟合线段和第二拟合线段满足预设条件,此时就可以直接将第一拟合线段的方向向量(即第一方向向量)或第二拟合线段的方向向量(即第二方向向量)作为目标窄道的进入方向。此时就可以直接确定进入位置、窄道宽度和进入方向作为目标窄道的窄道信息。
在本实施例中,通过根据第一中点确定进入位置,并根据第一中点到第一拟合线段和第二拟合线段之间的距离或垂足确定窄道宽度,并根据第一拟合线段的第一方向向量或第二拟合线段的第二方向向量确定进入方向,从而保障了获取到的窄道信息的准确性。
具体地,如图11所示的一种实施例中机器人获取窄道信息的流程示意图,根据所述相交点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息的步骤,包括:
步骤j,确定所述第一拟合线段的第一方向向量和第二拟合线段的第二方向向量,确定所述第一方向向量和所述第二方向向量的平分向量,根据所述平分向量确定目标窄道的进入方向;
在本实施例中,若第一拟合线段和第二拟合线段不满足预设条件,则在确定目标窄道的窄道信息时,因此在确定目标窄道的进入方向时,可以先统计确定第一拟合线段的方向向量,即第一方向向量,和第二拟合线段的方向向量,即第二方向向量,并计算第一方向向量和第二方向向量之间的平分向量,并将此平分向量对应的方向作为目标窄道的进入方向。
步骤k,获取所述机器人的当前位置,根据所述相交点和所述当前位置确定所述机器人当前位置到所述平分向量的第一投影点;将所述第一投影点作为目标窄道的进入位置;
在确定目标窄道的进入位置时,需要确定机器人当前所在的位置,并将其作为当前位置。并且在知道第一拟合线段和第二拟合线段之间的相交点后,就可以直接将机器人的当前位置到平分向量的第一投影点作为目标窄道的进入位置。也就是将机器人当前位置在平分向量上的投影点作为目标窄道的进入位置。
步骤l,确定所述第一投影点到第一拟合线段的第三距离,以及确定所述第一投影点到第二拟合线段的第四距离;将所述第三距离与所述第四距离之和作为目标窄道的窄道宽度;将所述进入位置、所述窄道宽度和所述进入方向作为所述目标窄道的窄道信息。
确定第一投影点(即目标窄道的进入位置)到第一拟合线段之间的最短距离,并将其作为第三距离,并确定第一投影点到第二拟合线段之间的最短距离,并将其作为第四距离,然后计算第三距离和第四距离之间的和值,将此和值作为目标窄道的窄道宽度,并在确定计算得到目标窄道的进入位置、窄道宽度和进入方向后,可以将其作为目标窄道的窄道信息。
在本实施例中,通过根据第一拟合线段和第二拟合线段确定平分向量,以便根据平分向量确定进入方向,再根据机器人的当前位置和平分向量确定进入位置,并根据第一投影点到第一拟合线段和第二拟合线段的距离之和确定窄道宽度,从而保障了获取到的窄道信息的准确性。
进一步地,如图12所示的一种实施例中机器人获取窄道信息的流程示意图,根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,还包括:
步骤m,若所述第一方差和所述第二方差均大于预设阈值,则确定所述第一拟合线段上第一点和第二拟合线段上第二点之间的第一中点,其中,所述第一点和所述第二点为第一拟合线段上和第二拟合线段上的距离最近的点;根据所述第一中点确定目标窄道的进入位置;
步骤n,根据所述第一点和所述第二点之间的距离确定所述目标窄道的窄道宽度;
步骤o,确定所述第一点到所述第二点的第三方向向量;根据所述机器人的当前位置和所述第三方向向量确定垂直于所述第三方向向量的垂直向量,根据所述垂直向量确定目标窄道的进入方向;将所述进入位置、所述窄道宽度和所述进入方向作为所述目标窄道的窄道信息。
当经过判断发现第一方差大于预设阈值(即用户提前设置的任意阈值),且第二方差也大于预设阈值时,会直接确定第一拟合线段上第一点和第二拟合线段上第二点,并且第一点和第二点为第一拟合线段上和第二拟合线段上的距离最近的点,因此可以直接将第一点和第二点之间的距离作为窄道宽度。并且会计算第一点和第二点之间的中点(即第一中点),再将第二中点作为目标窄道的窄道位置。并且在本实施例中,还会计算进入目标窄道的方向,即先设置第一点到第二点的方向为第三方向,并根据提前设置的机器人的方向向量和第三方向对应的第三方向向量计算第三方向的垂直向量,将垂直向量作为目标机器人进入目标窄道的方向。并将目标机器人进入窄道的方向、目标位置和窄道宽度等作为目标窄道的窄道信息。
在本实施例中,通过在第一方差和第二方差均大于预设阈值时,根据第一点和第二点之间的第一中点确定目标窄道的窄道信息,从而保障了获取到的窄道信息的准确性。
具体地,如图9所示的一种实施例中机器人获取窄道信息的流程示意图,根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,还包括:
步骤p,若所述第一方差和所述第二方差中有且只有一个目标方差小于预设阈值,则确定所述目标方差对应的目标点和目标拟合线段,所述目标点为所述目标拟合线段上距离另一拟合线段最近的点;
步骤q,确定所述目标点到所述另一拟合线段的第二投影点;根据所述目标点、所述第二投影点确定所述目标窄道的窄道信息。
在本实施例中,若第一方差和第二方差中有且只有一个小于预设阈值(用户提前设置的任意阈值),如第一方差小于预设阈值,第二方差大于或等于预设阈值;或者是第一方差大于或等于预设阈值,第二方差小于预设阈值。将小于预设阈值的第一方差或第二方差作为目标方差,然后再确定目标方差对应的目标点和目标拟合线段,如若目标方差为第一方差,则目标方差对应的目标点为第一点,目标拟合线段为第一拟合线段。并且在本实施例中,目标点为目标拟合线段上距离另一拟合线段最近的点。当确定目标拟合线段中的目标点后,可以直接确定目标点在另一拟合线段上的投影点,并将其作为第二投影点。再根据目标点和第二投影点来确定目标窄道的窄道信息。
在本实施例中,通过在目标方差小于预设阈值时,确定目标点、目标拟合线段,根据目标点对应的第二投影点和目标拟合线段确定窄道信息,从而保障了获取到的窄道信息的准确性。
具体地,如图13所示的一种实施例中机器人获取窄道信息的流程示意图,根据所述目标点、所述第二投影点确定所述目标窄道的窄道信息的步骤,包括:
步骤u,根据所述目标点与所述第二投影点之间的距离确定目标窄道的窄道宽度;
步骤v,确定所述目标点与所述第二投影点的第二中点;根据所述第二中点确定目标窄道的进入位置;
步骤w,确定所述目标拟合线段的目标方向向量;根据所述目标方向向量确定目标窄道的进入方向;将所述进入位置、所述进入方向和所述窄道宽度作为所述目标窄道的窄道信息。
在本实施例中,在确定目标点和投影点后,可以直接确定目标拟合线段上的投影点对应的坐标数据。并根据此坐标数据和目标点的坐标数据直接计算目标点和第二投影点之间的距离,将此距离作为目标窄道的窄道宽度。而机器人进入目标窄道的位置,则是先确定投影点和目标点之间的中间点,即第二中点,并将第二中点作为机器人进入目标窄道的窄道位置。并且可以直接将目标拟合线段的方向向量(即目标方向向量)作为目标窄道的进入方向。其中,目标窄道的窄道信息包括机器人进入目标窄道的窄道位置,目标窄道的窄道宽度和机器人进入目标窄道的方向,即进入位置、进入方向和窄道宽度。
在本实施例中,通过根据第一方差和第二方差确定目标方差小于预设阈值时,根据目标点在目标拟合线段上的投影点和目标点之间的第二中点确定目标窄道的窄道信息,从而保障了获取到的目标窄道的窄道信息的准确性。
进一步地,根据所述窄道信息控制所述机器人进入所述目标窄道的步骤,包括:
步骤s,根据所述窄道信息控制所述机器人的前端与所述目标窄道的窄道入口对齐;在对齐之后,控制所述机器人进入所述目标窄道。
在本实施例中,当确定目标窄道的窄道信息后,可以先根据窄道信息确定目标窄道的入口位置,即目标窄道的窄道入口,并控制机器人的机器人前端与目标窄道的窄道入口对齐,即机器人此时正好处于目标窄道的窄道入口正前方。然后再获取机器人的坐标数据,并将其作为机器人的位置数据。需要说明的是,在获取机器人的坐标数据时,会在机器人所在的环境中构建坐标系,其原点坐标可以基于用户需求自行进行设置。并且在机器人的前端与窄道入口对齐后,再控制机器人根据进入方向和进入位置进入目标窄道。
具体地,根据所述窄道信息控制所述机器人的机器人前端与所述目标窄道的窄道入口对齐的步骤,包括:
步骤s1,获取所述机器人的位置数据;
步骤s2,根据所述位置数据和所述窄道信息计算所述机器人的目标轨迹;
步骤s3,根据所述目标轨迹调整所述机器人的位姿,直至所述机器人的机器人前端与所述目标窄道的窄道入口对齐。
在本实施例中,在机器人进行窄道通行时,需要获取机器人的位置数据,并当获取到机器人的位置数据和目标窄道的窄道信息后,可以确定窄道信息中所包含的机器人进入窄道的方向、机器人进入窄道的目标位置和窄道宽度,然后按照机器人进入窄道的目标位置,窄道宽度和机器人进入窄道的方向设置机器人在窄道中运行的目标轨迹,即机器人从目标位置出发,按照机器人进入窄道的方向运行,并基于窄道宽度规划机器人在目标窄道中运行的轨迹,即根据窄道宽度确定目标窄道中的中垂线,然后按照中垂线设置机器人运行的轨迹,即假设机器人在轨道中运行时,实时获取机器人自身的坐标点,并计算实时获取的坐标点到中垂线的距离,确定该距离是否在可允许的范围内,若在,则确定机器人待运行的轨迹为目标轨迹。并在确定目标轨迹后,会根据此目标轨迹调整机器人的位姿,即调整机器人进入目标窄道的方向、位置等,直至机器人的机器人前端与目标窄道的窄道入口对齐。
在本实施例中,通过将机器人前端与目标窄道的窄道入口对齐,再根据机器人的位置数据和窄道信息计算机器人的目标轨迹,根据目标轨迹调整机器人进入目标窄道,从而保障了后续机器人能够正常通过目标窄道。
进一步地,当所述机器人行进过程中检测到存在目标窄道时的步骤之后,包括:
步骤y,将所述目标窄道的窄道信息和所述机器人中历史窄道的窄道信息进行匹配;
在本实施例中,为避免机器人重复进入目标窄道,需要对检测到的所有窄道都赋予对应的标签,以区分检测到的窄道是历史窄道(即旧窄道),还是新窄道,若是历史窄道,则机器人不做响应。因此在本实施例中,需要计算机器人当前检测到目标窄道与机器人上一次检测到窄道的时间间隔,并计算机器人当前检测到目标窄道与上一次检测到窄道进入位姿的距离及角度差;再判断时间间隔是否小于预设的时间阈值,且该距离小于预设的距离阈值,角度差小于预设的角度阈值。若否,则会读取机器人中预先存储的所有窄道数据(包含机器人中的所有历史窄道),并将当前获取到的目标窄道的窄道信息与所有窄道数据进行比较。若在所有窄道数据中发现存在和窄道信息一致的窄道数据,则确定各个历史窄道中存在和目标窄道匹配的匹配窄道。若在所有窄道数据中未发现和窄道信息一致的窄道数据,则确定各个历史窄道和目标窄道不匹配。
步骤z,若各所述历史窄道和所述目标窄道均不匹配,则生成所述目标窄道对应的目标标签,所述目标标签携带所述目标窄道的目标身份信息,并标记是否允许通过;或,
当经过判断发现在各个历史窄道和目标窄道都不匹配,则可以确定目标窄道为新窄道,并为目标窄道赋予对应的新标签(即目标标签),该新标签可以是根据获取到的目标窄道的窄道信息生成的标签,且标记有机器人是否可以通过目标窄道。因此可以根据目标窄道对应的目标标签来确定目标窄道是否允许通过,若允许通过,则可以控制机器人通过目标窄道。若不允许通过,则控制机器人放弃通过目标窄道。其中,目标标签携带有目标窄道的目标身份信息。
步骤A,若各所述历史窄道中存在和所述目标窄道匹配的匹配窄道,则获取所述匹配窄道对应的历史标签,根据所述历史标签判断所述目标窄道是否允许通过。
当经过判断发现在各个历史窄道中存在和目标窄道匹配的历史窄道,则将其作为匹配窄道,并会主动获取匹配窄道对应的历史标签,并且由于匹配窄道对应的历史标签中标记有是否可以通过匹配窄道,因此可以根据匹配窄道对应的历史标签确定目标窄道是否允许通过。若允许通过,则可以控制机器人通过目标窄道。若不允许通过,则控制机器人放弃通过目标窄道。其中,每个历史窄道都对应有一个历史标签。
在本实施例中,通过在确定各个历史窄道和目标窄道均不匹配时,赋予目标窄道对应的目标标签,根据目标标签检测目标窄道是否允许通过,或者是在存在和目标窄道匹配的匹配窄道时,根据匹配窄道对应的历史标签确定目标窄道是否允许通过,从而为后续机器人通过目标窄道做准备,提高了机器人的智能性。
进一步地,根据所述窄道信息控制所述机器人进入所述目标窄道的步骤之后,包括:
步骤B,检测所述机器人的触控装置在预设时间段内是否被连续触发;
在本实施例中,在机器人根据窄道位姿进入目标窄道后,还需要检测机器人是否持续一段时间t1(即预设时间段)内,以间隔时间t2连续触发机器人的触控装置,如保险杠。其中t1可以设置为3秒,t2可以设置为0.5秒。
步骤C,若是,则将所述目标窄道的目标标签标记为不可通过,并退出所述目标窄道。
若连续触发,则确定目标窄道不可通过,并将目标窄道的目标标签标记为不可通过,并控制机器人退出目标窄道。若未连续触发,则控制机器人继续通过目标窄道。
在本实施例中,通过在确定机器人的触控装置在预设时间段内被连续触发,则退出目标窄道,从而避免了目标窄道不可通行,而机器人强制通行的现象发生。
此外,参照图14,本申请还提供一种窄道通行装置,其特征在于,窄道通行装置包括:
获取模块A10,用于当所述机器人行进过程中检测到存在目标窄道时,获取所述目标窄道的窄道信息;
确定模块A20,用于根据所述窄道信息确定所述目标窄道是否允许通过;
控制模块A30,用于若允许通过,则根据所述窄道信息控制所述机器人进入所述目标窄道。
所述窄道通行装置用于实现上述窄道通行方法各实施例的步骤,具体实施方式与上述窄道通行方法各实施例基本相同,在此不再赘述。
此外,本申请还提供一种机器人,所述机器人包括:存储器、处理器、通信总线以及存储在所述存储器上的窄道通行程序:
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述窄道通行程序,以实现上述窄道通行方法各实施例的步骤。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述窄道通行方法各实施例的步骤。
本发明计算机可读存储介质具体实施方式与上述窄道通行方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种窄道通行方法,其特征在于,应用于机器人,所述窄道通行方法包括如下步骤:
当所述机器人行进过程中检测到存在目标窄道时,获取所述目标窄道的窄道信息;
根据所述窄道信息确定所述目标窄道是否允许通过;
若允许通过,则根据所述窄道信息控制所述机器人进入所述目标窄道;
其中,所述获取所述目标窄道的窄道信息的步骤,包括:
获取所述机器人周围预设范围内的点云数据;
根据所述点云数据进行直线拟合,以获取第一拟合线段和第二拟合线段;确定所述第一拟合线段对应的第一方差,确定所述第二拟合线段对应的第二方差;
根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息;
其中,所述根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,包括:
分别将所述第一方差和预设阈值、所述第二方差和预设阈值进行比较;
根据比较结果,基于所述第一拟合线段和所述第二拟合线段确定所述目标窄道的窄道宽度、进入位置和进入方向。
2.如权利要求1所述的窄道通行方法,其特征在于,所述根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,包括:
若所述第一方差和所述第二方差均小于预设阈值,则判断所述第一拟合线段和所述第二拟合线段是否满足预设条件;
若满足,则确定所述第一拟合线段上第一点和第二拟合线段上第二点之间的第一中点,其中,所述第一点和所述第二点为第一拟合线段上和第二拟合线段上的距离最近的点;根据所述第一中点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息;
若不满足,则确定所述第一拟合线段和所述第二拟合线段的相交点;
根据所述相交点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息。
3.如权利要求2所述的窄道通行方法,其特征在于,所述根据所述第一中点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息的步骤,包括:
根据所述第一中点确定目标窄道的进入位置;
确定所述第一中点到所述第一拟合线段的第一距离,并确定所述第一中点到所述第二拟合线段的第二距离,将所述第一距离和所述第二距离之和作为目标窄道的窄道宽度;或者,确定所述第一中点到第一拟合线段的第一垂足,确定所述第一中点到所述第二拟合线段的第二垂足;将所述第一垂足与所述第二垂足之间的距离作为目标窄道的窄道宽度;
确定所述第一拟合线段的第一方向向量或第二拟合线段的第二方向向量,将所述第一方向向量或所述第二方向向量作为目标窄道的进入方向;将所述进入位置、所述窄道宽度和所述进入方向作为所述目标窄道的窄道信息。
4.如权利要求2所述的窄道通行方法,其特征在于,所述预设条件包括所述第一拟合线段和所述第二拟合线段平行,或所述第一拟合线段和所述第二拟合线段的相交点与所述机器人之间的距离大于预设距离。
5.如权利要求2所述的窄道通行方法,其特征在于,所述根据所述相交点、所述第一拟合线段和所述第二拟合线段获取所述目标窄道的窄道信息的步骤,包括:
确定所述第一拟合线段的第一方向向量和第二拟合线段的第二方向向量,确定所述第一方向向量和所述第二方向向量的平分向量,根据所述平分向量确定目标窄道的进入方向;
获取所述机器人的当前位置,根据所述相交点和所述当前位置确定所述机器人当前位置到所述平分向量的第一投影点;将所述第一投影点作为目标窄道的进入位置;
确定所述第一投影点到第一拟合线段的第三距离,以及确定所述第一投影点到第二拟合线段的第四距离;将所述第三距离与所述第四距离之和作为目标窄道的窄道宽度;
将所述进入位置、所述窄道宽度和所述进入方向作为所述目标窄道的窄道信息。
6.如权利要求1所述的窄道通行方法,其特征在于,所述根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,还包括:
若所述第一方差和所述第二方差均大于预设阈值,则确定所述第一拟合线段上第一点和第二拟合线段上第二点之间的第一中点,其中,所述第一点和所述第二点为第一拟合线段上和第二拟合线段上的距离最近的点;根据所述第一中点确定目标窄道的进入位置;
根据所述第一点和所述第二点之间的距离确定所述目标窄道的窄道宽度;
确定所述第一点到所述第二点的第三方向向量;根据所述机器人的当前位置和所述第三方向向量确定垂直于所述第三方向向量的垂直向量,根据所述垂直向量确定目标窄道的进入方向;将所述进入位置、所述窄道宽度和所述进入方向作为所述目标窄道的窄道信息。
7.如权利要求1所述的窄道通行方法,其特征在于,所述根据所述第一拟合线段、所述第二拟合线段、所述第一方差和所述第二方差获取所述目标窄道的窄道信息的步骤,还包括:
若所述第一方差和所述第二方差中有且只有一个目标方差小于预设阈值,则确定所述目标方差对应的目标点和目标拟合线段,所述目标点为所述目标拟合线段上距离另一拟合线段最近的点;
确定所述目标点到所述另一拟合线段的第二投影点;
根据所述目标点、所述第二投影点确定所述目标窄道的窄道信息。
8.如权利要求7所述的窄道通行方法,其特征在于,所述根据所述目标点、所述第二投影点确定所述目标窄道的窄道信息的步骤,包括:
根据所述目标点与所述第二投影点之间的距离确定目标窄道的窄道宽度;
确定所述目标点与所述第二投影点的第二中点;根据所述第二中点确定目标窄道的进入位置;
确定所述目标拟合线段的目标方向向量;根据所述目标方向向量确定目标窄道的进入方向;
将所述进入位置、所述进入方向和所述窄道宽度作为所述目标窄道的窄道信息。
9.如权利要求1所述的窄道通行方法,其特征在于,所述根据所述窄道信息控制所述机器人进入所述目标窄道的步骤,包括:
根据所述窄道信息控制所述机器人的前端与所述目标窄道的窄道入口对齐;在对齐之后,控制所述机器人进入所述目标窄道。
10.如权利要求9所述的窄道通行方法,其特征在于,所述根据所述窄道信息控制所述机器人的机器人前端与所述目标窄道的窄道入口对齐的步骤,包括:
获取所述机器人的位置数据;
根据所述位置数据和所述窄道信息计算所述机器人的目标轨迹;
根据所述目标轨迹调整所述机器人的位姿,直至所述机器人的机器人前端与所述目标窄道的窄道入口对齐。
11.如权利要求1所述的窄道通行方法,其特征在于,所述当所述机器人行进过程中检测到存在目标窄道时的步骤之后,还包括:
将所述目标窄道的窄道信息和所述机器人中历史窄道的窄道信息进行匹配;
若各所述历史窄道和所述目标窄道均不匹配,则生成所述目标窄道对应的目标标签,所述目标标签携带所述目标窄道的目标身份信息,并标记是否允许通过;或,
若各所述历史窄道中存在和所述目标窄道匹配的匹配窄道,则获取所述匹配窄道对应的历史标签,根据所述历史标签判断所述目标窄道是否允许通过。
12.如权利要求1-11任一项所述的窄道通行方法,其特征在于,所述根据所述窄道信息控制所述机器人进入所述目标窄道的步骤之后,包括:
检测所述机器人的触控装置在预设时间段内是否被连续触发;
若是,则将所述目标窄道的目标标签标记为不可通过,并退出所述目标窄道。
13.一种机器人,其特征在于,所述机器人包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的窄道通行程序,所述窄道通行程序被所述处理器执行时实现如权利要求1至12中任一项所述的窄道通行方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有窄道通行程序,所述窄道通行程序被处理器执行时实现如权利要求1至12中任一项所述的窄道通行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111472299.7A CN114326711B (zh) | 2021-12-03 | 2021-12-03 | 窄道通行方法、装置、机器人及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111472299.7A CN114326711B (zh) | 2021-12-03 | 2021-12-03 | 窄道通行方法、装置、机器人及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114326711A CN114326711A (zh) | 2022-04-12 |
CN114326711B true CN114326711B (zh) | 2023-08-08 |
Family
ID=81048827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111472299.7A Active CN114326711B (zh) | 2021-12-03 | 2021-12-03 | 窄道通行方法、装置、机器人及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114326711B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117629205A (zh) * | 2022-08-16 | 2024-03-01 | 珠海一微半导体股份有限公司 | 一种机器人通过窄道的导航方法、芯片及机器人 |
CN115808014A (zh) * | 2022-12-08 | 2023-03-17 | 宁波奥克斯电气股份有限公司 | 一种空调器控制方法、装置、空调器和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111077541A (zh) * | 2019-12-30 | 2020-04-28 | 深圳优地科技有限公司 | 一种障碍物识别方法、障碍物识别装置及移动机器人 |
CN112526990A (zh) * | 2020-11-24 | 2021-03-19 | 深圳市优必选科技股份有限公司 | 机器人通过窄道的方法、装置、可读存储介质及机器人 |
CN113219967A (zh) * | 2021-04-15 | 2021-08-06 | 上海岚豹智能科技有限公司 | 一种用于移动机器人通行窄道的方法及设备 |
JP2021152906A (ja) * | 2020-05-14 | 2021-09-30 | 阿波▲羅▼智▲聯▼(北京)科技有限公司 | 車両軌跡の予測方法、装置、機器及び記憶媒体 |
CN113475976A (zh) * | 2020-03-16 | 2021-10-08 | 珠海格力电器股份有限公司 | 机器人可通行区域确定方法、装置、存储介质及机器人 |
-
2021
- 2021-12-03 CN CN202111472299.7A patent/CN114326711B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111077541A (zh) * | 2019-12-30 | 2020-04-28 | 深圳优地科技有限公司 | 一种障碍物识别方法、障碍物识别装置及移动机器人 |
CN113475976A (zh) * | 2020-03-16 | 2021-10-08 | 珠海格力电器股份有限公司 | 机器人可通行区域确定方法、装置、存储介质及机器人 |
JP2021152906A (ja) * | 2020-05-14 | 2021-09-30 | 阿波▲羅▼智▲聯▼(北京)科技有限公司 | 車両軌跡の予測方法、装置、機器及び記憶媒体 |
CN112526990A (zh) * | 2020-11-24 | 2021-03-19 | 深圳市优必选科技股份有限公司 | 机器人通过窄道的方法、装置、可读存储介质及机器人 |
CN113219967A (zh) * | 2021-04-15 | 2021-08-06 | 上海岚豹智能科技有限公司 | 一种用于移动机器人通行窄道的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114326711A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960304B2 (en) | Localization and mapping using physical features | |
CN109997089B (zh) | 地面处理机和地面处理方法 | |
CN114326711B (zh) | 窄道通行方法、装置、机器人及计算机可读存储介质 | |
US9844876B2 (en) | Robot cleaner and control method thereof | |
CN110403539B (zh) | 清洁机器人的清洁控制方法、清洁机器人以及存储介质 | |
CN107041718B (zh) | 清洁机器人及其控制方法 | |
EP3079030B1 (en) | Restricting movement of a mobile robot | |
US20200409382A1 (en) | Intelligent cleaning robot | |
CN112004645A (zh) | 智能清洁机器人 | |
EP2595025B1 (en) | Autonomous mobile body | |
CN110477820B (zh) | 清洁机器人的沿障碍物清洁方法、清洁机器人以及存储介质 | |
US20100076599A1 (en) | Manually driven determination of a region of interest (roi) or a path of interest (poi) for a robotic device | |
CN110495825B (zh) | 清洁机器人的跨越障碍物方法、清洁机器人以及存储介质 | |
CN114355887B (zh) | 机器人窄道通行方法、装置、机器人及存储介质 | |
KR102450982B1 (ko) | 청소용 이동장치, 충전장치 및 그 제어방법 | |
CN114601399B (zh) | 清洁设备的控制方法、装置、清洁设备和存储介质 | |
JP2020010982A (ja) | 自走式掃除機 | |
JP2023127590A (ja) | 自律走行作業装置 | |
CN115500737A (zh) | 一种地面介质探测方法、装置及清洁设备 | |
KR20170106274A (ko) | 로봇 청소기 및 이의 제어 방법 | |
CN113465592A (zh) | 导航方法及自行走装置 | |
CN114903374A (zh) | 一种扫地机及其控制方法 | |
WO2024036619A1 (en) | Method for controlling movement of autonomous mobile device | |
Wu et al. | Developing a dynamic obstacle avoidance system for autonomous mobile robots using Bayesian optimization and object tracking: Implementation and testing | |
Hernández et al. | Laser based obstacle avoidance strategy for autonomous robot navigation using DBSCAN for versatile distance |
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 |