发明内容
本发明提供一种基于目标驱动的射流装置运动控制方法,用以解决现有技术中射流装置运动控制计算复杂、准确率低的缺陷,实现高效准确的射流运动控制。
本发明提供一种基于目标驱动的射流装置运动控制方法,包括:
获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
根据本发明提供的一种基于目标驱动的射流装置运动控制方法,所述根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角,包括:
根据所述横坐标和所述纵坐标,计算所述偏航角的正弦值;
根据所述偏航角的正弦值,获取所述偏航角。
根据本发明提供的一种基于目标驱动的射流装置运动控制方法,所述根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角,应用如下公式获得:
其中,θy表示所述偏航角,xGx表示所述横坐标,xGy表示所述纵坐标。
根据本发明提供的一种基于目标驱动的射流装置运动控制方法,所述俯仰角预测模型依次包括输入层、隐藏层和输出层,所述隐藏层包括三层全连接层,每层全连接层的节点数量分别为5、7和10。
根据本发明提供的一种基于目标驱动的射流装置运动控制方法,所述俯仰角预测模型的激活函数如下:
Relu(x)=max(0,x),
其中,x表示所述俯仰角预测模型中某一节点的计算结果。
根据本发明提供的一种基于目标驱动的射流装置运动控制方法,所述俯仰角预测模型中每层的数学表达式如下:
outputi=Relu(Wi×outputi-1+Bi),
其中,outputi表示第i层的输出,outputi-1表示第i-1层的输出,Wi表示第i层的权重,Bi表示第i层的偏置。
根据本发明提供的一种基于目标驱动的射流装置运动控制方法,所述俯仰角预测模型的损失函数如下:
Loss(GT,θp)=(GT-θp)2,
其中,GT表示所述水平距离,θp表示所述输出层的输出值。
本发明还提供一种基于目标驱动的射流装置运动控制系统,包括:
横纵坐标模块,用于获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
偏航角模块,用于根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
俯仰角模块,用于将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
伺服模块,用于根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于目标驱动的射流装置运动控制方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于目标驱动的射流装置运动控制方法的步骤。
本发明提供的一种基于目标驱动的射流装置运动控制方法,并且给出了针对此射流装置的逆运动学求解的新方法,该方法包含两个方面:首先利用射流装置与被击目标两者间的几何约束计算出炮管的偏航角。然后通过构建一个神经网络,采集用于训练和验证的数据集,再通过神经网络训练、验证和测试等步骤得到神经网络的参数,最终将训练好的神经网络应用到实际的俯仰角计算中。
本发明实施例分析了射流装置结构,结合了目前神经网络技术,采用传统方法与神经网络技术结合的方式,针对此射流装置提出了基于目标驱动的射流装置逆运动学求解方法。本发明提出的方法不仅减少了逆运动学求解的计算步骤,而且利用神经网络技术避免了对射流进行了复杂的数学建模,达到了简化了计算过程、降低计算复杂度目的。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对上述问题,本发明实施例提供一种针对射流装置的、基于目标驱动的射流装置你运动学求解方法,此方法使用几何法计算炮管偏航角,使用基于目标驱动的神经网络拟合法计算炮管俯仰角。
利用此方法,只需要根据被击目标落点坐标即可直接计算出电机1和电机2所需要转动的角度θ1和θ2,不仅省去了计算末端执行器位姿的步骤,同时通过引入神经网络技术,还避免了对射流进行复杂的数学建模的问题。
通过本发明方法,达到了在射流装置上能根据被击目标坐标准确且快速计算出电机1和电机2的转动角度的目的,并且具有实现简单的特点。
具体地,本发明实施例提供一种基于目标驱动的射流装置运动控制方法,如图2所示,该方法包括:
本发明实施例以图1中的射流装置为例进行说明,该射流装置包括两个电机,分别为电机1和电机2,其中,电机1的转动角度对应着炮管偏航角,电机2的转动角度对应着炮管的俯仰角。
110,获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
首先进行基于几何分析的偏航角计算,在射流装置(也即射流本体)锁定目标准备射击时,将射流装置的固定末端作为坐标系原点Ox,该坐标系原点、炮口和目标中心共线,如图3所示,该射流本体坐标系中是以固定末端为原点的,X轴位于竖直方向上,将固定末端到目标的方向作为X轴的正方向,Y轴位于水平方向上,将固定末端到目标的方向作为Y轴的正方向。
120,根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
从图3中可以看出,此时炮管与Yx轴的夹角即为偏航角θy,根据图2的几何关系可知:
此种情况下,本发明实施例中可以根据正弦角度或余弦角度来推导出射流本体的偏航角。
优选地,由于本装置偏航角的范围是-90°到90°,在这个范围之内通过式(1)求得的θy只有正值,无法达到实际要求,因此,选用式(2)来求偏航角θy,即电机1转动的角度θ1:
其中,θy表示所述偏航角,xGx表示所述横坐标,xGy表示所述纵坐标。
130,将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
然后将目标和射流本体之间的水平距离输入到俯仰角预测模型中,得到该射流本体的俯仰角,该俯仰角预测模型为神经网络模型,该神经网络模型以水平距离为样本、以实际真实的俯仰角度为标签进行训练得到。
140,根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
根据该偏航角,对电机1进行逆运动学求解,得到电机1的旋转角度;根据该俯仰角,对电机2进行逆运动学求解,得到电机2的旋转角度。根据各个电机的旋转角度,对电机进行伺服控制,以控制射流本体打击目标。
本发明实施例提出了一种基于目标驱动的射流装置运动控制方法,并且给出了针对此射流装置的逆运动学求解的新方法,该方法包含两个方面:首先利用射流装置与被击目标两者间的几何约束计算出炮管的偏航角。然后通过构建一个神经网络,采集用于训练和验证的数据集,再通过神经网络训练、验证和测试等步骤得到神经网络的参数,最终将训练好的神经网络应用到实际的俯仰角计算中。
本发明实施例分析了射流装置结构,结合了目前神经网络技术,采用传统方法与神经网络技术结合的方式,针对此射流装置提出了基于目标驱动的射流装置逆运动学求解方法。本发明提出的方法不仅减少了逆运动学求解的计算步骤,而且利用神经网络技术避免了对射流进行了复杂的数学建模,达到了简化了计算过程、降低计算复杂度目的。
在上述实施例的基础上,优选地,所述俯仰角预测模型依次包括输入层、隐藏层和输出层,所述隐藏层包括三层全连接层,每层全连接层的节点数量分别为5、7和10。
本发明实施例中,被击目标与射流装置的位置关系侧视图如图4所示,考虑到俯仰角与射流落点的关系是非线性的,并且为了减少计算时间,设计了三层全连接层的网络模型,如图5所示,隐含层包含了三层全连接层,其中每层全连接层的节点数量分别为5、7、10。
俯仰角预测模型的激活函数采用的是Relu函数:
Relu(x)=max(0,x), (4)
每层的数学表达式可表示为:
outputi=Relu(Wi×outputi-1+Bi), (5)
输入层的输入是Sx,即目标到射流装置坐标系原点的直线距离,输出层的输出是θp,即电机2转动的角度θ2,Wi和Bi是每层的权重和偏置量。俯仰角预测模型的损失函数采用的是均方误差损失函数:
Loss(GT,θp)=(GT-θp)2, (6)
其中GT为当前射流装置与落点的直线距离的真实射流装置俯仰角。
针对此射流装置,神经网络模型优化的目标是降低Loss(GT,θp)函数的值,即让模型的预测值与真实值尽可能的接近。
如图6所示,此落点预测神经网络模型中,利用Adam优化器即可优化Loss(GT,θp)函数的值,学习率取0.001。
训练网络的数据采集是采用人工测量求均值的方式,采集范围是-9°~32°,采集分辨率为1°,每个角度采集20次。将数据集划分为训练集、验证集和测试集,划分方式是将其中俯仰角为-5°、0°、5°、10°、15°、20°、25°、30°的数据划分为测试集和验证集,其余的数据划分为训练集。表1为俯仰角预测神经网络预测结果,神经网络在测试集上的表现结果如表1所示,预测的俯仰角精度可保持在0.2度左右。
表1
与本发明最相近的方法是数学建模法和几何法两者结合的方法。数学建模法准确率高的原因是利用牛顿运动定律,结合射流的运动规律并考虑空气阻力对射流的实时影响来对射流的运动曲线进行精确的数学建模,以此计算出射流的准确落点。在理想条件下,这种方法计算的射流落点与真实的射流落点是没有误差的,但是真实场景下本装置喷射出来的水流在达到某点之后就会开始分散,这将大大影响射流受到的空气阻力,当不能对射流的规律进行精准的数学建模的话,计算出来的射流装置末端位姿与真实所需要的值存在误差。其次,在求解过程中,数学积分公式推导以及最后对积分公式求反函数十分困难,以致难以实际实现并应用在本装置中。
本发明通过引入神经网络技术到射流装置逆运动学求解问题中,既解决了水流微分长度的选取、空气摩擦系数的确定以及水流截面方向的不断变化等因素对计算准确率的干扰的问题,也克服了传统数学建模方式计算复杂甚至无法计算出结果的缺点。同时,本方法直接利用几何约束求解出偏航角、利用神经网络拟合出俯仰角,即可得到电机1和电机2的转动角度,减少了求解射流装置末端位姿的步骤,在保证计算准确率的同时又减少了计算时间。
本发明实施例提供一种基于目标驱动的射流装置运动控制系统,如图7所示,该系统包括横纵坐标模块701、偏航角模块702、俯仰角模块703和伺服模块704,其中:
横纵坐标模块701用于获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
偏航角模块702用于根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
俯仰角模块703用于将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
伺服模块704用于根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
本实施例为与上述方法对应的系统实施例,详情请参考上述方法实施例,本系统实施例在此不再赘述。
本发明实施例提供一种电子设备,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行一种基于目标驱动的射流装置运动控制方法,该方法包括:
获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的一种基于目标驱动的射流装置运动控制方法,该方法包括:
获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的一种基于目标驱动的射流装置运动控制方法,该方法包括:
获取目标在射流本体坐标系下的横坐标和纵坐标,所述射流本体坐标系以所述射流本体为原点、以所述射流本体到所述目标的水平方向为Y轴、以所述射流本体到所述目标的垂直方向为X轴;
根据所述横坐标和所述纵坐标,获取所述射流本体的偏航角;
将所述目标与所述射流本体之间的水平距离输入到俯仰角预测模型中,获取所述射流本体的俯仰角,所述俯仰角预测模型以水平距离为样本、实际俯仰角为标签进行训练得到;
根据所述偏航角和所述俯仰角,对所述射流本体进行逆运动学求解,获取所述射流本体中电机的旋转角度,并根据所述旋转角度控制所述射流本体打击所述目标。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。