本发明涉及一种模拟多轴飞行器卫星导航定位的方法,尤其涉及一种模拟四轴飞行器卫星导航定位的方法,属于无人机技术领域。
背景技术:
近十几年来,随着复合材料、动力系统、传感器、尤其是飞行控制等技术的研究进展,无人机得到了迅速的发展,正日益成为人们关注的焦点。无人机具有独特的飞行性能及使用价值。无人机驾驶仪作为无人机控制的核心部件,在真正应用于无人机之前,不仅仅要经过多次软件模拟仿真,更需要经过多重严格的地面测试,只有通过机载传感器和执行机构的实际验证,才能保证无人机的可靠实际飞行。基于以上原因,利用三自由度、六自由度飞行模拟实验仿真平台对无人机飞行进行测试是必不可少的,本专利方法要解决的问题就是,消耗较小的硬件软件成本,将三自由度实验仿真平台拓展为六自由度仿真平台,从而模拟更真实的飞行环境,进而保证先进的无人机控制算法能够成功应用于无人机控制中。
目前无人机的功能还十分有限,飞行主要由操作手在地面遥控完成,大多还不具备自主飞行能力。无人直升机的自主飞行研究在国际上也是非常前沿的课题。国内的设计方法,多数是通过大量的飞行试验来调整飞行控制参数,最终找到合适的控制律。但是飞行试验一旦失败,无人直升机有坠机的危险,很容易遭到毁灭性的损坏,将造成试验成本大幅度增加和研制周期的加长。因此,飞行控制实验平台成为无人直升机飞行控制系统设计的一个重要步骤。
现有飞行控制系统中大多数飞行器仿真实验平台为飞行器姿态模拟三自由度转台,比如专利cn101794524a:《一种飞行器姿态模拟三自由度电动转台》,其三自由度电动转台由基座和三个运动框架组成,模拟飞行器的三维姿态运动。这种方法存在的问题是缺少飞行器的在x、y、z轴方向上的位移控制实验,甚至由于位移数据缺失造成实验结果与架机实操的不一致,带来飞行安全等隐患。
由于三自由度实验平台的局限性,目前已经有一部分人开始着手研究六自由度实验平台,比如专利cn102180270a:《一种微小型旋翼飞行器实验平台及应用》,实验台底座固定在地面上或其他平面上,实验台底座与球关节轴承的定子之间连接有六维力传感器,六维力传感器通过电缆连接至上位计算机,球关节轴承的转子与微小型旋翼式飞行器固连,微小型旋翼式飞行器上安装有机载电路硬件,机载电路硬件采用电缆或无线通信的方式与上位计算机进行实时通讯。这些实验平台虽然可以进行六自由度仿真实验,但其结构与三自由度实验平台完全不同,无法简单的将三自由度实验平台改造升级为六自由度实验平台,在已经有三自由度实验平台时需重新购买六自由度实验平台才能进行六自由度实验仿真,成本昂贵,另外,这些实验平台位移数据需要设计单独的上位机程序进行观察,进一步提高了成本,也损失了方便性。
再者,国内外关于无人机飞控系统验证平台的相关报道仍然比较少,而商品化的仿真平台,虽然功能齐全,接口完善,能够满足验证飞控算法的需求,但是销售价格非常高,构造也比较复杂,维护成本高,不能广泛应用于学生试验和实际操作。例如quanser公司的qball-x4飞控仿真平台,quanser公司1990年成立于加拿大,一致致力于促进教学科研与实际工程的结合,qball-x4飞控仿真平台是该公司所研制开发的一套全封闭能够真实模拟四旋翼飞行的实时仿真控制平台,该平台被国内外多所高校所采用,来验证飞行控制算法。quanserqball-x4基于四旋翼直升机设计,其中四旋翼安装有4个10英寸螺旋桨,整个四旋翼附在一个保护性的碳化纤维笼子里面,保证了飞行中的安全性,使得这种无人机可以在实验室内应用,能最大程度降低潜在的破坏性。然而其高昂的价格阻碍了大多数科研人员和学生的使用。相比于国外而言,国内的飞控系统仿真平台还处在研制阶段,且成本也比较高,因此一套低成本的仿真验证平台就显得格外有价值,这样不仅可以使得学生可以低成本获得仿真平台,从而加快理论研究,也可以广泛应用于学生教学和试验中。
技术实现要素:
本发明公开的一种模拟四轴飞行器卫星导航定位的方法要解决的技术问题是:基于在四轴飞行器位置固定的条件下实现模拟四轴飞行器的卫星导航定位状态,并获得四轴飞行器的模拟飞行轨迹;此外,具有下述优点:(1)在已有三自由度飞行器姿态模拟平台基础上,无需改变三自由度飞行器姿态模拟平台的结构,能够实现增加已有三自由度飞行器姿态模拟平台在空间位置坐标下的三个自由度模拟与测试;(2)位移数据直接转换为定位数据发送给飞行器,能够直接通过飞行器的地面站直接读取四轴飞行器的卫星导航定位信息并显示在地面站中,不需要设计单独的上位机程序进行观察四轴飞行器的卫星导航定位信息或位移信息。(3)成本低廉、使用方便。
本发明的目的是通过下述技术方案实现的:
本发明公开的一种模拟四轴飞行器卫星导航定位的方法,包括如下步骤:
步骤一:在四轴飞行器位置固定的条件下,基于已有三自由度飞行器姿态模拟平台,搭建模拟四轴飞行器卫星导航定位的装置。
所述的模拟四轴飞行器卫星导航定位的装置包括模拟定位模块、四轴飞行器和地面站。所述的模拟定位模块包括姿态传感器、单片机、反相器。姿态传感器通过串口把四轴飞行器姿态数据发送给单片机。四轴飞行器输出s.bus信号,并将s.bus信号经反相器后通过串口将电机转速发送给单片机。单片机通过串口模拟导航定位信号的数据协议格式,将模拟卫星导航定位信息发送给四轴飞行器。四轴飞行器连续接收到的模拟卫星导航定位信息能够显示在地面站的地图界面形成飞行轨迹。
步骤二:根据实际使用的四轴飞行器各部分元件的型号,设置四轴飞行器的质量m、桨叶面积a、电机最大、最小转速、四轴飞行器侧面面积、四轴飞行器正面面积、四轴飞行器初始高度等初始化参数;此外,在模拟四轴飞行器卫星导航定位状态之前,需要确定四轴飞行器在卫星导航中的初始位置。
步骤二中所述的确定四轴飞行器在卫星导航中的初始位置,优选方法一或方法二:
方法一:直接在单片机中设置四轴飞行器在卫星导航中初始位置的经纬度数据。
方法二:外接卫星导航定位模块到模拟定位模块中的单片机上,单片机接收到外接卫星导航定位模块的有效定位信息后,将四轴飞行器在卫星导航中的初始位置设置为外接卫星导航定位模块所定位的位置。
步骤三:接收并解析四轴飞行器姿态信息和电机转速ω。
姿态传感器通过串口发送四轴飞行器当前姿态信息,单片机通过解析得出四轴飞行器当前的俯仰角θ、横滚角φ和偏航角ψ。四轴飞行器的s.bus信号经过反相器反相后经过单片机解析,得出四轴飞行器油门大小g,油门的最小值和最大值对应四轴飞行器的电机转速ω的最大值和最小值,所述的电机转速ω的最大值和最小值在步骤二中设置,而且,由于当前四轴飞行器多采用无刷直流电机,速度由电调自动调节并稳定在目标速度上,所以油门大小g和电机转速ω呈线性关系:
ω=k(g-gmin)+ωmin公式1
其中:ω为电机(旋翼)转速;
g为油门大小,最大值与最小值之间一般相差1000;
gmin,ωmin分别为油门最小值和电机转速最小值;
k为油门大小和电机转速之间的系数,且其值满足:
ωmax=k(gmax-gmin)+ωmin公式2
其中:gmax,ωmax分别为油门最大值和电机转速最大值;
通过公式1和公式2,经过单片机处理,得出四轴飞行器的电机转速ω。
步骤四:滤波处理。
为避免由于姿态、电机转速采集异常造成的模拟卫星导航定位位置信息计算异常,单片机需要对采集的数据进行滤波处理。
所述滤波处理优选限幅滤波法、中位值滤波法或平均值滤波法。
步骤五:计算四轴飞行器受到的升力t、阻力f。
电机产生的升力t的大小通过电机转速和飞行器参数计算:
t=cτρar2ω2公式3
其中:cτ为旋翼姿态参数,可近似取为常数;
ρ为空气密度,可近似取为常数;
a为桨叶面积,根据实际飞行器设置数值;
r为旋翼半径,根据实际飞行器设置数值。
空气阻力f的计算公式为:
其中:c为空气阻力系数,根据四轴飞行器形状改变,可设置为常数;
ρ为空气密度,可近似取为常数;
s为物体迎风面积,与飞行器大小及姿态相关,可根据飞行器设置为常数;
v为物体与空气的相对运动速度,由于本方法不考虑风速对飞行器的影响,所以v也是四轴飞行器的飞行速度,四轴飞行器的初始飞行速度为0;
根据公式4能够计算出四轴飞行器在东、北、天三个方向的空气阻力。
步骤六:计算四轴飞行器在东-北-天三个方向的加速度、速度和位移。
电机转速产生的力的方向与四轴飞行器坐标系右(x)-前(y)-上(z)的z轴正方向重合。将四轴飞行器坐标系中与z轴正方向重合的升力,转化到东-北-天的惯性坐标系中,通过坐标变换得出电机产生的升力在东-北-天的惯性坐标系中的坐标表示,公式如下:
其中:fe,fn,fs分别为四轴飞行器所受合力在东、北、天三个方向的分力;
θ,φ,ψ分别为四轴飞行器的俯仰角、横滚角和偏航角;
fe,fn,fs为四轴飞行器在东、北、天三个方向的空气阻力;
m为飞行器质量;
g为重力常数。
根据四轴飞行器在东、北、天三个方向的分力和牛顿第二定律计算出四轴飞行器在东、北、天三个方向的加速度、通过对加速度的积分累加,得到四轴飞行器在东、北、天三个方向的速度,通过对速度的积分累加,得到四轴飞行器在东、北、天三个方向的位移。
步骤七:根据步骤六的位移数据计算需要模拟的卫星导航定位信息位置坐标,并发送给四轴飞行器。四轴飞行器通过广播或串口与地面站通讯,并在地面站中显示四轴飞行器的卫星导航定位信息。
水平方向位置的经纬度计算方法如下公式:
latitude=latitude_init+shift_nouth*9.009*10-6公式6
longitude=longitude_init+shift_east*9.009*10-6*cos(latitude)公式7
其中:latitude为纬度,取值范围为-90°到90°,其中负数代表南纬,正数代表北纬;
longitude为经度,取值范围为-180°到180°,其中负数代表东经,正数代表西经;
shift_east,shift_nouth分别为计算出的四轴飞行器在东、北方向的位移。
垂直方向位置和步骤六中天方向的位移相同。
根据计算出的飞行器的模拟卫星导航定位信息的位置坐标,通过串口发送给四轴飞行器,在四轴飞行器相连的地面站中即能够观察到四轴飞行器接收到的卫星导航定位信息。
步骤七中通过串口发送给四轴飞行器,串口发送协议根据四轴飞行器的固件进行选择,优选nmea或ubx。
步骤一、七中所述的地面站优选missionplanner、qground。
步骤八:重复进行步骤三到七,与四轴飞行器相连的地面站中即能够观察到四轴飞行器接收到的卫星导航定位信息飞行器的连续轨迹,即四轴飞行器的飞行轨迹。
所述的一种模拟四轴飞行器卫星导航定位的方法,在已有三自由度飞行器姿态模拟平台基础上,实现对四轴飞行器卫星导航定位信息的模拟,能够在地面站中观察四轴飞行器的经纬度、高度的信息,即实现增加已有三自由度飞行器姿态模拟平台的在空间位置坐标下的三个自由度测试。
所述的卫星导航定位优选gps、北斗定位。
有益效果:
1、本发明公开的一种模拟四轴飞行器卫星导航定位的方法,提出通过传感器采集四轴飞行器的姿态信息和电机转速,计算出四轴飞行器位移信息的方法,并模拟卫星导航定位信息的位置坐标发送给四轴飞行器,通过地面站能够观察模拟四轴飞行器的卫星导航定位信息并获得四轴飞行器的模拟飞行轨迹。
2、本发明公开的一种模拟四轴飞行器卫星导航定位的方法,在已有三自由度飞行器姿态模拟平台基础上,实现对四轴飞行器卫星导航定位信息的模拟,能够在地面站中观察四轴飞行器的经纬度、高度的信息,即无需改变三自由度飞行器姿态模拟平台的结构,实现增加已有三自由度飞行器姿态模拟平台的在空间位置坐标下的三个自由度测试。
3、相比目前其他观察四轴飞行器位移数据的四轴飞行器实验平台,本发明公开的一种模拟四轴飞行器卫星导航定位的方法,位移数据直接转换为定位数据发送给飞行器,能够直接通过飞行器的地面站直接读取四轴飞行器的卫星导航定位信息并显示在地面站中,不需要设计单独的上位机程序进行观察四轴飞行器的卫星导航定位信息和位移信息。
4、本发明公开的一种模拟四轴飞行器卫星导航定位的方法,其中单片机、姿态传感器、反相器的价格低、体积小,节省空间,提高系统的集成度,并且能够利用四轴飞行器的s.bus信号线的正负极进行供电,能够很方便的安装在各种四轴飞行器实验平台。
附图说明
图1是模拟四轴飞行器卫星导航定位的装置系统框图;
图2是本发明公开的一种模拟四轴飞行器卫星导航定位的方法的流程图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合附图和实例对发明内容做进一步说明。
实施例1:
将该模拟gps设备安装到三自由度仿真验证平台之后,将初始位置设定为当前位置,并正确连接飞行器,通过飞行器的地面站软件(missionplanner、qground)都观察到了飞行器的飞行位移情况,且观察到的飞行情况与对飞行器施加的控制完全符合。
本实施例公开的一种模拟四轴飞行器卫星导航定位的方法
步骤一:在四轴飞行器位置固定的条件下,基于已有三自由度飞行器姿态模拟平台,搭建模拟四轴飞行器卫星导航定位的装置。
单片机选用基于arm32位的cortextm-m3内核的stm32f103。姿态传感器选用高精度惯性导航模块jy-901,模块内部集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块的当前姿态。反相器模块选用74ls06芯片,该芯片包含6路反相缓冲器/驱动器,采用集电极开路输出。飞行器选用一款刷入apm固件的pixhawk四轴飞行器,四轴飞行器安装在三自由度转台上。飞行器的s.bus输出模块与反相器连接,并为处理器和姿态传感器提供电源,gps接收模块通过串口与处理器stm32f103连接。
步骤二:根据实际使用的四轴飞行器各部分元件的型号,设置四轴飞行器的质量、桨叶面积、电机最大、最小转速、四轴飞行器侧面面积、四轴飞行器正面面积等初始化参数;并设置四轴飞行器在卫星导航中的初始位置为东经116.20234°,北纬39.80884°,初始高度为0。
初始化参数列表如下:
步骤三:接收并解析四轴飞行器姿态信息和电机转速。
姿态传感器通过串口发送四轴飞行器当前姿态信息,单片机通过解析得出四轴飞行器当前的俯仰角θ、横滚角φ和偏航角ψ。四轴飞行器的s.bus信号经过反相器反相后经过单片机解析,得出四轴飞行器油门大小g,油门的最小值gmin和最大值gmax对应四轴飞行器的电机转速的最小值ωmin和最大值ωmax,所述的电机转速的最小值ωmin和最大值ωmax在步骤二中设置,而且,由于当前四轴飞行器多采用无刷直流电机,速度由电调自动调节并稳定在目标速度上,所以油门和电机转速基本呈线性关系:
ω=k(g-gmin)+ωmin公式1
其中:ω为电机(旋翼)转速;
g为油门大小,最大值为1400,最小值为400;
gmin,ωmin分别为油门最小值和电机转速最小值;
k为油门大小和电机转速之间的系数,且其值满足:
ωmax=k(gmax-gmin)+ωmin公式2
其中:gmax,ωmax分别为油门最大值和电机转速最大值;
通过公式1和公式2,计算可得k值为10,经过单片机处理,得出四轴飞行器的电机转速ω。
步骤四:滤波处理。
为避免由于姿态、电机转速采集异常造成的模拟卫星导航定位位置信息计算异常,单片机需要对采集的数据进行滤波处理。
所述滤波处理优选限幅滤波法、中位值滤波法或平均值滤波法。
步骤五:计算四轴飞行器受到的升力、阻力。
电机产生的升力t的大小通过电机转速ω和飞行器参数计算:
t=cτρar2ω2公式3
其中:cτ为旋翼姿态参数,可取0.05;
ρ为空气密度,可取0.129(kg/m2);
a为桨叶面积,根据实际飞行器设置为0.003(m2);
r为旋翼半径,根据实际飞行器设置为0.11(m)。
空气阻力f的计算公式为:
其中:c为空气阻力系数,取值为1;
ρ为空气密度,可取0.129(kg/m2);
s为物体迎风面积,与飞行器大小及姿态相关,可根据四轴飞行器的选型设置为常数,计算东、北方向的空气阻力时取四轴飞行器侧面面积为0.015(m2),计算天方向的空气阻力时取四轴飞行器正面面积为0.04(m2);
v为物体与空气的相对运动速度,由于本方法不考虑风速对飞行器的影响,所以v也是四轴飞行器的飞行速度,四轴飞行器的初始飞行速度为0;。
根据公式4可以计算出四轴飞行器在东、北、天三个方向的空气阻力。
步骤六:计算四轴飞行器在东-北-天三个方向的加速度、速度和位移。
电机转速产生的力的方向与四轴飞行器坐标系右(x)-前(y)-上(z)的z轴正方向重合。将四轴飞行器坐标系中与z轴正方向重合的升力,转化到东-北-天的惯性坐标系中,通过坐标变换得出电机产生的升力在东-北-天的惯性坐标系中的坐标表示,公式如下:
其中:fe,fn,fs分别为四轴飞行器所受合力在东、北、天三个方向的分力θ,φ,ψ分别为四轴飞行器的俯仰角、横滚角和偏航角;
fe,fn,fs为四轴飞行器在东、北、天三个方向的空气阻力;
m为四轴飞行器质量;
g为重力常数,取9.8(n/kg)。
根据四轴飞行器在东、北、天三个方向的分力和牛顿第二定律计算出四轴飞行器在东、北、天三个方向的加速度、通过对加速度的积分累加,得到四轴飞行器在东、北、天三个方向的速度,通过对速度的积分累加,得到四轴飞行器在东、北、天三个方向的位移。
步骤七:根据步骤六的位移数据计算需要模拟的卫星导航定位信息位置坐标,并发送给四轴飞行器。四轴飞行器通过广播或串口与地面站通讯,并在地面站中显示四轴飞行器的卫星导航定位信息。
水平方向位置计算方法如下公式:
latitude=latitude_init+shift_nouth*9.009*10-6公式6
longitude=longitude_init+shift_east*9.009*10-6*cos(latitude)公式7
其中:latitude为纬度,取值范围为-90°到90°,其中负数代表南纬,正数代表北纬;
longitude为经度,取值范围为-180°到180°,其中负数代表东经,正数代表西经;
shift_east,shift_nouth分别为计算出的四轴飞行器在东、北方向的位移。
垂直方向位置和步骤六中四轴飞行器在天方向的位移相同。
根据计算出的飞行器的模拟卫星导航定位信息的位置坐标,通过串口发送给四轴飞行器,在四轴飞行器相连的地面站中即能够观察到四轴飞行器接收到的卫星导航定位信息。
步骤七中通过串口发送给四轴飞行器,串口发送协议选择ubx协议。
步骤一、七中所述的地面站选择missionplanner和qground。
步骤八:重复进行步骤三到七,与四轴飞行器相连的地面站missionplanner和qground中都能够观察到四轴飞行器接收到的卫星导航定位信息飞行器的连续轨迹,即四轴飞行器的飞行轨迹。
所述的一种模拟四轴飞行器卫星导航定位的方法,在已有三自由度飞行器姿态模拟平台基础上,实现对四轴飞行器gps信息的模拟,能够在地面站中观察四轴飞行器的经纬度、高度的信息,即实现增加已有三自由度飞行器姿态模拟平台的在空间位置坐标下的三个自由度测试。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。