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

斜坡检测方法及驱动设备、存储介质

文献发布时间:2023-06-19 11:45:49


斜坡检测方法及驱动设备、存储介质

技术领域

本申请涉及智能机器人技术领域,特别涉及一种斜坡检测方法及驱动设备、存储介质。

背景技术

智能驱动设备,例如无人驾驶机器人,可以用在巡检、卫生清洁、快递服务、用餐服务等各个领域,无人驾驶机器人的出现更是大大解放了劳动力,让人工智能为人们的生活带来更多的便利。

为了满足各种使用场景的需要,无人驾驶机器人一般需要具备各种感知能力,例如在行进过程中感知障碍物进行避障的能力。

现有的多线三维激光雷达传感器一般通过向量区间柱图法(Vector FieldHistogram,VFH)基于传感器返回的三维点云信息提取障碍物特征从而确定障碍物目标进行避障,这种避障技术虽然也能够识别出斜坡障碍,但由于这种多线三维激光雷达成本高昂,不宜普遍推广应用,并且目前大部分多线三维激光雷达在机器人上的安装位置都会存在不同程度的检测盲区,使得机器人无法感知低矮障碍物或斜坡,使得多线三维激光雷达的使用比较受限。对于物流、卫生清洁等基础服务领域的机器人,由于多线三维激光雷达实现斜坡检测方案的实现成本过高,因此一般只采用低成本的单线激光雷达进行避障。

在通过单线激光雷达实现的避障方案中,只能探测到机器人的行进方向上是否存在障碍物,而对障碍物的具体特征很难做出分析预测。例如当机器人在行进过程中遇到斜坡时,由于斜坡具有许多障碍物的特征,因此当前技术中许多机器人会将所遇到的斜坡确定为障碍物进行避绕。例如,具有一定爬坡能力的清洁机器人在清洁过程中遇到坡度较小的斜坡原本能够爬坡前进,而由于该清洁机器人将斜坡判断为障碍物而停止前进或避让绕行,因此直接影响到该清洁机器人的工作效果。

发明内容

本申请实施例提供了一种斜坡检测方法及驱动设备、存储介质,通过单线激光雷达采集机器人等驱动设备的行进方向上以及周围环境中的地面、所遇障碍等上的若干探测点的原始点云极坐标,再经坐标系转换和坐标原点转换后得到参考驱动设备坐标原点的笛卡尔坐标,然后基于转换得到的笛卡尔坐标从原始点云中筛选障碍物点进行线性拟合分析,最终基于对障碍物点的线性拟合结果确定机器人行进方向上所遇障碍是否为斜坡。本申请的斜坡检测方法,还能够在确定机器人所遇障碍为斜坡时,进一步计算除斜坡的坡度或坡角,以供机器人参考确定爬坡方案或绕行方案。本申请的斜坡检测方法所采用的单线激光雷达结构简单,成本低廉,当机器人上安装的单线激光雷达数量较多时,本申请的斜坡检测方案能够具有较高的准确率和灵敏度,利于提高机器人的避障性能,同时机器人的生产成本也可控。

第一方面,本申请实施例提供了一种斜坡检测方法,应用于包括单线激光雷达的驱动设备,包括:获取所述单线激光雷达探测障碍物得到的第一坐标值,其中所述第一坐标值参考所述单线激光雷达的坐标系确定;对所述第一坐标值进行坐标转换得到第二坐标值,其中所述第二坐标值参考所述驱动设备的坐标系确定;基于所述第二坐标值确定所述障碍物是否为斜坡。

即通过单线激光雷达采集驱动设备的行进方向上或者周围环境中的地面、所遇障碍物上的若干探测点,形成上述原始点云极坐标。其中,原始点云为各探测点的集合。单线激光雷达扫描到地面则可以返回地面上的若干探测点坐标,单线激光雷达扫描到障碍物则可以返回障碍物表面上的若干探测点坐标,地面上的若干探测点坐标和障碍物表面上的若干探测点坐标共同组成原始点云坐标,其中障碍物表面上的若干探测点坐标为确定障碍物是否为斜坡的有效坐标,即为上述第一坐标值。

例如,单线激光雷达所探测到的障碍物是斜坡,则单线激光雷达扫描到该斜坡上而采集到的第一坐标值则是斜坡表面上若干探测点的原始极坐标值,经坐标转换得到的第二坐标值例如是笛卡尔坐标系下的坐标值。

在上述第一方面的一种可能的实现中,所述基于所述第二坐标值确定所述障碍物是否为斜坡,包括:对所述第二坐标值中的z轴坐标值大于预设高度阈值所对应纵坐标值的点确定为障碍物点;基于所述障碍物点进行线性拟合;在所述线性拟合结果符合预设拟合条件的情况下,确定所述障碍物为斜坡。

即探测点坐标转换坐标系所得到三维坐标系中的纵坐标值,可以作为界定探测点是地面上的点还是高于地面的障碍物点,或者是低于地面的悬崖点的依据。预设高度阈值所对应纵坐标值即高于地面一定高度范围的位置点所对应的纵坐标值,当探测点的z轴坐标值大于预设高度阈值所对应纵坐标值时,该探测点可以确定为是障碍物点,所确定的障碍物点用于分析机器人所遇障碍物的特征。

例如,第二坐标值为参考机器人坐标系的笛卡尔坐标值,上述预设高度阈值例如是下述实施例中的第一高度阈值z

在上述第一方面的一种可能的实现中,上述方法还包括:在所述障碍物为斜坡的情况下,基于所述线性拟合结果确定所述斜坡的坡度或坡角。

即根据上述障碍物点集合所进行的线性拟合的结果,可以计算出斜坡的坡度或坡角。例如,符合斜坡特征的障碍物点的线性拟合结果是一条倾斜的直线,直线的斜率即为斜坡的坡度,根据坡度计算的三角函数便能够利用反三角函数公式计算得到斜坡的坡角。

在上述第一方面的一种可能的实现中,所述对所述第一坐标值进行坐标转换得到第二坐标值,包括:基于所述第一坐标值转换坐标系得到第三坐标值,其中所述第一坐标值参考所述单线激光雷达的极坐标系确定,所述第三坐标值参考所述单线激光雷达的笛卡尔坐标系确定;基于所述第三坐标值和预设的坐标变换矩阵进行坐标转换,得到所述第二坐标值。所述单线激光雷达的坐标系包括以所述单线激光雷达的激光发射点作为坐标原点的坐标系;所述驱动设备的坐标系包括以所述驱动设备的后轮连接轴中心点作为坐标原点的坐标系。

即将第一坐标值转换为第二坐标值,需要经过坐标系的转换和坐标原点的转换两个步骤,例如第一坐标值为上述障碍物点参考单线激光雷达激光发射点为坐标原点的传感器坐标系的极坐标值,则需要先将第一坐标值转换为参考传感器坐标系的笛卡尔坐标值,即上述第三坐标值,再对其进行坐标原点转换,转化为参考机器人后轮连接轴中心点作为坐标原点的机器人坐标系的笛卡尔坐标值。其中,坐标原点转换可以通过坐标转换矩阵实现,预设的坐标转换矩阵中各矩阵点的值,基于作为坐标原点的单线激光雷达激光发射点和机器人后轮连接轴中心点的相对位置、以及传感器坐标系与机器人坐标系之间的各坐标平面夹角通过实验预先设定。

在上述第一方面的一种可能的实现中,所述单线激光雷达的坐标系包括以所述单线激光雷达的激光发射点作为坐标原点的极坐标系、以及以所述单线激光雷达的激光发射点作为原点的笛卡尔坐标系;所述第一坐标值为以所述激光发射点作为坐标原点的极坐标系下的极坐标值;所述第三坐标值为以所述激光发射点作为坐标原点的笛卡尔坐标系下的笛卡尔坐标值。

在上述第一方面的一种可能的实现中,所述驱动设备的坐标系包括以所述驱动设备的后轮连接轴中心点作为坐标原点的笛卡尔坐标系;所述第二坐标值为以所述后轮连接轴中心点作为坐标原点的笛卡尔坐标系下的笛卡尔坐标值。

在上述第一方面的一种可能的实现中,所述坐标变换矩阵基于所述单线激光雷达的激光发射点与所述设备的后轮连接轴中心点之间的相对位置、以及所述单线激光雷达的激光扫描平面相对于所述设备的底面或侧面的偏转角度确定。

在上述第一方面的一种可能的实现中,基于所述第三坐标值和预设的坐标变换矩阵,得到所述第二坐标值,包括:基于所述第三坐标值乘以所述坐标变换矩阵,得到所述第二坐标值。

在上述第一方面的一种可能的实现中,所述线性拟合包括直线拟合,所述拟合条件包括直线拟合误差阈值以及拟合直线斜率阈值,所述线性拟合结果符合预设拟合条件包括:在所述直线拟合的拟合误差值小于所述直线拟合误差阈值,并且所述拟合直线的斜率大于所述拟合直线斜率阈值的情况下,确定所述线性拟合结果符合预设拟合条件。

即对障碍物点的直线拟合结果中,直线拟合误差较小的近似直线,例如直线拟合误差小于误差阈值的情况下,该近似直线可以视为直线;另外,对拟合得到的直线斜率还需要进行阈值判断,如果拟合直线的斜率大于预设的斜率阈值,则说明机器人所遇障碍物为非常陡峭的斜坡或者是具有较平整的倾斜平面的障碍物。

第二方面,本申请实施例提供了一种驱动设备,包括:处理器,存储器、单线激光雷达、通信接口和通信总线;所述单线激光雷达、所述存储器和所述通信接口通过所述通信总线连接;所述存储器用于存储至少一个指令,当所述处理器执行所述存储器存储的所述至少一个指令时,使所述驱动设备执行上述斜坡检测方法。

第三方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行上述斜坡检测方法。

附图说明

图1根据本申请实施例,示出了本申请的基于单线激光雷达的斜坡检测方法的应用场景示意图。

图2根据本申请实施例,示出了驱动设备的系统200的一种结构示意图。

图3根据本申请实施例一,示出了斜坡检测方法的一种应用场景示意图。

图4根据本申请实施例一,示出了斜坡检测方法的具体流程示意图。

图5根据本申请实施例一,示出了调整单线激光雷达102的安装角度的过程示意图。

图6根据本申请实施例一,示出了一种直线拟合结果示意图。

图7a至7b根据本申请实施例二,示出了斜坡检测方法的另一种应用场景示意图。

图8根据本申请实施例二,示出了图7a所示场景中单线激光雷达的另一种安装位置示意图。

图9根据本申请实施例三,示出了斜坡检测方法的另一种应用场景示意图。

图10根据本申请实施例三,示出了图9所示场景中单线激光雷达安装位置的立体结构示意图。

图11a至11b根据本申请实施例三,示出了单线激光雷达之间夹角变化示意图。

具体实施方式

下面结合具体实施例和附图对本申请做进一步说明。可以理解的是,此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。其中,“上”、“下”、“前”、“后”等方位词描述,均是对应于具体附图的位置性描述,而非对具体结构位置和方位的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项。

本申请提供一种基于单线激光雷达实现的斜坡检测方案,具体提供一种斜坡检测方法及驱动设备、存储介质。

图1示出了本申请的基于单线激光雷达的斜坡检测方法的应用场景示意图。

如图1所示,该场景包括驱动设备101和单线激光雷达102,其中单线激光雷达102所发出的激光形成的激光扫描平面1021可以在一定距离范围内检测到障碍103。通常,单线激光雷达102用于检测驱动设备101的行进方向上的障碍103,因此,单线激光雷达102一般设置在驱动设备101的前端面1011上,例如图1所示的示意位置1012,该示意位置1012位于驱动设备101的前端面1011下边缘线的中心点上方。

为解决上述现有技术所存在的问题,本申请所提供的基于单线激光雷达的斜坡检测方法,通过单线激光雷达102采集机器人行进方向上以及周围环境中的地面、所遇障碍103等上的若干探测点组成原始点云,原始点云参考以单线激光雷达102的激光发射点为坐标原点的传感器坐标系下的极坐标值作为原始点云极坐标,经坐标系转换和坐标原点转换后得到原始点云参考驱动设备坐标原点的笛卡尔坐标,然后基于转换得到的笛卡尔坐标值从相应的原始点云中筛选出高于预设高度阈值的障碍物点进行线性拟合分析,进而基于对所筛选障碍物点的线性拟合分析结果确定障碍103是否为斜坡。进一步地,当障碍103确定为斜坡时,本申请还能够基于线性拟合结果确定斜坡障碍103的坡度或坡角,驱动设备101可以基于所确定的坡度或坡角结合自身爬坡能力确定爬坡方案。因此,本申请的斜坡检测方法能够有效避免将斜坡障碍误判为一般障碍物进行避障而偏离预设行进方向的情况,不仅能够基于单线激光雷达确定驱动设备所遇障碍103是否为斜坡,还能够确定驱动设备所遇斜坡障碍的坡度或坡角,以便进一步确定爬坡方案。另外,由于单线激光雷达的成本低廉,使得本申请技术方案的实施成本也比较低,这也利于本申请技术方案在无人驾驶的驱动设备101上广泛推广应用。

上述单线激光雷达102采集机器人101行进方向上以及周围环境中地面、所遇障碍103上的若干探测点的原始点云极坐标,为单线激光雷达102对驱动设备101行进方向上的地面以及周围地面进行激光扫描时由单线激光雷达102的传感器返回的各探测点的极坐标值。

可以理解,上述图1并不构成单线激光雷达102的设置位置和设置数量的限定,在一些实施例中,可以驱动设备101上设置一个或多个单线激光雷达102,在此不做限制。可以理解,考虑到单线激光雷达102一般具有固定的扫描频率,多个单线激光雷达102的探测频率一般也高于单个单线激光雷达102的探测频率,进而使得驱动设备101检测障碍103的灵敏性也越高。

图2示出了本申请实施例的驱动设备101系统200的一种结构示意图。

如图2所示,系统200可以包括一个或多个处理器204,与处理器204中的至少一个连接的系统控制逻辑208,与系统控制逻辑208连接的系统内存212,与系统控制逻辑208连接的非易失性存储器(non-volatile memory,NVM)/存储器216,与系统控制逻辑208连接的网络接口210和单线激光雷达102。

处理器204可以包括一个或多个单核或多核处理器。处理器204可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本申请的实施例中,处理器204可以运行预设算法进行坐标转换运算、线性拟合运算以及斜坡坡度计算等运算过程。

用于某个实施例的系统控制逻辑208可以包括任何合适的接口控制器,以向处理器204中的至少一个和/或与系统控制逻辑208通信的任何合适的设备或组件提供任何合适的接口。

用于某个实施例的系统控制逻辑208可以包括一个或多个存储器控制器以提供连接到系统内存212的接口。系统内存212可以用于加载和存储数据和/或指令,例如,对于系统200,用于某个实施例的内存212可以包括任何合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。

NVM/存储器216可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。例如,NVM/存储器216可以包括闪存等任何合适的非易失性存储器和/或任何合适的非易失性存储设备,例如一个或多个硬盘驱动器(HDD(s)),一个或多个光盘(CD)驱动器,和/或一个或多个数字通用光盘(DVD)驱动器。

NVM/存储器216可以包括安装系统200的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口210通过网络访问NVM/存储216。

特别地,系统内存212和NVM/存储器216可以分别包括:指令224的暂时和永久副本。指令224可以包括:由处理器204中的至少一个执行时导致系统200实施本申请的斜坡检测方法的指令。在各种实施例中,指令224或硬件,固件和/或其软件组件可另外地/替代地置于系统控制逻辑208,网络接口210和/或处理器204中。在本申请的实施例中,对单线激光雷达102所采集的原始点云坐标进行坐标转换运算、线性拟合运算以及斜坡坡度计算等运算程序可以预设存储在NVM/存储器216中,供处理器204调用。

网络接口210用于为系统200提供无线电接口,进而通过一个或多个网络与任何其他合适的设备(如前端模块,天线等)进行通信。网络接口210可以进一步包括任何合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,用于某个实施例的网络接口210可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。

单线激光雷达102用于探测驱动设备101周围环境,以返回探测点的坐标信息(即原始点云坐标)。原始点云坐标用于判断驱动设备101的周围是否存在障碍103、障碍103是否为斜坡以及计算斜坡的坡度或坡角等。单线激光雷达102所采集的原始点云坐标一般为极坐标系下的坐标值,单线激光雷达102所采集的原始点云坐标发送给处理器204进行坐标转换以及线性拟合分析等处理或通过系统控制逻辑208发送给处理器204进行坐标转换以及线性拟合分析等处理。其中,处理器204上所进行的坐标转换以及线性拟合分析等处理包括对所采集的单线激光雷达的坐标系下的原始点云坐标经过预设的坐标转换矩阵转换至参考驱动设备101坐标系坐标原点的笛卡尔坐标值后,再对笛卡尔坐标值符合筛选条件的障碍物点进行线性拟合分析确定驱动设备101所遇障碍103是否为斜坡,若为斜坡则进一步计算斜坡的坡度或坡角等处理过程,上述处理过程将在下文具体实施例中详细介绍,在此不再赘述。

可以理解,上述图2所示系统200的结构并不构成对驱动设备101系统的具体限定,在另一些实施例中,驱动设备101可以通过其他形式的系统结构来实现本申请的斜坡检测方案。

可以理解,本申请所提供的驱动设备101可以是具有自动驾驶和感知功能的各种驱动设备,例如,驱动设备101可以是物流配送机器人、无人驾驶清洁车、配餐机器人、无人驾驶巡检机器人等,在此不做限制。下面以驱动设备101为物流配送机器人(以下简称机器人101)为例描述本申请的斜坡检测方案的执行过程。

下面先通过实施例一详细说明在机器人101上设置一个单线激光雷达实现本申请斜坡检测方案的具体实施过程。

实施例一

在本实施例中,机器人101上设置一个单线激光雷达102,下面结合附图详细介绍本实施例中单线激光雷达102的安装位置以及基于单线激光雷达102实现本申请的斜坡检测方法的具体过程。

图3根据本申请实施例示出了斜坡检测方法的应用场景示意图。如图3所示,机器人101的前端面1011上设置有单线激光雷达102,机器人101的行进方向上存在斜坡障碍103。设以单线激光雷达102的激光发射点作为坐标原点的坐标系为传感器坐标系,例如图3所示的平面直角坐标系XOY,单线激光雷达102在机器人101行进过程中发射激光探测行进方向上的地面环境并返回探测点的坐标信息作为原始点云坐标,例如图3所示,如果单线激光雷达102所发出的激光遇到障碍103则返回的探测点1022位于障碍103的表面,如果单线激光雷达102的激光扫描到的是地面上的点,则返回的探测点1022位于地面上。

如图3所示,在确定机器人101行进方向上是否存在障碍的过程中,设以机器人101上的后轮连接轴中心点作为坐标原点的坐标系为机器人坐标系,例如图3所示的XOZ坐标平面,参考机器人坐标系,可以预设高于地面的第一高度阈值为z

可以理解,若基于单线激光雷达102传感器返回的探测点坐标信息确定存在障碍物点,则可以判断机器人的行进方向上存在障碍103,基于对所确定的障碍物点进行线性拟合分析,可以进一步确定障碍103是否为斜坡。若障碍103为斜坡103,则机器人101可以进一步确定该斜坡103的坡度或坡角,进而确定是否能够顺利通过该斜坡103。

可以理解,可以在机器人101的前端面1011上的任意位置点处设置单线激光雷达102,例如在图3所示的机器人101的前端面上边缘中心点处安装单线激光雷达102,在另一些实施例中,单线激光雷达102的安装位置还可以是不同于图3所示位置的其他位置,在此不做限制。

图4根据本申请实施例示出了斜坡检测方法的具体流程示意图。可以理解,图4所示流程中的各步骤可以由机器人101的处理器204通过运行预设算法或软件程序实现。

具体地,如图4所示,本申请实施例所提供的斜坡检测方法包括以下步骤:

步骤401:获取各探测点参考传感器坐标系下的极坐标值,作为原始点云坐标。

例如,单线激光雷达102所采集的探测点i参考传感器坐标系的极坐标值可以表示为{r

步骤402:将原始点云坐标转换成各探测点参考机器人坐标系的笛卡尔坐标值。

例如,首先将参考传感器坐标系的探测点i的极坐标值{r

作为示例,当i=1,r

接着,对上述探测点i参考传感器坐标系的的笛卡尔坐标值经过预设的坐标变换矩阵M进行坐标转换,得到探测点i参考机器人坐标系的笛卡尔坐标值。其中,坐标变换矩阵M用于将传感器坐标系的笛卡尔坐标值转换为机器人坐标系的笛卡尔坐标值的矩阵,一般基于实验确定M的各矩阵点的值并预设在机器人101系统中。

经过坐标变换矩阵M进行坐标转换的过程可以参考下列公式(2):

其中,n为单线激光雷达102的传感器返回的探测点数量,M为预设的坐标变换矩阵,{x

可以理解,在一些实施例中上述机器人坐标系的坐标原点可以参考上述图3及相关描述中的机器人101上的后轮连接轴中心点,参考机器人坐标系的笛卡尔坐标系中的XOZ坐标平面可以参考上述图3所示的XOZ坐标平面;在另一些实施例中,上述机器人坐标系的坐标原点也可以是其他参考点,例如是机器人101的重心或前轮连接轴中心点等,参考机器人坐标系的笛卡尔坐标系中的XOZ坐标平面也可以是与上述图3所示XOZ坐标平面存在一定夹角的其他坐标平面,在此不做限制。

作为示例,以上述探测点i=1为例,如上述步骤402所计算的该点参考传感器坐标系的笛卡尔坐标值为{-1.55,0.28,0},基于预设的坐标变换矩阵M的坐标变换过程可以参考以下变换过程:

最终得到探测点i=1参考机器人坐标系的笛卡尔坐标值为{2.23,0.08,-0.001}。

可以理解,坐标变换矩阵M中各矩阵点的预设值取决于单线激光雷达102设置在机器人101上的位置及安装角度,单线激光雷达102的安装角度确定了其激光扫描平面的偏转角度。调整单线激光雷达102安装角度的过程可以参考图5所示,例如将单线激光雷达安装在机器人101的前端面1011上,则安装时可以调整单线激光雷达102的激光扫描平面平行于水平面501,或者向上偏转至平行于平面502的角度,或者向下偏转至平行于503的位置,在此不做限制。在实际实施过程中,可以基于实验数据确定单线激光雷达102的最佳安装角度。

步骤403:基于预设Z值对各探测点添加分类标记。具体地,预设Z值可以参考上述第一高度阈值z

可以理解,机器人101行进过程中所遇到的障碍103上的任一点均在机器人101的行进路面(即地面)以上。参考上述图3所示,基于上述步骤402转换得到的各探测点参考机器人坐标系的笛卡尔坐标值可以计算各探测点的高度,例如参考地面高度,计算各探测点的z轴坐标值相对于地面上的点参考机器人坐标系所确定的z轴坐标值计算差值绝对值,确定各探测点的高度。对于计算得到的各探测点的高度,如上所述,高度大于z

如上所述,探测点i参考机器人坐标系的笛卡尔坐标值中的z轴坐标值为z

①当|z

②当|z

③当|z

在另一些实施例中,上述预设的第一高度阈值z

参考上述O-XYZ坐标系的探测点i的纵坐标值z

参考上述O-XYZ坐标系的探测点i的纵坐标值z

参考上述O-XYZ坐标系的探测点i的纵坐标值z

步骤404:对所有障碍物点在XOZ坐标平面上进行线性拟合。具体的,可以将被标记为障碍物点的各探测点在图3所示的XOZ坐标平面上的投影点进行线性拟合。

可以理解,线性拟合是分析离散点分布特性的重要工具。其中,线性拟合中最基本和最常用的是直线拟合。以最小二乘法进行直线拟合为例,设自变量x和因变量y之间的函数关系为下列关系式(3):

y

其中,x

以障碍物点作为观测点,下面利用最小二乘法把对应的观测点数据拟合为直线。用最小二乘法估计参数时,要求观测值y

拟合时使用程序迭代a,b值使得拟合误差最终收敛,得到最后的拟合方程式y=a+bx以及拟合误差error,拟合误差小于预设阈值即认为是拟合结果是直线。例如,参考图6所示的直线拟合结果示意图,当error<0.001时,各障碍物点的分布特性符合直线标准,拟合结果是直线。

可以理解,在另一些实施例中,也可以对上述标记的障碍物点在其他坐标平面上进行线性拟合,例如在图3所示的YOZ坐标平面上对上述障碍物点进行线性拟合,在此不做限制。

步骤405:基于线性拟合结果判断所探测到的障碍是否为斜坡。若是,则继续执行步骤406;若否,则结束本次流程。

如上所述,在上述步骤404的线性拟合分析中,b为拟合直线的斜率。可以理解,当上述拟合分析得到的斜率b很小时,机器人101可以忽略该障碍103而不会进行斜坡检测。因此可以通过设置斜率下限阈值作为进一步的判断条件来判断机器人101所遇障碍103是否为斜坡。例如,设置斜率下限阈值为0.0524,则当b≥0.0524时,判断机器人101所遇障碍103为斜坡103。

其中,斜率b即代表斜坡103的坡度,也就是斜坡103的坡角α的正弦值,即:

tanα=b

因此,可以得到坡角α的计算公式(5)为:

α=tan

因此可以理解,在另一些实施例中,也可以通过预设坡角下限阈值来判断机器人101所遇障碍103是否为斜坡,例如坡角下限阈值预设为3°,则可以基于斜率b和上述公式(5)计算得到斜坡103的坡角α,当α>3°时,判断机器人101所遇障碍103为斜坡103,在此不做限制。

步骤406:基于预设坡度上限阈值,确定是否能够顺利爬坡。具体地,基于机器人101的爬坡能力,可以预设机器人101能够顺利爬坡的斜坡103的坡度上限阈值,在上述步骤404所确定的斜坡103的坡度b小于预设坡度上限阈值的情况下,确定机器人101可以顺利通过该斜坡103。

例如,预设坡度上限阈值为0.364,当斜坡103的坡度b<0.364时,机器人101可以顺利通过该斜坡103。

可以理解,在另一些实施例中,也可以通过预设坡角上限阈值来判断机器人101是否可以顺利通过该斜坡103,例如预设坡角上限阈值为10°,则可以基于上述步骤404所确定的斜率b和上述公式(5)计算得到斜坡103的坡角α,当α<10°时,判断机器人101可以顺利通过该斜坡103,反之,则机器人101不能通过该斜坡103,此时机器人101可以选择绕行该斜坡103或停止前进。在此不做限制。

可以理解,基于单线激光雷达的探测距离有限,例如探测距离是5m,因此本申请实施例所实施的斜坡检测方法在具体实施过程中能够探测一定距离范围内的斜坡。

另外,基于上述步骤404所确定的障碍物点在图3所示XOZ坐标平面上的投影点的x轴坐标值x

可以理解,由于本实施例中在机器人101上仅设置一个单线激光雷达实施本申请的斜坡检测方法,其检测范围存在一定的局限性,一般实际应用中主要需要探测机器人101行进方向上的斜坡,因此设置在图3所示的机器人101的前端面1011上的单线激光雷达102对于机器人101行进方向左右两侧的斜坡检测则较为受限。

下面通过另一实施例说明通过在机器人101上设置两个单线激光雷达实现本申请的斜坡检测方法的具体过程。

实施例二

本实施例通过在机器人101上设置两个单线激光雷达介绍本申请的斜坡检测方法的具体实施过程。

图7a-图7b示出了应用于本实施例的斜坡检测方法的另一种应用场景示意图。如图7a所示机器人101的前端面1011下边缘线的中心点上方设置有单线激光雷达102-1、机器人101的前端面1011上边缘中心处设置有单线激光雷达102-2,单线激光雷达102-1的激光扫描平面102-1’与单线激光雷达102-2的激光扫描平面102-2’相交于O

与上述实施例一的不同之处在于,本实施例中,机器人101上设置有两个单线激光雷达。因此,单线激光雷达102对机器人101行进方向上的地面进行斜坡检测时所返回的原始点云坐标,机器人101的处理器204基于返回的原始点云坐标确定机器人101行进方向前方所遇障碍103是否为斜坡,若障碍103为斜坡103,则机器人101可以进一步确定该斜坡103的坡度或坡角,以确定是否能够顺利通过该斜坡103。

在另一些实施例,机器人101上设置的两个单线激光雷达的位置还可以是机器人101的其他位置,参考图8所示的本实施例应用场景中另一种单线激光雷达的安装位置示意图。以图8所示的俯视图视角进行描述,如图8所示,机器人101的顶面左侧与前端面上侧相邻边缘的两端分别设置有单线激光雷达102-1和单线激光雷达102-2,单线激光雷达102-1的激光扫描平面102-1’与单线激光雷达102-2的激光扫描平面102-2’的交线为O

根据图7a至7b和图8所示的单线激光雷达扫描平面的覆盖范围进行对比可以看出,图7a至7b所示的单线激光雷达安装位置能够更加准确地检测到机器人101的行进方向上所遇到的障碍103以及机器人101距离该障碍103的距离,但此种安装位置下机器人101难以感知其行进方向左右两侧的周围环境;而图8所示的单线激光雷达102-1和102-2的安装位置不仅可以检测机器人101行进方向上所遇到的障碍103,还能够探测到机器人101行进方向左右两侧的障碍103,即图8所示的安装位置可以使得机器人101具有更大的探测感知范围,但此安装位置下,由于在机器人101行进方向上单线激光雷达的数量有限以及单线激光雷达的扫描频率限制,在机器人101行进方向上所采集的探测点数量较少,因而机器人101基于探测点坐标信息确定斜坡信息的速度较慢、及时性也较差。下面基于图7a所示的单线激光雷达安装位置,详细介绍本实施例的斜坡检测方法的具体实施过程。

参考上述实施例一中的步骤401至步骤406,机器人101的处理器204基于单线激光雷达检测障碍103所返回的原始点云坐标中各探测点的坐标信息,确定障碍103是否为斜坡103、以及计算斜坡103的坡度或坡角大小过程具体如下:

参考上述步骤401,机器人101的处理器204获取单线激光雷达102-1和102-2进行斜坡检测时返回的各探测点参考传感器坐标系的极坐标值,作为原始点云坐标。参考图7a所示,可以理解,在本实施例中各探测点参考传感器坐标系的极坐标值包括单线激光雷达102-1所返回的各探测点参考单线激光雷达102-1的传感器坐标系的极坐标值、以及单线激光雷达102-2所返回的各探测点在单线激光雷达102-2的传感器坐标系下的极坐标值,其中,单线激光雷达102-1的传感器坐标系是以单线激光雷达102-1的激光发射点为原点、以单线激光雷达102-1的激光扫描平面102-1’为图7a所示的坐标平面X

参考上述步骤402,机器人101的处理器204通过运行相应算法,将上述获取的两个单线激光雷达的传感器返回的各探测点的极坐标值均转换成机器人坐标系下的笛卡尔坐标值。坐标转换过程参考实施例一中的公式(1)至(2),在此不再赘述。

参考上述步骤403,机器人101的处理器204通过运行相应算法,将上述转换得到的各探测点参考机器人坐标系的笛卡尔坐标值中的z坐标值与预设Z值进行比较,并对各探测点进行分类、添加分类标记,各探测点的分类参考实施例一中的障碍物点、地面点以及悬崖点,预设Z值参考实施例一中的第一高度阈值z

参考上述步骤404,机器人101的处理器204通过运行相应算法,对所有标记为障碍物点的各探测点,在XOZ坐标平面上进行线性拟合,例如通过最小二乘法进行直线拟合,拟合过程参考实施例一中的相关描述,直线拟合所采用的拟合关系式参考上述实施例一中的关系式(3),拟合误差的计算公式参考上述实施例一中的公式(4),在此不再赘述。

参考上述步骤405,机器人101的处理器204通过运行相应算法,基于上述直线拟合的结果判断所探测到的障碍是否为斜坡,具体判断过程可以参考实施例一中步骤405的相关描述,在此不再赘述。

参考上述步骤406,如果上述判断是机器人101所探测到的障碍为斜坡,则机器人101的处理器204通过运行相应算法,进一步确定所遇斜坡103的坡度或坡角,并根据机器人101的系统中预设的坡度上限阈值或坡角上限阈值,确定是否能顺利爬坡。具体计算斜坡103的坡度或坡角的过程、以及确定机器人101是否能顺利爬坡的过程可以参考上述实施例一中步骤406的相关描述,在此不再赘述。

另外,参考上述实施例一中步骤404,基于本实施例中机器人101的处理器204实施上述步骤404所确定的障碍物点在图7a所示的XOZ坐标平面上的投影点的x轴坐标值x

可以理解,本实施例通过在机器人101上设置的两个单线激光雷达实施本申请的斜坡检测方法,如上所述,图7a至7b、以及图8所示的单线激光雷达的安装位置在进行斜坡检测时均存在一定的局限性。为了克服本实施例中安装两个单线激光雷达进行斜坡检测局限性,实现更好的斜坡检测效果,可以在机器人101上设置三个或三个以上的单线激光雷达。

下面通过另一实施例说明通过在机器人101上设置三个单线激光雷达实现本申请的斜坡检测方法的具体过程。

实施例三

本实施例通过在机器人101上设置三个单线激光雷达介绍本申请的斜坡检测方法的具体实施过程。

图10示出了应用于本实施例的斜坡检测方法的另一种应用场景示意图。如图9所示,机器人101的前端面1011下边缘线的中心点上方设置有单线激光雷达102-1、机器人101的前端面1011上边缘两端位置上分别设置有单线激光雷达102-2和102-3。单线激光雷达102-1、102-2和102-3对机器人101行进方向上的地面进行斜坡检测所返回的原始点云坐标,机器人101的处理器204基于返回的原始点云坐标确定机器人101行进方向前方所遇障碍103是否为斜坡,若障碍103为斜坡103,则机器人101可以进一步确定该斜坡103的坡度或坡角α,以确定是否能够顺利通过该斜坡103。

其中,单线激光雷达102-1所发射的激光旋转形成的激光扫描平面为102-1’,单线激光雷达102-2所发射的激光旋转形成的激光扫描平面为102-2’,单线激光雷达102-3所发射的激光旋转形成的激光扫描平面为102-3’。

为了更清楚的描述本实施例中三个单线激光雷达的安装位置,图10示出了图9所示场景中单线激光雷达安装位置的立体结构示意图。如图10所示,机器人101的行进方向前端面下边缘线的中心点上方设置有单线激光雷达102-1,机器人101的前端面1011上边缘两端分别设置有单线激光雷达102-2和102-3。

其中,单线激光雷达102-2和102-3的安装角度参考上述图5所示方法进行调整,以单线激光雷达102-3为例,如图10所示的坐标轴示意位置,单线激光雷达102-3的起始激光扫描平面(下称传感器平面)平行于上述图10所示的参考机器人坐标系的XOZ坐标平面,形成原始机器人坐标系O-XYZ。安装时可以将传感器平面先以原始机器人坐标系下的Z轴为中心轴旋转角度A,原始的X轴位置转动至X

在另一些实施例,机器人101上三个单线激光雷达的设置位置也可以是机器人101前端面上的其他位置,其中单线激光雷达102-2和102-3的安装角度也可以是其他安装角度,在此不做限制。参考图11a至11b所示的应用于本实施例的两种单线激光雷达之间夹角变化示意图,单线激光雷达102-2的激光扫描平面102-2’与单线激光雷达102-3的激光扫描平面102-3’之间的夹角C可以较大(参考图11a所示),也可以较小(参考图11b所示)。

下面基于图9所示的单线激光雷达102-1、102-2以及102-3的安装位置,参考上述实施例一中图4所示的具体实施本申请斜坡检测方法的步骤流程,详细介绍本实施例的斜坡检测方法的具体实施过程。

参考上述实施例一中的步骤401至步骤406,机器人101的处理器204基于单线激光雷达检测障碍103所返回的原始点云坐标中各探测点的坐标信息,确定障碍103是否为斜坡103、以及计算斜坡103的坡度或坡角大小过程具体如下:

参考上述步骤401,机器人101的处理器204获取单线激光雷达102-1、102-2和102-3进行斜坡检测时返回的各探测点参考传感器坐标系的极坐标值,作为原始点云坐标。参考图9所示,可以理解,在本实施例中各探测点参考传感器坐标系的极坐标值包括单线激光雷达102-1所返回的各探测点参考单线激光雷达102-1的传感器坐标系的极坐标值、单线激光雷达102-2所返回的各探测点参考单线激光雷达102-2的传感器坐标系的极坐标值,以及单线激光雷达102-3所返回的各探测点参考单线激光雷达102-3的传感器坐标系的极坐标值。其中,单线激光雷达102-1的传感器坐标系是以单线激光雷达102-1的激光发射点为原点、以单线激光雷达102-1的激光扫描平面102-1’为图9所示的坐标平面X

参考上述步骤402,机器人101的处理器204通过运行相应算法,将上述获取的两个单线激光雷达的传感器返回的各探测点的极坐标值均转换成机器人坐标系下的笛卡尔坐标值。坐标转换过程参考实施例一中的公式(1)至(2),在此不再赘述。

参考上述步骤403,机器人101的处理器204通过运行相应算法,将上述转换得到的各探测点参考机器人坐标系的笛卡尔坐标值中的z轴坐标值与预设Z值或预设Z值所对应纵坐标值进行比较,并对各探测点进行分类、添加分类标记,各探测点的分类参考实施例一中的障碍物点、地面点以及悬崖点,预设Z值参考实施例一中的第一高度阈值z

参考上述步骤404,机器人101的处理器204通过运行相应算法,对所有标记为障碍物点的各探测点,在图9所示的XOZ坐标平面上进行线性拟合,例如通过最小二乘法进行直线拟合,拟合过程参考实施例一中的相关描述,直线拟合所采用的拟合关系式参考上述实施例一中的关系式(3),拟合误差的计算公式参考上述实施例一中的公式(4),在此不再赘述。

参考上述步骤405,机器人101的处理器204通过运行相应算法,基于上述直线拟合的结果判断所探测到的障碍是否为斜坡,具体判断过程可以参考实施例一中步骤405的相关描述,在此不再赘述。

参考上述步骤406,如果上述判断是机器人101所探测到的障碍为斜坡,则机器人101的处理器204通过运行相应算法,进一步确定所遇斜坡103的坡度或坡角,并根据机器人101的系统中预设的坡度上限阈值或坡角上限阈值,确定是否能顺利爬坡。具体计算斜坡103的坡度或坡角的过程、以及确定机器人101是否能顺利爬坡的过程可以参考上述实施例一中步骤406的相关描述,在此不再赘述。

另外,参考上述实施例一中步骤404,基于本实施例中机器人101的处理器204实施上述步骤404所确定的障碍物点在图9所示XOZ坐标平面上的投影点的x轴坐标值x

可以理解,本实施例通过在机器人101上设置的两个单线激光雷达实施本申请的斜坡检测方法,如上所述,图9所示的三个单线激光雷达的安装位置在进行斜坡检测时,相较于前述实施例一和实施例二所描述的斜坡检测方案,既能够实现更全面的激光扫描范围、又能够兼顾返回探测点的及时性方面。也就是说,本实施例的实施过程中既能够使得机器人101能够感知周围环境的范围较大,同时又能够返回更加密集的原始点云坐标以及时准确地确定机器人101周围是否存在障碍、该障碍是否为斜坡等,本申请还能够及时计算斜坡的坡角以进一步确定是否能够爬过该斜坡,利于提高机器人101的有效避障能力。

另外,由于单线激光雷达的成本低廉,在本申请的各实施例中采用少数单线激光雷达实现斜坡检测,能够大大降低机器人101的生产成本,同时,本申请的斜坡检测方法能够达到优于多线激光雷达进行斜坡检测的技术效果,利于本申请斜坡检测方案的广泛推广使用。

本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。

程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。

在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。

在本申请实施例的各附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。

需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。

需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

相关技术
  • 斜坡检测方法及驱动设备、存储介质
  • 幅值检测方法、电机驱动设备、存储介质及装置
技术分类

06120113048805