CN112666564B - 充电桩的定位方法、装置及设备、存储介质 - Google Patents
充电桩的定位方法、装置及设备、存储介质 Download PDFInfo
- Publication number
- CN112666564B CN112666564B CN202110278405.1A CN202110278405A CN112666564B CN 112666564 B CN112666564 B CN 112666564B CN 202110278405 A CN202110278405 A CN 202110278405A CN 112666564 B CN112666564 B CN 112666564B
- Authority
- CN
- China
- Prior art keywords
- laser data
- data point
- laser
- seed
- target
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本发明提供一种充电桩的定位方法、装置及设备、存储介质,可以实现可移动平台对充电桩的自主定位,结果较为准确。该方法应用于可移动平台,可移动平台上设置有激光雷达,包括:获取激光雷达当前在指定范围内探测得到的激光数据点云;确定种子激光数据点;基于种子激光数据点从激光数据点云中搜索出目标激光数据点集,目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;对目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于拟合直线以及第三激光数据点、第四激光数据点对充电桩进行定位,第三激光数据点为目标激光数据点集中的第一个激光数据点,第四激光数据点为目标激光数据点集中的最后一个激光数据点。
Description
技术领域
本发明涉及充电技术领域,尤其涉及一种充电桩的定位方法、装置及设备、存储介质。
背景技术
在多种场景下的可移动平台都有充电的需求,比如智能搬运车、机器人、自动巡逻车等。以智能搬运车为例,目前智能搬运车的发展十分迅速,其功能也在日益增加,但智能搬运车在工作时常常遇到电池电量不足的问题,需要人手动操作帮助智能搬运车进行续航,这使得智能搬运车在工作过程中到了限制。为了减少人工手动操作对智能搬运车进行续航的问题,研究自主充电成为了目前智能搬运车发展的重大方向。
为方便充电,通常会在可移动平台的工作区域设置充电桩,而实现自主充电的前提是,可移动平台能够对充电桩实现自主定位。然而,目前尚且缺乏一种可以通过可移动平台对充电桩准确、自主定位的方式。
发明内容
本发明提供一种充电桩的定位方法、装置及设备、存储介质,可以实现可移动平台对充电桩的自主定位,结果较为准确。
本发明的第一方面提供一种充电桩的定位方法,应用于可移动平台,所述可移动平台上设置有激光雷达,该方法包括:
获取所述激光雷达当前在指定范围内探测得到的激光数据点云,所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离,所述充电桩处于所述指定范围内;
确定所述激光数据点云中当前用于搜索的种子激光数据点;
从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点;所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点;
对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。
根据本发明的一个实施例,所述从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,包括:
从所述种子激光数据点开始朝第一方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第一方向的遍历;
从所述种子激光数据点开始朝第二方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第二方向的遍历;
将搜索出的目标激光数据点组成为所述目标激光数据点集;或者,在搜索出的目标激光数据点的数量达到设定点数时,将搜索出的目标激光数据点组成为所述目标激光数据点集。
根据本发明的一个实施例,该方法进一步包括:
在搜索出的目标激光数据点的数量未达到设定点数时,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,包括:
将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点;
计算以所述第一投影点和第二投影点为端点的线段的长度;
若所述线段的长度处于设定长度范围内,则根据所述线段对所述充电桩进行定位;所述设定长度范围是根据所述充电桩的尺寸确定的。
根据本发明的一个实施例,将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点之后,该方法进一步包括:
计算所述第三激光数据点到所述第一投影点的第一投影距离;
计算所述第四激光数据点到所述第二投影点的第二投影距离;
在所述第一投影距离与第二投影距离均小于噪声值时,继续执行计算以所述第一投影点和第二投影点为端点的线段的长度的步骤;否则,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,根据所述线段对所述充电桩进行定位,包括:
确定所述线段的中点在所述激光雷达所应用的坐标系中的位置、以及所述线段的方向在所述坐标系中的方向;
基于所述中点的位置以及所述线段的方向确定所述充电桩的位置与朝向。
根据本发明的一个实施例,该方法进一步包括:
若所述线段的长度未处于所述设定长度范围内,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,确定所述激光数据点云中用于搜索的种子激光数据点之后,该方法进一步包括:
检查所述种子激光数据点所指示的距离是否小于或等于设定的距离;
若是,则继续执行从所述当前种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集;
若否,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
所述重新确定所述激光数据点云中用于搜索的种子激光数据点,包括:
检查当前的种子激光数据点对应的第一旋转角度是否大于设定旋转角度;
若是,则在所述第一旋转角度未达到最大旋转角度时,将所述第一旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点;
若否,则在第一旋转角度超过最小旋转角度时,将所述第一旋转角度与设定间隔角度之差所对应的激光数据点作为重新确定出的种子激光数据点;在第一旋转角度未超过最小旋转角度时,将所述设定旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点。
根据本发明的一个实施例,
所述激光雷达是周期性探测的;
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
确定所述激光数据点云中当前用于搜索的种子激光数据点,包括:
若当前探测为在所述指定范围内的首次探测,则将设定旋转角度对应的激光数据点确定为当前的种子激光数据点;
若当前探测为在所述指定范围内的非首次探测,则获取上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点。
根据本发明的一个实施例,基于所述拟合直线以及所述第三激光数据点、第四激光数据点对所述充电桩进行定位之后,该方法进一步包括:
控制所述可移动平台朝向所述充电桩移动,并当移动至所述充电桩时,控制所述可移动平台与所述充电桩连接以充电。
根据本发明的一个实施例,获取所述激光雷达当前在指定范围内探测得到的激光数据点云之前,该方法还包括:
在需对所述可移动平台进行充电时,控制所述可移动平台朝向所述指定范围移动,并在移动至所述指定范围内时,控制所述激光雷达进行探测。
本发明第二方面提供一种充电桩的定位装置,应用于可移动平台,所述可移动平台上设置有激光雷达,该装置包括:
激光数据点云获取模块,用于获取所述激光雷达当前在指定范围内探测得到的激光数据点云,所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离,所述充电桩处于所述指定范围内;
种子激光数据点确定模块,用于确定所述激光数据点云中当前用于搜索的种子激光数据点;
目标激光数据点集搜索模块,用于从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点;所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点;
充电桩定位模块,用于对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。
根据本发明的一个实施例,所述目标激光数据点集搜索模块从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集时,具体用于:
从所述种子激光数据点开始朝第一方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第一方向的遍历;
从所述种子激光数据点开始朝第二方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第二方向的遍历;
将搜索出的目标激光数据点组成为所述目标激光数据点集;或者,在搜索出的目标激光数据点的数量达到设定点数时,将搜索出的目标激光数据点组成为所述目标激光数据点集。
根据本发明的一个实施例,所述目标激光数据点集搜索模块进一步用于:
在搜索出的目标激光数据点的数量未达到设定点数时,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,所述充电桩定位模块基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位时,具体用于:
将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点;
计算以所述第一投影点和第二投影点为端点的线段的长度;
若所述线段的长度处于设定长度范围内,则根据所述线段对所述充电桩进行定位;所述设定长度范围是根据所述充电桩的尺寸确定的。
根据本发明的一个实施例,所述充电桩定位模块将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点之后,进一步用于:
计算所述第三激光数据点到所述第一投影点的第一投影距离;
计算所述第四激光数据点到所述第二投影点的第二投影距离;
在所述第一投影距离与第二投影距离均小于噪声值时,继续执行计算以所述第一投影点和第二投影点为端点的线段的长度的步骤;否则,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,所述充电桩定位模块根据所述线段对所述充电桩进行定位时,具体用于:
确定所述线段的中点在所述激光雷达所应用的坐标系中的位置、以及所述线段的方向在所述坐标系中的方向;
基于所述中点的位置以及所述线段的方向确定所述充电桩的位置与朝向。
根据本发明的一个实施例,所述充电桩定位模块进一步用于:
若所述线段的长度未处于所述设定长度范围内,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,所述种子激光数据点确定模块确定所述激光数据点云中用于搜索的种子激光数据点之后,进一步用于:
检查所述种子激光数据点所指示的距离是否小于或等于设定的距离;
若是,则继续执行从所述当前种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集;
若否,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
根据本发明的一个实施例,
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
所述种子激光数据点确定模块、目标激光数据点集搜索模块、或充电桩定位模块重新确定所述激光数据点云中用于搜索的种子激光数据点时,具体用于:
检查当前的种子激光数据点对应的第一旋转角度是否大于设定旋转角度;
若是,则在所述第一旋转角度未达到最大旋转角度时,将所述第一旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点;
若否,则在第一旋转角度超过最小旋转角度时,将所述第一旋转角度与设定间隔角度之差所对应的激光数据点作为重新确定出的种子激光数据点;在第一旋转角度未超过最小旋转角度时,将所述设定旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点。
根据本发明的一个实施例,
所述激光雷达是周期性探测的;
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
所述种子激光数据点确定模块确定所述激光数据点云中当前用于搜索的种子激光数据点时,具体用于:
若当前探测为在所述指定范围内的首次探测,则将设定旋转角度对应的激光数据点确定为当前的种子激光数据点;
若当前探测为在所述指定范围内的非首次探测,则获取上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点。
根据本发明的一个实施例,该装置进一步包括:
充电模块,用于控制所述可移动平台朝向所述充电桩移动,并当移动至所述充电桩时,控制所述可移动平台与所述充电桩连接以充电。
根据本发明的一个实施例,该装置还包括:
预移动模块,用于在需对所述可移动平台进行充电时,控制所述可移动平台朝向所述指定范围移动,并在移动至所述指定范围内时,控制所述激光雷达进行探测。
本发明第三方面提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的充电桩的定位方法。
本发明第四方面提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的充电桩的定位方法。
本发明具有以下有益效果:
本发明实施例中,通过获取可移动平台上设置的激光雷达当前在充电桩所处的指定范围内探测得到的激光数据点云,从激光数据点云中确定出种子激光数据点,并从种子激光数据点开始往激光数据点云的头部和尾部方向搜索,从而可以以更快的速度搜索出满足要求的目标激光数据点集,之后对目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,在拟合直线未受噪声影响的情况下,拟合直线以及目标激光数据点集中的第一个和最后一个激光数据点可以一定程度上表征充电桩的姿态信息,因而可基于此对充电桩进行定位,整个过程可以由可移动平台自主实现,不需要外部人员参与,可以实现可移动平台对充电桩的自主定位,也不需要依赖地图,安全性高,不易受环境因素影响,定位结果较为准确,进而可实现可移动平台的自动充电。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的充电桩的定位方法的流程示意图;
图2是本发明另一实施例的充电桩的定位方法的流程示意图;
图3是本发明一实施例的充电桩的定位装置的结构框图;
图4是本发明另一实施例的充电桩的定位装置的结构框图;
图5是本发明一实施例的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本发明实施例的充电桩的定位方法,可以应用于可移动平台,可以在可移动平台需充电时,实现充电桩的自主定位,从而可移动平台可自动地移动至充电桩进行充电,无需工作人员的帮助。
可选的,可移动平台比如可以为智能搬运车、自动引导车等等,具体不做限定,只要是可在电能供应的情况下实现移动、以及具有一定处理能力的平台均适用。
所述可移动平台上设置有激光雷达,激光雷达是一种通过脉冲激光照射目标并用传感器测量反射脉冲返回时间来测量目标距离的装置。
在一个实施例中,参看图1,一种充电桩的定位方法,可以包括以下步骤:
S100:获取所述激光雷达当前在指定范围内探测得到的激光数据点云,所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离,所述充电桩处于所述指定范围内;
S200:确定所述激光数据点云中当前用于搜索的种子激光数据点;
S300:从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点;所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点;
S400:对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。
本发明实施例的充电桩的定位方法的执行主体为可移动平台,进一步地可以为可移动平台的处理器,其中,处理器可以为一个或多个,处理器可以为通用处理器或者专用处理器。
步骤S100中,获取所述激光雷达当前在指定范围内探测得到的激光数据点云。
所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离。
本发明实施例中的激光雷达,可以是单点发射激光雷达,其发射器一次激发一个点。在一次探测过程中,激光雷达可以发射多个点,从而采集到连续多个激光数据点。
可选的,上述的激光数据点云为线状点云,可以是由激光雷达连续多次采集得到的。当然,线状点云可以呈直线状,可以呈圆弧状,也可以呈其他形状比如不规则曲线状,具体可视环境情况以及采集时激光雷达的运动情况而定。
可选的,激光雷达可以通过可旋转基座安装在可移动平台上,在探测过程中,激光雷达可通过可旋转基座绕可移动平台旋转,旋转一周采集到的数据可以认为是一帧数据,该一帧数据由多个激光数据点组成。换言之,激光数据点云可以是激光雷达旋转一周采集到的数据,旋转一周即为一次探测过程。
激光雷达每秒可以旋转比如20圈,相应的频率为20HZ,当然,此处只是举例,并不作为限制。可选的,可移动平台在激光雷达探测时可以维持不移动。
在上述的例子中,激光数据采集的每一帧数据都可作为激光数据点云,是由激光雷达在探测过程中采集到的连续的多个激光数据点。由于光速很高,所以基本上在发射时就能接收到反射回来的光,形成相应的激光数据点。
一般来说,每一个激光数据点应当与场景中的一个被探测点对应,指示被探测点与激光雷达之间的真实距离。当然,如果在激光数据点云中存在较多噪声点的情况下,也可以对激光数据点云进行过滤之后再执行后续的步骤,具体不做限定。
由于激光数据点云是激光雷达当前在所述指定范围内探测得到的,所以,激光数据点云中必然存在激光照射到充电桩反射而采集到的激光数据点,所以,本发明实施例可以通过后续步骤对激光数据点云进行处理,可以实现充电桩的定位。
指定范围可以是预先指定好的,比如可以是以充电桩为圆心、半径为指定半径的圆形区域,具体不做限定,只要是充电桩处于其中即可。可选的,这里的指定半径比如可以为1.5米,当然,具体不做限定。
可选的,在上述的步骤S100之前,该方法还可以包括以下步骤:
S110:在需对所述可移动平台进行充电时,控制所述可移动平台朝向所述指定范围移动,并在移动至所述指定范围内时,控制所述激光雷达进行探测。
由于指定范围较大,而且也不用区分指定范围的方位,即没有朝向所言,所以,控制可移动平台移动至指定范围是较为容易实现的,只需控制可移动平台从当前位置移动至指定范围内的任一位置即可,即使定位不精确也不会影响后续的处理。
在需对可移动平台进行充电时,控制可移动平台朝向指定范围移动,使得可移动平台定位充电桩的一系列操作可以在指定范围内实现,可以缩短激光雷达的激光行程,可以提升定位结果的准确性。
可移动平台可以定期检测自身电源的电量,在电量低于设定电量时,可以确定需对可移动平台充电。当然,这里只是优选的例子,并不作为限制,也可以通过其他方式确定需对可移动平台进行充电,比如,可以受外部触发而确定需对可移动平台充电。
在可移动平台移动至指定范围内时,可以控制激光雷达进行探测。这里的探测是指为实现充电桩定位进行的探测,可以理解,在可移动平台移动至指定范围之前,激光雷达同样可以处于探测状态,为的是便于可移动平台可避开障碍物进入到指定范围内,具体不做限定。
可选的,在可移动平台移动至指定范围内时,控制激光雷达进行探测进一步为:控制激光雷达进行周期性探测。
激光雷达周期性探测相比于一次性探测的好处在于,在每次探测之后,可以通过向充电桩移动更靠近充电桩,从而后续的探测距离可以更短,结果可以更精确,所以可以不断地修正对充电桩的定位,使得定位更精准。当然,本发明并不排除在可移动平台移动至指定范围内时,控制激光雷达进行一次探测的方案,本发明实施例中通过一次探测同样可以实现对充电桩的定位。
步骤S200中,确定所述激光数据点云中当前用于搜索的种子激光数据点。
可选的,所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度。
比如,激光雷达探测一次是旋转一周的情况下,旋转角度在-180度~180度之间,激光数据点云中的每一激光数据点对应的旋转角度为-180度~180度之间的其中一个角度,每一激光数据点是激光雷达在对应旋转角度下采集到的。
在激光雷达是周期性探测的情况下,可选的,上述步骤S200中,确定所述激光数据点云中当前用于搜索的种子激光数据点,可以包括以下步骤:
S201:若当前探测为在所述指定范围内的首次探测,则将设定旋转角度对应的激光数据点确定为当前的种子激光数据点;
S202:若当前探测为在所述指定范围内的非首次探测,则确定上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点。
可选的,激光数据点云是按照角度从小到大的顺序依次排列的点,设定旋转角度比如可以为0度,即激光雷达每次探测旋转一周的情况下,旋转至中间位置的位置时即为旋转角度为0度的位置。
换言之,在当前探测为在所述指定范围内的首次探测的情况下,将激光数据点云中的中间激光数据点作为种子激光数据点,以便于尽快找出与充电桩相对应的激光数据点,可以更快地完成搜索。当然,设定旋转角度并不限于0度,实际可以根据需要而定。
在当前探测为在所述指定范围内的非首次探测的情况下,即激光雷达之前已经在指定范围内探测过,之前已经实现过充电桩的定位,但是由于可移动平台会移动,所以当前探测时,可移动平台与充电桩之间的位置关系会存在一定的变化,但是变化是趋向于可移动平台朝向充电桩移动的这种状态的。
所以,可以先确定上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,并将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点,可以实现可移动平台对充电桩的跟踪,同时也更快地完成搜索。
比如,上一次确定出的最后一个种子激光数据点为0度对应的激光数据点,则当前探测中,可以将激光数据点云中与0度对应的激光数据点确定为种子激光数据点。
在激光雷达是周期性探测的情况下,在每次完成对所述充电桩的定位时,可以将最后一个种子激光数据点对应的旋转角度进行保存,以便于下一次探测时的调用。
可以理解,上述确定激光数据点云中当前用于搜索的种子激光数据点的方式只是优选的方式,当然还可以有其他的方式,具体不做限定。
可选的,在激光雷达是一次探测(指在指定范围内仅需一次探测)的情况下,可以将设定旋转角度对应的激光数据点确定为当前的种子激光数据点。当然,此处也只是优选,并不作为限制。
可选的,确定所述激光数据点云中用于搜索的种子激光数据点之后,该方法进一步包括以下步骤:
S211:检查所述种子激光数据点所指示的距离是否小于或等于设定的距离;
S212:若是,则继续执行从所述当前种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集;
S213:若否,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
设定的距离比如可以为指定范围的半径,比如可以为1.5米,具体可视被指定的指定范围的大小而定。
也就是说,只有在种子激光数据点所指示的距离小于等于设定的距离时,才会继续执行步骤S300,否则就要重新确定激光数据点云中用于搜索的种子激光数据点。
可选的,在重新确定所述激光数据点云中用于搜索的种子激光数据点时,可以跳点搜索,重新确定的种子激光数据点与原激光数据点之间可以间隔多个激光数据点,可以提升数据处理效率。
在重新确定种子激光数据点后,以新的种子光数据点为准返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
步骤S300中,从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集。
所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差。设定距离差可以预先确定,可以在允许的误差范围内。
由于充电桩周围不会设置障碍物;或者即使有障碍物,也会离充电桩比较远。因此,激光雷达探测所得的激光数据点云中,探测充电桩所得的激光数据点所指示的距离不会存在较大的浮动,只会是依次发生变化或者不变的,因此,基于这个条件,可以从中找出目标激光数据点集。
优选来说,为了避免将远处障碍物对应的激光数据点作为搜索出的目标激光数据点集,在搜索时,还可以限制目标激光数据点集中激光数据点的数量,比如,目标激光数据点集中激光数据点的数量必须达到设定点数。由于充电桩是有一定的尺寸的,数量过少的话,说明不可能是充电桩对应的激光数据点。
所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点。所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点。
在激光数据点云中激光数据点是按照旋转角度从小到大的顺序排列的情况下,第一激光数据点为激光数据点云中对应旋转角度最小的激光数据点,第二激光数据点为激光数据点云中对应旋转角度最大的激光数据点。
可选的,步骤S300中,所述从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,可以包括以下步骤:
S301:从所述种子激光数据点开始朝第一方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第一方向的遍历;
S302:从所述种子激光数据点开始朝第二方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第二方向的遍历;
S303:将搜索出的目标激光数据点组成为所述目标激光数据点集;或者,在搜索出的目标激光数据点的数量达到设定点数时,将搜索出的目标激光数据点组成为所述目标激光数据点集。
上述的设定点数可以根据充电桩的尺寸、以及激光雷达的旋转速度而定,充电桩的尺寸越大、激光雷达的旋转速度越慢,则设定点数可以越大,当然,具体不做限定。比如设定点数可以为50个、100个、500个等,具体不限。
在搜索时,可以先往第一方式搜索,第一方向搜索完成之后再往第二方向搜索;或者,可以先往第二方式搜索,第二方向搜索完成之后再往第一方向搜索;或者,第一方向和第二方向的搜索可以并行执行,具体限定。
可选的,该方法进一步包括以下步骤:
S304:在搜索出的目标激光数据点的数量未达到设定点数时,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
换言之,在搜索出的目标激光数据点的数量未达到设定点数时,即本次搜索得不到所需的目标激光数据点集,重新确定其他的种子激光数据点,并重新进行搜索,直至可以搜索出目标激光数据点集时再执行后续的步骤。
可选的,在重新确定所述激光数据点云中用于搜索的种子激光数据点时,可以跳点搜索,重新确定的种子激光数据点与原激光数据点之间可以间隔多个激光数据点,可以提升数据处理效率。
步骤S400中,对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位。
可选的,对所述目标激光数据点集中的激光数据点进行直线拟合时,可以采用最小二乘法进行直线拟合,可以得到拟合直线。拟合直线可以用直线方程来表示,直线拟合的过程可以确定出直线的斜率与截距,根据斜率与截距可以确定出拟合直线的直线方程。当然,此处直线拟合的方式只是优选的方式,实际并不限于此。
可选的,表示拟合直线的直线方程可以是可移动平台所应用的坐标系下的直线方程,比如可以为(y=kx+b),其中,k为斜率,b为截距。
所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。可选的,目标激光数据点集中的激光数据点可以按照对应的旋转角度从小到大的顺序排列,如此,第三激光数据点对应的旋转角度是目标激光数据点集中所有激光数据点对应的旋转角度中最小的,第四激光数据点对应的旋转角度是目标激光数据点集中所有激光数据点对应的旋转角度中最大的。
第三激光数据点、第四激光数据点是探测到的充电桩对应的激光数据点中的边缘激光数据点,基于所述拟合直线以及第三激光数据点、第四激光数据点可以确定出充电桩在所应用的坐标系下的位姿信息,即可实现对充电桩的定位。
可选的,步骤S400中,基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,可以包括以下步骤:
S401:将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点;
S402:计算以所述第一投影点和第二投影点为端点的线段的长度;
S403:若所述线段的长度处于设定长度范围内,则根据所述线段对所述充电桩进行定位;所述设定长度范围是根据所述充电桩的尺寸确定的。
步骤S401中,将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点。
可以根据点到直线的投影方式来实现上述的投影,具体在此不再赘述。
可选的,将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点之后,该方法进一步包括以下步骤:
S411:计算所述第三激光数据点到所述第一投影点的第一投影距离;
S412:计算所述第四激光数据点到所述第二投影点的第二投影距离;
S413:在所述第一投影距离与第二投影距离均小于噪声值时,继续执行计算以所述第一投影点和第二投影点为端点的线段的长度的步骤;否则,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
可以根据以下公式计算第一投影距离d:
其中,k为拟合直线的斜率,b为拟合直线的截距,(x1,y1)为第三激光数据点在可移动平台所应用的坐标系中所在的坐标。计算第二投影距离的方式也是同理,在此不再赘述。
上述的噪声值可以是预先设定的值,根据允许的拟合误差范围而定。
本例中,只有在第一投影距离与第二投影距离均小于噪声值时,才会继续执行步骤S402,即继续执行后续的步骤。在第一投影距离与第二投影距离中任一个大于或等于噪声值时,就要重新确定激光数据点云中用于搜索的种子激光数据点。
可选的,在重新确定所述激光数据点云中用于搜索的种子激光数据点时,可以跳点搜索,重新确定的种子激光数据点与原激光数据点之间可以间隔多个激光数据点,可以提升数据处理效率。
在重新确定种子激光数据点后,以新的种子光数据点为准返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
步骤S402中,计算以所述第一投影点和第二投影点为端点的线段的长度。
第一投影点和第二投影点是拟合直线上的两个点,在确定一个直线上的两个点的情况下,可以根据直线方程计算出这两个点之间的距离,也就是可以计算出第一投影点和第二投影点为端点的线段的长度,具体计算方式在此不再赘述。
步骤S403中,若所述线段的长度处于设定长度范围内,则根据所述线段对所述充电桩进行定位。
设定长度范围可以预先确定好,可以根据充电桩的尺寸确定,比如,充电桩的水平宽度为40cm,则设定长度范围可以是在该40cm左右浮动的一个范围,比如可以为39-41cm,当然,此处只是举例,并不作为限定。
该线段在可移动平台所应用的坐标系中的位姿信息即可以作为充电桩所在的位姿信息,因而可以根据线段对充电桩进行定位。
可选的,步骤S403中,根据所述线段对所述充电桩进行定位,可以包括以下步骤:
S4031:确定所述线段的中点在所述激光雷达所应用的坐标系中的位置、以及所述线段的方向在所述坐标系中的方向;
S4032:基于所述中点的位置以及所述线段的方向确定所述充电桩的位置与朝向。
若所述线段的长度处于所述设定长度范围内,说明该线段的长度与充电桩的水平宽度是匹配的,线段可以代表该充电桩。可以将线段的中点的位置作为充电桩的位置,将与线段的方向相垂直的方向作为充电桩的朝向,确定了充电桩的位置与朝向即实现了充电桩的定位,当然,此处只是优选的例子,并不作为限制。
而且,本例中,由于可以知晓充电桩的位置与朝向,所以可以确定充电桩的充电接口处于哪个方向,只要控制可移动平台移动至朝向该充电接口,进行对接即可实现充电。
可选的,该方法进一步包括:
S404:若所述线段的长度未处于所述设定长度范围内,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
若所述线段的长度未处于所述设定长度范围内,说明该线段的长度与充电桩的水平宽度是不匹配的,线段无法代表该充电桩。此时,就要重新确定激光数据点云中用于搜索的种子激光数据点,跳过针对当前的种子激光数据点的后续计算过程,可以减少无效计算量。
可选的,在重新确定所述激光数据点云中用于搜索的种子激光数据点时,可以跳点搜索,重新确定的种子激光数据点与原激光数据点之间可以间隔多个激光数据点,可以提升数据处理效率。
在重新确定种子激光数据点后,以新的种子光数据点为准返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
可选的,在上述的步骤S213、S304、S413、S404中,所述重新确定所述激光数据点云中用于搜索的种子激光数据点,包括以下步骤:
检查当前的种子激光数据点对应的第一旋转角度是否大于设定旋转角度;
若是,则在所述第一旋转角度未达到最大旋转角度时,将所述第一旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点;
若否,则在第一旋转角度超过最小旋转角度时,将所述第一旋转角度与设定间隔角度之差所对应的激光数据点作为重新确定出的种子激光数据点;在第一旋转角度未超过最小旋转角度时,将所述设定旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点。
其中,所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度。
举例来说,假设设定旋转角度、设置为0度,最小旋转角度比如可以为-180度,最大旋转角度比如可以为180度,设定间隔角度比如可以为5度,则:
在当前的种子激光数据点对应的第一旋转角度为0度时,当前第一旋转角度不大于设定旋转角度、且超过最小旋转角度,所以可以将0度与5度之差所对应的激光数据点作为重新确定出的种子激光数据点,即-5度对应的激光数据点作为重新确定出的种子激光数据点;
在当前的种子激光数据点对应的第一旋转角度为-180度时,当前第一旋转角度不大于设定旋转角度、但未超过最小旋转角度,所以可以将0度与5度之和所对应的激光数据点作为重新确定出的种子激光数据点,即5度所对应的激光数据点作为重新确定出的种子激光数据点;
在当前的种子激光数据点对应的第一旋转角度为5度时,当前第一旋转角度大于设定旋转角度、且未达到最大旋转角度,所以,可以将5度与5度之和所对应的激光数据点作为重新确定出的种子激光数据点,也就是10度所对应的激光数据点作为重新确定出的种子激光数据点;
其他也是依次同理,在此不再一一赘述。
本例中,以5度为角度间距进行跳点选择种子激光数据点,从中心0度开始,每5度选择一个点进行后续的计算。一般来说,充电桩在1.5米距离张角大约为17.5度,因此5度作为跳点选择的间距绝对不会略过充电桩,而且,跳点选择可以大大减少运算量。
当然,上述的设定间隔角度只是优选的例子,并不作为限制,具体可以根据激光雷达一次探测采集的激光数据点的数量以及对应的旋转角度的范围而定。
可选的,在当前的种子激光数据点对应的第一旋转角度大于设定旋转角度、且达到最大旋转角度时,说明激光雷达本次未探测到充电桩,可以结束搜索过程,并可报异常,转而由人工进行处理。当然,此处只是可选的方案,并不作为限制。
在上述的实施例中,通过获取可移动平台上设置的激光雷达当前在充电桩所处的指定范围内探测得到的激光数据点云,从激光数据点云中确定出种子激光数据点,并从种子激光数据点开始往激光数据点云的头部和尾部方向搜索,从而可以以更快的速度搜索出满足要求的目标激光数据点集,之后对目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,在拟合直线未受噪声影响的情况下,拟合直线以及目标激光数据点集中的第一个和最后一个激光数据点可以一定程度上表征充电桩的姿态信息,因而可基于此对充电桩进行定位,整个过程可以由可移动平台自主实现,不需要外部人员参与,可以实现可移动平台对充电桩的自主定位,也不需要依赖地图,安全性高,不易受环境因素影响,定位结果较为准确,进而可实现可移动平台的自动充电。
在一个实施例中,参看图2,基于所述拟合直线以及所述第三激光数据点、第四激光数据点对所述充电桩进行定位之后,该方法进一步包括以下步骤:
S500:控制所述可移动平台朝向所述充电桩移动,并当移动至所述充电桩时,控制所述可移动平台与所述充电桩连接以充电。
可移动平台可以是周期性探测的,如此,每次在定位之后可以朝向充电桩移动一段距离,之后再次进行探测与定位,如此往复直至可移动平台移动至充电桩。通过该方式,可以通过多次在更靠近充电桩的位置处探测,可以使得定位可以不断被修正,使得定位更准确。
在移动至所述充电桩时,控制可移动平台与所述充电桩连接以充电,具体是将可移动平台的充电接口与充电桩的充电接口连接。
可选的,可以通过比例控制方式来控制可移动平台的移动,整体的移动可以通过控制可移动平台与充电桩(以确定出的线段为准)的法线方向的第一距离、以及可移动平台与充电桩之间的第二距离的比例系数来实现,使得可移动平台先靠近法线,待可移动平台在法线上后转向充电桩,进而前进至充电桩进行充电。
可选的,可移动平台在检测到电量充满后,可以自动退出充电。
通过上述方式,可以实现可移动平台的自动充电过程。
本发明还提供一种充电桩的定位装置,应用于可移动平台,所述可移动平台上设置有激光雷达,参看图3,该装置100包括:
激光数据点云获取模块101,用于获取所述激光雷达当前在指定范围内探测得到的激光数据点云,所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离,所述充电桩处于所述指定范围内;
种子激光数据点确定模块102,用于确定所述激光数据点云中当前用于搜索的种子激光数据点;
目标激光数据点集搜索模块103,用于从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点;所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点;
充电桩定位模块104,用于对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。
在一个实施例中,所述目标激光数据点集搜索模块从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集时,具体用于:
从所述种子激光数据点开始朝第一方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第一方向的遍历;
从所述种子激光数据点开始朝第二方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第二方向的遍历;
将搜索出的目标激光数据点组成为所述目标激光数据点集;或者,在搜索出的目标激光数据点的数量达到设定点数时,将搜索出的目标激光数据点组成为所述目标激光数据点集。
在一个实施例中,所述目标激光数据点集搜索模块进一步用于:
在搜索出的目标激光数据点的数量未达到设定点数时,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
在一个实施例中,所述充电桩定位模块基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位时,具体用于:
将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点;
计算以所述第一投影点和第二投影点为端点的线段的长度;
若所述线段的长度处于设定长度范围内,则根据所述线段对所述充电桩进行定位;所述设定长度范围是根据所述充电桩的尺寸确定的。
在一个实施例中,所述充电桩定位模块将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点之后,进一步用于:
计算所述第三激光数据点到所述第一投影点的第一投影距离;
计算所述第四激光数据点到所述第二投影点的第二投影距离;
在所述第一投影距离与第二投影距离均小于噪声值时,继续执行计算以所述第一投影点和第二投影点为端点的线段的长度的步骤;否则,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
在一个实施例中,所述充电桩定位模块根据所述线段对所述充电桩进行定位时,具体用于:
确定所述线段的中点在所述激光雷达所应用的坐标系中的位置、以及所述线段的方向在所述坐标系中的方向;
基于所述中点的位置以及所述线段的方向确定所述充电桩的位置与朝向。
在一个实施例中,所述充电桩定位模块进一步用于:
若所述线段的长度未处于所述设定长度范围内,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
在一个实施例中,所述种子激光数据点确定模块确定所述激光数据点云中用于搜索的种子激光数据点之后,进一步用于:
检查所述种子激光数据点所指示的距离是否小于或等于设定的距离;
若是,则继续执行从所述当前种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集;
若否,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
在一个实施例中,
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
所述种子激光数据点确定模块、目标激光数据点集搜索模块、或充电桩定位模块重新确定所述激光数据点云中用于搜索的种子激光数据点时,具体用于:
检查当前的种子激光数据点对应的第一旋转角度是否大于设定旋转角度;
若是,则在所述第一旋转角度未达到最大旋转角度时,将所述第一旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点;
若否,则在第一旋转角度超过最小旋转角度时,将所述第一旋转角度与设定间隔角度之差所对应的激光数据点作为重新确定出的种子激光数据点;在第一旋转角度未超过最小旋转角度时,将所述设定旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点。
在一个实施例中,
所述激光雷达是周期性探测的;
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
所述种子激光数据点确定模块确定所述激光数据点云中当前用于搜索的种子激光数据点时,具体用于:
若当前探测为在所述指定范围内的首次探测,则将设定旋转角度对应的激光数据点确定为当前的种子激光数据点;
若当前探测为在所述指定范围内的非首次探测,则获取上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点。
在一个实施例中,参看图4,该装置100进一步包括:
充电模块105,用于控制所述可移动平台朝向所述充电桩移动,并当移动至所述充电桩时,控制所述可移动平台与所述充电桩连接以充电。
在一个实施例中,该装置还包括:
预移动模块,用于在需对所述可移动平台进行充电时,控制所述可移动平台朝向所述指定范围移动,并在移动至所述指定范围内时,控制所述激光雷达进行探测。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本发明还提供一种电子设备,包括处理器及存储器;存储器存储有可被处理器调用的程序;其中,处理器执行程序时,实现如前述实施例中的充电桩的定位方法。
本发明充电桩的定位装置的实施例可以应用在电子设备上,该电子设备比如可以为可移动平台。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,图5是本发明根据一示例性实施例示出的充电桩的定位装置100所在电子设备的一种硬件结构图,除了图5所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中充电桩的定位装置100所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
本发明还提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例中的充电桩的定位方法。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种充电桩的定位方法,其特征在于,应用于可移动平台,所述可移动平台上设置有激光雷达,该方法包括:
获取所述激光雷达当前在指定范围内探测得到的激光数据点云,所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离,所述充电桩处于所述指定范围内;
确定所述激光数据点云中当前用于搜索的种子激光数据点;所述激光雷达是周期性探测的;所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;其中,确定所述激光数据点云中当前用于搜索的种子激光数据点包括:若当前探测为在所述指定范围内的首次探测,则将设定旋转角度对应的激光数据点确定为当前的种子激光数据点;若当前探测为在所述指定范围内的非首次探测,则获取上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点;
从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点;所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点;
对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。
2.如权利要求1所述的充电桩的定位方法,其特征在于,所述从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,包括:
从所述种子激光数据点开始朝第一方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第一方向的遍历;
从所述种子激光数据点开始朝第二方向遍历所述激光数据点云中的激光数据点,针对在所述种子激光数据点之后遍历到的每一激光数据点,检查该激光数据点与上一遍历到的激光数据点所指示的距离之差是否小于所述设定距离差,若是,则将该激光数据点确定为搜索出的目标激光数据点,否则,结束第二方向的遍历;
将搜索出的目标激光数据点组成为所述目标激光数据点集;或者,在搜索出的目标激光数据点的数量达到设定点数时,将搜索出的目标激光数据点组成为所述目标激光数据点集。
3.如权利要求2所述的充电桩的定位方法,其特征在于,该方法进一步包括:
在搜索出的目标激光数据点的数量未达到设定点数时,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
4.如权利要求1所述的充电桩的定位方法,其特征在于,基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,包括:
将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点;
计算以所述第一投影点和第二投影点为端点的线段的长度;
若所述线段的长度处于设定长度范围内,则根据所述线段对所述充电桩进行定位;所述设定长度范围是根据所述充电桩的尺寸确定的。
5.如权利要求4所述的充电桩的定位方法,其特征在于,将所述第三激光数据点、第四激光数据点分别投影到所述拟合直线上,得到第一投影点和第二投影点之后,该方法进一步包括:
计算所述第三激光数据点到所述第一投影点的第一投影距离;
计算所述第四激光数据点到所述第二投影点的第二投影距离;
在所述第一投影距离与第二投影距离均小于噪声值时,继续执行计算以所述第一投影点和第二投影点为端点的线段的长度的步骤;否则,重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
6.如权利要求4所述的充电桩的定位方法,其特征在于,根据所述线段对所述充电桩进行定位,包括:
确定所述线段的中点在所述激光雷达所应用的坐标系中的位置、以及所述线段的方向在所述坐标系中的方向;
基于所述中点的位置以及所述线段的方向确定所述充电桩的位置与朝向。
7.如权利要求4所述的充电桩的定位方法,其特征在于,该方法进一步包括:
若所述线段的长度未处于所述设定长度范围内,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
8.如权利要求1所述的充电桩的定位方法,其特征在于,确定所述激光数据点云中用于搜索的种子激光数据点之后,该方法进一步包括:
检查所述种子激光数据点所指示的距离是否小于或等于设定的距离;
若是,则继续执行从所述当前种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集;
若否,则重新确定所述激光数据点云中用于搜索的种子激光数据点,并返回执行从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集的步骤。
9.如权利要求3、5、7或8所述的充电桩的定位方法,其特征在于,
所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;
所述重新确定所述激光数据点云中用于搜索的种子激光数据点,包括:
检查当前的种子激光数据点对应的第一旋转角度是否大于设定旋转角度;
若是,则在所述第一旋转角度未达到最大旋转角度时,将所述第一旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点;
若否,则在第一旋转角度超过最小旋转角度时,将所述第一旋转角度与设定间隔角度之差所对应的激光数据点作为重新确定出的种子激光数据点;在第一旋转角度未超过最小旋转角度时,将所述设定旋转角度与设定间隔角度之和所对应的激光数据点作为重新确定出的种子激光数据点。
10.如权利要求1所述的充电桩的定位方法,其特征在于,基于所述拟合直线以及所述第三激光数据点、第四激光数据点对所述充电桩进行定位之后,该方法进一步包括:
控制所述可移动平台朝向所述充电桩移动,并当移动至所述充电桩时,控制所述可移动平台与所述充电桩连接以充电。
11.如权利要求1所述的充电桩的定位方法,其特征在于,获取所述激光雷达当前在指定范围内探测得到的激光数据点云之前,该方法还包括:
在需对所述可移动平台进行充电时,控制所述可移动平台朝向所述指定范围移动,并在移动至所述指定范围内时,控制所述激光雷达进行探测。
12.一种充电桩的定位装置,其特征在于,应用于可移动平台,所述可移动平台上设置有激光雷达,该装置包括:
激光数据点云获取模块,用于获取所述激光雷达当前在指定范围内探测得到的激光数据点云,所述激光数据点云包括所述激光雷达在探测过程中采集到的连续多个激光数据点,所述激光数据点用于指示被探测到的距离,所述充电桩处于所述指定范围内;
种子激光数据点确定模块,用于确定所述激光数据点云中当前用于搜索的种子激光数据点;所述激光雷达是周期性探测的;所述激光雷达是在绕指定轴旋转的过程中探测得到所述激光数据点云的,所述激光数据点云中的每一激光数据点具有对应的旋转角度;其中,所述种子激光数据点确定模块确定所述激光数据点云中当前用于搜索的种子激光数据点时,具体用于:若当前探测为在所述指定范围内的首次探测,则将设定旋转角度对应的激光数据点确定为当前的种子激光数据点;若当前探测为在所述指定范围内的非首次探测,则获取上一次探测确定出的最后一个种子激光数据点对应的目标旋转角度,将所述激光数据点云中与该目标旋转角度对应的激光数据点确定为当前的种子激光数据点;
目标激光数据点集搜索模块,用于从所述种子激光数据点开始朝第一方向和第二方向从所述激光数据点云中搜索出目标激光数据点集,所述目标激光数据点集中相邻的两个激光数据点所指示的距离之差小于设定距离差;所述第一方向为从所述种子激光数据点开始往第一激光数据点的方向,所述第一激光数据点为激光数据点云中第一个激光数据点;所述第二方向为从所述种子激光数据点开始往第二激光数据点的方向,所述第二激光数据点为所述激光数据点云中最后一个激光数据点;
充电桩定位模块,用于对所述目标激光数据点集中的激光数据点进行直线拟合以得到拟合直线,并基于所述拟合直线以及第三激光数据点、第四激光数据点对所述充电桩进行定位,所述第三激光数据点为所述目标激光数据点集中的第一个激光数据点,所述第四激光数据点为目标激光数据点集中的最后一个激光数据点。
13.一种电子设备,其特征在于,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如权利要求1-11中任一项所述的充电桩的定位方法。
14.一种机器可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如权利要求1-11中任一项所述的充电桩的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278405.1A CN112666564B (zh) | 2021-03-16 | 2021-03-16 | 充电桩的定位方法、装置及设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278405.1A CN112666564B (zh) | 2021-03-16 | 2021-03-16 | 充电桩的定位方法、装置及设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112666564A CN112666564A (zh) | 2021-04-16 |
CN112666564B true CN112666564B (zh) | 2021-07-06 |
Family
ID=75399349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110278405.1A Expired - Fee Related CN112666564B (zh) | 2021-03-16 | 2021-03-16 | 充电桩的定位方法、装置及设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112666564B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113219999B (zh) * | 2021-07-08 | 2021-09-17 | 上海景吾智能科技有限公司 | 一种机器人自动回充路径规划方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106786938A (zh) * | 2016-12-30 | 2017-05-31 | 亿嘉和科技股份有限公司 | 一种巡检机器人定位方法及自动充电方法 |
JP2017194438A (ja) * | 2016-04-22 | 2017-10-26 | 有限会社静岡フスマ商会 | 形状寸法計測装置 |
CN110824491A (zh) * | 2019-10-24 | 2020-02-21 | 北京迈格威科技有限公司 | 充电桩定位方法、装置、计算机设备和存储介质 |
CN111324121A (zh) * | 2020-02-27 | 2020-06-23 | 四川阿泰因机器人智能装备有限公司 | 一种基于激光雷达的移动机器人自动充电方法 |
CN112327842A (zh) * | 2020-10-29 | 2021-02-05 | 深圳市普渡科技有限公司 | 机器人定位充电桩的方法及系统 |
CN112363500A (zh) * | 2020-10-29 | 2021-02-12 | 深圳市普渡科技有限公司 | 自动回充移动方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9967539B2 (en) * | 2016-06-03 | 2018-05-08 | Samsung Electronics Co., Ltd. | Timestamp error correction with double readout for the 3D camera with epipolar line laser point scanning |
-
2021
- 2021-03-16 CN CN202110278405.1A patent/CN112666564B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017194438A (ja) * | 2016-04-22 | 2017-10-26 | 有限会社静岡フスマ商会 | 形状寸法計測装置 |
CN106786938A (zh) * | 2016-12-30 | 2017-05-31 | 亿嘉和科技股份有限公司 | 一种巡检机器人定位方法及自动充电方法 |
CN110824491A (zh) * | 2019-10-24 | 2020-02-21 | 北京迈格威科技有限公司 | 充电桩定位方法、装置、计算机设备和存储介质 |
CN111324121A (zh) * | 2020-02-27 | 2020-06-23 | 四川阿泰因机器人智能装备有限公司 | 一种基于激光雷达的移动机器人自动充电方法 |
CN112327842A (zh) * | 2020-10-29 | 2021-02-05 | 深圳市普渡科技有限公司 | 机器人定位充电桩的方法及系统 |
CN112363500A (zh) * | 2020-10-29 | 2021-02-12 | 深圳市普渡科技有限公司 | 自动回充移动方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112666564A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110632921B (zh) | 机器人路径规划方法、装置、电子设备和存储介质 | |
CN106980320B (zh) | 机器人充电方法及装置 | |
CN110632915B (zh) | 机器人回充路径规划方法、机器人及充电系统 | |
US6728608B2 (en) | System and method for the creation of a terrain density model | |
US8195331B2 (en) | Method, medium, and apparatus for performing path planning of mobile robot | |
JP2021516403A (ja) | ロボットの再測位方法 | |
CN110597265A (zh) | 一种扫地机器人回充方法和装置 | |
WO2019099605A1 (en) | Methods and systems for geo-referencing mapping systems | |
ZA200005640B (en) | Method of tracking and sensing position of objects. | |
CN114119920A (zh) | 三维点云地图构建方法、系统 | |
CN109814564A (zh) | 目标对象的检测、避障方法、电子设备及存储介质 | |
CN112666564B (zh) | 充电桩的定位方法、装置及设备、存储介质 | |
CN110850882A (zh) | 一种扫地机器人的充电桩定位方法及装置 | |
CN113432533A (zh) | 一种机器人定位方法、装置、机器人及存储介质 | |
Csaba et al. | Differences between Kinect and structured lighting sensor in robot navigation | |
Kurz et al. | When geometry is not enough: using reflector markers in lidar SLAM | |
Jenkin et al. | Global navigation for ARK | |
Murphy et al. | Using incomplete online metric maps for topological exploration with the gap navigation tree | |
CN116385999A (zh) | 一种停车位的识别方法、装置及设备 | |
CN115856911A (zh) | 一种定位方法及装置 | |
CN112700387A (zh) | 激光数据处理方法、装置及设备、存储介质 | |
CN113551678B (zh) | 构建地图的方法、构建高精度地图的方法及移动设备 | |
KR102624644B1 (ko) | 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법 | |
CN115437369A (zh) | 路径规划方法、装置、电子设备及存储介质 | |
CN114012725A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210706 |
|
CF01 | Termination of patent right due to non-payment of annual fee |