发明内容
基于此,有必要针对上述技术问题,提供一种能够提高雷达传感器数据补偿准确性的移动机器人的雷达数据补偿方法、装置、设备和存储介质。
一种移动机器人的雷达数据补偿方法,所述方法包括:
获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在其中一个实施例中,所述根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息,包括:
根据所述位置传感器获取数据的时间戳,对所述位置传感器获取到的位置信息进行插值运算,得到插值后的位置信息;
采用预设的滤波参数对所述插值后得位置信息进行滤波,得到所述均匀时间序列对应的位置信息。
在其中一个实施例中,所述根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,包括:
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与所述雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型;所述运动补偿模型用于表示障碍点的位置与所述雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系;
根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在其中一个实施例中,所述根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,包括:
确定所述均匀时间序列对应的位置信息的第一插值评分;
确定所述均匀时间序列对应的角度信息的第二插值评分;
确定所述雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分;
根据所述第一插值评分、所述第二插值评分和所述第三插值评分,计算平均插值评分;
若所述平均插值评分大于预设阈值,则根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在其中一个实施例中,所述根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,包括:
根据所述均匀时间序列和所述均匀时间序列对应的角度信息,确定所述雷达传感器获取数据点时刻;
根据所述均匀时间序列,对所述均匀时间序列对应的位置信息和角度信息进行插值运算,确定所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度。
在其中一个实施例中,所述获取均匀时间序列,包括:
根据所述位置传感器的采样频率确定采样时间间隔;
根据所述采样时间间隔,以所述位置传感器获取数据的第一个时间戳为起点,确定所述均匀时间序列。
一种移动机器人的雷达数据补偿装置,包括:
获取模块,用于获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
第一确定模块,用于根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
第二确定模块,用于根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
第三确定模块,用于根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
补偿模块,用于根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在其中一个实施例中,所述第一确定模块具体用于根据所述位置传感器获取数据的时间戳,对所述位置传感器获取到的位置信息进行插值运算,得到插值后的位置信息;采用预设的滤波参数对所述插值后得位置信息进行滤波,得到所述均匀时间序列对应的位置信息。
在其中一个实施例中,所述补偿模块具体用于根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与所述雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型;根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点;所述运动补偿模型用于表示障碍点的位置与所述雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系。
在其中一个实施例中,所述补偿模块根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,包括:
所述补偿模块确定所述均匀时间序列对应的位置信息的第一插值评分;确定所述均匀时间序列对应的角度信息的第二插值评分;确定所述雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分;根据所述第一插值评分、所述第二插值评分和所述第三插值评分,计算平均插值评分;若所述平均插值评分大于预设阈值,则根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在其中一个实施例中,所述第三确定模块具体用于根据所述均匀时间序列和所述均匀时间序列对应的角度信息,确定所述雷达传感器获取数据点时刻;根据所述均匀时间序列,对所述均匀时间序列对应的位置信息和角度信息进行插值运算,确定所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度。
在其中一个实施例中,所述获取模块具体用于根据所述位置传感器的采样频率确定采样时间间隔;根据所述采样时间间隔,以所述位置传感器获取数据的第一个时间戳为起点,确定所述均匀时间序列。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
上述移动机器人的雷达数据补偿方法、装置、设备和存储介质,获取均匀时间序列,根据位置传感器获取数据的时间戳和传感器获取到的位置信息,确定均匀时间序列对应的位置信息,根据角度传感器获取数据的时间戳和角度传感器获取到的角度信息,确定均匀时间序列对应的角度信息,根据均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,由于均匀时间序列的任意两个相邻时间点之间的时间间隔均相等,在对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点时,位置传感器、角度传感器、雷达传感器均采用了均匀时间序列,也即位置传感器、角度传感器、雷达传感器的采样频率是统一的,从而降低了由于各传感器的采样频率不一致造成的位置数据和角度数据的误差,提高了数据校正的准确性,进一步提高了对雷达传感器获取到的数据进行补偿的准确性。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的移动机器人的雷达数据补偿方法,可以应用于如图1所示的应用环境中。其中,机器人1、服务器2和终端3之间可以通过网络进行通信。其中,终端3可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器2可以用独立的服务器或者是多个服务器组成的服务器集群来实现。例如,机器人1可以为扫地机器人,扫地机器人上装有角度传感器、位置传感器和雷达传感器,雷达传感器可以为激光旋转雷达传感器。
图2为本申请一实施例提供的一种移动机器人的雷达数据补偿方法流程图。该方法的执行主体可以为图1中的机器人1、服务器2和终端3中的任意一个。如图2所示,该方法包括以下步骤:
步骤201、获取均匀时间序列,均匀时间序列的任意两个相邻时间点之间的时间间隔均相等。
在本实施例中,均匀时间序列可以是预先设置的一个时间序列,也可以是在雷达数据补偿过程中实时计算获得的一个序列,例如,可以预先设置一个时间间隔相等的时间序列,也可以根据位置传感器、角度传感器的采样频率来计算均匀时间序列。
如图3所示,位置传感器获取位置信息的时间戳为1t1,1t2,1t3,…,1tn,角度传感器获取角度信息的时间戳为2t1,2t2,2t3,…,2tn,雷达传感器获取雷达数据时刻为3t1,3t2, 3t3,…,3tn,均匀时间序列1t'1,1t'2,1t'3,…,1t'n。
步骤202、根据位置传感器获取数据的时间戳和位置传感器获取到的位置信息,确定均匀时间序列对应的位置信息。
在本实施例中,可以根据位置传感器获取到的位置信息和位置传感器获取数据的时间戳进行插值运算,确定均匀时间序列对应的位置信息。或者,还可以先根据位置传感器获取数据的时间戳对位置传感器获取到的位置信息进行插值运算,然后对插值得到的位置信息进行校正,将校正后的位置数据作为均匀时间序列对应的位置信息。
如图3所示,可以根据位置传感器获取位置信息的时间戳1t1,1t2,1t3,…,1tn,对位置传感器获取到的位置数据进行插值运算,得到均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息。或者,还可以对插值得到的位置信息进行校正,将校正后的位置信息作为均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息。
其中,位置传感器用于获取机器人的位置信息,对机器人进行定位。该位置传感器可以是里程计等测量行程的装置,也可以是全球定位系统(Global Positioning System,GPS)等定位装置,且该位置传感器集成在机器人内部或安装在机器人上。
步骤203、根据角度传感器获取数据的时间戳和角度传感器获取到的角度信息,确定均匀时间序列对应的角度信息。
在本实施例中,可以根据角度传感器获取数据的时间戳,对角度传感器获取到的角度信息进行插值,得到均匀时间序列对应的角度信息。
如图3所示,可以根据角度传感器获取角度信息的时间戳2t1,2t2,2t3,…,2tn,对角度传感器获取到的角度信息进行插值运算,得到均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的角度信息。
其中,角度传感器用于获取机器人的角度信息,以确定机器人的运动方向。该角度传感器可以为电子罗盘或陀螺仪等装置,集成在机器人内部或安装在机器人上。
步骤204、根据均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息。
在本实施例中,如图3所示,可以根据均匀时间序列1t'1,1t'2,1t'3,…,1t'n,对均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息和角度信息进行插值运算,得到雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息。
步骤205、根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
其中,雷达传感器获取数据点时刻为雷达传感器获取每个数据点对应的时间戳;雷达数据获取时刻为雷达传感器每旋转360度对应的时间点。
在本实施例中,可以根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,直接对雷达传感器获取雷达数据每个时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,或者,还可以根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息得到运动补偿模型,采用运动补偿模型对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
其中,雷达传感器可以为激光雷达传感器、微波雷达传感器、激光旋转雷达传感器等,雷达传感器可以设置在机器人上,一般设置在机器人的最高点,但并不一次为限。
本申请实施例提供的移动机器人的雷达数据补偿方法,获取均匀时间序列,根据位置传感器获取数据的时间戳和传感器获取到的位置信息,确定均匀时间序列对应的位置信息,根据角度传感器获取数据的时间戳和角度传感器获取到的角度信息,确定均匀时间序列对应的角度信息,根据均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,由于均匀时间序列的任意两个相邻时间点之间的时间间隔均相等,在对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点时,位置传感器、角度传感器、雷达传感器均采用了均匀时间序列,也即位置传感器、角度传感器、雷达传感器的采样频率是统一的,从而降低了由于各传感器的采样频率不一致造成的位置数据和角度数据的误差,提高了数据校正的准确性,进一步提高了对雷达传感器获取到的数据进行补偿的准确性。
可选地,在上述图2所示实施例的基础上,若均匀时间序列不是预先设定的时间序列,可以根据位置传感器或角度传感器的采样频率确定第一时间序列。
可选地,步骤201“获取均匀时间序列”的一种可能的实现方式,包括:根据所述位置传感器的采样频率确定采样时间间隔;根据所述采样时间间隔,以所述位置传感器获取数据的第一个时间戳为起点,确定所述均匀时间序列。
在本实施例中,可以根据位置传感器的采样频率确定均匀时间序列。如图3所示,位置传感器获取数据的时间戳1t1,1t2,1t3,…,1tn,角度传感器获取数据的时间戳为2t1,2t2, 2t3,…,2tn,雷达传感器获取雷达数据时刻为3t1,3t2,3t3,…,3tn。例如,若位置传感器的采样频率为20Hz,则采样时间间隔为50ms,以位置传感器获取数据的第一个时间戳1t1为起点,每隔50ms取一个时间点,组成均匀时间序列1t′1,1t′2,1t′3,…,1t′n。
可选地,步骤201“获取均匀时间序列”的另一种可能的实现方式,包括:根据角度传感器的采样频率确定采样时间间隔;根据采样时间间隔,以角度传感器获取数据的第一个时间戳为起点,确定均匀时间序列。
在本实施例中,如图3所示,也可以根据角度传感器获取数据的时间序列为2t1, 2t2,2t3,…,2tn来确定均匀时间序列,例如,若角度传感器的采样频率为10Hz,则采样间隔为10ms,以角度传感器获取数据的时间序列为2t1,2t2,2t3,…,2tn的第一个时间点2t1为起点,每隔10ms取一个时间点,组成均匀时间序列1t'1,1t'2,1t'3,…,1t'n。
图4为图2所示实施例中的步骤202的一种可能的实现方式的流程图。如图4所示,步骤202“根据位置传感器获取数据的时间戳和位置传感器获取到的位置信息,确定均匀时间序列对应的位置信息”,包括:
步骤401、根据位置传感器获取数据的时间戳,对位置传感器获取到的位置信息进行插值运算,得到插值后的位置信息。
在本实施例中,如图3所示,可以根据位置传感器获取数据的时间戳1t1,1t2, 1t3,…,1tn,对传感器获取到的位置信息进行插值运算,得到插值后的位置信息。
步骤402、采用预设的滤波参数对插值后的位置信息进行滤波,得到均匀时间序列对应的位置信息。
在本实施例中,为了减小线性插值过程中的误差,可以预先设置一些滤波参数,根据该滤波参数对插值后的位置信息进行滤波,得到均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息。滤波方式可以为卡尔曼滤波、维纳滤波、非线性滤波等,其中,卡尔曼滤波可以是标准卡尔曼滤波,也可以是类似的扩展卡尔曼滤波(extended kalman filter,EKF)、无损卡尔曼滤波(unscented kalman filter,UKF)或粒子滤波等算法。表1为本申请实施例提供的一种卡尔曼滤波参数表。如表1所示,该滤波参数包括状态量X、观测量Z、状态矩阵A、观测矩阵H、过程噪声Q和测量噪声。其中,观测量Z可以为均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息。
表1
在本实施例中,利用均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息作为观测量Z,利用表1的参数对插值后的位置信息进行滤波可以得到均匀时间序列对应的位置数据。
本申请实施例提供的移动机器人的雷达数据补偿方法,根据位置传感器获取数据的时间戳,对传感器获取到的位置信息进行插值运算,得到插值后的位置信息,采用预设的滤波参数对插值后的位置信息进行滤波,得到均匀时间序列对应的位置信息,由于采用了滤波参数对插值后的位置信息进行滤波,使得得到的均匀时间序列对应的位置信息更加接近移动机器人的实际位置,能够有效估计移动机器人在任意时刻的位置信息,提高移动机器人的定位精度。
图5为图2所示实施例中的步骤204的一种可能的实现方式的流程图。如图5所示,步骤204“根据均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息”,包括:
步骤501、根据均匀时间序列和均匀时间序列对应的角度信息,确定雷达传感器获取数据点时刻。
图6为本申请实施例提供的一种雷达传感器获取数据的时间序列示意图,图6中,3it1,3it2,3it3,…,3itn为雷达传感器获取数据点时刻,3t1,3t2,3t3,…,3tn为雷达传感器获取雷达数据时刻,雷达数据获取时刻为雷达传感器每旋转360度对应的时间点,此时雷达传感器将雷达传感器旋转一周(360度)时获取各雷达数据组成一帧数据上传至处理器,该处理器为移动机器人、终端或服务器的处理器。由于雷达传感器的数据和位置传感器的数据是独立获取的,机器人无法直接获取到雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn对应的运动数据。位置传感器获取数据的时间间隔一般可以为50ms,由于50ms很短暂,可以认为机器人在一个时间间隔内的速度和位置的变化是均匀的,且,雷达传感器获取的每一帧数据的时间点对应的雷达传感器的旋转角度为360°,可以认为雷达传感器的旋转速度恒定,因此,可以利用均匀时间序列1t'1,1t'2,1t'3,…,1t'n和均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的角度位置,推算出雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn。
步骤502、根据均匀时间序列,对均匀时间序列对应的位置信息和角度信息进行插值运算,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度。
在本实施例中,可以根据均匀时间序列1t'1,1t'2,1t'3,…,1t'n,对均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的位置信息和角度信息进行插值运算,确定雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn的移动机器人的位置信息和角度。
可选地,还可以根据均匀时间序列对应的位置信息和角度信息来获得移动机器人的速度,如图7所示,V径指物体(移动机器人)的运动速度在观察者视线方向的速度分量,即速度矢量在视线方向的投影,V法指与物体V径垂直方向的速度分量。图7中的Vtot指的是机器人的速度(矢量),图6中显示的就是沿不同方向的两个速度分量,一个在坐标系x、y轴方向上的分量,另外就是在径向速度和方向速度上的分量。可以根据机器人当前速度在x、y轴方向上的分量Vx、Vy以及机器人在均匀时间序列1t'1,1t'2,1t'3,…,1t'n对应的角度信息,计算雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn中每个时间点的径向速度V径和法向速度V法。
图8为图2所示实施例中的步骤205的一种可能的实现方式的流程图。如图8所示,步骤205“根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点”,包括:
步骤801、根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型;运动补偿模型用于表示障碍点的位置与雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系。
在本实施例中,雷达传感器获取到的雷达数据并不是移动机器人的位置数据和角度数据,需要对雷达数据进行一定的运算处理之后才能得到雷达传感器获取雷达数据时刻对应的位置信息和角度信息。例如,激光雷达传感器的其工作原理是向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波),将目标反射回来的信号与发射信号进行比较,作适当处理后,就可获得目标的距离、方位、高度、速度、姿态、甚至形状等参数。
在本实施例中,如图9所示,将雷达传感器获取雷达数据时刻3t1,3t2,3t3,…,3tn对应的位置信息和角度信息标记为O0点,坐标为(x0,y0,θ0),雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn中各时间点对应的位置信息和角度信息标记为O1点,坐标为(x1,y1,θ1),A点为障碍点,A点的坐标为(xA,yA),经过运算后,得到A点与O1点的相对关系为极坐标(ρA1,ρA1),A点与O0的相对关系为极坐标(ρA0,ρA0),运动补偿模型为(ρA0,ρA0)。
其中,各参数计算公式如下:
xA=x1+ρA1*cos(θ1+θA1),
yA=y1+ρA1*sin(θ1+θA1),
步骤802、根据运动补偿模型,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在本实施例中,采用上述的运动补偿模型对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点后,将各时间点的数据重新排列成雷达数据传感器的数据格式,作为后续程序的输入数据,例如,将补偿后的数据作为定位建图模型的输入数据。
本实施例提供的移动机器人的雷达数据补偿方法,根据雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型,根据运动补偿模型,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,由于运动补偿模型用于表示障碍点的位置与雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系,相当于根据障碍点与移动机器人位置之间的相对关系确定机器人的实际位置,可以有效减少机器人自身运动对雷达数据的影响,提高系统工作的鲁棒性和定位建图的准确性。
可选地,在图8所示实施例的基础上,还可以对各插值运算的结果进行评分,当评分较高时,进行运动补偿。如图10所示,步骤802“根据运动补偿模型,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点”,包括:
步骤1001、确定均匀时间序列对应的位置信息的第一插值评分。
在本实施例中,第一插值评分可以包括对均匀时间序列1t'1,1t'2,1t'3,…,1t'n中每个时间点对应的位置信息的插值评分和对经过滤波后的位置信息的插值评分。例如,可以对每个均匀时间序列1t'1,1t'2,1t'3,…,1t'n中每个时间点对应的位置信息进行打分,再对滤波后的位置信息进行评分,求出二者的平均值作为第一插值评分;或者,也可以直接将均匀时间序列1t'1,1t'2,1t'3,…,1t'n中每个时间点对应的位置信息的插值评分作为第一插值评分值。
其中,第一插值评分值可以包括均匀时间序列1t'1,1t'2,1t'3,…,1t'n中每个时间点对应的位置信息的插值评分,也可以是均匀时间序列1t'1,1t'2,1t'3,…,1t'n中所有时间点对应的位置信息的插值评分的平均值。
步骤1002、确定均匀时间序列对应的角度信息的第二插值评分。
在本实施例中,可以对每个均匀时间序列1t'1,1t'2,1t'3,…,1t'n中每个时间点对应的角度信息进行打分,得到第二插值评分。
其中,第二插值评分可以包括均匀时间序列1t'1,1t'2,1t'3,…,1t'n中每个时间点对应的角度信息的插值评分,也可以是均匀时间序列1t'1,1t'2,1t'3,…,1t'n中所有时间点对应的角度信息的插值评分的平均值。
步骤1003、确定雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分。
在本实施例中,可以对雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn中每个时间点对应的位置信息进行打分,得到第三插值评分。
其中,第三插值评分可以包括雷达传感器获取数据点时刻3it1,3it2,3it3,…,3itn中每个时间点对应的位置信息的插值评分,也可以是雷达传感器获取数据点时刻3it1,3it2, 3it3,…,3itn中所有时间点对应的位置信息的插值评分的平均值。
步骤1004、根据第一插值评分、第二插值评分和第三插值评分,计算平均插值评分。
步骤1005、若平均插值评分大于预设阈值,则根据运动补偿模型,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在本实施例中,由于进行了多次的线性插值运算,使得最终得到的数据会有一定的误差,因此,可以为各插值操作运算进行评分。插值点越接近两端点的插值评分越高,插值点越远离两端点的插值评分越低。将所有插值操作的评分累加,获得最终运动补偿过程的平均插值评分,若该平均插值评分越高说明各插值操作可信度越高,所获得结果的准确性越高,则进行运动补偿工作;若平均插值评分过低说明插值操作误差较大,所获结果存在较大误差,不适宜进行运动补偿工作。
本申请实施例提供的数据补偿方法,确定均匀时间序列对应的位置信息的第一插值评分,确定均匀时间序列对应的角度信息的第二插值评分,确定雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分,根据第一插值评分、第二插值评分和第三插值评分,计算平均插值评分,若平均插值评分大于预设阈值,则根据运动补偿模型,对雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,由于平均插值评分越高说明各插值操作可信度越高,所获得结果的准确性越高,因此,在平均插值评分大于预设阈值时进行运动补偿,可以提高运动补偿的准确性,从而提高机器人系统工作的鲁棒性。
应该理解的是,虽然图2-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图11为本申请实施例提供的一种移动机器人的雷达数据补偿装置的框图,如图11所示,该装置包括:获取模块11、第一确定模块12、第二确定模块13、第三确定模块14和补偿模块15。
获取模块11,用于获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
第一确定模块12,用于根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
第二确定模块13,用于根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
第三确定模块14,用于根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
补偿模块15,用于根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
可选地,所述第一确定模块12具体用于根据所述位置传感器获取数据的时间戳,对所述位置传感器获取到的位置信息进行插值运算,得到插值后的位置信息;采用预设的滤波参数对所述插值后得位置信息进行滤波,得到所述均匀时间序列对应的位置信息。
可选地,所述补偿模块15具体用于根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与所述雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型;根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点;所述运动补偿模型用于表示障碍点的位置与所述雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系。
可选地,所述补偿模块15根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点,包括:
所述补偿模块15确定所述均匀时间序列对应的位置信息的第一插值评分;确定所述均匀时间序列对应的角度信息的第二插值评分;确定所述雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分;根据所述第一插值评分、所述第二插值评分和所述第三插值评分,计算平均插值评分;若所述平均插值评分大于预设阈值,则根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
可选地,所述第三确定模块14具体用于根据所述均匀时间序列和所述均匀时间序列对应的角度信息,确定所述雷达传感器获取数据点时刻;根据所述均匀时间序列,对所述均匀时间序列对应的位置信息和角度信息进行插值运算,确定所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度。
可选地,所述获取模块11具体用于根据所述位置传感器的采样频率确定采样时间间隔;根据所述采样时间间隔,以所述位置传感器获取数据的第一个时间戳为起点,确定所述均匀时间序列。
关于上述移动机器人的雷达数据补偿装置的具体限定可以参见上文中对于数据补偿方法的限定,在此不再赘述。上述数据补偿装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于图1所示的机器人、服务器、终端中的处理器中,也可以以软件形式存储于图1所示的机器人、服务器、终端中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种设备,该计算机设备可以是如图1所示的机器人、服务器或终端,其内部结构图可以如图12所示。该设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该设备的数据库用于存储各种位置数据、角度数据、时间序列等。该设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种如图2-图10任一实施例所述的数据补偿方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在一个实施例中,处理器执行计算机程序时,步骤“所述根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息”,包括:根据所述位置传感器获取数据的时间戳,对所述位置传感器获取到的位置信息进行插值运算,得到插值后的位置信息;采用预设的滤波参数对所述插值后得位置信息进行滤波,得到所述均匀时间序列对应的位置信息。
在一个实施例中,处理器执行计算机程序时,步骤“所述根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点”,包括:
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与所述雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型;所述运动补偿模型用于表示障碍点的位置与所述雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系;根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在一个实施例中,处理器执行计算机程序时,步骤“所述根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点”,包括:确定所述均匀时间序列对应的位置信息的第一插值评分;确定所述均匀时间序列对应的角度信息的第二插值评分;确定所述雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分;根据所述第一插值评分、所述第二插值评分和所述第三插值评分,计算平均插值评分;若所述平均插值评分大于预设阈值,则根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在一个实施例中,处理器执行计算机程序时,步骤“所述根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息”,包括:根据所述均匀时间序列和所述均匀时间序列对应的角度信息,确定所述雷达传感器获取数据点时刻;根据所述均匀时间序列,对所述均匀时间序列对应的位置信息和角度信息进行插值运算,确定所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度。
在一个实施例中,处理器执行计算机程序时,步骤“所述获取均匀时间序列”,包括:根据所述位置传感器的采样频率确定采样时间间隔;根据所述采样时间间隔,以所述位置传感器获取数据的第一个时间戳为起点,确定所述均匀时间序列。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取均匀时间序列,所述均匀时间序列的任意两个相邻时间点之间的时间间隔均相等;
根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息;
根据角度传感器获取数据的时间戳和所述角度传感器获取到的角度信息,确定所述均匀时间序列对应的角度信息;
根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息;
根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在一个实施例中,计算机程序被处理器执行时,步骤“所述根据位置传感器获取数据的时间戳和所述位置传感器获取到的位置信息,确定所述均匀时间序列对应的位置信息”,包括:根据所述位置传感器获取数据的时间戳,对所述位置传感器获取到的位置信息进行插值运算,得到插值后的位置信息;采用预设的滤波参数对所述插值后得位置信息进行滤波,得到所述均匀时间序列对应的位置信息。
在一个实施例中,计算机程序被处理器执行时,步骤“所述根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点”,包括:根据所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息与所述雷达传感器获取雷达数据时刻对应的位置信息和角度信息,确定运动补偿模型;所述运动补偿模型用于表示障碍点的位置与所述雷达传感器获取数据点时刻的移动机器人的实际位置之间的相对关系;根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在一个实施例中,计算机程序被处理器执行时,步骤“所述根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点”,包括:确定所述均匀时间序列对应的位置信息的第一插值评分;确定所述均匀时间序列对应的角度信息的第二插值评分;确定所述雷达传感器获取数据点时刻的移动机器人的位置信息的第三插值评分;根据所述第一插值评分、所述第二插值评分和所述第三插值评分,计算平均插值评分;若所述平均插值评分大于预设阈值,则根据所述运动补偿模型,对所述雷达传感器获取雷达数据时刻对应的各雷达数据点进行补偿,以得到雷达数据获取时刻对应的各雷达数据点的运动补偿点。
在一个实施例中,计算机程序被处理器执行时,步骤“所述根据所述均匀时间序列对应的位置信息和角度信息,确定雷达传感器获取数据点时刻的移动机器人的位置信息和角度信息”,包括:根据所述均匀时间序列和所述均匀时间序列对应的角度信息,确定所述雷达传感器获取数据点时刻;根据所述均匀时间序列,对所述均匀时间序列对应的位置信息和角度信息进行插值运算,确定所述雷达传感器获取数据点时刻的移动机器人的位置信息和角度。
在一个实施例中,计算机程序被处理器执行时,步骤“所述获取均匀时间序列”,包括:根据所述位置传感器的采样频率确定采样时间间隔;根据所述采样时间间隔,以所述位置传感器获取数据的第一个时间戳为起点,确定所述均匀时间序列。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。