CN114185020A - 一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 - Google Patents
一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 Download PDFInfo
- Publication number
- CN114185020A CN114185020A CN202111455235.6A CN202111455235A CN114185020A CN 114185020 A CN114185020 A CN 114185020A CN 202111455235 A CN202111455235 A CN 202111455235A CN 114185020 A CN114185020 A CN 114185020A
- Authority
- CN
- China
- Prior art keywords
- laser
- data frame
- robot
- chassis
- laser data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请提供了一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置,用于更为简洁高效地消除激光雷达的运动畸变问题,同时还具有误差较小的特点。方法包括:获取机器人上激光雷达旋转一周扫描得到的激光数据帧,激光数据帧包括多个激光束测量得到的距离数据,机器人的底盘为阿克曼底盘;通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标;封装经过坐标转换后的激光数据帧,以供发布并完成激光数据帧的运动畸变的去除。
Description
技术领域
本申请涉及机器人领域,具体涉及一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置。
背景技术
自主移动机器人常用的传感器有激光雷达、超声波雷达、毫米波雷达、单目相机、双目相近等。其中激光雷达具有探测距离远、精度高、抗干扰能力强的优点,被广泛应用于机器人传感器领域。
但由于激光雷达的旋转需要消耗不可忽略的时间,在机器人高速运动时,同一帧激光数据里面的各激光原点会存在不可忽略的偏移,继而造成运动畸变的情况,如果不采取相应手段消除激光雷达的运动畸变,会给后续的机器人同步定位与建图、导航避障带来误差,从而影响机器人的运动精度,降低其安全性,所以有必要消除激光雷达的运动畸变问题。
目前,对于阿克曼底盘的机器人而言,激光雷达的运动畸变问题往往是不做处理,或者是使用惯性测量单元(Inertial Measurement Unit,IMU),对激光数据进行多次坐标转换后重新封装数据,继而发布。
然而对激光数据在短时间内进行多次坐标转换,涉及的计算量较大,对硬件要求较高,而这还容易产生延时,实用价值仍不高。
发明内容
本申请提供了一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置,用于更为简洁高效地消除激光雷达的运动畸变问题,同时还具有误差较小的特点。
第一方面,本申请提供了一种基于阿克曼底盘的激光雷达运动畸变去除方法,方法包括:
获取机器人上激光雷达旋转一周扫描得到的激光数据帧,激光数据帧包括多个激光束测量得到的距离数据,机器人的底盘为阿克曼底盘;
通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;
基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标;
封装经过坐标转换后的激光数据帧,以供发布并完成激光数据帧的运动畸变的去除。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,获取机器人上激光雷达旋转一周扫描得到的激光数据帧,包括:
获取初始激光数据帧;
检查初始激光数据帧中最早的时间戳是否晚于机器人的里程计数据队列最早的时间戳,以及检查激光数据帧中最晚的时间戳是否早于里程计数据队列最晚的时间戳;
若都为是,则确定符合要求,保留初始激光数据帧;
若不都为是,则确定不符合要求,丢弃初始激光数据帧并获取新的激光数据帧。
结合本申请第一方面第一种可能的实现方式,在本申请第一方面第二种可能的实现方式中,里程计数据队列通过基于阿克曼底盘的轴距以及底盘宽度构建的机器人运动模型获得,里程计数据队列在队列数据结构下按时间顺序存储里程计数据得到。
结合本申请第一方面第二种可能的实现方式,在本申请第一方面第三种可能的实现方式中,在阿克曼底盘上两个带有编码器的电机分别作为左驱动轮、右驱动轮的驱动轮电机,机器人运动模型通过两个编码器测得的数据,分别计算出左驱动轮、右驱动轮的线速度,基于左驱动轮、右驱动轮的线速度确定机器人的本体速度以及转向角度,在取样时间范围内对本体速度进行积分得到机器人的本***移,基于本***移记录得到对应的里程计数据。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第四种可能的实现方式中,编码器具体为增量式输出的霍尔编码器。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第五种可能的实现方式中,编码器测得的数据是在软件四倍频处理机制下得到的,软件四倍频处理机制为:分别捕获霍尔编码器的A相的上升沿、下降沿以及B相的上升沿、下降沿,在单位时间内脉冲计数值为基础脉冲计数值的四倍。
结合本申请第一方面,在本申请第一方面第六种可能的实现方式中,通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿,包括:
通过插值法在时间维度上进行同步,为激光数据帧中的每个激光原点匹配近似的机器人位姿。
第二方面,本申请提供了一种基于阿克曼底盘的激光雷达运动畸变去除装置,装置包括:
获取单元,用于获取机器人上激光雷达旋转一周扫描得到的激光数据帧,激光数据帧包括多个激光束测量得到的距离数据,机器人的底盘为阿克曼底盘;
匹配单元,用于通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;
转换单元,用于基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标;
封装单元,用于封装经过坐标转换后的激光数据帧,以供发布并完成激光数据帧的运动畸变的去除。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,获取单元,具体用于:
获取初始激光数据帧;
检查初始激光数据帧中最早的时间戳是否晚于机器人的里程计数据队列最早的时间戳,以及检查激光数据帧中最晚的时间戳是否早于里程计数据队列最晚的时间戳;
若都为是,则确定符合要求,保留初始激光数据帧;
若不都为是,则确定不符合要求,丢弃初始激光数据帧并获取新的激光数据帧。
结合本申请第二方面第一种可能的实现方式,在本申请第二方面第二种可能的实现方式中,里程计数据队列通过基于阿克曼底盘的轴距以及底盘宽度构建的机器人运动模型获得,里程计数据队列在队列数据结构下按时间顺序存储里程计数据得到。
结合本申请第二方面第二种可能的实现方式,在本申请第二方面第三种可能的实现方式中,在阿克曼底盘上两个带有编码器的电机分别作为左驱动轮、右驱动轮的驱动轮电机,机器人运动模型通过两个编码器测得的数据,分别计算出左驱动轮、右驱动轮的线速度,基于左驱动轮、右驱动轮的线速度确定机器人的本体速度以及转向角度,在取样时间范围内对本体速度进行积分得到机器人的本***移,基于本***移记录得到对应的里程计数据。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第四种可能的实现方式中,编码器具体为增量式输出的霍尔编码器。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第五种可能的实现方式中,编码器测得的数据是在软件四倍频处理机制下得到的,软件四倍频处理机制为:分别捕获霍尔编码器的A相的上升沿、下降沿以及B相的上升沿、下降沿,在单位时间内脉冲计数值为基础脉冲计数值的四倍。
结合本申请第二方面,在本申请第二方面第六种可能的实现方式中,匹配单元,具体用于:
通过插值法在时间维度上进行同步,为激光数据帧中的每个激光原点匹配近似的机器人位姿。
第三方面,本申请提供了一种机器人,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对于阿克曼底盘的机器人其激光雷达存在的运动畸变的问题,以激光数据帧为单位,通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标,此时激光数据帧通过坐标转换完成了运动畸变的消除,更为简洁高效,同时还具有误差较小的特点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请基于阿克曼底盘的激光雷达运动畸变去除方法的一种流程示意图;
图2为本申请机器人运动模型的一种场景示意图;
图3为本申请编码器的一种波形输出图;
图4为本申请基于阿克曼底盘的激光雷达运动畸变去除方法的一种场景示意图;
图5为本申请基于阿克曼底盘的激光雷达运动畸变去除装置的一种结构示意图;
图6为本申请机器人的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的基于阿克曼底盘的激光雷达运动畸变去除方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的基于阿克曼底盘的激光雷达运动畸变去除方法、装置以及计算机可读存储介质,可应用于机器人,用于更为简洁高效地消除激光雷达的运动畸变问题,同时还具有误差较小的特点。
本申请提及的基于阿克曼底盘的激光雷达运动畸变去除方法,其执行主体可以为基于阿克曼底盘的激光雷达运动畸变去除装置,或者集成了该装置的机器人。
其中,基于阿克曼底盘的激光雷达运动畸变去除设备装置可以采用硬件或者软件的方式实现,而机器人,不仅可以理解为机器人本体,还可以理解为机器人本体以及机器人控制设备的结合,该机器人控制设备,为从机器人本体的外部控制机器人本体工作状态的设备,例如控制器,又例如工作台,具体的可以为服务器、物理主机或者用户设备(UserEquipment,UE)等不同类型的设备,UE则具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备,
下面,开始介绍本申请提供的基于阿克曼底盘的激光雷达运动畸变去除方法。
首先,参阅图1,图1示出了本申请基于阿克曼底盘的激光雷达运动畸变去除方法的一种流程示意图,本申请提供的基于阿克曼底盘的激光雷达运动畸变去除方法,具体可包括如下步骤S101至步骤S104:
步骤S101,获取机器人上激光雷达旋转一周扫描得到的激光数据帧,激光数据帧包括多个激光束测量得到的距离数据,机器人的底盘为阿克曼底盘;
可以理解,本申请所涉及的机器人,其配置了阿克曼底盘以及激光雷达的机器人,该阿克曼底盘为采用阿克曼结构的运动底盘,而在该结构下,现有技术中使用的激光数据则存在运动畸变的问题,而本申请则以激光雷达扫描得到的激光数据帧为单位,对其进行数据优化,以避免出现运动畸变的问题。
其中,应当理解的是,对于机器人配置的阿克曼底盘以及激光雷达的具体产品以及装配结构,是可以随实际需要而调整的,因此本申请在此不做具体限制。
在机器人的工作过程中,其装配的激光雷达则可进行旋转扫描,得到激光数据,为机器人的定位、构图等需求方面提供数据依据,而在这过程中,本申请则基于旋转一周扫描得到的激光数据帧,展开其数据优化。
步骤S102,通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;
在激光数据帧中,可以理解的是,其包含了大量的激光原点,这些小单位的激光原点组成了整体的激光数据帧,每个激光原点对应了一部分的激光扫描信息,具体可包括扫描角度、扫描深度以及时间戳等内容,显然,可反应一定程度上的机器人本体以及周遭环境的三维空间内容。
而本申请,则认为,可以从激光原点所反映的三维空间内容出发,对其存在的一定程度的运动畸变进行校正。
其中,本申请具体以机器人位姿为中间单位,作为运动畸变的校正的依据,该机器人位姿容易理解,可描述机器人在三维空间中的位置以及姿态,可以理解,激光扫描得到的每一个激光原点一般都对着激光雷达的旋转扫描而伴随微小的偏移,也因此,每个激光原点对应的机器人位姿之间也可反映出微小的变化,因此本申请将其作为运动畸变的校正依据。
此外,本申请还认为,激光数据帧中的每个激光原点以及预设的机器人位姿之间还可能存在着未完全匹配的缘故,主要原因是两者的样本量不相同,激光原点可能没有匹配的机器人位姿,因此,本申请则继续引入插值法,以插值的方式将离散数据转化为连续数据,如此为每个激光原点匹配到近似的机器人位姿。
步骤S103,基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标;
可以理解,机器人位姿之间的变换关系,对应了激光雷达旋转一周扫描过程中机器人的运动状态的变化,而此时,则以机器人位姿之间的变换关系为指导依据,以激光数据帧中的初始激光原点作为基准坐标系,将其他激光原点的坐标转换到该基准坐标系下的坐标,从而,此时激光数据帧中的每个激光原点,都是在同一个坐标系下的坐标,而未存在因机器人运动状态的变化导致的处于偏移的不同坐标系下的坐标,克服了运动畸变的问题。
步骤S104,封装经过坐标转换后的激光数据帧,以供发布并完成激光数据帧的运动畸变的去除。
在对激光数据帧进行运动畸变的纠正后,则可按照预设的机器人使用要求,对其进行封装,继而可进行发布,可投入到机器人如定位、构图等方面的正常使用。
从图1所示实施例可看出,针对于阿克曼底盘的机器人其激光雷达存在的运动畸变的问题,以激光数据帧为单位,通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标,此时激光数据帧通过坐标转换完成了运动畸变的消除,更为简洁高效,同时还具有误差较小的特点。
进一步的,对于上述内容,在一些细节方面,本申请在实际应用中还具有具体的优化方案。
对于进行校正运动畸变的激光数据帧,还可存在有效性的校验处理,具体的,可以包括以下内容:
获取初始激光数据帧;
检查初始激光数据帧中最早的时间戳是否晚于机器人的里程计数据队列最早的时间戳,以及检查激光数据帧中最晚的时间戳是否早于里程计数据队列最晚的时间戳;
若都为是,则确定符合要求,保留初始激光数据帧;
若不都为是,则确定不符合要求,丢弃初始激光数据帧并获取新的激光数据帧。
可以理解,为保障激光数据帧的有效性,本申请认为,存在运动畸变的激光数据帧应当是在机器人的运动过程中扫描得到的,而在数据处理层面上为自动筛选出机器人的运动过程中扫描得到的激光数据帧,则可借助里程计数据队列来实现。
里程计数据队列,为多组的里程计数据构造得到的,而小单位的里程计数据,容易理解,通过携带的速度、路程来指示机器人的运动过程。
因此,本申请将需要纠正运动畸变的激光数据帧,缩限于在数据层面上时头、尾的时间戳都处于里程计数据队列的时间范围(头、尾的时间戳之间)中,如此保障了激光数据帧的有效性。
而对于里程计数据队列,既可以是采用现有技术中如里程计等方案获得,也可以采用其他的优化方案获得。
作为又一种适于实用的实现方式,在本申请中,里程计数据队列具体可以通过基于阿克曼底盘的轴距以及底盘宽度构建的机器人运动模型获得,里程计数据队列在队列数据结构下按时间顺序存储里程计数据得到。
可以理解,机器人运动模型为用于根据输入的机器人相关参数变量(通过相关的传感器采集得到),来确定机器人的实时运动状态的模型。
在构建机器人运动模型的过程中,本申请还考虑了机器人的结构因素,包括上述提及的阿克曼底盘的轴距以及底盘宽度。
示例性的,还可参考图2示出的本申请机器人运动模型的一种场景示意图进行理解,其中,以左转为例,H为轴距,D为底盘宽度,R为整体的转弯半径,Rl为左轮的转弯半径,Rr为右轮的转弯半径,θ为整体的轮偏角。
进一步的,作为又一种适于实用的实现方式,本申请机器人运动模型可以基于双轮差动原则进行里程计数据的处理。
具体的,本申请在阿克曼底盘上两个带有编码器的电机分别作为左驱动轮、右驱动轮的驱动轮电机,机器人运动模型通过两个编码器测得的数据,分别计算出左驱动轮、右驱动轮的线速度,基于左驱动轮、右驱动轮的线速度确定机器人的本体速度以及转向角度,在取样时间范围内对本体速度进行积分得到机器人的本***移,基于本***移记录得到对应的里程计数据。
上述机器人的本***移的获取原理,还可详见下面的内容。
结合上述提及的图1,假设阿克曼底盘只有一个前轮,位于前轮轴距中央,由机器人运动模型可知,当前轮偏角为θ,H为轴距,D为底盘宽度,R为整体的转弯半径,Rl为左轮的转弯半径,Rr为右轮的转弯半径,Rl、Rr可以通过驱动轮的编码器测得,又以Vl、Vr、V分别表示左后轮、右后轮、整体的前进速度,则由角速度的一致性可得:
又有:
结合:
可得左、右轮的目标线速度:
通过左、右电机的编码器计算出左右驱动轮的线速度,就可以继续计算出机器人的本体速度以及转向角度:
此时通过在取样时间范围内对机器人的本体速度进行一次积分,即可计算出对应的机器人的本***移。
从上述可发现,通过编码器来获得机器人的本***移还有转向角度,在处理上具有简单、快捷的特点,且获得的数据还具有误差小、取样频率高的优点。
此外,本申请仅利用编码器来构建里程计数据,还可避免现有技术中采用IMU加编码器的数据融合过程,从而带来效率更高、误差更小的优点。
作为又一种适于实用的实现方式,在本申请中,对于驱动轮电机配置的编码器,具体可以采用增量式输出的霍尔编码器,增量式的编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。
此外,对于编码器测得的初始数据,在采样过程中本申请还可引入软件四倍频处理机制,或者说,上述所使用的编码器测得的数据,是在软件四倍频处理机制下得到的,该软件四倍频处理机制为:
分别捕获霍尔编码器的A相的上升沿、下降沿以及B相的上升沿、下降沿,在单位时间内脉冲计数值为基础脉冲计数值的四倍。
具体的,还可参考图3示出的本申请编码器的一种波形输出图。
在软件四倍频处理机制下,进一步提高了所使用的编码器测得的数据的精度。
具体的,上述内容,还可参考图4示出的本申请基于阿克曼底盘的激光雷达运动畸变去除方法的一种场景示意图进行理解。
作为又一种适于实用的实现方式,上述提及的,通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿,具体可以为:
通过插值法在时间维度上进行同步,为激光数据帧中的每个激光原点匹配近似的机器人位姿。
可以看出,在通过引入插值法,以插值的方式将离散数据转化为连续数据、为每个激光原点匹配近似的机器人位姿的过程中,还考虑了时间因素,在时间维度上进行同步,如此进一步提高了匹配的精确性。
具体的,在匹配过程中,假设某激光数据帧以xHz的频率旋转,两个激光束间的时间为Δt,第一束激光束于时刻ts发射,最后一束激光束于时刻te发射,使用队列数据结构按时间顺序存储里程计数据,其中里程计数据最早的时间戳ti<ts,最晚的时间戳ti+k>te,求解当前激光帧的(ts,ts+Δt,...,te)时刻对应的机器人位姿。
对机器人位姿与激光原点在时间维度上进行同步,假设ts时刻对应里程计队列中第i个数据,te时刻对应第j个数据,则在ts、te时刻的机器人位姿为:
由于里程计数据是离散的,有可能出现ts或te时刻的激光原点没有对应的里程计位数据的情况,这种情况可对里程计数据进行线性插值,以插值的方式将离散数据转化为连续数据。
假设有l、s、k时刻,满足l<s<k。在l,k时刻存在机器人位姿,则l、k、s时刻对应的机器人位姿为:
假设在一帧激光数据间,机器人底盘做的匀加速运动,则其位姿p与时间t是二次幂关系。设tm=(ts+te)/2,且l<m<k,则在tm时刻的机器人位姿为:
已知Ps,Pm,Pe,就可以插值一条二次曲线,其中t满足te≥t≥ts:
P(t)=At2+Bt+C,
为了简化,可用分段线性函数对二次曲线进行近似。把te≥t≥ts时间段内的位姿分成多个段。然后在每一个分段中再进行线性近似、线性插值,这样就可以获得一帧激光数据中每个激光束对应的机器人位姿。设在te≥t≥ts时间段内,一共取k个机器人位姿{Ps,...,Ps+k-2,Pe},由于数据是离散的,在每个相邻机器人位姿之间的数据都是不可得的,所以在k个机器人位姿之间进行线性插值。在每个分段中进行线性插值,设在Ps+i和Ps+i+1之间存在个m位姿则:
假设每帧激光数据包含n个激光束数据,则可以通过上式得到每个激光点对应的机器人位姿{P1,...,Pn}。
后续的,若激光数据原坐标为xi,转换到基准坐标系下的坐标为xi′,Ti为Pi相对于P1的变换矩阵,则有:
xi′=Tixi,
把xi′转换成激光数据帧发布出去,即可完成激光数据的预处理过程,从而消除激光雷达的运动畸变,新的激光数据帧为:
以上是本申请提供基于阿克曼底盘的激光雷达运动畸变去除方法的介绍,为便于更好的实施本申请提供的基于阿克曼底盘的激光雷达运动畸变去除方法,本申请还从功能模块角度提供了一种基于阿克曼底盘的激光雷达运动畸变去除装置。
参阅图5,图5为本申请基于阿克曼底盘的激光雷达运动畸变去除装置的一种结构示意图,在本申请中,基于阿克曼底盘的激光雷达运动畸变去除装置500具体可包括如下结构:
获取单元501,用于获取机器人上激光雷达旋转一周扫描得到的激光数据帧,激光数据帧包括多个激光束测量得到的距离数据,机器人的底盘为阿克曼底盘;
匹配单元502,用于通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;
转换单元503,用于基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标;
封装单元504,用于封装经过坐标转换后的激光数据帧,以供发布并完成激光数据帧的运动畸变的去除。
在又一种示例性的实现方式中,获取单元501,具体用于:
获取初始激光数据帧;
检查初始激光数据帧中最早的时间戳是否晚于机器人的里程计数据队列最早的时间戳,以及检查激光数据帧中最晚的时间戳是否早于里程计数据队列最晚的时间戳;
若都为是,则确定符合要求,保留初始激光数据帧;
若不都为是,则确定不符合要求,丢弃初始激光数据帧并获取新的激光数据帧。
在又一种示例性的实现方式中,里程计数据队列通过基于阿克曼底盘的轴距以及底盘宽度构建的机器人运动模型获得,里程计数据队列在队列数据结构下按时间顺序存储里程计数据得到。
在又一种示例性的实现方式中,在阿克曼底盘上两个带有编码器的电机分别作为左驱动轮、右驱动轮的驱动轮电机,机器人运动模型通过两个编码器测得的数据,分别计算出左驱动轮、右驱动轮的线速度,基于左驱动轮、右驱动轮的线速度确定机器人的本体速度以及转向角度,在取样时间范围内对本体速度进行积分得到机器人的本***移,基于本***移记录得到对应的里程计数据。
在又一种示例性的实现方式中,编码器具体为增量式输出的霍尔编码器。
在又一种示例性的实现方式中,编码器测得的数据是在软件四倍频处理机制下得到的,软件四倍频处理机制为:分别捕获霍尔编码器的A相的上升沿、下降沿以及B相的上升沿、下降沿,在单位时间内脉冲计数值为基础脉冲计数值的四倍。
在又一种示例性的实现方式中,匹配单元503,具体用于:
通过插值法在时间维度上进行同步,为激光数据帧中的每个激光原点匹配近似的机器人位姿。
本申请还从硬件结构角度提供了一种机器人,参阅图6,图6示出了本申请机器人的一种结构示意图,具体的,本申请机器人可包括处理器601、存储器602以及输入输出设备603,处理器601用于执行存储器602中存储的计算机程序时实现如图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法的各步骤;或者,处理器601用于执行存储器602中存储的计算机程序时实现如图5对应实施例中各单元的功能,存储器602用于存储处理器601执行上述图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器602中,并由处理器601执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
机器人可包括,但不仅限于处理器601、存储器602、输入输出设备603。本领域技术人员可以理解,示意仅仅是机器人的示例,并不构成对机器人的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如机器人还可以包括网络接入设备、总线等,处理器601、存储器602、输入输出设备603等通过总线相连。
处理器601可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是机器人的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器602可用于存储计算机程序和/或模块,处理器601通过运行或执行存储在存储器602内的计算机程序和/或模块,以及调用存储在存储器602内的数据,实现计算机装置的各种功能。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据机器人的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器601用于执行存储器602中存储的计算机程序时,具体可实现以下功能:
获取机器人上激光雷达旋转一周扫描得到的激光数据帧,激光数据帧包括多个激光束测量得到的距离数据,机器人的底盘为阿克曼底盘;
通过插值法对激光数据帧中的每个激光原点匹配近似的机器人位姿;
基于激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以激光数据帧中的初始激光原点作为基准坐标系,将激光数据帧中初始激光原点以后的其他激光原点转换到基准坐标系下的坐标;
封装经过坐标转换后的激光数据帧,以供发布并完成激光数据帧的运动畸变的去除。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的基于阿克曼底盘的激光雷达运动畸变去除装置、机器人及其相应单元的具体工作过程,可以参考如图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法的步骤,具体操作可参考如图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法的步骤,因此,可以实现本申请如图1对应实施例中基于阿克曼底盘的激光雷达运动畸变去除方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的基于阿克曼底盘的激光雷达运动畸变去除方法、装置、机器人以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于阿克曼底盘的激光雷达运动畸变去除方法,其特征在于,所述方法包括:
获取机器人上激光雷达旋转一周扫描得到的激光数据帧,所述激光数据帧包括多个激光束测量得到的距离数据,所述机器人的底盘为阿克曼底盘;
通过插值法对所述激光数据帧中的每个激光原点匹配近似的机器人位姿;
基于所述激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以所述激光数据帧中的初始激光原点作为基准坐标系,将所述激光数据帧中所述初始激光原点以后的其他激光原点转换到所述基准坐标系下的坐标;
封装经过坐标转换后的所述激光数据帧,以供发布并完成所述激光数据帧的运动畸变的去除。
2.根据权利要求1所述的方法,其特征在于,所述获取机器人上激光雷达旋转一周扫描得到的激光数据帧,包括:
获取所述初始激光数据帧;
检查所述初始激光数据帧中最早的时间戳是否晚于所述机器人的里程计数据队列最早的时间戳,以及检查所述激光数据帧中最晚的时间戳是否早于所述里程计数据队列最晚的时间戳;
若都为是,则确定符合要求,保留所述初始激光数据帧;
若不都为是,则确定不符合要求,丢弃所述初始激光数据帧并获取新的激光数据帧。
3.根据权利要求2所述的方法,其特征在于,所述里程计数据队列通过基于所述阿克曼底盘的轴距以及底盘宽度构建的机器人运动模型获得,所述里程计数据队列在队列数据结构下按时间顺序存储里程计数据得到。
4.根据权利要求3所述的方法,其特征在于,在所述阿克曼底盘上两个带有编码器的电机分别作为左驱动轮、右驱动轮的驱动轮电机,所述机器人运动模型通过两个所述编码器测得的数据,分别计算出所述左驱动轮、右驱动轮的线速度,基于所述左驱动轮、右驱动轮的线速度确定所述机器人的本体速度以及转向角度,在取样时间范围内对所述本体速度进行积分得到机器人的本***移,基于所述本***移记录得到对应的里程计数据。
5.根据权利要求4所述的方法,其特征在于,所述编码器具体为增量式输出的霍尔编码器。
6.根据权利要求4所述的方法,其特征在于,所述编码器测得的数据是在软件四倍频处理机制下得到的,所述软件四倍频处理机制为:分别捕获所述霍尔编码器的A相的上升沿、下降沿以及B相的上升沿、下降沿,在单位时间内脉冲计数值为基础脉冲计数值的四倍。
7.根据权利要求1所述的方法,其特征在于,所述通过插值法对所述激光数据帧中的每个激光原点匹配近似的机器人位姿,包括:
通过插值法在时间维度上进行同步,为所述激光数据帧中的每个激光原点匹配近似的机器人位姿。
8.一种基于阿克曼底盘的激光雷达运动畸变去除装置,其特征在于,所述装置包括:
获取单元,用于获取机器人上激光雷达旋转一周扫描得到的激光数据帧,所述激光数据帧包括多个激光束测量得到的距离数据,所述机器人的底盘为阿克曼底盘;
匹配单元,用于通过插值法对所述激光数据帧中的每个激光原点匹配近似的机器人位姿;
转换单元,用于基于所述激光数据帧中不同激光原点匹配的机器人位姿之间的变换关系,以所述激光数据帧中的初始激光原点作为基准坐标系,将所述激光数据帧中所述初始激光原点以后的其他激光原点转换到所述基准坐标系下的坐标;
封装单元,用于封装经过坐标转换后的所述激光数据帧,以供发布并完成所述激光数据帧的运动畸变的去除。
9.一种机器人,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111455235.6A CN114185020A (zh) | 2021-12-01 | 2021-12-01 | 一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111455235.6A CN114185020A (zh) | 2021-12-01 | 2021-12-01 | 一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185020A true CN114185020A (zh) | 2022-03-15 |
Family
ID=80603209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111455235.6A Pending CN114185020A (zh) | 2021-12-01 | 2021-12-01 | 一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185020A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115755901A (zh) * | 2022-11-14 | 2023-03-07 | 杭州蓝芯科技有限公司 | 一种移动机器人的停障控制方法和装置 |
-
2021
- 2021-12-01 CN CN202111455235.6A patent/CN114185020A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115755901A (zh) * | 2022-11-14 | 2023-03-07 | 杭州蓝芯科技有限公司 | 一种移动机器人的停障控制方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109975792B (zh) | 基于多传感器融合矫正多线激光雷达点云运动畸变的方法 | |
CN110873883B (zh) | 融合激光雷达和imu的定位方法、介质、终端和装置 | |
US10852139B2 (en) | Positioning method, positioning device, and robot | |
CN112643664B (zh) | 定位误差消除方法、装置、机器人及存储介质 | |
US11279045B2 (en) | Robot pose estimation method and apparatus and robot using the same | |
CN113748357A (zh) | 激光雷达的姿态校正方法、装置和*** | |
US20220083841A1 (en) | Method and system for automatically labeling radar data | |
CN116577760A (zh) | 一种外参标定装置 | |
JP2022510418A (ja) | 時間同期処理方法、電子機器及び記憶媒体 | |
CN111383287B (zh) | 一种车载传感器的外参标定方法及装置 | |
CN110991526B (zh) | 一种非迭代式点云匹配方法、介质、终端和装置 | |
CN114185020A (zh) | 一种基于阿克曼底盘的激光雷达运动畸变去除方法、装置 | |
CN114296057A (zh) | 一种计算测距***相对外参的方法、装置和存储介质 | |
CN110930444B (zh) | 一种基于双边优化的点云匹配方法、介质、终端和装置 | |
CN113587934B (zh) | 一种机器人、室内定位方法、装置和可读存储介质 | |
CN114089316A (zh) | 一种激光雷达-惯导的联合标定***、方法及介质 | |
CN113759347B (zh) | 坐标关系的标定方法、装置、设备及介质 | |
CN117554976A (zh) | 激光雷达去除畸变方法 | |
CN116952229A (zh) | 无人机定位方法、装置、***和存储介质 | |
CN112154480A (zh) | 可移动平台的定位方法、装置、可移动平台及存储介质 | |
CN112455541B (zh) | 一种车轮转角确定方法、装置及设备 | |
CN112506190B (zh) | 一种机器人定位方法、机器人定位装置及机器人 | |
CN115342830A (zh) | 用于定位装置和里程计的标定方法、程序产品和标定装置 | |
CN112649815B (zh) | 处理数据的方法和装置 | |
CN106826826B (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 |