发明内容
本发明实施例的目的在于提供一种力矩控制方法、装置、电子设备及存储介质,以提高多旋翼飞行器飞行过程中对力矩的控制性能。具体技术方案如下:
第一方面,本发明实施例提供了一种力矩控制方法,包括:
获取多旋翼飞行器中各个螺旋桨的螺旋桨转速,其中,所述螺旋桨转速是驱动螺旋桨转动的电机转速;
根据所述螺旋桨转速、所述多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定所述多旋翼飞行器中各个电子调速器的力矩分配;
根据各个电子调速器的所述力矩分配,向各个电子调速器发送控制指令。
可选的,所述根据所述螺旋桨转速、所述多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定所述多旋翼飞行器中各个电子调速器的力矩分配,包括:
根据所述螺旋桨转速以及所述多旋翼飞行器的飞行器参数,确定所述多旋翼飞行器产生的当前力矩;
确定所述多旋翼飞行器产生的当前力矩与目标力矩的差异值;
根据所述差异值调整所述目标力矩,并根据调整后的目标力矩确定各个电子调速器的力矩分配。
可选的,所述飞行器参数包括:各个螺旋桨的机臂长度、各个螺旋桨的机臂与机体坐标系中X轴的夹角;
所述根据所述螺旋桨转速以及所述多旋翼飞行器的飞行器参数,确定所述多旋翼飞行器产生的当前力矩,包括:
针对每个螺旋桨,将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数相乘,得到第一乘积,并将每个螺旋桨的所述第一乘积求和,得到第一力矩;
针对每个螺旋桨,将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数相乘,得到第二乘积,并将每个螺旋桨的所述第二乘积求和,得到第二力矩;
针对每个螺旋桨,将该螺旋桨的所述螺旋桨转速的立方与所述螺旋桨转速的绝对值的比值,和预设参数相乘,得到第三乘积,并将每个螺旋桨的所述第三乘积求和,得到第三力矩;
将所述第一力矩、所述第二力矩以及所述第三力矩,作为所述多旋翼飞行器产生的当前力矩。
可选的,所述根据所述螺旋桨转速以及所述多旋翼飞行器的飞行器参数,确定所述多旋翼飞行器产生的当前力矩,包括:
针对每个螺旋桨,根据该螺旋桨的所述螺旋桨转速,计算该螺旋桨产生的推力;并根据该螺旋桨的所述螺旋桨转速,计算该螺旋桨产生的反扭矩;
将该螺旋桨产生的所述推力和所述反扭矩,分解到机体坐标系的各个坐标轴,得到该螺旋桨在所述各个坐标轴上产生的分力矩;
将所述各个螺旋桨在所述各个坐标轴上产生的所述分力矩进行合成,得到所述各个坐标轴上的力矩,并将所述各个坐标轴上的力矩作为所述多旋翼飞行器产生的当前力矩。
可选的,所述根据该螺旋桨的所述螺旋桨转速,计算该螺旋桨产生的推力的步骤,包括:
根据预设公式:F=cfω2,确定该螺旋桨产生的推力;其中,F为推力,ω为螺旋桨转速,cf为预设参数;
或者,
根据实际测量数据,确定螺旋桨转速与推力的第一曲线关系;并根据该螺旋桨的所述螺旋桨转速以及所述第一曲线关系,确定该螺旋桨产生的推力。
可选的,所述根据该螺旋桨的所述螺旋桨转速,计算该螺旋桨产生的反扭矩的步骤,包括:
根据预设公式:T=ctω2,确定该螺旋桨产生的反扭矩;其中,T为反扭矩,ω为螺旋桨转速,ct为预设参数;
或者,
根据实际测量数据,确定螺旋桨转速与反扭矩的第二曲线关系;并根据该螺旋桨的所述螺旋桨转速以及所述第二曲线关系,确定该螺旋桨产生的反扭矩。
可选的,所述将该螺旋桨产生的所述推力和所述反扭矩,分解到机体坐标系的各个坐标轴,得到该螺旋桨在所述各个坐标轴上产生的分力矩的步骤,包括:
将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数的乘积,作为该螺旋桨在所述机体坐标系中X轴上产生的第一分力矩;
将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数的乘积,作为该螺旋桨在所述机体坐标系中Y轴上产生的第二分力矩;
将该螺旋桨的所述螺旋桨转速的立方与所述螺旋桨转速的绝对值的比值,和预设参数的乘积,作为该螺旋桨在所述机体坐标系中Z轴上产生的第三分力矩。
可选的,所述将所述各个螺旋桨在所述各个坐标轴上产生的所述分力矩进行合成,得到所述各个坐标轴上的力矩步骤,包括:
针对所述各个坐标轴中的每个坐标轴,对所述各个螺旋桨在该坐标轴上产生的各个所述分力矩进行求和,得到该坐标轴上的力矩。
可选的,所述获取多旋翼飞行器中各个螺旋桨的螺旋桨转速的步骤,包括:
接收各个电子调速器实时反馈的电机转速;
分别将所述各个电子调速器实时反馈的电机转速,作为对应的所述各个螺旋桨的所述螺旋桨转速。
第二方面,本发明实施例提供了一种力矩控制装置,包括:
获取模块,用于获取多旋翼飞行器中各个螺旋桨的螺旋桨转速,其中,所述螺旋桨转速是驱动螺旋桨转动的电机转速;
确定模块,用于根据所述螺旋桨转速、所述多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定所述多旋翼飞行器中各个电子调速器的力矩分配;
发送模块,用于根据各个电子调速器的所述力矩分配,向各个电子调速器发送控制指令。
可选的,所述飞行器参数包括:各个螺旋桨的机臂长度、各个螺旋桨的机臂与机体坐标系中X轴的夹角;
所述第一确定子模块,包括:
第一确定单元,用于针对每个螺旋桨,将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数相乘,得到第一乘积,并将每个螺旋桨的所述第一乘积求和,得到第一力矩;
第二确定单元,用于针对每个螺旋桨,将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数相乘,得到第二乘积,并将每个螺旋桨的所述第二乘积求和,得到第二力矩;
第三确定单元,用于针对每个螺旋桨,将该螺旋桨的所述螺旋桨转速的立方与所述螺旋桨转速的绝对值的比值,和预设参数相乘,得到第三乘积,并将每个螺旋桨的所述第三乘积求和,得到第三力矩;
第四确定单元,用于将所述第一力矩、所述第二力矩以及所述第三力矩,作为所述多旋翼飞行器产生的当前力矩。
可选的,所述第一确定子模块,包括:
计算单元,用于针对每个螺旋桨,根据该螺旋桨的所述螺旋桨转速,计算该螺旋桨产生的推力;并根据该螺旋桨的所述螺旋桨转速,计算该螺旋桨产生的反扭矩;
分解单元,用于将该螺旋桨产生的所述推力和所述反扭矩,分解到机体坐标系的各个坐标轴,得到该螺旋桨在所述各个坐标轴上产生的分力矩;
合成单元,用于将所述各个螺旋桨在所述各个坐标轴上产生的所述分力矩进行合成,得到所述各个坐标轴上的力矩,并将所述各个坐标轴上的力矩作为所述多旋翼飞行器产生的当前力矩。
可选的,所述计算单元,具体用于根据预设公式:F=cfω2,确定该螺旋桨产生的推力;其中,F为推力,ω为螺旋桨转速,cf为预设参数;
或者,
具体用于根据实际测量数据,确定螺旋桨转速与推力的第一曲线关系;并根据该螺旋桨的所述螺旋桨转速以及所述第一曲线关系,确定该螺旋桨产生的推力。
可选的,所述计算单元,具体用于根据预设公式:T=ctω2,确定该螺旋桨产生的反扭矩;其中,T为反扭矩,ω为螺旋桨转速,ct为预设参数;
或者,
具体用于根据实际测量数据,确定螺旋桨转速与反扭矩的第二曲线关系;并根据该螺旋桨的所述螺旋桨转速以及所述第二曲线关系,确定该螺旋桨产生的反扭矩。
可选的,所述分解单元,包括:
第一确定子单元,用于将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数的乘积,作为该螺旋桨在所述机体坐标系中X轴上产生的第一分力矩;
第二确定子单元,用于将该螺旋桨的机臂长度、所述螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数的乘积,作为该螺旋桨在所述机体坐标系中Y轴上产生的第二分力矩;
第三确定子单元,用于将该螺旋桨的所述螺旋桨转速的立方与所述螺旋桨转速的绝对值的比值,和预设参数的乘积,作为该螺旋桨在所述机体坐标系中Z轴上产生的第三分力矩。
可选的,所述合成单元,具体用于针对所述各个坐标轴中的每个坐标轴,对所述各个螺旋桨在该坐标轴上产生的各个所述分力矩进行求和,得到该坐标轴上的力矩。
可选的,所述获取模块,包括:
接收子模块,用于接收各个电子调速器实时反馈的电机转速;
第四确定子模块,用于分别将所述各个电子调速器实时反馈的电机转速,作为对应的所述各个螺旋桨的所述螺旋桨转速。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例提供的力矩控制方法、装置、电子设备及存储介质,根据螺旋桨转速、多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定多旋翼飞行器中各个电子调速器的力矩分配,并根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令,如此能够提高多旋翼飞行器飞行过程中对力矩的控制性能。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的力矩控制方法可以应用于控制多旋翼飞行器飞行的控制器,例如,姿态控制器、力矩控制器等。
本发明实施例提供了一种力矩控制方法,如图2所示,包括:
S201,获取多旋翼飞行器中各个螺旋桨的螺旋桨转速,其中,螺旋桨转速是驱动螺旋桨转动的电机转速。控制器可以实时获取多旋翼飞行器中各个螺旋桨的螺旋桨转速。具体地,控制器可以主动向该多旋翼飞行器中的各个螺旋桨获取各个螺旋桨的螺旋桨转速;或者也可以是各个螺旋桨实时将自身的螺旋桨转速发送给控制器。
本发明实施例中一种可选的实现方式中,控制器可以接收各个电子调速器实时反馈的电机转速,并分别将各个电子调速器实时反馈的电机转速,作为对应的各个螺旋桨的螺旋桨转速。其中,各个电子调速器分别驱动对应的各个螺旋桨中的各个电机转动。如此,控制器获取到的螺旋桨转速实时性更高,且相比较于通过角加速度等方式获取到的螺旋桨转速噪声更小。
S202,根据螺旋桨转速、多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定多旋翼飞行器中各个电子调速器的力矩分配。
目标力矩,即驱动多旋翼飞行器进行姿态变化所需的动力源。可以根据多旋翼飞行器的当前飞行状态与飞行指令确定该多旋翼飞行器飞行所需转动的角度,从而计算获得转动该角度需要的力矩,该力矩即为目标力矩。
本发明实施例的力矩控制方法中,在确定力矩分配的过程中,除了根据接收到的目标力矩,还结合了多旋翼飞行器机体产生的当前力矩。将实际产生的当前力矩反馈至控制器,控制器根据该当前力矩以及目标力矩,确定用于控制多旋翼飞行器中各个电子调速器的力矩分配。
具体地,如图3所示,包括:
S2021,根据螺旋桨转速以及多旋翼飞行器的飞行器参数,确定多旋翼飞行器产生的当前力矩。
本发明一种实施例中,飞行器参数包括:各个螺旋桨的机臂长度、各个螺旋桨的机臂与机体坐标系中X轴的夹角。
根据螺旋桨转速以及多旋翼飞行器的飞行器参数,确定多旋翼飞行器产生的当前力矩,包括:
针对每个螺旋桨,将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数相乘,得到第一乘积,并将每个螺旋桨的第一乘积求和,得到第一力矩;
针对每个螺旋桨,将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数相乘,得到第二乘积,并将每个螺旋桨的第二乘积求和,得到第二力矩;
针对每个螺旋桨,将该螺旋桨的螺旋桨转速的立方与螺旋桨转速的绝对值的比值,和预设参数相乘,得到第三乘积,并将每个螺旋桨的第三乘积求和,得到第三力矩;
将第一力矩、第二力矩以及第三力矩,作为多旋翼飞行器产生的当前力矩。
具体地,可以根据公式计算多旋翼飞行器产生的当前力矩,公式如下:
其中,ω为螺旋桨转速,li为螺旋桨i的机臂长度,θi为螺旋桨i的机臂与机体坐标系中X轴的夹角,cf、ct为预设参数,n为多旋翼飞行器的螺旋桨个数的总数,τx为第一力矩,即在X轴产生的力矩,τy为第二力矩,即在Y轴产生的力矩,τz为第三力矩,即在Z轴产生的力矩。
本发明另一种实施例中,根据螺旋桨转速以及多旋翼飞行器的飞行器参数,确定多旋翼飞行器产生的当前力矩,可以包括:
A1,针对每个螺旋桨,根据该螺旋桨的螺旋桨转速,计算该螺旋桨产生的推力;并根据该螺旋桨的螺旋桨转速,计算该螺旋桨产生的反扭矩。
具体地,本发明实施例一种可实现方式中,根据预设公式:F=cfω2,确定该螺旋桨产生的推力;其中,F为推力,ω为螺旋桨转速,cf为预设参数。
预设公式:F=cfω2是计算力的公式,该预设公式中ω可以为角速度、转速等,该预设公式表示力与角速度或者转速等的关系,当角速度或者转速等已知时,确定参数cf后即可确定角速度或者转速等对应的力。本发明实施例中,螺旋桨的螺旋桨转速能够确定,因此要确定螺旋桨产生的推力时,可通过该计算力的预设公式计算螺旋桨产生的推力。
具体地,预设参数cf可以由多个参数计算,例如,cf=CTρArr2,其中,CT为由螺旋桨的桨型确定的系数,ρ为空气密度,Ar为桨盘面积,r为桨盘半径。
本发明实施例另一种可实现方式中,根据实际测量数据,确定螺旋桨转速与推力的第一曲线关系;并根据该螺旋桨的螺旋桨转速以及第一曲线关系,确定该螺旋桨产生的推力。
具体地,根据实际测量数据,确定螺旋桨转速与推力的第一曲线关系,例如,可以根据实验数据,拟合螺旋桨转速与推力的曲线图,如此,从曲线图查找该螺旋桨转速对应的推力。
类似于计算推力的计算方式,本发明实施例一种可选的实现方式中,根据预设公式:T=ctω2,确定该螺旋桨产生的反扭矩;其中,T为反扭矩,ω为螺旋桨转速,ct为预设参数。
预设公式:T=ctω2中可以为角速度、转速等,该预设公式表示力矩与角速度或者转速等的关系,当角速度或者转速等已知时,确定参数ct后即可确定角速度或者转速等对应的力矩。本发明实施例中,螺旋桨转速能够确定,而反扭矩是多旋翼飞行器飞行过程中空气作用于螺旋桨的反作用力产生的力矩,因此要确定螺旋桨产生的反扭矩,可通过该预设公式:T=ctω2计算螺旋桨产生的反扭矩。
具体地,预设参数ct可以根据实验数据验证确定。另外,由于反扭矩T的方向与螺旋桨转速ω的方向相反,因此若螺旋桨转速ω是有方向的,则表示反扭矩T和螺旋桨转速ω对应关系的预设公式也可以表示为:
本发明实施例另一种可选的实现方式中,根据该螺旋桨的螺旋桨转速,以及螺旋桨转速与反扭矩的对应关系,确定该螺旋桨产生的反扭矩的步骤,包括:
根据实际测量数据,确定螺旋桨转速与反扭矩的第二曲线关系;并根据该螺旋桨的螺旋桨转速以及第二曲线关系,确定该螺旋桨产生的反扭矩。
具体地,根据实际测量数据,确定螺旋桨转速与反扭矩的第二曲线关系,例如,根据实验数据,拟合螺旋桨转速与反扭矩的曲线图,如此,该从曲线图查找该螺旋桨转速对应的反扭矩。
A2,将该螺旋桨产生的推力和反扭矩,分解到机体坐标系的各个坐标轴,得到该螺旋桨在各个坐标轴上产生的分力矩。
具体地,可以包括:
A21,将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数的乘积,作为该螺旋桨在机体坐标系中X轴上产生的第一分力矩。
A22,将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数的乘积,作为该螺旋桨在机体坐标系中Y轴上产生的第二分力矩。
A23,将该螺旋桨的螺旋桨转速的立方与螺旋桨转速的绝对值的比值,和预设参数的乘积,作为该螺旋桨在机体坐标系中Z轴上产生的第三分力矩。
本发明一种可选的实施例中,将该螺旋桨产生的推力和反扭矩,分解到机体坐标系的各个坐标轴,得到该螺旋桨在各个坐标轴上产生的分力矩的步骤,包括:
B1,确定该螺旋桨在机体坐标系的位置信息;
如图4所示,螺旋桨401中包括电机402。多旋翼飞行器中可以包括多个螺旋桨,例如,4个、6个等等。确定每个螺旋桨在机体坐标系的位置信息,例如,可以确定螺旋桨与该机体坐标系的各个坐标轴的夹角,如螺旋桨i的机臂与机体坐标系中X轴的夹角θi;以及螺旋桨与该机体坐标系的原点之间的距离,如螺旋桨i的机臂长度li等等。
B2,根据该螺旋桨的推力、反扭矩、位置信息,以及预设公式:
其中,l
i为螺旋桨i的机臂长度,θ
i为螺旋桨i的机臂与机体坐标系中X轴的夹角,F
i为螺旋桨i产生的推力,T
i为螺旋桨i产生的反扭矩,c
f为预设参数,
为螺旋桨i产生的推力分解到X轴上产生的第一分力矩,
为螺旋桨i产生的推力分解到Y轴上产生的第二分力矩,
为螺旋桨i产生的推力分解到Z轴上产生的第三分力矩。
A3,将各个螺旋桨在各个坐标轴上产生的分力矩进行合成,得到各个坐标轴上的力矩,并将各个坐标轴上的力矩作为多旋翼飞行器产生的当前力矩。
具体地,针对各个坐标轴中的每个坐标轴,对各个螺旋桨在该坐标轴上产生的各个分力矩进行求和,得到该坐标轴上的当前力矩。
例如,通过公式,确定机体坐标系X轴、Y轴和Z轴上的力矩,公式如下:
S2022,确定多旋翼飞行器产生的当前力矩与目标力矩的差异值。
一般情况下,多旋翼飞行器实际产生的当前力矩与目标力矩有差异,例如,当前力矩小于目标力矩,或者当前力矩大于目标力矩。如此,当确定多旋翼飞行器产生的当前力矩后,则可以确定当前力矩小于目标力矩的差异值,或者当前力矩大于目标力矩的差异值。
S2023,根据差异值调整目标力矩,并根据调整后的目标力矩确定各个电子调速器的力矩分配。
例如,当当前力矩小于目标力矩,可以在目标力矩的基础上增加该差异值,并根据增加差异值后的目标力矩确定各个电子调速器的力矩分配;当当前力矩大于目标力矩,可以在目标力矩的基础上减小该差异值,并根据减小差异值后的目标力矩确定各个电子调速器的力矩分配。
本发明实施例中通过反馈的多旋翼飞行器的当前力矩,对多旋翼飞行器飞行控制过程中力矩的缺失或多余进行调整,如此实现对力矩的闭环控制。
S203,根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令。
其中,控制指令可以表示驱动多旋翼飞行器的各个螺旋桨的电机转速变化的指令。
本发明实施例一种可选的实现方式中,根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令,可以通过确定多旋翼飞行器中各个螺旋桨对应的各个电机的转速来实现。具体地,针对每个电子调速器分配得到的力矩,可以确定对应该力矩的电机转速,然后生成该电机转速对应的控制指令,并将该控制指令发送给电子调速器。
对于一个机械系统,例如,多旋翼飞行器,若想实现对其运动状态的精准、稳定控制,则需对其产生的力矩进行精准地控制。本发明实施例中通过对多旋翼飞行器机体的当前力矩进行实时反馈,实现对力矩的闭环控制,使得多旋翼飞行器中各个螺旋桨产生稳定的力矩,如此能够提高多旋翼飞行器飞行控制过程中对力矩的控制性能。
本发明实施例中,如图5所示。通过各个电子调速器实时反馈各个螺旋桨的螺旋桨转速,即驱动螺旋桨螺旋桨转动的电机转速。根据各个螺旋桨的该螺旋桨转速,计算各个螺旋桨产生的推力和反扭矩。将各个螺旋桨产生的该推力和反扭矩分解到机体坐标系的各个坐标轴上,再分别将各个螺旋桨在各个坐标轴上的产生的分力矩进行合成,得到各个坐标轴的力矩,并将各个坐标轴上的力矩作为多旋翼飞行器产生的当前力矩。将该当前力矩反馈至用于控制多旋翼飞行器飞行的控制器,例如,力矩控制器。控制器根据该当前力矩以及目标力矩,确定各个电子调速器的力矩分配,并根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令,控制器将该控制指令发送至各个电子调速器后,各个电子调速器根据该控制指令驱动各个电子调速器对应的各个电机转动,进而各个螺旋桨对应的各个电机转动产生的力矩驱使多旋翼飞行器飞行。其中,各个电子调速器包括:电调1,电调2,……,电调n;各个电机包括:电机1,电机2,……,电机n。
如此,本发明实施例中实时反馈多旋翼飞行器产生的当前力矩,在对多旋翼飞行器力矩控制的过程中,实现多旋翼飞行过程中对力矩的闭环控制,如此能够提高多旋翼飞行过程中对力矩的控制性能。同时,实时反馈当前力矩,能够对多旋翼飞行器各个螺旋桨产生的实际力矩相对于目标力矩的缺失或者多余进行调整,使得多旋翼飞行器整体产生的力矩更加稳定,且能够提升多旋翼飞行器过程中动力故障的鲁棒性,进一步提高对多旋翼飞行器飞行控制的性能。
本发明实施例还提供了一种力矩控制装置,如图6所示,包括:
获取模块601,用于获取多旋翼飞行器中各个螺旋桨的螺旋桨转速,其中,螺旋桨转速是驱动螺旋桨转动的电机转速;
确定模块602,用于根据螺旋桨转速、多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定多旋翼飞行器中各个电子调速器的力矩分配;
发送模块603,用于根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令。
本发明实施例提供的力矩控制装置,根据螺旋桨转速、多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定多旋翼飞行器中各个电子调速器的力矩分配,并根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令,在对力矩的控制过程中考虑多旋翼飞行器实际产生的当前力矩,实现多旋翼飞行过程中对力矩的闭环控制,如此能够提高多旋翼飞行器飞行过程中对力矩的控制性能。
可选的,确定模块602包括:
第一确定子模块,用于根据螺旋桨转速以及多旋翼飞行器的飞行器参数,确定多旋翼飞行器产生的当前力矩;
第二确定子模块,用于确定多旋翼飞行器产生的当前力矩与目标力矩的差异值;
第三确定子模块,用于根据差异值调整目标力矩,并根据调整后的目标力矩确定各个电子调速器的力矩分配。
可选的,飞行器参数包括:各个螺旋桨的机臂长度、各个螺旋桨的机臂与机体坐标系中X轴的夹角;
第一确定子模块,包括:
第一确定单元,用于针对每个螺旋桨,将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数相乘,得到第一乘积,并将每个螺旋桨的第一乘积求和,得到第一力矩;
第二确定单元,用于针对每个螺旋桨,将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数相乘,得到第二乘积,并将每个螺旋桨的第二乘积求和,得到第二力矩;
第三确定单元,用于针对每个螺旋桨,将该螺旋桨的螺旋桨转速的立方与螺旋桨转速的绝对值的比值,和预设参数相乘,得到第三乘积,并将每个螺旋桨的第三乘积求和,得到第三力矩;
第四确定单元,用于将第一力矩、第二力矩以及第三力矩,作为多旋翼飞行器产生的当前力矩。
可选的,第一确定子模块,包括:
计算单元,用于针对每个螺旋桨,根据该螺旋桨的螺旋桨转速,计算该螺旋桨产生的推力;并根据该螺旋桨的螺旋桨转速,计算该螺旋桨产生的反扭矩;
分解单元,用于将该螺旋桨产生的推力和反扭矩,分解到机体坐标系的各个坐标轴,得到该螺旋桨在各个坐标轴上产生的分力矩;
合成单元,用于将各个螺旋桨在各个坐标轴上产生的分力矩进行合成,得到各个坐标轴上的力矩,并将各个坐标轴上的力矩作为多旋翼飞行器产生的当前力矩。
可选的,计算单元,具体用于根据预设公式:F=cfω2,确定该螺旋桨产生的推力;其中,F为推力,ω为螺旋桨转速,cf为预设参数;
或者,
具体用于根据实际测量数据,确定螺旋桨转速与推力的第一曲线关系;并根据该螺旋桨的螺旋桨转速以及第一曲线关系,确定该螺旋桨产生的推力。
可选的,计算单元,具体用于根据预设公式:T=ctω2,确定该螺旋桨产生的反扭矩;其中,T为反扭矩,ω为螺旋桨转速,ct为预设参数;
或者,
具体用于根据实际测量数据,确定螺旋桨转速与反扭矩的第二曲线关系;并根据该螺旋桨的螺旋桨转速以及第二曲线关系,确定该螺旋桨产生的反扭矩。
可选的,分解单元,包括:
第一确定子单元,用于将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的正弦值以及预设参数的乘积,作为该螺旋桨在机体坐标系中X轴上产生的第一分力矩;
第二确定子单元,用于将该螺旋桨的机臂长度、螺旋桨转速的平方、机臂与机体坐标系中X轴夹角的余弦值以及预设参数的乘积,作为该螺旋桨在机体坐标系中Y轴上产生的第二分力矩;
第三确定子单元,用于将该螺旋桨的螺旋桨转速的立方与螺旋桨转速的绝对值的比值,和预设参数的乘积,作为该螺旋桨在机体坐标系中Z轴上产生的第三分力矩。
可选的,合成单元,具体用于针对各个坐标轴中的每个坐标轴,对各个螺旋桨在该坐标轴上产生的各个分力矩进行求和,得到该坐标轴上的力矩。
可选的,获取模块601,包括:
接收子模块,用于接收各个电子调速器实时反馈的电机转速;
第四确定子模块,用于分别将各个电子调速器实时反馈的电机转速,作为对应的各个螺旋桨的螺旋桨转速。
需要说明的是,本发明实施例提供的力矩控制装置是应用上述力矩控制方法的装置,则上述力矩控制方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述图2-图5任一实施例所示的力矩控制方法。
本发明实施例提供的电子设备,根据螺旋桨转速、多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定多旋翼飞行器中各个电子调速器的力矩分配,并根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令,在对力矩的控制过程中考虑多旋翼飞行器实际产生的当前力矩,实现多旋翼飞行过程中对力矩的闭环控制,如此能够提高多旋翼飞行器飞行过程中对力矩的控制性能。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述图2-图5任一实施例所示的力矩控制方法。
本发明实施例提供的计算机可读存储介质,根据螺旋桨转速、多旋翼飞行器的飞行器参数,以及接收到的目标力矩,确定多旋翼飞行器中各个电子调速器的力矩分配,并根据各个电子调速器的力矩分配,向各个电子调速器发送控制指令,在对力矩的控制过程中考虑多旋翼飞行器实际产生的当前力矩,实现多旋翼飞行过程中对力矩的闭环控制,如此能够提高多旋翼飞行器飞行过程中对力矩的控制性能。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。