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

机器人传感器组的时间同步方法、装置、设备及存储介质

文献发布时间:2024-04-18 20:02:40


机器人传感器组的时间同步方法、装置、设备及存储介质

技术领域

本发明涉及机器人领域,特别涉及一种机器人传感器组的时间同步方法、装置、设备及存储介质。

背景技术

在机器人导航领域,多传感器融合是一项复杂而重要的技术,该技术能够克服单一传感器的局限性,提高机器人对环境的感知和决策能力。这涉及到整合来自激光雷达、摄像头、惯性测量单元(IMU)等多个传感器的信息,以建立对环境的全面认知。传感器数据在时间上的差异,可能由于硬件延迟、数据传输速率不同或传感器采样率的异构性。存在传感器之间的时序同步问题,导致机器人在导航时无法获得一致且时效准确的数据流。

有鉴于此,提出本申请。

发明内容

本发明公开了一种机器人传感器组的时间同步方法、装置、设备及存储介质,旨在解决由于硬件延迟、数据传输速率不同或传感器采样率的异构性导致的传感器之间的时序同步问题。

本发明第一实施例提供了一种机器人传感器组的时间同步方法,包括:

获取由传感器组采集到的环境信息,并对所述环境信息进行预处理,其中,所述环境信息包括点云数据、图像数据、加速度和角速度;

生成一个滑动窗口,将预处理后的所述环境信息保存在所述滑动窗口内;

监测所述滑动窗口的数据量,并在判断到所述数据量大于预设值时,调用插值法对所述点云数据和所述图像数据进行整合,以生成所述点云数据和所述图像数据的时间戳;

将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内。

优选地,所述调用插值法对所述点云数据和所述图像数据进行整合,具体为:

提取所述点云数据中已知点的位置信息和法向量,调用griddata函数对所述已知点的位置信息和法向量进行线性插值,估算出缺失点的法向量,并根据所述缺失点的法向量更新所述点云数据;

获取所述图像数据中缺失像素的坐标和已知像素的坐标和值,调用griddata函数进行双线性插值,估算出缺失像素的值,并根据所述缺失像素的值更新所述图像数据;

对更新后的图像数据和更新后的点云数据进行时间戳校准。

优选地,在将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内之后,还包括:

实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数。

优选地,所述实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数,具体为:

实时监测所述传感器组间的时间戳异步性,并判断所述时间戳异步性是否大于预设值

在判断到所述时间戳异步性大于预设值,调整所述滑动窗口的参数以扩大滑动窗口的时间跨度;

在判断到所述时间戳异步性小于预设值,调整所述滑动窗口的参数以缩小滑动窗口的时间跨度。

本发明第二实施例提供了一种机器人传感器组的时间同步装置,包括:

预处理单元,用于获取由传感器组采集到的环境信息,并对所述环境信息进行预处理,其中,所述环境信息包括点云数据、图像数据、加速度和角速度;

滑动窗口生成单元,用于生成一个滑动窗口,将预处理后的所述环境信息保存在所述滑动窗口内;

整合单元,用于监测所述滑动窗口的数据量,并在判断到所述数据量大于预设值时,调用插值法对所述点云数据和所述图像数据进行整合,以生成所述点云数据和所述图像数据的时间戳;

插值单元,用于将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内。

优选地,所述调用插值法对所述点云数据和所述图像数据进行整合,具体为:

提取所述点云数据中已知点的位置信息和法向量,调用gr i ddata函数对所述已知点的位置信息和法向量进行线性插值,估算出缺失点的法向量,并根据所述缺失点的法向量更新所述点云数据;

获取所述图像数据中缺失像素的坐标和已知像素的坐标和值,调用griddata函数进行双线性插值,估算出缺失像素的值,并根据所述缺失像素的值更新所述图像数据;

对更新后的图像数据和更新后的点云数据进行时间戳校准。

优选地,所述插值单元还用于:

实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数。

优选地,所述实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数,具体为:

实时监测所述传感器组间的时间戳异步性,并判断所述时间戳异步性是否大于预设值

在判断到所述时间戳异步性大于预设值,调整所述滑动窗口的参数以扩大滑动窗口的时间跨度;

在判断到所述时间戳异步性小于预设值,调整所述滑动窗口的参数以缩小滑动窗口的时间跨度。

本发明第三实施例提供了一种机器人传感器组的时间同步设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种机器人传感器组的时间同步方法。

本发明第四实施例提供了一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现上任意一项所述一种机器人传感器组的时间同步方法。

基于本发明提供的一种机器人传感器组的时间同步方法、装置、设备及存储介质,通过先获取由传感器组采集到的环境信息,并对所述环境信息进行预处理,其中,所述环境信息包括点云数据、图像数据、加速度和角速度;接着,生成一个滑动窗口,将预处理后的所述环境信息保存在所述滑动窗口内;再接着,监测所述滑动窗口的数据量,并在判断到所述数据量大于预设值时,调用插值法对所述点云数据和所述图像数据进行整合,以生成所述点云数据和所述图像数据的时间戳;最后,将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内。解决了由于硬件延迟、数据传输速率不同或传感器采样率的异构性导致的传感器之间的时序同步问题。

附图说明

图1是本发明第一实施例提供的一种机器人传感器组的时间同步方法的流程示意图;

图2是本发明第二实施例提供的一种机器人传感器组的时间同步装置的模块示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

实施例中提及的“第一第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

以下结合附图对本发明的具体实施例做详细说明。

本发明公开了一种机器人传感器组的时间同步方法、装置、设备及存储介质,旨在解决由于硬件延迟、数据传输速率不同或传感器采样率的异构性导致的传感器之间的时序同步问题。

请参阅图1,本发明第一实施例提供了一种机器人传感器组的时间同步方法,其可由机器人传感器组的时间同步设备(以下简称同步设备)来执行,特别的,由所述同步设备内的一个或者多个处理器来执行,以至少实现如下步骤:

S101,获取由传感器组采集到的环境信息,并对所述环境信息进行预处理,其中,所述环境信息包括点云数据、图像数据、加速度和角速度,具体地,同步设备能够将不同传感器的数据整合得到融合后的数据(记为F),F=f(P,I,A,w)。

在本实施例中,所述同步设备可为配置在机器人上的控制器,其能够与所述传感器组进行通讯,所述同步设备内可安装有相应的操作系统以及应用软件,并通过操作系统以及应用软件的结合来实现本实施例所需的功能,其中,所述所述传感器组可以包括配置在机器人上的激光雷达、摄像头、惯性测量单元;在本实施例中,所述激光雷达用于用于高精度地测量周围环境的距离和几何信息,所述摄像头用于提供视觉信息,用于识别和定位目标,以及感知环境的结构,所述惯性测量单元用于提供机器人的加速度和角速度信息,用于估计机器人的姿态和运动状态。

需要说明的是,在本实施例中,对所述环境信息的预处理可以包括对图像数据进行提取颜色直方图、纹理特征、边缘特征,接着使用卷积神经网络(CNN)进行端到端的特征提取,以及提取所述点云数据的点云密度、表面法线、高度信息,接着提取出的数据进行滤波,去除噪声,以及对惯性测量单元采集到态信息、加速度、角速度进行滤波以去除漂移,确保准确的运动信息。

S102,生成一个滑动窗口,将预处理后的所述环境信息保存在所述滑动窗口内;

需要说明的是,在本实施例中,引入一个滑动窗口用于存储不同传感器产生的数据,当然,也可以采用一个缓冲区来处理传感器之间的异步性,这里不做具体限定,但这些方案均在本发明的保护范围内;

在本实施例中,t

S103,监测所述滑动窗口的数据量,并在判断到所述数据量大于预设值时,调用插值法对所述点云数据和所述图像数据进行整合,以生成所述点云数据和所述图像数据的时间戳;

具体地,在本实施例中,控制数据整合的时机在窗口中的数据量达到一定阈值时N

本在实施例中,提取所述点云数据中已知点的位置信息和法向量,调用griddata函数对所述已知点的位置信息和法向量进行线性插值,估算出缺失点的法向量,并根据所述缺失点的法向量更新所述点云数据;

更新点云数据的代码可以如下方所示,当然,这仅仅是一个实施例,还可以采用不同缺失点判定方式、不同的差值法选择,这里不做具体限定,但这些方案均在本发明的保护范围内。

import numpy as np

from scipy.interpolate import griddata

#假设已知的点云数据,包括位置(x,y,z)和法向量(nx,ny,nz)

known_points=np.array([[x1,y1,z1,nx1,ny1,nz1],

[x2,y2,z2,nx2,ny2,nz2],

...])

#假设缺失点的位置

missing_points=np.array([[x_missing1,y_missing1],

[x_missing2,y_missing2],

...])

#提取已知点的位置和法向量

known_positions=known_points[:,:3]

known_normals=known_points[:,3:]

#线性插值

interpolated_normals=griddata(known_positions,known_normals,missing_points,method='linear')

#得到缺失点的法向量

result_normals=interpolated_normals

获取所述图像数据中缺失像素的坐标和已知像素的坐标和值,调用griddata函数进行双线性插值,估算出缺失像素的值,并根据所述缺失像素的值更新所述图像数据;

更新所述图像数据的代码可以如下方所示,当然,这仅仅是一个实施例,还可以采用不同的参数和不同的差值法选择,这里不做具体限定,但这些方案均在本发明的保护范围内。

接着,对更新后的图像数据和更新后的点云数据进行时间戳校准。

import numpy as np

from scipy.interpolate import griddata

#假设point_cloud和image_data是点云和图像数据

#假设它们具有时间戳信息timestamp_pc和timestamp_img

#校准时间戳

synchronized_timestamp=synchronize_timestamps(timestamp_pc,timestamp_img)

#确保点云和图像数据在同一时间点上

synchronized_point_cloud=interpolate_data(point_cloud,timestamp_pc,synchronized_timestamp)

synchronized_image_data=interpolate_data(image_data,timestamp_img,synchronized_timestamp)

其中,synchronize_timestamps函数用于同步点云和图像数据的时间戳,interpolate_data函数用于插值处理,确保它们在整合时具有一致的时间参考。

需要说明的是,插值法可以用于对点云数据和图像数据进行整合,填充缺失的数据点,使数据更加连续和平滑。在点云中,插值可以用于估算缺失的点,而在图像中,插值可以用于处理丢失或损坏的像素。由于传感器采样率不同或数据传输延迟等原因,点云数据和图像数据的时间戳可能不完全一致。插值法可以用于根据已知时间戳的数据估算出其他时刻的数据,从而实现时间戳的同步。进一步地,根据数据的性质和应用场景,可以选择不同的插值方法。例如,在点云数据中,可能使用三维插值技术,而在图像数据中,可能采用双线性插值或其他图像插值算法。

在插值的过程中,可以根据已有的时间戳信息对估算的数据赋予相应的时间戳,以实现整体数据的同步。插值法的输出数据和时间戳可以使得不同传感器产生的数据在整合时具备一致的时间参考。通过插值法,可以克服点云数据和图像数据之间以及不同传感器之间的时间异步性,确保在整合时数据在时间上保持一致,提高融合系统的准确性和稳定性。

S104,将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内。

需要说明的是,整合加速度和角速度需要涉及对时序数据进行数值积分,以得到速度、位移和姿态等信息。在本实施例中,可以使用数值积分方法,如欧拉法或四元数法,将离散的加速度和角速度数据转换为连续的运动状态。具体地,使用i nterp1 d函数进行一维插值,将加速度和角速度数据插值到整合后的时间戳上。整合后,可以将插值后的加速度和角速度数据与点云数据、图像数据一同进行进一步的整合处理。

在本发明一个可能的实施例中,在将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内之后,还包括:

实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数。

具体实现方式可以是:

实时监测所述传感器组间的时间戳异步性,并判断所述时间戳异步性是否大于预设值

在判断到所述时间戳异步性大于预设值,调整所述滑动窗口的参数以扩大滑动窗口的时间跨度;

在判断到所述时间戳异步性小于预设值,调整所述滑动窗口的参数以缩小滑动窗口的时间跨度。

需要说明的是,滑动窗口有助于提高系统的实时性和响应性。通过控制窗口大小,系统可以在保持一定的历史数据用于处理的同时,及时响应当前的环境变化。滑动窗口的可以避免在数据处理过程中发生数据丢失或滞后。通过不断更新和调整窗口,系统可以确保及时处理新产生的传感器数据,避免因为窗口过小而导致数据丢失,或者因为窗口过大而导致数据滞后。

请参阅图2,本发明第二实施例提供了一种机器人传感器组的时间同步装置,包括:

预处理单元201,用于获取由传感器组采集到的环境信息,并对所述环境信息进行预处理,其中,所述环境信息包括点云数据、图像数据、加速度和角速度;

滑动窗口生成单元202,用于生成一个滑动窗口,将预处理后的所述环境信息保存在所述滑动窗口内;

整合单元203,用于监测所述滑动窗口的数据量,并在判断到所述数据量大于预设值时,调用插值法对所述点云数据和所述图像数据进行整合,以生成所述点云数据和所述图像数据的时间戳;

插值单元204,用于将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内。

优选地,所述调用插值法对所述点云数据和所述图像数据进行整合,具体为:

提取所述点云数据中已知点的位置信息和法向量,调用griddata函数对所述已知点的位置信息和法向量进行线性插值,估算出缺失点的法向量,并根据所述缺失点的法向量更新所述点云数据;

获取所述图像数据中缺失像素的坐标和已知像素的坐标和值,调用griddata函数进行双线性插值,估算出缺失像素的值,并根据所述缺失像素的值更新所述图像数据;

对更新后的图像数据和更新后的点云数据进行时间戳校准。

优选地,所述插值单元还用于:

实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数。

优选地,所述实时监测所述传感器组的数据异步性,动态调整所述滑动窗口的参数,具体为:

实时监测所述传感器组间的时间戳异步性,并判断所述时间戳异步性是否大于预设值

在判断到所述时间戳异步性大于预设值,调整所述滑动窗口的参数以扩大滑动窗口的时间跨度;

在判断到所述时间戳异步性小于预设值,调整所述滑动窗口的参数以缩小滑动窗口的时间跨度。

本发明第三实施例提供了一种机器人传感器组的时间同步设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种机器人传感器组的时间同步方法。

本发明第四实施例提供了一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现上任意一项所述一种机器人传感器组的时间同步方法。

基于本发明提供的一种机器人传感器组的时间同步方法、装置、设备及存储介质,通过先获取由传感器组采集到的环境信息,并对所述环境信息进行预处理,其中,所述环境信息包括点云数据、图像数据、加速度和角速度;接着,生成一个滑动窗口,将预处理后的所述环境信息保存在所述滑动窗口内;再接着,监测所述滑动窗口的数据量,并在判断到所述数据量大于预设值时,调用插值法对所述点云数据和所述图像数据进行整合,以生成所述点云数据和所述图像数据的时间戳;最后,将所述加速度和角速度按照时间戳插值到所述点云数据和所述图像数据的时间戳内。解决了由于硬件延迟、数据传输速率不同或传感器采样率的异构性导致的传感器之间的时序同步问题。

示例性地,本发明第三实施例和第四实施例中所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现一种机器人传感器组的时间同步设备中的执行过程。例如,本发明第二实施例中所述的装置。

所称处理器可以是中央处理单元(Central传感器组Processing传感器组Unit,CPU),还可以是其他通用处理器、数字信号处理器传感器组(Digital传感器组Signal传感器组Processor,DSP)、专用集成电路传感器组(Application传感器组Specific传感器组Integrated传感器组Circuit,ASIC)、现成可编程门阵列传感器组(Field-Programmable传感器组Gate传感器组Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种机器人传感器组的时间同步方法的控制中心,利用各种接口和线路连接整个所述实现对一种机器人传感器组的时间同步方法的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现一种机器人传感器组的时间同步方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart传感器组Media传感器组Card,传感器组SMC)、安全数字(Secure传感器组Digital,传感器组SD)卡、闪存卡(Flash传感器组Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述实现的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only传感器组Memory)、随机存取存储器(RAM,Random传感器组Access传感器组Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

相关技术
  • 基于双控的存储设备数据同步方法、装置、设备及介质
  • 设备及其时间同步方法和计算机可读存储介质
  • 数据同步方法、装置、计算机设备及存储介质
  • 区块链的数据同步方法、装置、计算机设备及存储介质
  • 产品数据同步方法、装置、计算机设备及存储介质
  • 一种多传感器时间同步方法、装置、设备及存储介质
  • 多传感器的时间同步方法、装置及电子设备、存储介质
技术分类

06120116586690