掌桥专利:专业的专利平台
掌桥专利
首页

一种控制泊车机器人泊车的方法及泊车机器人

文献发布时间:2023-06-19 18:34:06


一种控制泊车机器人泊车的方法及泊车机器人

技术领域

本申请涉及机器人视觉领域,特别涉及一种控制泊车机器人泊车的方法及泊车机器人。

背景技术

所谓泊车机器人,其是指一种用于自动泊车的移动机器人,可以通过夹持和/或背负方式,自动将车辆搬运至空闲车位,从而替代车辆驾驶员完成泊车。

但是,在泊车机器人搬运车辆时,常会出现因车辆位姿信息不准确而严重影响泊车机器人搬运车辆,影响泊车机器人执行泊车的效率。

发明内容

本申请实施例公开了一种控制泊车机器人泊车的方法及泊车机器人,以通过控制泊车机器人泊车的方式,提高泊车机器人泊车的效率。

本申请实施例提供一种控制泊车机器人泊车的方法,该方法应用于泊车机器人,该方法包括:

通过已部署的朝向指定停车区域的第一激光传感器,扫描所述指定停车区域内停放的车辆的轮胎,获得第一点云;

基于第一点云,确定泊车机器人执行泊车所需的参考位姿信息;参考位姿信息是基于相匹配的第一轮胎和第二轮胎确定的;第一轮胎和第二轮胎中的其中一个为所述车辆的左前轮,另一个为右前轮,或者,第一轮胎和第二轮胎中的其中一个为所述车辆的左后轮,另一个为右后轮;所述参考位姿信息至少包括:参考位置,参考位置为所述车辆的车底下的一个位置;

当依据参考位姿信息移动至所述参考位置后,通过泊车机器人的夹臂的第一侧部署的第二激光传感器扫描第一轮胎得到第二点云,以及通过泊车机器人的夹臂的第二侧部署的第三激光传感器扫描第二轮胎得到第三点云;基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息;所述目标位姿信息被用于控制所述泊车机器人对所述车辆执行泊车操作。

可选地,所述基于第一点云,确定泊车机器人执行泊车所需的参考位姿信息包括:

从第一点云中确定目标地面点;所述目标地面点是指处于地面上的点;

依据所述第一点云和所述目标地面点,确定相匹配的第一轮胎点集合和第二轮胎点集合;所述第一轮胎点集合对应第一轮胎,所述第二轮胎点集合对应第二轮胎;

依据所述第一轮胎点集合和第二轮胎点集合,确定所述泊车机器人执行泊车所需的参考位姿信息。

可选地,所述第一点云是由所述第一激光传感器对应的激光雷达坐标系下的点组成;

所述从所述第一点云中确定目标地面点包括:

将第一点云中的点转换为泊车机器人对应的车体坐标系下的参考点;

依据车体坐标系下各参考点的高度,从各参考点中筛选出候选地面点,在车体坐标系下将各候选地面点进行平面拟合得到第一平面;

依据车体坐标系下各参考点至所述第一平面的距离,确定目标参考点;

将第一点云中与车体坐标系下目标参考点对应的点确定为目标地面点。

可选地,所述第一点云中的目标地面点与泊车机器人对应的车体坐标系下的目标参考点相对应;

所述依据所述第一点云和目标地面点,确定相匹配的第一轮胎点集合和第二轮胎点集合包括:

将与目标地面点相对应的各目标参考点在所述车体坐标系下进行平面拟合,得到第二平面;

依据所述车体坐标系下各参考点至所述第二平面的距离,确定候选轮胎点;所述车体坐标系下各参考点是通过将所述第一点云中的点从第一激光传感器对应的激光雷达坐标系转换至所述车体坐标系下得到的;

依据所述车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合。

可选地,所述依据车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合包括:

将车体坐标系下的各候选轮胎点映射至x-y平面坐标系,得到处于所述x-y平面坐标系下的候选轮胎映射点;

在x-y平面坐标系下,对各候选轮胎映射点进行聚类得到至少两个聚类;从所述至少两个聚类中筛选出至少一个左轮胎聚类和至少一个右轮胎聚类;

依据筛选出的左轮胎聚类和右轮胎聚类确定至少一个候选轮胎配对;每一候选轮胎配对中包含一个左轮胎聚类和一个右轮胎聚类;从各候选轮胎配对中确定至少一个目标轮胎配对;其中一个目标轮胎配对包含的左轮胎聚类和右轮胎聚类中的一个为第一轮胎点集合,另一个为第二轮胎点集合。

可选地,所述从所述至少两个聚类中筛选出至少一个左轮胎聚类和至少一个右轮胎聚类包括:

针对每一聚类,在所述x-y平面坐标系下确定该聚类对应的聚类框;

若该聚类框在所述x-y平面坐标系下的指定参考线的左边,则确定该聚类为左轮胎聚类;若该聚类框在所述指定参考线的右边,则确定该聚类为右轮胎聚类;所述指定参考线依据所述泊车机器人的纵向中心线确定。

可选地,所述从各候选轮胎配对中确定至少一个目标轮胎配对包括:

针对每一候选轮胎配对,从该候选轮胎配对中的左轮胎聚类中筛选出至第一类候选轮胎映射点,从该候选轮胎配对中的右轮胎聚类中筛选出第二类候选轮胎映射点;所述第一点云中与所述第一类候选轮胎映射点对应的点、以及与所述第二类候选轮胎映射点对应的点处于所述第一激光传感器的同一扫描平面上;

若所述第一类候选轮胎映射点和所述第二类候选轮胎映射点满足左右轮匹配条件,则确定该候选轮胎配对为目标轮胎配对。

可选地,所述基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息包括:

将所述第二点云中的点、以及所述第三点云中的点分别转换至所述泊车机器人对应的车体坐标下,得到所述车体坐标下的转换点;

对所述车体坐标下的转换点进行聚类,得到至少两个聚类;

从所述至少两个聚类中筛选出满足指定聚类条件的两个目标聚类;所述两个目标聚类中的一个表示所述第一轮胎,另一个表示所述第二轮胎;

依据所述两个目标聚类,确定所述目标位姿信息。

可选地,所述依据所述两个目标聚类,确定所述目标位姿信息包括:

在所述车体坐标下确定第一边界框和第二边界框,所述第一边界框为其中一个目标聚类的边界框,第二边界框为另一个目标聚类的边界框;

在所述车体坐标下确定第一连线;所述第一连线是指垂直于第二连线、且经由所述第二连线的中心的连线,所述第二连线是指第一边界框的第一中心点与所述第二边界框的第二中心点之间的连线;

依据所述第二连线的中心在所述车体坐标系下的坐标信息、以及所述第一连线在所述车体坐标系下的方向信息,确定所述目标位姿信息。

本申请实施例还提供一种泊车机器人,所述泊车机器人的车头和车尾各安装了一个激光传感器;

所述泊车机器人的夹臂的第一侧安装了第二激光传感器,第二侧安装了第三激光传感器;所述泊车机器人还包括处理器和机器可读存储介质;其中,机器可读存储介质存储有能够被执行的机器可执行指令;

所述机器可执行指令被所述处理器执行,以实现上述方法中的步骤,其中,当泊车机器人移动至指定位置后,若泊车机器人的车头朝向指定停车区域,则该车头安装的激光传感器作为第一激光传感器,若泊车机器人的车尾朝向指定停车区域,则该车尾安装的激光传感器作为第一激光传感器

由以上技术方案可知,本申请实施例先通过朝向指定停车区域的第一激光传感器扫描指定停车区域内停放的车辆的轮胎获得第一点云,基于第一点云动态进行车轮识别,以确定泊车机器人执行泊车所需的参考位姿信息(至少包括参考位置),之后泊车机器人依据参考位姿信息行驶至参考位置,再通过泊车机器人的夹臂的两侧部署的激光传感器比如2D激光雷达计算更精确的目标位姿信息,以实现夹臂和车轮完成精确对准,方便后续对车辆的夹持操作,避免现有因泊车机器人搬运车辆时出现因车辆位姿信息不准确而导致泊车机器人无法正常搬运车辆,从而提高泊车机器人执行泊车的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本申请实施例提供的方法流程图;

图2为本申请实施例提供的泊车机器人结构图;

图3为本申请实施例提供的步骤102实现流程图;

图4为本申请实施例提供的步骤301实现流程图;

图5为本申请实施例提供的步骤302实现流程图;

图6为本申请实施例提供的步骤503实现流程图;

图7a至图7g为本申请实施例提供的聚类示意图;

图8为本申请实施例提供的步骤103实现流程图;

图9为本申请实施例提供的装置结构图;

图10为本申请实施例提供的泊车机器人的硬件结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

参见图1,图1为本申请实施例提供的方法流程图。该流程应用于泊车机器人。

作为一个实施例,泊车机器人的车头和车尾各安装了一个激光传感器。本实施例并不局限激光传感器的安装位置,只要能够保证识别车轮即可。

在本实施例中,泊车机器人的夹臂的第一侧和第二侧分别安装了一个激光传感器。这里的激光传感器可不同于上述车头或车尾安装的激光传感器。比如,夹臂的第一侧和第二侧分别安装的激光传感器为2D激光传感器,上述车头或车尾安装的激光传感器为3D激光传感器(比如3D激光雷达)。这里,上述的第一侧和第二侧可分别为夹臂处的左右两侧,图2举例示出了泊车机器人的结构。图2中,上述车头和车尾的角上分别安装了激光传感器比如3D激光传感器,夹臂中间的左边和右边分别部署了激光传感器比如2D激光雷达。

需要说明的是,本实施例中,为便于描述,上述泊车机器人的夹臂的第一侧部署的激光传感器可记为第二激光传感器,泊车机器人的夹臂的第二侧部署的激光传感器可记为第三激光传感器。

如图1所示,该流程可以包括以下步骤:

步骤101,通过已部署的朝向指定停车区域的第一激光传感器,扫描指定停车区域内停放的车辆的四个轮胎,获得第一点云。

在实际应用中,用户会先将车辆停到指定停车区域比如停车场内设置的一块区域。当车辆被停到指定停车区域时,用于控制泊车机器人泊车的系统比如机器人控制系统(RCS:Robot Control System)等会选择至少一辆泊车机器人对上述车辆执行泊车操作。被选择的泊车机器人(也即上述泊车机器人)会移动到指定位置。该指定位置至上述指定停车区域的距离在设定距离范围之内。

作为一个实施例,如步骤101描述,泊车机器人在移动至上述指定位置后,会先确定是车头部署的一个激光传感器面向(朝向)上述指定停车区域的上述车辆,还是车尾部署的一个激光传感器面向(朝向)上述指定停车区域的上述车辆,之后,打开朝向指定停车区域的一个激光传感器(记为第一激光传感器),由第一激光传感器通过向指定停车区域内停放的上述车辆的四个轮胎发射多条激光线扫描该四个轮胎,得到上述第一点云。在本实施例中,上述设定距离范围在第一激光传感器的探测范围内。

如上描述的,车头或车尾部署的激光传感器(第一激光传感器)为3D激光雷达,则这里的第一点云可为由第一激光传感器对应的激光雷达坐标系下的点组成的点云。至于如何基于3D激光雷达获得第一点云,其类似先有点云生成方式,这里不再赘述。

步骤102,基于第一点云,确定泊车机器人执行泊车所需的参考位姿信息。

作为一个实施例,这里的参考位姿信息是基于对上述第一点云识别出相匹配的第一轮胎和第二轮胎确定的。第一轮胎和第二轮胎中的其中一个为所述车辆的左前轮,另一个为右前轮,或者,第一轮胎和第二轮胎中的其中一个为所述车辆的左后轮,另一个为右后轮;

作为一个实施例,这里的参考位姿信息至少包括:参考位置。这里,参考位置为上述车辆的车底下的一个,是泊车机器人在执行泊车时进入车底后停留的位置,其是基于第一轮胎的位置信息和第二轮胎的位置信息确定,下文会通过图3举例描述,这里暂不赘述。

步骤103,当依据参考位姿信息移动至参考位置后,通过泊车机器人的夹臂的第一侧部署的第二激光传感器扫描第一轮胎,得到第二点云,以及通过泊车机器人的夹臂的第二侧部署的第三激光传感器扫描第二轮胎,得到第三点云;基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息;所述目标位姿信息被用于控制所述泊车机器人对所述车辆执行泊车操作。

作为一个实施例,上述参考位姿信息还可进一步包括:移动方向。可选地,这里的移动方向可用于保证泊车机器人和车辆的中心线原则上在同一条线上的,且泊车机器人的车头与车辆的车头的朝向一致。至于如何确定上述参考位姿信息中的移动方向,下文会举例描述,这里暂不赘述。

基于上述参考位姿信息的描述,本实施例中,可依据上述参考位姿信息朝向参考位置移动,直至移动至参考位置。

在泊车机器人移动至上述参考位置后,此时泊车机器人的夹臂差不多是对准车轮(上述第一轮胎和上述第二轮胎)的。但为了实现泊车机器人和车轮精确对准,减少不同汽车车轮半径不同导致的激光动态车轮识别的误差,还需要使用夹臂两侧部署的激光传感器进行精细车轮识别,具体如步骤103描述的,通过泊车机器人的夹臂的第一侧部署的第二激光传感器扫描第一轮胎,得到第二点云,以及通过泊车机器人的夹臂的第二侧部署的第三激光传感器扫描第二轮胎,得到第三点云;基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息;目标位姿信息被用于控制泊车机器人对车辆执行泊车操作。最终获得了泊车机器人执行泊车所需的目标位姿信息。至于如何基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息,下文会举例描述,这里暂不赘述。

之后,泊车机器人即可基于该目标位姿信息,微调自身的位姿信息,以使夹臂和车轮完成精确对准,方便后续对车辆的夹持操作。需要说明的是,在应用中,一般常需要两个泊车机器人完成同一车辆的泊车,具体可为:其中一个泊车机器人按照如上步骤101至步骤103获得基于相匹配的左前轮和右前轮确定的目标位姿信息,另一个泊车机器人按照如上步骤101至步骤103获得基于相匹配的左后轮和右后轮确定的目标位姿信息,之后,两个机器人分别基于确定的目标位姿信息相配合执行车辆的夹持操作,以完成车辆的泊车。

至此,完成图1所示流程。

通过图1所述流程可以看出,在本实施例中,先通过朝向指定停车区域的第一激光传感器扫描指定停车区域内停放的车辆的四个轮胎获得第一点云,基于第一点云动态进行车轮识别,以确定泊车机器人执行泊车所需的参考位姿信息(至少包括参考位置),之后泊车机器人依据参考位姿信息行驶至参考位置,再通过泊车机器人的夹臂的两侧部署的激光传感器比如2D激光雷达计算更精确的目标位姿信息,以实现夹臂和车轮完成精确对准,方便后续对车辆的夹持操作,避免现有因泊车机器人搬运车辆时出现因车辆位姿信息不准确而导致泊车机器人无法正常搬运车辆,从而提高泊车机器人执行泊车的效率。

下面对本申请实施例提供的步骤102进行举例描述:

参见图3,图3为本申请实施例提供的步骤102实现流程图。如图3所示,该流程可包括以下步骤:

步骤301,从第一点云中确定目标地面点;所述目标地面点是指处于地面上的点。

如上描述,虽说第一激光传感器是向指定停车区域内停放的上述车辆的四个轮胎发射多条激光线扫描该四个轮胎,但这很难避免激光线照射到地面,尤其是与轮胎相交的地面。为了保证轮胎的识别精度,这里会先识别出上述目标地面点。图4会举例示出如何识别目标地面点,这里暂不赘述。

步骤302,依据目标地面点和第一点云,确定出相匹配的第一轮胎点集合和第二轮胎点集合;第一轮胎点集合对应第一轮胎,第二轮胎点集合对应第二轮胎。

这里,第一轮胎、第二轮胎只是为便于描述而进行的命名,并非用于限定。作为一个实施例,第一轮胎和第二轮胎中的其中一个为上述车辆的左前轮,另一个为右前轮,或者,第一轮胎和第二轮胎中的其中一个为上述车辆的左后轮,另一个为右后轮。至于如何依据目标地面点和第一点云,确定相匹配的第一轮胎点集合和第二轮胎点集合,下文图5会举例描述,这里暂不赘述。

步骤303,依据第一轮胎点集合和第二轮胎点集合,确定泊车机器人执行泊车所需的参考位姿信息。

如上描述,这里第一轮胎点集合对应第一轮胎,第二轮胎点集合对应第二轮胎,基于此,作为一个实施例,可基于第一轮胎点集合中各点,生成对应的边界框1,以及基于第二轮胎点集合中各点,生成对应的边界框2,之后,确定连线1,连线1是指垂直于连线2(边界框1的中心点与边界框2的中心点之间的连线)、且经由连线2的中心的连线,依据连线2的中心的坐标信息、以及连线1的方向信息,确定参考位姿信息。比如,可将连线2的中心的坐标信息确定为参考位姿信息中的参考位置,将连线1与车辆朝向对应的坐标轴比如X轴形成的夹角确定为参考位姿信息中的移动方向。最终确定出了上述参考位姿信息。

至此,完成图3所示流程。

通过图3所示流程,实现了如何基于第一点云,确定泊车机器人执行泊车所需的参考位姿信息。

下面对上述步骤301中,如何从第一点云中确定目标地面点进行描述:

参见图4,图4为本申请实施例提供的步骤301实现流程图。如图4所示,该流程可包括以下步骤:

步骤401,将第一点云中的点转换为泊车机器人对应的车体坐标系下的点(记为参考点)。

如上描述,第一点云是由第一激光传感器对应的激光雷达坐标系下的点组成,基于此,本实施例中,可依据预先配置的第一转换关系,将第一点云中的点转换至泊车机器人对应的车体坐标系,得到处于车体坐标系下的点(记为参考点)。这里的第一转换关系可用于实现从激光雷达坐标系转换至车体坐标系下。可选地,车体坐标系可为以泊车机器人的中心为原点、从车中心向前的方向为X轴,向左的方向为Y轴形成的三维坐标系(当X轴、Y轴确定后,Z轴相应也就确定)。

步骤402,依据车体坐标系下各参考点的高度,从各参考点中筛选出候选地面点。

比如,可将Z轴坐标值大于第一预设阈值比如5厘米(cm)的点作为候选地面点,这里不进行具体限定。

步骤403,在车体坐标系下将各候选地面点进行平面拟合得到第一平面,依据车体坐标系下各参考点至第一平面的距离,确定目标参考点;将第一点云中与车体坐标系下目标参考点对应的点确定为目标地面点。

可选地,在本实施例中,可按照现有平面拟合的方式比如最小二乘法拟合平面算法,对车体坐标系下将各候选地面点进行平面拟合得到一个平面(记为第一平面)。

之后,计算车体坐标系下各参考点至第一平面的距离。在本实施例中,第一平面可通过对应的平面参数比如中心点坐标信息等表征。基于此,以平面参数通过中心点坐标信息表征为例,这里计算车体坐标系下各参考点至第一平面的距离可为:计算各参考点的坐标信息与平面参数之间的距离。

在计算出车体坐标系下各参考点至第一平面的距离之后,则可依据车体坐标系下各参考点至第一平面的距离,确定目标参考点。比如,针对每一参考点,若该参考点至第一平面的距离小于第二设定阈值比如10cm(此时该参考点被认为内点),则将该参考点确定为目标参考点。之后,将第一点云中与车体坐标系下目标参考点对应的点确定为目标地面点。比如,可基于上述第一转换关系确定第一点云中与车体坐标系下目标参考点对应的目标地面点。

最终,通过图4所示流程,实现了如何从第一点云中确定目标地面点。需要说明的是,图4只是举例描述如何从第一点云中确定目标地面点,并非用于限定。

下面对上述步骤302中如何依据第一点云和目标地面点,确定相匹配的第一轮胎点集合和第二轮胎点集合进行描述:

参见图5,图5为本申请实施例提供的步骤302实现流程图。如图5所示,该流程可包括以下步骤:

步骤501,将与目标地面点相对应的各目标参考点在车体坐标系下进行平面拟合,得到第二平面。

这里的目标参考点、目标地面点如上描述,这里不再赘述。

可选地,在本实施例中,可按照现有平面拟合的方式比如最小二乘法拟合平面算法,对车体坐标系下将各目标地面点进行平面拟合得到一个平面(记为第二平面)。

步骤502,依据车体坐标系下各参考点至第二平面的距离,确定候选轮胎点。

这里的参考点如上步骤401描述,其是通过将第一点云中的点从第一激光传感器对应的激光雷达坐标系转换至车体坐标系下得到的。

作为一个实施例,本步骤502中,可先计算车体坐标系下各参考点至第二平面的距离。在本实施例中,第二平面可通过对应的平面参数比如中心点坐标信息等表征。基于此,以平面参数通过中心点坐标信息表征为例,这里计算车体坐标系下各参考点至第二平面的距离可为:计算各参考点的坐标信息与平面参数之间的距离。

在计算出车体坐标系下各参考点至第二平面的距离之后,则可依据车体坐标系下各参考点至第二平面的距离,确定候选轮胎点。比如,针对每一参考点,若该参考点至第二平面的距离满足设定要求,则将该参考点确定为候选轮胎点。可选地,这里的设定要求比如为低于车辆底盘高度(比如10cm)且高于地面高度(比如5cm)。最终,通过步骤502筛选出了低于车辆底盘高度(比如10cm)且高于地面高度(比如5cm)的参考点作为候选轮胎点。

步骤503,依据车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合。

可选地,在本实施例中,本步骤503为了实现依据车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合,需要将各候选轮胎点从车体坐标系映射至x-y平面坐标系,最终会得到映射至x-y平面坐标系下的点(记为候选轮胎映射点),之后即可依据候选轮胎映射点确定相匹配的第一轮胎点集合和第二轮胎点集合,下文图6进行了举例描述,这里暂不赘述。

最终,通过图5所示流程实现了如何依据第一点云和目标地面点,确定相匹配的第一轮胎点集合和第二轮胎点集合。

下面对上述步骤503中如何依据车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合进行描述:

参见图6,图6为本申请实施例提供的步骤503实现流程图。如图6所示,该流程可包括以下步骤:

步骤601,将车体坐标系下的各候选轮胎点映射至x-y平面坐标系,得到处于x-y平面坐标系下的候选轮胎映射点。

可选地,本实施例中,可通过预先配置的第二转换关系,将车体坐标系下的各候选轮胎点映射至x-y平面坐标系,以得到映射至x-y平面坐标系下的点(记为候选轮胎映射点)。这里的第二转换关系,用于实现车体坐标系与x-y平面坐标系之间的映射,本实施例并不具体限定。

步骤602,在x-y平面坐标系下,对各候选轮胎映射点进行聚类,得到至少两个聚类。

可选地,在本实施例中,可按照现有聚类方式比如K均值算法(k-means)等,对各候选轮胎映射点进行聚类,得到至少两个聚类。图7a举例示出了0,1,2,3四个聚类。

步骤603,从上述至少两个聚类中筛选出至少一个左轮胎聚类和至少一个右轮胎聚类。

可选地,在本实施例中,当车辆停到上述指定停车区域时,上述管理系统会直接确定出车辆的纵向中心位置(从前至后的方向上的中心位置)所在的纵向中心线,一旦知道该纵向中心线,则本实施例中,可将该纵向中心线映射至上述x-y平面坐标系,之后将上述x-y平面坐标系中垂直该纵向中心线且经过指定中心点(上述纵向中心位置映射至上述x-y平面坐标系中的点)的线作为指定参考线。之后,针对每一聚类,在x-y平面坐标系下确定该聚类对应的聚类框,若聚类框在x-y平面坐标系下的指定参考线的左边,则确定该聚类为左轮胎聚类,若该聚类框在指定参考线的右边,则确定该聚类为右轮胎聚类。最终实现了从至少两个聚类中筛选出至少一个左轮胎聚类和至少一个右轮胎聚类。比如图7b示例出了左轮胎聚类为0,3;右轮胎聚类为2,1。再比如图7c示例出了左轮胎聚类为1,2,3;右轮胎聚类为0。

步骤604,依据筛选出的左轮胎聚类和右轮胎聚类确定至少一个候选轮胎配对;每一候选轮胎配对中包含一个左轮胎聚类和一个右轮胎聚类。

在本实施例中,每一聚类表示一个轮胎的可能位置,比如,左轮胎聚类可表示左轮胎比如左前轮胎或者左后轮胎的位置,右轮胎聚类可表示右轮胎比如右前轮胎或者右后轮胎的位置。

可选地,在本实施例中,可按照预设的筛选条件从左轮胎聚类和右轮胎聚类确定至少一个候选轮胎配对。比如,这里的筛选条件可为:同一候选轮胎配对中,左轮胎聚类对应的左轮胎边界框至泊车机器人(该泊车机器人当前处于上述指定位置)的距离与右轮胎聚类对应的右轮胎边界框至泊车机器人的距离的差在设定距离范围之内。再比如,这里的筛选条件可为:同一候选轮胎配对中,左轮胎聚类对应的左轮胎边界框和右轮胎聚类对应的右轮胎边界框之间的连线,与泊车机器人(该泊车机器人当前处于上述指定位置)当前的位置向量之间的夹角在设定角度范围之内。等等,本实施例并不具体限定。

对应上述图7b所示的左右轮胎聚类,图7d示出了两个候选轮胎配对,比如左轮胎聚类0,右轮胎聚类2组成一个候选轮胎配对,左轮胎聚类3,右轮胎聚类1组成一个候选轮胎配对。对应上述图7c所示的左右轮胎聚类,图7e示出了两个候选轮胎配对,比如左轮胎聚类0,右轮胎聚类1组成一个候选轮胎配对,左轮胎聚类0,右轮胎聚类2组成一个候选轮胎配对。

步骤605,从各候选轮胎配对中确定至少一个目标轮胎配对;其中一个目标轮胎配对包含的左轮胎聚类和右轮胎聚类中的一个为第一轮胎点集合,另一个为第二轮胎点集合。

在本实施例中,由于轮胎是圆的,上述第一激光传感器比如3D激光雷达,打在轮胎更高处的激光线,离泊车机器人更近,打在轮胎较低处的激光线,离泊车机器人较远。基于此,为保证轮胎识别准确,本实施例可基于属于3D激光同一扫描平面的激光点的特性从各候选轮胎配对中筛选出目标轮胎配对。比如,针对每一候选轮胎配对,从该候选轮胎配对中的左轮胎聚类中筛选出至第一类候选轮胎映射点,从该候选轮胎配对中的右轮胎聚类中筛选出第二类候选轮胎映射点;这里,第一点云中与第一类候选轮胎映射点对应的点、以及与第二类候选轮胎映射点对应的点处于第一激光传感器的同一扫描平面上,若第一类候选轮胎映射点和第二类候选轮胎映射点满足左右轮匹配条件,则确定该候选轮胎配对为目标轮胎配对。

第一激光传感器比如3D激光雷达,其在扫描轮胎时,会有多个扫描平面,这些扫描平面的俯仰角不同。可选地,在本实施例中,可在获得上述第一点云时,进一步记录第一点云中各点所属的扫描平面。这里,确定第一点云中各点所属的扫描平面有很多方式,比如,计算该点俯仰角,根据计算出的俯仰角确定该点所属的扫描平面,不同扫描平面具有不同的俯仰角。

基于上述记录的第一点云中各点所属的扫描平面,则本实施例中,借助上述第二转换关系、第一转换关系很容易从该候选轮胎配对中的左轮胎聚类中筛选出至第一类候选轮胎映射点,从该候选轮胎配对中的右轮胎聚类中筛选出第二类候选轮胎映射点,以实现第一点云中与第一类候选轮胎映射点对应的点、以及与第二类候选轮胎映射点对应的点处于第一激光传感器的同一扫描平面上。对应上述图7b或7d,图7f示例出了第一类候选轮胎映射点、第二类候选轮胎映射点,对应上述图7c或7e,图7g示例出了第一类候选轮胎映射点、第二类候选轮胎映射点。

在本实施例中,上述左右轮匹配条件有很多,比如:第一类候选轮胎映射点对应的边界框的中心与第二类候选轮胎映射点对应的边界框的中心的连线垂直上述指定参考线,等等,本实施例并不具体限定。

至此,完成图6所示流程。

通过图6所示流程实现了如何依据车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合。

以图7f为例,通过图6所示流程确定出两个目标轮胎配对,其中一个目标轮胎配对为左轮胎聚类0,右轮胎聚类2之间的配对,另一个目标轮胎配对为左轮胎聚类3,右轮胎聚类1之间的配对。需要说明的是,基于图7f这一场景,虽然通过图6所示流程确定出两个目标轮胎配对,其中一个目标轮胎配对指示了车辆左前轮(对应左前轮胎聚类)和右前轮(对应右前轮胎聚类)的配对、另一个目标轮胎配对指示了车辆左后轮(对应左后轮胎聚类)和右后轮(对应右后轮胎聚类)的配对,但是,泊车机器人最后会从这两个目标轮胎配对中选择一个,被选择的目标轮胎配对中的其中一个聚类比如左轮胎聚类0,右轮胎聚类2中的一个为上述第一轮胎点集合,另一个为第二轮胎点集合。

再以图7g为例,通过图6所示流程确定出1个目标轮胎配对,该目标轮胎配对为左轮胎聚类1,右轮胎聚类0之间的配对。这里,左轮胎聚类1,右轮胎聚类02中的一个为上述第一轮胎点集合,另一个为第二轮胎点集合。

基于上面步骤605描述的“若第一类候选轮胎映射点和第二类候选轮胎映射点满足左右轮匹配条件,则确定该候选轮胎配对为目标轮胎配对”,则上述步骤303中,依据第一轮胎点集合和第二轮胎点集合,确定泊车机器人执行泊车所需的参考位姿信息可包括:获得从目标轮胎配对中第一轮胎点集合(比如左轮胎聚类或右轮胎聚类)中筛选出的第一类候选轮胎映射点以及从目标轮胎配对中第二轮胎点集合中筛选出的第二类候选轮胎映射点,在x-y平面坐标系下,基于第一类候选轮胎映射点生成对应的边界框11,以及基于第二类候选轮胎映射点生成对应的边界框12,之后,确定连线11,连线11是指垂直于连线21(边界框11的中心点与边界框12的中心点之间的连线,为便于描述,记为连线21)、且经由连线21的中心点的连线,依据连线21的中心的坐标信息、以及连线11的方向信息,确定参考位姿信息。比如,可将连线21的中心的坐标信息确定为参考位姿信息中的参考位置,将连线11与X轴形成的夹角确定为参考位姿信息中的移动方向。最终确定出了上述参考位姿信息。

下面对上述步骤103中如何基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息进行描述:

参见图8,图8为本申请实施例提供的步骤103实现流程图。如图8所示,该流程可包括以下步骤:

步骤801,将第二点云中的点、以及第三点云中的点分别转换至泊车机器人对应的车体坐标下,得到车体坐标下的转换点。

如上描述的,第二激光传感器、第三激光传感器可为2D传感器。对应地,其获得的第二点云、第三点云可为二维坐标系即x-y平面坐标系下的点。基于如上第二转换关系,则可将第二点云中的点、以及第三点云中的点分别转换至泊车机器人对应的车体坐标下,得到车体坐标下的点(为便于区分,该点记为转换点)。

步骤802,对车体坐标下的转换点进行聚类,得到至少两个聚类。

作为一个实施例,可按照现有聚类方式比如K均值算法(k-means)等,对对车体坐标下的转换点进行聚类,得到至少两个聚类。

步骤803,从上述至少两个聚类中筛选出满足指定聚类条件的两个目标聚类;两个目标聚类中的一个表示上述第一轮胎,另一个表示上述第二轮胎。

这里,指定聚类条件可根据实际需求设置,比如聚类的宽度满足设定阈值等,本实施例并不具体限定。这里,聚类的宽度是指聚类对应的边界框的宽度等,本实施例也不具体限定。

步骤804,依据上述两个目标聚类,确定上述目标位姿信息。

比如,在上述车体坐标下确定第一边界框和第二边界框,第一边界框为其中一个目标聚类的边界框,第二边界框为另一个目标聚类的边界框;在车体坐标下确定第一连线,第一连线是指垂直于第二连线、且经由所述第二连线的中心的连线,所述第二连线是指第一边界框的第一中心点与所述第二边界框的第二中心点之间的连线;依据所述第二连线的中心在所述车体坐标系下的坐标信息、以及所述第一连线在所述车体坐标系下的方向信息,确定所述目标位姿信息。比如,将所述第二连线的中心在所述车体坐标系下的坐标信息作为目标位姿信息中的目标位置,将第一连线在车体坐标系下的方向信息,作为目标位姿信息中的方向。

在得到上述目标位姿信息之后,则可基于目标位姿信息调整泊车机器人的位姿比如位置和方向,以保证泊车机器人精确对准上述的第一轮胎和第二轮胎。

至此,完成图8所示流程。

通过图8所示的流程,实现了如何基于第二点云和第三点云确定泊车机器人执行泊车所需的目标位姿信息。

以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:

参见图9,图9为本申请实施例提供的装置结构图。该装置应用于泊车机器人,该装置可包括:

扫描控制单元,用于在移动至指定位置后,通过已部署的朝向指定停车区域的第一激光传感器,扫描所述指定停车区域内停放的车辆的四个轮胎,获得第一点云;所述指定位置至所述指定停车区域的距离在设定距离范围之内,所述设定距离范围在所述第一激光传感器的探测范围内;

确定单元,用于基于所述第一点云,确定泊车机器人执行泊车所需的参考位姿信息;参考位姿信息是基于相匹配的第一轮胎和第二轮胎确定的;第一轮胎和第二轮胎中的其中一个为所述车辆的左前轮,另一个为右前轮,或者,第一轮胎和第二轮胎中的其中一个为所述车辆的左后轮,另一个为右后轮;所述参考位姿信息至少包括:参考位置,参考位置为所述车辆的车底下的一个位置;

泊车控制单元,用于依据所述参考位姿信息朝向所述参考位置移动,直至移动至所述参考位置;在移动至所述参考位置后,通过所述泊车机器人的夹臂的第一侧部署的第二激光传感器扫描第一轮胎,得到第二点云,以及通过所述泊车机器人的夹臂的第二侧部署的第三激光传感器扫描第二轮胎,得到第三点云;基于所述第二点云和所述第三点云确定泊车机器人执行泊车所需的目标位姿信息;所述目标位姿信息被用于控制所述泊车机器人对所述车辆执行泊车操作。

可选地,所述基于所述第一点云,确定所述泊车机器人执行泊车所需的参考位姿信息包括:

从所述第一点云中确定目标地面点;所述目标地面点是指处于地面上的点;

依据所述第一点云和所述目标地面点,确定相匹配的第一轮胎点集合和第二轮胎点集合;所述第一轮胎点集合对应第一轮胎,所述第二轮胎点集合对应第二轮胎;

依据所述第一轮胎点集合和第二轮胎点集合,确定所述泊车机器人执行泊车所需的参考位姿信息。

可选地,所述第一点云是由所述第一激光传感器对应的激光雷达坐标系下的点组成;

所述从所述第一点云中确定目标地面点包括:

将第一点云中的点转换为泊车机器人对应的车体坐标系下的参考点;

依据车体坐标系下各参考点的高度,从各参考点中筛选出候选地面点,在车体坐标系下将各候选地面点进行平面拟合得到第一平面;

依据车体坐标系下各参考点至所述第一平面的距离,确定目标参考点;

将第一点云中与车体坐标系下目标参考点对应的点确定为目标地面点。

可选地,所述第一点云中的目标地面点与泊车机器人对应的车体坐标系下的目标参考点相对应;

所述依据所述第一点云和目标地面点,确定相匹配的第一轮胎点集合和第二轮胎点集合包括:

将与目标地面点相对应的各目标参考点在所述车体坐标系下进行平面拟合,得到第二平面;

依据所述车体坐标系下各参考点至所述第二平面的距离,确定候选轮胎点;所述车体坐标系下各参考点是通过将所述第一点云中的点从第一激光传感器对应的激光雷达坐标系转换至所述车体坐标系下得到的;

依据所述车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合。

可选地,所述依据车体坐标系下的各候选轮胎点,确定出相匹配的第一轮胎点集合和第二轮胎点集合包括:

将车体坐标系下的各候选轮胎点映射至x-y平面坐标系,得到处于所述x-y平面坐标系下的候选轮胎映射点;

在所述x-y平面坐标系下,对各候选轮胎映射点进行聚类,得到至少两个聚类;从所述至少两个聚类中筛选出至少一个左轮胎聚类和至少一个右轮胎聚类;

依据筛选出的左轮胎聚类和右轮胎聚类确定至少一个候选轮胎配对;每一候选轮胎配对中包含一个左轮胎聚类和一个右轮胎聚类;

从各候选轮胎配对中确定至少一个目标轮胎配对;其中一个目标轮胎配对包含的左轮胎聚类和右轮胎聚类中的一个为第一轮胎点集合,另一个为第二轮胎点集合。

可选地,所述从所述至少两个聚类中筛选出至少一个左轮胎聚类和至少一个右轮胎聚类包括:

针对每一聚类,在所述x-y平面坐标系下确定该聚类对应的聚类框,若该聚类框在所述x-y平面坐标系下的指定参考线的左边,则确定该聚类为左轮胎聚类,若该聚类框在所述指定参考线的右边,则确定该聚类为右轮胎聚类;所述指定参考线依据所述泊车机器人的纵向中心线确定。

可选地,所述从各候选轮胎配对中确定至少一个目标轮胎配对包括:

针对每一候选轮胎配对,从该候选轮胎配对中的左轮胎聚类中筛选出至第一类候选轮胎映射点,从该候选轮胎配对中的右轮胎聚类中筛选出第二类候选轮胎映射点;所述第一点云中与所述第一类候选轮胎映射点对应的点、以及与所述第二类候选轮胎映射点对应的点处于所述第一激光传感器的同一扫描平面上;

若所述第一类候选轮胎映射点和所述第二类候选轮胎映射点满足左右轮匹配条件,则确定该候选轮胎配对为目标轮胎配对。

可选地,所述基于所述第二点云和所述第三点云确定泊车机器人执行泊车所需的目标位姿信息包括:

将所述第二点云中的点、以及所述第三点云中的点分别转换至所述泊车机器人对应的车体坐标下,得到所述车体坐标下的转换点;

对所述车体坐标下的转换点进行聚类,得到至少两个聚类;

从所述至少两个聚类中筛选出满足指定聚类条件的两个目标聚类;所述两个目标聚类中的一个表示所述第一轮胎,另一个表示所述第二轮胎;

依据所述两个目标聚类,确定所述目标位姿信息。

可选地,所述依据所述两个目标聚类,确定所述目标位姿信息包括:

在所述车体坐标下确定第一边界框和第二边界框,所述第一边界框为其中一个目标聚类的边界框,第二边界框为另一个目标聚类的边界框;

在所述车体坐标下确定第一连线;所述第一连线是指垂直于第二连线、且经由所述第二连线的中心的连线,所述第二连线是指第一边界框的第一中心点与所述第二边界框的第二中心点之间的连线;

依据所述第二连线的中心在所述车体坐标系下的坐标信息、以及所述第一连线在所述车体坐标系下的方向信息,确定所述目标位姿信息。

至此,完成图9所示装置的结构。

本申请还提供了图9所示装置的硬件结构。参见图10,图10为本申请实施例提供的泊车机器人的硬件结构图。如图10所示,泊车机器人的车头和车尾各安装了一个激光传感器;

所述泊车机器人的夹臂的第一侧安装了第二激光传感器,第二侧安装了第三激光传感器;所述泊车机器人还包括处理器和机器可读存储介质;其中,机器可读存储介质存储有能够被执行的机器可执行指令;

所述机器可执行指令被所述处理器执行,以实现如上方法中的步骤。这里,当泊车机器人移动至指定位置后,若泊车机器人的车头朝向指定停车区域,则该车头安装的激光传感器作为上述第一激光传感器,若泊车机器人的车尾朝向指定停车区域,则该车尾安装的激光传感器作为上述第一激光传感器。

本申请实施例还提供了一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。

示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

技术分类

06120115615440