机器人、机器人的路口检测方法和存储介质与流程
未命名
07-17
阅读:85
评论:0

1.本技术涉及机器人技术领域,特别是涉及一种机器人的路口检测方法、装置、机器人、存储介质和计算机程序产品。
背景技术:
2.随着科技的发展,机器人可以应用在各种场景中,但是真实的场景中一般存在多种路口类型(如十字路口、t型路口、l型路口),机器人在这类场景中运行具有一定的危险性。例如:由于某个方向的遮挡,机器人并不清楚路口其他侧等盲区的情况,存在从盲区中突然窜出行人等动态障碍物时,有可能发生碰撞;或者由于机器人急刹车,导致配送的汤水倾洒。
3.传统的路口检测方案中,主要采用道路宽度的变化趋势进行路口检测,若路口与其所在道路的宽度差距不大,则路口检测的准确度较低。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种机器人的路口检测方法、装置、机器人、计算机可读存储介质和计算机程序产品,能够准确地检测出路口。
5.第一方面,本技术提供了一种机器人,所述机器人包括存储器和处理器,所述存储器用于存储可在所述处理器上运行的计算机可读指令,所述处理器用于执行所述计算机可读指令时实现如下步骤:
6.基于环境地图确定节点位置与所述节点位置的路段;
7.根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型;
8.根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型。
9.在其中一个实施例中,所述基于环境地图确定节点位置与所述节点位置的路段,包括:
10.确定所述环境地图中的道路;
11.在所述道路中,基于各个所述线段的连接位置确定节点位置;
12.在所述节点位置中,确定所述线段的数量满足预设条件的路段端点位置;
13.基于相邻的路段端点位置之间的各个线段形成的路段,确定各个所述节点位置的路段。
14.在其中一个实施例中,所述根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型,包括:
15.当所述节点位置的路段数量为第一预设路口数量时,确定所述节点位置为所述第一路口类型;
16.当所述路段数量为第二预设路口数量时,确定所述节点位置为所述第二路口类型;所述第一预设路口数量小于所述第二预设路口数量;
17.当确定所述节点位置的路段数量小于所述预设路口数量阈值时,确定所述节点位置不属于所述第一路口类型与所述第二路口类型中的一种场景类型。
18.在其中一个实施例中,所述根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型,包括:
19.在所述路段中,确定所述节点位置的线段;
20.确定所述节点位置的线段之间的夹角;
21.判断所述夹角是否大于预设路口角度阈值;
22.若大于,则确定所述节点位置是第三路口类型。
23.在其中一个实施例中,所述在所述路段中,确定所述节点位置的线段,包括:
24.若所述节点位置是第一路段中的位置,则从所述第一路段确定所述节点位置的线段;
25.若所述节点位置是第一路段与第二路段的连接位置,则分别从所述第一路段和所述第二路段确定所述节点位置的线段。
26.在其中一个实施例中,所述处理器还用于执行所述计算机可读指令时实现如下步骤:
27.若所述节点位置属于所述第一路口类型、所述第二路口类型与所述第三路口类型中的场景类型,则根据所述节点位置所属的场景类型确定所述节点位置的避障方向;
28.根据所述避障方向调整所述机器人在所述节点位置的运动方向,得到调整后的运动方向;
29.按照所述调整后的运动方向,控制所述机器人在所述节点位置运行。
30.在其中一个实施例中,所述处理器还用于执行所述计算机可读指令时实现如下步骤:基于所述环境地图确定道路的宽度变化程度是否超过预设宽度变化阈值,检测所述环境地图中的路口。
31.在其中一个实施例中,所述处理器还用于执行所述计算机可读指令时实现如下步骤:
32.基于所述环境地图确定不同道路的宽度信息;
33.当根据所述不同道路的宽度信息,确定所述机器人行驶的道路预计转换为狭窄过道时,对所述狭窄过道进行曲线避障规划;
34.其中,所述狭窄过道是宽度小于预设宽度阈值的道路。
35.第二方面,本技术提供了一种机器人的路口检测方法。所述方法包括:
36.基于环境地图确定节点位置与所述节点位置的路段;
37.根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型;
38.根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型。
39.第三方面,本技术提供了一种机器人的路口检测装置。所述装置包括:
40.路段确定模块,用于基于环境地图确定节点位置与所述节点位置的路段;
41.数量判断模块,用于根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型;
42.夹角判断模块,用于根据所述路段中的线段在所述节点位置的夹角与夹角阈值的
关系,判断所述节点位置是否为第三路口类型。
43.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实施例中机器人所实现的步骤。
44.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意实施例中机器人所实现的步骤。
45.上述机器人及机器人的路口检测方法、装置、存储介质和计算机程序产品,基于环境地图确定节点位置与所述节点位置的路段,以节点位置作为潜在的路口,并从而用节点位置的路段这一数据粒度进行检测。根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型,由此,从节点位置的路段这一数据粒度判断节点位置是否为路口类型,进而准确地分析节点位置是否属于路口类型;在另一个角度,根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型;通过路段进一步细化的线段生成判断所述节点位置是否为第三路口类型,从而增加路口识别的准确性。
附图说明
46.图1为一个实施例中机器人的路口检测方法的流程示意图;
47.图2为一个实施例中路段与线段的示意图;
48.图3为一个实施例中路口检测的示意图;
49.图4为一个实施例中环境地图的路口检测结果的效果的示意图;
50.图5为一个实施例中不同路口的路径规划的示意图;
51.图6为一个实施例中狭窄过道检测结果的示意图;
52.图7为一个实施例中机器人在狭窄过道运动的示意图;
53.图8为一个实施例中机器人的路口检测装置的结构框图;
54.图9为一个实施例中机器人的内部结构图。
具体实施方式
55.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
56.本技术实施例提供的机器人的路口检测方法,可应用于基于机器人的分布式应用场景中,也可以应用于机器人与服务器通讯的场景中。
57.在一个实施例中,如图1所示,提供了一种机器人,机器人包括存储器和处理器,所述存储器用于存储可在所述处理器上运行的计算机可读指令,所述处理器用于执行所述计算机可读指令时实现如下步骤:
58.步骤102,基于环境地图确定节点位置与节点位置的路段。
59.环境地图是机器人所在工作场景的环境地图。环境地图展示了环境中的静态障碍物,根据环境中的静态障碍物确定环境地图中的道路。当道路的某个位置符合某些条件时,可确定该位置为节点位置,而节点位置连接的部分道路是节点位置的路段。
60.节点位置是环境地图中的不同线段相连接的位置,连接到同一节点位置的不同路段之间存在夹角。节点位置的场景类型可能是一个路口,也可能是道路宽度变小的位置,还可能是弯度较小的拐角。节点位置在环境地图中的场景类型,是基于节点位置的路段确定的。节点位置的路段是经过该节点位置,且存在一定曲率的部分道路。
61.在一个实施例中,基于环境地图确定节点位置与节点位置的路段,包括:基于环境地图中的障碍物确定环境地图中的道路;在道路中,基于各个线段的连接位置确定节点位置;在节点位置中,确定线段的数量满足预设条件的路段端点位置;基于相邻的路段端点位置之间的各个线段形成的路段,确定各个节点位置的路段。
62.本实施例中,先确定环境地图中的道路,再将道路细化为线段,根据线段确定节点位置,从而细化环境地图中的道路粒度,使用线段位置确定了节点位置;基于节点位置的线段数量,从节点位置中选取数量满足预设条件的路段端点位置,使用路段端点位置形成路段,路段的数据粒度粗于线段,且细于道路,从而在保证准确度地前提下,较为快捷地确定节点位置与节点位置的路段。
63.步骤104,根据路段的数量确定节点位置为第一路口类型或第二路口类型。
64.当路段的数量满足某条件时,可确定节点位置属于路口类型;当路段的数量不满足该条件时,这一个角度的数据不足以判断节点位置与路口类型之间的关系,可通过其他角度判断节点位置是否属于路口类型。
65.路口类型表征该节点位置属于路口,且由于路段的数据粒度粗于线段生成的路口检测结果,可通过节点位置的路段数量快速地识别出该节点位置是否为路口;当通过节点位置的路段数量确定该节点位置属于路口类型时,可直接通过节点位置的路段数量,准确地判断路口是第一路口类型或者第二路口类型,以便于在节点位置的路段规划该机器人的运行路径。
66.在一个实施例中,根据路段的数量确定节点位置为第一路口类型或第二路口类型,包括:在该节点位置,确定路段的数量;将路段的数量与预设路段数量阈值进行比对;当路段的数量超过预设路段数量阈值时,确定节点位置属于第一路口类型或者第二路口类型;相对应的,该方法还包括:当路段的数量小于预设路段数量阈值时,无法根据节点位置确定节点位置属于第一路口类型、第二路口类型或者第三路口类型。其中,预设路段数量阈值可以是三个路段。由此,在路段这一数据粒度进行判断,而在无法通过路段确定节点位置属于第一路口类型、第二路口类型或者第三路口类型时,也不会武断地判定节点位置不属于路口类型,以保障准确性。
67.在一个实施例中,根据路段的数量确定节点位置为第一路口类型或第二路口类型,包括:当节点位置的路段数量为第一预设路口数量时,确定节点位置为第一路口类型;当路段数量为第二预设路口数量时,确定节点位置为第二路口类型;第一预设路口数量小于第二预设路口数量;当确定节点位置的路段数量小于预设路口数量阈值时,确定节点位置不属于第一路口类型与第二路口类型中的一种场景类型。
68.节点位置的路段数量无需较多计算量即可获得,且节点位置的路段数量能够准确而直接地反映出该节点位置存在几条道路,进而确定其路口类型。当节点位置的路段数量为第一预设路口数量时,节点位置是第一路口类型;当节点位置的路段数量为第二预设路口数量,节点位置是第二路口类型时。示例性地,第一预设路口数量是三个,第二预设路口
数量是四个,则第一路口类型可以是t型路口或y型路口,第二路口类型可以是十字路口或类似的路口。
69.第一路口类型和第二路口类型是根据不同方向的障碍物出现概率而定义的。在第一路口类型的第一位置与两侧方向的障碍物碰撞概率近似相等,而第一路口类型的第二位置与某一方向的障碍物碰撞概率较大;而第二路口类型的各位置与两侧方向的障碍物碰撞概率近似相等。示例性地,t型路口的第一位置左右两边出现其他物体的概率一致,所以机器人靠近中线避障;t型路口的第二位置的预设方向出现其他物体的概率较高,所以机器人远离该预设方向;十字路口左右两边出现其他物体的概率一致,所以机器人靠近中线避障。
70.在确定节点位置的路段数量大于预设路口数量阈值后,可通过节点位置的路段数量确定节点位置的具体路口类型,进而确定节点位置的场景类型,再根据该场景类型中不同道路的避障方向进行避障,以减少机器人在节点位置的运动方向存在的安全隐患。
71.步骤106,根据路段中的线段在节点位置的夹角与夹角阈值的关系,判断节点位置是否为第三路口类型。
72.通过路段的数量能够快速地判断节点位置是否属于十字路口、t字路口或y字路口等路口类型,却难以判断节点位置是否属于l型路口或者其他大曲率的路口。
73.根据路段中的线段判断节点位置所属的路口类型,以使得机器人在节点位置能够及时进行避让。路段中的线段是对路段进行细化所得到的,其能够反映该路段的曲率,以路段的曲率检测节点位置是否为路口。相对于路段的数量,基于路段中的线段检测节点位置所得到夹角与夹角阈值的关系,能够更准确地反映节点位置是否属于路口类型。
74.夹角与夹角阈值的关系是粒度再次细化的路口检测结果夹角与夹角阈值的关系与路段的数量的粒度更细,且与路段的数量属于不同角度,能够在不影响准确度的前提下,迅速地检测节点位置是否为第三路口类型。
75.在一个实施例中,根据路段中的线段在节点位置的夹角与夹角阈值的关系,判断节点位置是否为第三路口类型,包括:在路段中,确定节点位置的线段;确定节点位置的线段之间的夹角;判断夹角是否大于预设路口角度阈值;若大于,则确定节点位置是第三路口类型。
76.节点位置本身就是不同线段的连接位置;当通过路段的数量判断路段的数量无法确定节点位置是否为路口,该节点位置的线段是两条线段的交点。
77.若节点位置是第三路口类型,则机器人在该节点位置时,仅在单侧方向存在障碍物碰撞概率,且曲率满足相应条件的节点位置。曲率满足相应条件的节点位置是指,该节点位置存在两条线段,且这两条线段之间的夹角大于预设路口角度阈值。
78.通过节点位置的线段之间的夹角进行计算,能够反映出路段在该节点位置的曲率;而判断节点位置的线段之间的夹角是否大于预设路口角度阈值,其本质上是判断路段在该节点位置的曲率。若判断节点位置的线段之间的夹角大于预设路口角度阈值,则确定节点位置属于第三路口类型。
79.本实施例中,在路段中确定节点位置的线段,基于节点位置的线段之间的夹角计算节点位置的路段之间曲率。当节点位置的线段之间的夹角大于预设路口角度阈值时,路段在节点位置的曲率满足第三路口类型的曲率条件,进而准确地确定出节点位置是第三路口类型,第三路口类型是l型路口或其他具有较大曲率的路口。
80.在一个实施例中,在路段中,确定节点位置的线段,包括:若节点位置是第一路段中的位置,则从第一路段确定节点位置的线段;若节点位置是第一路段与第二路段的连接位置,则分别从第一路段和第二路段确定节点位置的线段。
81.在一个可能地实施例中,从第一路段确定节点位置的线段,包括:确定第一路段中的某节点位置,确定第一路段中的该节点位置的相邻线段;相对应的,确定节点位置的线段之间的夹角,包括:基于第一路段中的该节点位置的相邻线段,确定相邻线段之间的夹角。
82.在一个可能地实施例中,分别从第一路段和第二路段确定节点位置的线段,包括:确定第一路段与第二路段的连接位置;分别从第一路段与第二路段提取不同路段中的相邻线段;相对应的,确定节点位置的线段之间的夹角,包括:在该节点位置,确定该不同路段中的相邻线段之间的夹角。
83.由此,若节点位置位于路段中,则从该路段选取节点位置的路段;若节点位置位于不同路段的连接位置,则分别从节点位置的不同路段选择线段进行连接,避免了不同路段的数据阻隔。
84.在一个实施例中,处理器还用于执行计算机可读指令时实现如下步骤:若节点位置属于第一路口类型、第二路口类型与第三路口类型中的场景类型,则根据节点位置所属的场景类型确定节点位置的避障方向;根据避障方向调整机器人在节点位置的运动方向,得到调整后的运动方向;按照调整后的运动方向,控制机器人在节点位置运行。
85.第一路口类型、第二路口类型与第三路口类型属于不同的场景类型,而节点位置所属的场景类型根据步骤102-步骤106确定,各场景类型在节点位置有其各自的避障方向,以通过各避障方向调整机器人在节点位置的运动方向,从而实现避障。
86.在一个示例性地实施例中,根据节点位置所属的场景类型确定节点位置的避障方向,包括:当节点位置是第一路口类型时,根据机器人所在位置确定机器人在节点位置的避障方向是机器人的单侧方向与路段的中间方向中的一种方向;当节点位置是第二路口类型时,确定机器人在节点位置的避障方向是路段的中间方向;当节点位置是第三路口类型时,确定机器人在节点位置的避障方向是路段的单侧方向。其中,单侧方向是指,与障碍物碰撞概率较小的方向;中间方向是指,从机器人行进方向,且位于节点位置的中间位置的方向。
87.由此,通过场景类型确定节点位置的避障方向,再根据避障方向调整机器人在节点位置的运动方向,得到调整后的运动方向;按照调整后的运动方向,控制机器人在节点位置运行,实现机器人在节点位置的避障。
88.在一个实施例中,处理器还用于执行计算机可读指令时实现如下步骤:基于环境地图确定道路的宽度变化程度是否超过预设宽度变化阈值,检测环境地图中的路口。
89.当道路的从某位置到其相邻位置的宽度变化程度超过预设宽度变化阈值时,可确定该相邻位置是路口;当道路的从某位置到其相邻位置的宽度变化程度小于预设宽度变化阈值时,可确定该相邻位置不是路口。
90.在一个实施例中,基于环境地图确定道路的宽度变化程度是否超过预设宽度变化阈值,检测环境地图中的路口,包括:确定道路的目标路段与目标路段的相邻路段;计算目标路段与其相邻路段之间的宽度差值;判断该宽度差值是否大于预设宽度变化阈值;若大于,则该目标路段与其相邻路段之间存在路口,若小于,则不存在路口。可以理解的是,宽度差值也可以是比值或其他能够反映二者差异的数据。
91.其中,环境地图中的路口检测结果包括基于节点位置的检测结果与基于宽度变化程度确定的检测结果;而这两种检测结果存在一定冗余,且能够在一定程度上互补,以更准确地检测环境地图中的路口。
92.在一个可选地实施例中,处理器还用于执行计算机可读指令时实现如下步骤:基于环境地图确定不同道路的宽度信息;当根据不同道路的宽度信息,确定机器人行驶的道路预计转换为狭窄过道时,对狭窄过道进行曲线避障规划;其中,狭窄过道是宽度小于预设宽度阈值的道路。
93.由此,在机器人的运行过程中,根据当前位置检查机器前方一定阈值范围内的道路是否为预计转换为狭窄过道,若存在狭窄过道则主动曲线避障规划,以减速慢行地通过狭窄过道。其表现形式在于,无论何种行驶的狭窄过道,机器需尽量贴边行走。
94.上述机器人所执行的路口检测指令中,基于环境地图确定节点位置与节点位置的路段,以节点位置作为潜在的路口,并从而用节点位置的路段这一数据粒度进行检测。根据路段的数量确定节点位置属于第一路口类型或第二路口类型,并基于节点位置的路段规划机器人的运行路径;由此,从节点位置的路段这一数据粒度判断节点位置是否为路口类型,准确地分析节点位置所属的路口类型;根据路段中的线段在节点位置的夹角与夹角阈值的关系,判断节点位置是否为第三路口类型,由此,从两个角度较为准确地判断节点位置不同路口类型之间的关系;以针对不同路口类型规划不同的运动方向,便于采取一定策略通过危险区域,避免潜在的碰撞、或急刹车导致的汤水倾洒,提高机器的安全性和平稳性。
95.在一个实施例中,环境地图是静态障碍物地图,环境地图中的道路划分为多个路段(track),而路段又由各个线段(segment)组成。示例性地,如图2所示,路段包括路段1054、路段164、路段1234;线段包括01、12、23、34、45、50、16、64。
96.在一个实施例中,该方法包括基于环境地图确定道路的宽度变化程度是否超过预设宽度变化阈值,检测环境地图中的路口;在基于宽度变化程度确定的检测结果后,基于步骤102-步骤106提取漏掉的路口信息,判断节点位置与第一路口类型、第二路口类型或第三路口类型等场景类型之间的关系。
97.其中,若基于某段道路宽度与其上一段道路宽度,则确定道路的宽度变化程度超过预设宽度变化阈值,即,这两个段道路交点处存在路口;但若整个环境的道路宽度变化较小,整个环境道路宽度比较均匀,虽然存在路口,则基于该方法无法检测出路口。
98.其中,步骤104,根据路段的数量确定节点位置为第一路口类型或第二路口类型,包括:若节点连接三个或三个以上路段,则认为该节点位置是路口类型。
99.步骤106,根据路段中的线段在节点位置的夹角与夹角阈值的关系,包括:若节点位置是第一路段中的位置,从第一路段确定节点位置的当前线段与其上一个线段,判断当前线段与其上一个线段之间的夹角,若大于一定预设路口角度阈值。则认为是路口;若节点位置是第一路段与第二路段的连接位置,根据该节点位置分别确定该节点位置的相邻线段,确定相邻线段之间的夹角,若该夹角大于一定阈值则节点位置认为是路口类型。第一路口检测结果与第二路口检测结果进行组合后,处理某离线的数据的结果如图3所示;第一路口检测结果。第二路口检测结果与第三路口检测结果进行组合后,处理某离线的数据的结果如图4所示。
100.在图3与图4中,相邻空心点(路段端点位置)之间存在一个路段,相邻实心点(节点
位置)之间的存在一个线段。两个相邻线段的道路宽度差大于1m时,则认为两个相邻线段的连接位置属于路口。同心圆表示的是基于节点信息检测出的路口,通过不同形状进行并加粗的线段表示基于道路宽度检测的路口。基于道路宽度和基于节点信息提取的路口检测结果是互补的,但是存在冗余。当采用上述两种方法把所有的路口检测出来之后,可再剔除冗余的路口。
101.在机器运行过程中,根据当前位置检查机器人运动前方一定距离范围内是否存在交叉路口这种路口类型,若存在交叉路口,则将该信息主动触发给规划,规划使得机器提起减速慢行,并采取一定的运动策略。具体地,当节点位置为第一路口类型时,运动策略如图5(a);当节点位置为第二路口类型时,运动策略如图5(b)所示;当节点位置为第三路口类型时,运动策略如图5(c)所示。其中,虚线代表道路中线,箭头方向代表运动方向。示例性地,如图5(a)所示的十字路口,机器沿着中线行驶;如图5(b)所示的t型路口,机器沿方向1运动时,贴近外侧边缘,沿方向2运动时,类似十字路口,靠近中线行驶;如图5(c)所示的l型路口,则机器沿箭头方向运动时,贴近外侧边缘行驶。
102.可选地,对狭窄过道进行曲线避障规划的过程,包括:据道路的宽度信息与对应的小于1.5m或其他预设宽度阈值时,确定道路的某条线段是否为狭窄过道。标识出的线段是狭窄过道及其所在环境地图如图6所示。
103.可选地,该方法还包括:检测狭窄过道:在机器运行过程中,检测机器人当前位置在预设范围内的前方是否存在狭窄过道,若存在狭窄过道则主动触发给规划,规划减速慢行,并采取一定的策略通过狭窄过道。无论何种行驶的狭窄过道,机器需尽量以曲线行走,实现贴边行走,当机器人沿下图从非狭窄过道运行到狭窄过道时,贴近外侧行驶。其中,机器人通过狭窄过道的运动策略如图7(a)所示,机器人采用传统经过狭窄过道的运动策略如图7(b)所示,采样本方案通过狭窄过道的运动策略如图7(c)所示。
104.应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以是以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
105.本技术提供了一种机器人路口检测方法。该方法包括:基于环境地图确定节点位置与节点位置的路段;根据路段的数量确定节点位置为第一路口类型或第二路口类型;根据路段中的线段在节点位置的夹角与夹角阈值的关系,判断节点位置是否为第三路口类型。本方法的优势在于:从节点位置的路段这一数据粒度判断节点位置是否为路口类型,进而准确地分析节点位置是否属于第一路口类型或第二路口类型,并通过路段进一步细化的线段在节点位置的夹角与夹角阈值的关系,判断节点位置是否为第三路口类型,从而较为准确地判断节点位置是否为路口,该过程均未使用宽度,可以检测出宽度变化较小的路口。
106.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的机器人的路口检测方法的机器人的路口检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人的路口检测装置实施例中
的具体限定可以参见上文中对于机器人的路口检测方法的限定,在此不再赘述。
107.在一个实施例中,如图8所示,提供了一种机器人路口检测装置,包括:
108.路段确定模块802,用于基于环境地图确定节点位置与所述节点位置的路段;
109.数量判断模块804,用于根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型;
110.夹角判断模块806,用于根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型。
111.在其中一个实施例中,所述路段确定模块802,用于:
112.确定所述环境地图中的道路;
113.在所述道路中,基于各个所述线段的连接位置确定节点位置;
114.在所述节点位置中,确定所述线段的数量满足预设条件的路段端点位置;
115.基于相邻的路段端点位置之间的各个线段形成的路段,确定各个所述节点位置的路段。
116.在其中一个实施例中,所述数量判断模块804,用于:
117.当所述节点位置的路段数量为第一预设路口数量时,确定所述节点位置为所述第一路口类型;
118.当所述路段数量为第二预设路口数量时,确定所述节点位置为所述第二路口类型;所述第一预设路口数量小于所述第二预设路口数量;
119.当确定所述节点位置的路段数量小于所述预设路口数量阈值时,确定所述节点位置不属于所述第一路口类型与所述第二路口类型中的一种场景类型。
120.在其中一个实施例中,所述夹角判断模块806,用于:
121.在所述路段中,确定所述节点位置的线段;
122.确定所述节点位置的线段之间的夹角;
123.判断所述夹角是否大于预设路口角度阈值;
124.若大于,则确定所述节点位置是第三路口类型。
125.在其中一个实施例中,所述夹角判断模块806,用于:
126.若所述节点位置是第一路段中的位置,则从所述第一路段确定所述节点位置的线段;
127.若所述节点位置是第一路段与第二路段的连接位置,则分别从所述第一路段和所述第二路段确定所述节点位置的线段。
128.在其中一个实施例中,所述装置还包括路口检测模块,用于:
129.基于所述环境地图确定道路的宽度变化程度是否超过预设宽度变化阈值,检测所述环境地图中的路口。
130.在其中一个实施例中,所述装置还包括狭窄过道判断模块,用于:
131.基于所述环境地图确定不同道路的宽度信息;
132.当根据所述不同道路的宽度信息,确定所述机器人行驶的道路预计转换为狭窄过道时,对所述狭窄过道进行曲线避障规划;
133.其中,所述狭窄过道是宽度小于预设宽度阈值的道路。
134.上述机器人的路口检测装置中的各个模块可全部或部分通过软件、硬件及其组合
来实现。上述各模块可以硬件形式内嵌于或独立于机器人中的处理器中,也可以是以软件形式存储于机器人中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
135.在一个实施例中,提供了一种机器人,其内部结构图可以如图9所示。该机器人包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该机器人的输入/输出接口用于处理器与外部设备之间交换信息。该机器人的通信接口用于与外部的机器人进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种机器人的路口检测方法。该机器人的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该机器人的输入装置可以是显示屏上覆盖的触摸层,也可以是机器人外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
136.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的机器人的限定,具体的机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
137.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
138.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
139.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
140.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,
不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
141.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
142.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种机器人,其特征在于,所述机器人包括存储器和处理器,所述存储器用于存储可在所述处理器上运行的计算机可读指令,所述处理器用于执行所述计算机可读指令时实现如下步骤:基于环境地图确定节点位置与所述节点位置的路段;根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型;根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型。2.根据权利要求1所述的机器人,其特征在于,所述基于环境地图确定节点位置与所述节点位置的路段,包括:确定所述环境地图中的道路;在所述道路中,基于各个所述线段的连接位置确定节点位置;在所述节点位置中,确定所述线段的数量满足预设条件的路段端点位置;基于相邻的路段端点位置之间的各个线段形成的路段,确定各个所述节点位置的路段。3.根据权利要求1所述的机器人,其特征在于,所述根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型,包括:当所述节点位置的路段数量为第一预设路口数量时,确定所述节点位置为所述第一路口类型;当所述路段数量为第二预设路口数量时,确定所述节点位置为所述第二路口类型;所述第一预设路口数量小于所述第二预设路口数量;当确定所述节点位置的路段数量小于所述预设路口数量阈值时,确定所述节点位置不属于所述第一路口类型与所述第二路口类型中的一种场景类型。4.根据权利要求1所述的机器人,其特征在于,所述根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型,包括:在所述路段中,确定所述节点位置的线段;确定所述节点位置的线段之间的夹角;判断所述夹角是否大于预设路口角度阈值;若大于,则确定所述节点位置是第三路口类型。5.根据权利要求4所述的机器人,其特征在于,所述在所述路段中,确定所述节点位置的线段,包括:若所述节点位置是第一路段中的位置,则从所述第一路段确定所述节点位置的线段;若所述节点位置是第一路段与第二路段的连接位置,则分别从所述第一路段和所述第二路段确定所述节点位置的线段。6.根据权利要求1所述的机器人,其特征在于,所述处理器还用于执行所述计算机可读指令时实现如下步骤:若所述节点位置属于所述第一路口类型、所述第二路口类型与所述第三路口类型中的场景类型,则根据所述节点位置所属的场景类型确定所述节点位置的避障方向;根据所述避障方向调整所述机器人在所述节点位置的运动方向,得到调整后的运动方向;
按照所述调整后的运动方向,控制所述机器人在所述节点位置运行。7.根据权利要求1所述的机器人,其特征在于,所述处理器还用于执行所述计算机可读指令时实现如下步骤:基于所述环境地图确定道路的宽度变化程度是否超过预设宽度变化阈值,检测所述环境地图中的路口。8.根据权利要求1所述的机器人,其特征在于,所述处理器还用于执行所述计算机可读指令时实现如下步骤:基于所述环境地图确定不同道路的宽度信息;当根据所述不同道路的宽度信息,确定所述机器人行驶的道路预计转换为狭窄过道时,对所述狭窄过道进行曲线避障规划;其中,所述狭窄过道是宽度小于预设宽度阈值的道路。9.一种机器人的路口检测方法,其特征在于,所述路口检测方法包括权利要求1-8任意一项所述机器人实现的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任意一项所述机器人实现的步骤。
技术总结
本申请涉及一种机器人、机器人的路口检测方法、装置、存储介质和计算机程序产品。机器人基于环境地图确定节点位置与所述节点位置的路段;根据所述路段的数量确定所述节点位置为第一路口类型或第二路口类型;根据所述路段中的线段在所述节点位置的夹角与夹角阈值的关系,判断所述节点位置是否为第三路口类型。由此,分别通过路段的数量,以及线段在所述节点位置的夹角与夹角阈值的关系,从不同角度判断节点位置是否为路口类型,提高了路口识别的准确性。确性。确性。
技术研发人员:吴明豪 黄寅 朱吉林
受保护的技术使用者:深圳市普渡科技有限公司
技术研发日:2023.02.24
技术公布日:2023/6/4
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/