全文摘要
本发明实施例涉及一种运动模型更新方法、装置、电子设备及存储介质,所述方法包括:基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据,通过比较残差的方式得到运动模型待更新的参数数据,使得运动模型的预测结果更接近实际的结果,提升机器人运行过程中的稳定性。
主设计要求
1.一种运动模型更新方法,其特征在于,包括:基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取所述机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
设计方案
1.一种运动模型更新方法,其特征在于,包括:
基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;
获取所述机器人基于所述控制指令的实际运动数据;
计算所述预测运动数据与所述实际运动数据之间的残差;
通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
2.根据权利要求1所述的方法,其特征在于,所述通过设定的优化函数调整所述残差符合设定条件时,确定所述运动模型的参数数据,包括:
通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据;
获取机器人基于至少一组所述历史控制指令的历史实际运动数据;
若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
4.根据权利要求3所述的方法,其特征在于,所述参数数据至少包括以下之一:机器人双轮轴距、双轮半径、时延参数或向心力补偿参数。
5.根据权利要求1所述的方法,其特征在于,所述基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令,包括:
根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
6.根据权利要求1所述的方法,其特征在于,所述获取机器人基于所述控制指令的实际运动数据,包括:
通过GPS定位系统获取机器人基于所述控制指令的实际运动数据;
或,
通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据;
或,
通过激光雷达获取机器人基于所述控制指令的实际运动数据;
或,
通过深度图像获取机器人基于所述控制指令的实际运动数据。
7.一种运动模型更新装置,其特征在于,包括:
确定模块,用于基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;
获取模块,用于获取所述机器人基于所述控制指令的实际运动数据;
计算模块,用于计算所述预测运动数据与所述实际运动数据之间的残差;
所述确定模块,还用于通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的运动模型更新程序,以实现权利要求1~6中任一项所述的运动模型更新方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~6中任一项所述的运动模型更新方法。
设计说明书
技术领域
本发明实施例涉及机器人控制领域,尤其涉及一种运动模型更新方法、装置、电子设备及存储介质。
背景技术
机器人的运动控制系统涉及对机器人运动模型的描述。运动模型是对于真实机器人运动能力的一种抽象,运动模型接收机器人当前的状态信息和决策信息,输出一段时间后机器人的状态,机器人的状态包括了机器人的位姿以及速度状态。
然而,机器人在真实场景运行时会因为地面类型的不同、负载不同以及器件损耗等影响模型的参数,因此,采用固定不变的运动模型难以满足机器人在不同场景下的预测需求。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种运动模型更新方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供一种运动模型更新方法,包括:
基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;
获取机器人基于所述控制指令的实际运动数据;
计算所述预测运动数据与所述实际运动数据之间的残差;
通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
在一个可能的实施方式中,所述通过设定的优化函数调整所述残差符合设定条件时,确定所述运动模型的参数数据,包括:
通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
在一个可能的实施方式中,所述方法,还包括:
根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据;
获取机器人基于至少一组所述历史控制指令的历史实际运动数据;
若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
在一个可能的实施方式中,所述参数数据至少包括以下之一:机器人双轮轴距、双轮半径、时延参数或向心力补偿参数。
在一个可能的实施方式中,所述基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令,包括:
根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
在一个可能的实施方式中,所述获取机器人基于所述控制指令的实际运动数据,包括:
通过GPS定位系统获取机器人基于所述控制指令的实际运动数据;
或,
通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据;
或,
通过激光雷达获取机器人基于所述控制指令的实际运动数据;
或,
通过深度图像获取机器人基于所述控制指令的实际运动数据。
第二方面,本发明实施例提供一种运动模型更新装置,包括:
确定模块,用于基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;
获取模块,用于获取机器人基于所述控制指令的实际运动数据;
计算模块,用于计算所述预测运动数据与所述实际运动数据之间的残差;
所述确定模块,还用于通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
在一个可能的实施方式中,所述确定模块,具体用于通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
在一个可能的实施方式中,所述确定模块,还用于根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据;
所述获取模块,还用于获取机器人基于至少一组所述历史控制指令的历史实际运动数据;
所述装置,还包括:
更新模块,用于若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
在一个可能的实施方式中,所述参数数据至少包括以下之一:机器人双轮轴距、双轮半径、时延参数或向心力补偿参数。
在一个可能的实施方式中,所述确定模块,具体用于根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
在一个可能的实施方式中,所述获取模块,具体用于通过GPS定位系统获取机器人基于所述控制指令的实际运动数据;或,通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据;或,通过激光雷达获取机器人基于所述控制指令的实际运动数据;或,通过深度图像获取机器人基于所述控制指令的实际运动数据。
第三方面,本发明实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的运动模型更新程序,以实现上述第一方面中任一项所述的运动模型更新方法。
第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中任一项所述的运动模型更新方法。
本发明实施例提供的运动模型更新方案,通过基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据,通过比较残差的方式得到运动模型待更新的参数数据,使得运动模型的预测结果更接近实际的结果,提升机器人运行过程中的稳定性。
附图说明
图1为本发明实施例提供的一种运动模型更新方法的流程示意图;
图2为本发明实施例提供的另一种运动模型更新方法的流程示意图;
图3为本发明实施例涉及的确定机器人位置信息的示意图;
图4为本发明实施例提供的一种运动模型更新装置结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种运动模型更新方法的流程示意图,如图1所示,该方法具体包括:
S11、基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令。
本实施例提供的运动模型更新方法应用于机器人在行驶过程中的运动数据的预测,通过运动模型对机器人从当前位置移动至目标位置进行预测,得到预测运动数据,以及控制机器人从当前位置移动至目标位置的控制指令。
S12、获取机器人基于所述控制指令的实际运动数据。
实时获取机器人执行该控制指令时的实际运动数据,实际运动数据可以包括:机器人的位置信息和速度信息。
S13、计算所述预测运动数据与所述实际运动数据之间的残差。
S14、通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
在确定预测运动数据与实际运动数据之间的残差后,判断该残差是否符合设定条件,若该残差满足设定条件,确定在残差满足该设定条件时运动模型对应的参数数据;若该残差不满足设定条件,通过优化函数对运动模型输出的预测运动数据进行调整,以使该预测运动数据与实际运动数据之间的残差满足设定条件,以及确定此时运动模型的参数数据。
本发明实施例提供的运动模型更新方法,通过基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据,通过比较残差的方式得到运动模型待更新的参数数据,使得运动模型的预测结果更接近实际的结果,提升机器人运行过程中的稳定性。
图2为本发明实施例提供的另一种运动模型更新方法的流程示意图,如图2所示,该方法具体包括:
S21、基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令。
本发明实施例提供的运动模型更新方法应用于机器人领域,机器人可以是:自主移动机器人(Autonomous Mobile Robot,AMR),在机器人内设置有运动模块,在该运动模块中包含有运动模型,该运动模型对机器人从当前位置移动至目标位置作出预测,得到预测运动数据,以及生成控制机器人从当前位置移动至目标位置的控制指令。本实施例的运动模型更新方法可对机器人的运动模型中的参数进行更新,保证该运动模型的预测结果更加符合机器人在真实场景中的实际运动轨迹,运动模型中参数的实时更新可保证机器人满足不同场景下的移动需求,例如:
机器人在原地转弯时候会转过头、机器人在车负载不同的时候最大加速度不相同、机器人在使用时间很长的时候自动报警等。
需要说明的是,在上述场景中,若机器人采用固定不变的运动模型,难以满足实际需求,容易造成机器人在运行过程中不稳定。
具体地,根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
进一步地,该运动模型可以采用多种形式表示,例如,运动模型采用公式的形式表示,该运动模型的确定方式包括:
定义机器人向前运动的方向为x方向,以右手系垂直于向左为y方向,为简化流程,将机器人的运行近似认为是在二维平面的移动,不考虑z方向,只需考虑机器人绕z轴的旋转角theta(机器人转弯角度),x正方向对应的角度为0°,y正方向对应的角度为90°。
机器人的双轮轴距为:track_width,双轮半径radius,下发控制指令到实际执行该控制指令的时延为Tdelay<\/sub>,以及转弯时候的向心力补偿参数β (直行时可认为β=0),通过双轮转动的圈数结合radius,可转换为机器人前进的距离,左轮所走过的距离记作l,右轮所走过的距离r,midline 是一条线段。
参照图3,可得到:
theta=(r-l)\/track_width
theta_2=theta\/2
midline=(r+l)*sin(theta_2)\/theta
alpha=(M_PI-theta)\/2
进一步地,
sin(alpha)=cos(theta_2)
sin(alpha)=cos(theta_2)
可得,
x=midline*sin(alpha)
=(r+l)*sin(theta_2)*cos(theta_2)\/theta
=(r+l)\/2*sin(theta)\/theta
y=midline*cos(alpha)
=(r+l)\/2*(1-cos(theta))\/theta
需要说明的是,上述公式为机器人处于转弯时的x,y的确定公式。
在转弯时将向心力F作为运动模型预测的参数,向心力F为:
向心加速度为:
在v为匀速时,其切向速度v_linear,转向速度为v_angular,并使用向心加速度对v_angular进行修正,
运动模型为:
Ppredict<\/sub>(x,y,theta,v)t+1<\/sub>=F[P(x,y,theta,v)t<\/sub>,track_width,radius,β]
将时延Tdelay<\/sub>加入到运动模型中,
Ppredict<\/sub>(x,y,theta,v)t+Δt<\/sub>=F{[P(x,y,theta,v)t-Tdelay<\/sub>,
P(x,y,theta,v)t-Tdelay+Δt<\/sub>,…,P(x,y,theta,v)t<\/sub>],track_width,radius,β}
当获取到机器人的双轮所走过的距离r和l的差值小于1e-6<\/sup>时,可认为机器人此时处于直线运动,此时,
x=(r+l)\/2
y=0
theta=0
对应的,运动模型为:
Ppredict<\/sub>(x,v)t+Δt<\/sub>=F{[P(x,v)t-Tdelay<\/sub>,
P(x,v)t-Tdelay+Δt<\/sub>,…,P(x,v)t<\/sub>],track_width,radius,β}
S22、获取机器人基于所述控制指令的实际运动数据。
在机器人内还设置有执行模块,执行模块接收运动模块发送的控制指令,并根据该控制指令控制机器人从当前位置移动至目标位置。
在本实施例中,可采用多种形式获取机器人基于控制指令的实际运动数据,并将实际运动数据记作Pobserve<\/sub>(x,y,v)t<\/sub>,如,通过GPS定位系统获取机器人基于所述控制指令的实际运动数据、通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据、通过激光雷达获取机器人基于所述控制指令的实际运动数据,或者,通过深度图像获取机器人基于所述控制指令的实际运动数据。
例如,采用激光即时定位与地图构建(Simultaneous Localization AndMapping,SLAM)算法获取实际运动数据,激光器采用设定频率收集周围环境的点云数据,通过匹配当前位置的点云数据和其附近历史上机器人所在位置的点云数据,得到机器人的相对位移,继而累计得到机器人在环境中的绝对位置x,y,theta。
S23、计算所述预测运动数据与所述实际运动数据之间的残差。
S24、通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
在确定预测运动数据与实际运动数据之间的残差后,通过优化函数对运动模型根据控制指令输出的预测运动数据进行调整,具体可调整运动模型中的机器人双轮轴距、双轮半径、时延参数或向心力补偿参数,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,第一设定阈值可以是设定的值,或者多组结果中残差最的小值。
第一设定阈值为多组结果中残差最的小值可以理解为:将预测运动数据和实际运动数据进行对应划分,例如,预测运动数据和实际运动数据为 0-3s内的数据,采用0.01s作为一个区间,将300个样本数据代入优化函数得到300个样本中最小残差对应的运动模型的参数数据。
优化函数可以为:
在本实施例中,确定参数数据后,采用历史数据对参数数据进行验证,若验证成功则根据该参数数据对运动模型进行更新,具体包括以下步骤:
S25、根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据。
S26、获取机器人基于至少一组所述历史控制指令的历史实际运动数据。
在机器人内还设置有确定模块,得到预测运动数据与实际运动数据之间的残差后,优化函数对预测运动数据与实际运动数据进行优化处理,并得到运动模型对应的参数数据,确定模块对该参数数据进行验证,若通过验证,则将该参数数据更新运动模型。
具体地,对于根据当前控制指令(如,40s-60s时间段内的控制指令) 获取的参数数据,对历史控制指令进行验证(如,40s之前的控制指令)。
如,将得到参数数据对0-40s内的数据进行验证,可将0-40s内的数据作为一个整体,也可将拆为0-20s,20s-40s分别进行验证,拆分的时间段可以与获取参数数据所使用的时间段相同或不同。
进一步地,获取0-20s段内的历史预测运动数据和历史实际运动数据,获取20s-40s段内的历史预测运动数据和历史实际运动数据。
S27、若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
根据参数数据对0-20s段内的历史预测运动数据和历史实际运动数据进行残差计算,根据参数数据对20s-40s段内的历史预测运动数据和历史实际运动数据进行残差计算,当0-20s段内数据的残差与20s-40s段内数据的残差小于第二设定阈值时,则确定该参数数据也符合历史预测运动数据,因此,基于参数数据对运动模型进行更新。
在本实施例中,通过运动模块对机器人从当前位置移动至目标位置进行预测,同时向执行模块输出控制指令,采集预测的预测运动数据和实际运动数据并对二者进行优化得到参数数据,确定模块对参数数据进行验证,当验证通过时,采用该参数数据更新运动模块中的运动模型;从运动模块的输出到确定模块更新运动模块形成一反馈回环。
需要说明的是,本实施例的参数数据实时更新,通过参数数据更新运动模型,可适用于各种机器人运动轨迹发生变化的场景,例如,机器人由直行变为转弯时,通过更新运动模型可准确估计由直行变为转弯的预测运动数据,避免出现转弯失败的情况(如转弯过大触碰障碍物);又如,在机器人完成拣货任务后负载发生变化,导致加速度、摩擦力发生变化导致实际运动数据与预测运动数据误差较大的情况。
本发明实施例提供的运动模型更新方法,通过基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据,通过比较残差的方式得到运动模型待更新的参数数据,通过该参数数据实时更新运动模型,使得运动模型的预测结果更接近实际的结果,提升机器人运行过程中的稳定性。
图4为本发明实施例提供的一种运动模型更新装置结构示意图,如图 4所示,该装置具体包括:
确定模块401,用于基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;
获取模块402,用于获取机器人基于所述控制指令的实际运动数据;
计算模块403,用于计算所述预测运动数据与所述实际运动数据之间的残差;
所述确定模块401,还用于通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
可选地,所述确定模块401,具体用于通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
可选地,所述确定模块401,还用于根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据;
所述获取模块402,还用于获取机器人基于至少一组所述历史控制指令的历史实际运动数据;
所述装置,还包括:
更新模块404,用于若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
可选地,所述参数数据至少包括以下之一:机器人双轮轴距、双轮半径、时延参数或向心力补偿参数。
可选地,所述确定模块401,具体用于根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
可选地,所述获取模块402,具体用于通过GPS定位系统获取机器人基于所述控制指令的实际运动数据;或,通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据;或,通过激光雷达获取机器人基于所述控制指令的实际运动数据;或,通过深度图像获取机器人基于所述控制指令的实际运动数据。
本实施例提供的运动模型更新装置可以是如图4中所示的运动模型更新装置,可执行如图1-2中运动模型更新方法的所有步骤,进而实现图1-2 所示运动模型更新方法的技术效果,具体请参照图1-2相关描述,为简洁描述,在此不作赘述。
图5为本发明实施例提供的一种的电子设备的结构示意图,该电子设备可以机器人,图5所示的电子设备500包括:至少一个处理器501、存储器502、至少一个网络接口504和其他用户接口503。移动终端500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。
其中,用户接口503可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等)。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器 (ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM 可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM, SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM, SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和应用程序5022。
其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序 5022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser) 等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5022中。
在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是应用程序5022中存储的程序或指令,处理器501用于执行各方法实施例所提供的方法步骤,例如包括:
基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
可选地,通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
可选地,根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据;获取机器人基于至少一组所述历史控制指令的历史实际运动数据;若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
可选地,所述参数数据至少包括以下之一:机器人双轮轴距、双轮半径、时延参数或向心力补偿参数。
可选地,根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
可选地,通过GPS定位系统获取机器人基于所述控制指令的实际运动数据;或,通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据;或,通过激光雷达获取机器人基于所述控制指令的实际运动数据;或,通过深度图像获取机器人基于所述控制指令的实际运动数据。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502 中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice, DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的电子设备可以是如图5中所示的电子设备,可执行如图1-2中运动模型更新方法的所有步骤,进而实现图1-2所示运动模型更新方法的技术效果,具体请参照图1-2相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在运动模型更新设备侧执行的运动模型更新方法。
所述处理器用于执行存储器中存储的运动模型更新程序,以实现以下在运动模型更新设备侧执行的运动模型更新方法的步骤:
基于运动模型确定机器人移动至目标位置的预测运动数据以及控制指令;获取机器人基于所述控制指令的实际运动数据;计算所述预测运动数据与所述实际运动数据之间的残差;通过设定的优化函数调整所述残差符合设定条件,确定所述运动模型的参数数据。
可选地,通过设定的优化函数对所述运动模型输出的所述预测运动数据进行调整,以使所述预测运动数据与所述实际运动数据之间的残差小于第一设定阈值,确定所述运动模型对应的参数数据。
可选地,根据所述参数数据确定至少一组历史控制指令分别对应的历史预测运动数据;获取机器人基于至少一组所述历史控制指令的历史实际运动数据;若所述历史预测运动数据与所述历史实际运动数据之间残差小于第二设定阈值时,则基于所述参数数据对所述运动模型进行更新。
可选地,所述参数数据至少包括以下之一:机器人双轮轴距、双轮半径、时延参数或向心力补偿参数。
可选地,根据目标位置确定目标路径,将所述目标路径作为所述运动模型的输入,以使所述运动模型输出机器人的控制指令及对应的位置数据和速度数据;
其中,所述位置数据至少包括:二维坐标信息和旋转角信息,所述速度数据至少包括:线速度信息和角速度信息。
可选地,通过GPS定位系统获取机器人基于所述控制指令的实际运动数据;或,通过图像采集设备基于三角法获取机器人基于所述控制指令的实际运动数据;或,通过激光雷达获取机器人基于所述控制指令的实际运动数据;或,通过深度图像获取机器人基于所述控制指令的实际运动数据。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
设计图
相关信息详情
申请码:申请号:CN201910583875.1
申请日:2019-06-28
公开号:CN110377031A
公开日:2019-10-25
国家:CN
国家/省市:94(深圳)
授权编号:授权时间:主分类号:G05D 1/02
专利分类号:G05D1/02
范畴分类:40E;31B;
申请人:炬星科技(深圳)有限公司
第一申请人:炬星科技(深圳)有限公司
申请人地址:518000 广东省深圳市南山区粤海街道高新南十道路深圳湾科技生态园11栋B单元1305
发明人:陈诗雨
第一发明人:陈诗雨
当前权利人:炬星科技(深圳)有限公司
代理人:田俊峰
代理机构:44481
代理机构编号:深圳智汇远见知识产权代理有限公司
优先权:关键词:当前状态:审核中
类型名称:外观设计
标签:机器人论文; 模型预测控制论文; 移动机器人论文; 预测模型论文; 函数图像论文; 特征函数论文; 信息存储论文;