一种无头控制的方法与流程

文档序号:12915555阅读:414来源:国知局
一种无头控制的方法与流程

本发明涉及无人机技术领域,具体涉及是一种无头控制的方法。



背景技术:

目前,无人驾驶飞机简称“无人机”,是利用无线电遥控设备和自备的程序控制装置操纵的不载人飞机,目前大量应用在航拍、地貌的测量、运输等行业。

无人机在使用中具有成本低、使用方便、环境适应性强等特点,所以正逐步走进人们的普通生活,广受大家的喜爱与应用,一般的无人机都有机头,当无人机飞行的距离比较近时,用户可以用眼睛看见无人机的机头,然而一旦无人机飞行的距离比较远或无人机的飞行距离超出人的视线范围时,用户无法用眼睛辨别无人机机头的方向,就不能很好的控制无人机的飞行,无人机就会乱飞,这样会存在很大的安全隐患。

因此,需要一种新的技术方案,能够在用户利用遥控器控制无人机飞行时,无论无人机的机头处于哪个方向,无人机都会以用户的方位进行飞行。

有鉴于此特提出本发明。



技术实现要素:

本发明要解决的技术问题在于克服现有技术的不足,提供一种当用户触发无头控制键时,在用户利用遥控器控制无人机飞行时,无论无人机的机头处于哪个方向,无人机都会以用户的方位进行飞行的无头控制的方法。

为解决上述技术问题,本发明采用技术方案的基本构思是:

本发明提出了一种无头控制的方法,所述无头控制的方法包括:

s1,遥控器接收到无头控制命令或起飞命令;

s2,遥控器实时计算遥控器指向无人机的航向角theta;

s3,根据航向角theta得出旋转矩阵dcm;

s4,将遥控器接收到的用户输入的初始控制量v与所述旋转矩阵dcm结合得出无人机的无头姿态控制量c;

s5,遥控器将无头姿态控制量c发送至无人机,以供无人机根据所述无头姿态控制量c调整飞行姿态。

优选地,在所述步骤s1与s2之间还包括:

sa,根据遥控器与无人机的实时距离s是否在危险距离范围内,来确定无人机的飞行状态。

优选地,所述步骤sa具体包括:

sa1,遥控器实时计算遥控器与无人机的实时距离s;

sa2,当所述实时距离s大于危险距离时,无人机正常飞行,当所述实时距离s小于或等于危险距离时,无人机悬停。

优选地,所述步骤sa1具体包括:

实时获取遥控器的纬度lat1和经度lon1,以及无人机的纬度lat2和经度lon2;

计算遥控器和无人机的纬度差θ=lat1-lat2,和经度差b=lon1-lon2;

根据lat1、lon1、lat2、lon2、θ、b和earth_radius计算遥控器与无人机的实时距离s,其中,earth_radius是地球半径。

优选地,所述实时距离s为:

优选地,所述航向角theta为:

theta=arctan2f(sin(b)*cos(lat2),cos(lat1)*cos(lat2)*sin(lat2)-sin(lat1)*cos(lat2)*cos(b))。

优选地,所述旋转矩阵dcm为:

其中,pitch=0,roll=0,yaw=theta。

优选地,所述步骤s4具体包括:

遥控器接收用户输入的初始控制量v;

计算无人机的无头姿态控制量c为:

c=dcm*v。

优选地,所述初始控制量v为:

其中,vpitch是遥控器接收的无人机前后移动的控制量,vroll是遥控器接收的无人机横向移动的控制量,vthrust是遥控器接收的无人机上下移动的控制量。

优选地,所述无人机的无头姿态控制量c为:

其中,cpitch是无头控制下的无人机前后移动的姿态控制量,croll是无头控制下的无人机横向移动的姿态控制量,cthrust是无头控制下的无人机上下移动的姿态控制量。

采用上述技术方案后,本发明与现有技术相比具有以下有益效果。

通过上述技术方案,当用户触发无头控制键时,在用户利用遥控器控制无人机飞行时,无论无人机的机头处于哪个方向,无人机都会以用户的方位进行飞行,并且由于系统在实时计算遥控器指向无人机的航向角,用户利用遥控器控制无人机向左或右飞行时,无人机就会以用户为中心以无人机到用户的距离为半径盘旋飞行。

或者,当用户触发遥控器上的起飞按键,遥控器就会接收到起飞命令,然后,无人机就会以用户的方位进行飞行,这样,只要用户发起起飞控制,无论无人机的机头处于哪个方向,就可以从开始起飞直接进入无头控制模式,方便用户的使用。

附图说明

为了更清楚的说明本发明具体实施方式中的技术方案,下面将对具体实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明的一个实施例的无头控制的方法的流程图;

图2示出了本发明的一个实施例的步骤sa展开的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步详细的描述。

如图1所示,一种无头控制的方法,所述无头控制的方法包括:

s1,遥控器接收到无头控制命令;

s2,遥控器实时计算遥控器指向无人机的航向角theta;

s3,根据航向角theta得出旋转矩阵dcm;

s4,将遥控器接收到的用户输入的初始控制量v与所述旋转矩阵dcm结合得出无人机的无头姿态控制量c;

s5,遥控器将无头姿态控制量c发送至无人机,以供无人机根据所述无头姿态控制量c调整飞行姿态。

在上述技术方案中,在无人机的遥控器上设有无头控制键,当用户按下无头控制键时,系统就会计算该遥控器指向无人机的航向角theta,这样就知道了无人机相对于遥控器(即无人机相对于人)的方向,然后再利用该航向角theta确定出旋转矩阵dcm,这样,当用户向遥控器输入初始控制量v时,就可以将旋转矩阵dcm赋予到初始控制量v上,就可以得出控制无人机的无头姿态控制量c,无人机就可以根据该无头姿态控制量c进行飞行,这样无论无人机的机头处于哪个方向,经过上述方案后无人机都会按照遥控器(即人)的方位进行飞行。

或者,当用户触发遥控器上的起飞按键,遥控器就会接收到起飞命令,然后,无人机就会以用户的方位进行飞行,这样,只要用户发起起飞控制,无论无人机的机头处于哪个方向,就可以从开始起飞直接进入无头控制模式,方便用户的使用。

其中由于系统在实时计算遥控器指向无人机的航向角theta,所以用户利用遥控器控制无人机向左或右飞行时,无人机就会以用户为中心以无人机到用户的距离为半径盘旋飞行。

例如,当用户在利用遥控器控制飞机飞行时,用户按下遥控器上的无头控制键,然后用户利用遥控器控制飞机向前飞行,这样无论飞机的机头在哪,都会向人的前方飞行,利用遥控器控制飞机向后飞行,飞机就会向人靠近,当用户利用遥控器控制飞机向左或右飞行,这样飞机就会以用户为中心顺时针或逆时针盘旋飞行。

通过上述技术方案,当用户触发无头控制键,或者触发起飞按键通过遥控器控制无人机起飞时,用户利用遥控器控制无人机飞行,无论无人机的机头处于哪个方向,无人机都会以用户的方位进行飞行,并且由于系统在实时计算遥控器指向无人机的航向角,用户利用遥控器控制无人机向左或右飞行时,无人机就会以用户为中心以无人机到用户的距离为半径盘旋飞行。

优选地,在所述步骤s1与s2之间还包括:

sa,根据遥控器与无人机的实时距离s是否在危险距离范围内,来确定无人机的飞行状态。

如图2所示,所述步骤sa具体包括:

sa1,遥控器实时计算遥控器与无人机的实时距离s;

sa2,当所述实时距离s大于危险距离时,无人机正常飞行,当所述实时距离s小于或等于危险距离时,无人机悬停。

在上述技术方案中,为了保证用户的安全,防止无人机出现故障掉落时伤害到用户,需要为无人机的飞行设置危险距离,这样当用户触发无头控制键后,系统就会实时计算遥控器与无人机的实时距离s,当计算得出的实时距离s小于或等于危险距离(即,在危险距离范围内),就会控制无人机静止悬停在空中,这样无人机不会飞到用户的头顶排除安全隐患,同时,确保在进行无头模式飞行时,确保无人机前后运动时都沿着指向用户位置的半径方向运动。

通过上述技术方案,保证了用户的人身安全,提高了无人机的安全系数。

优选地,所述步骤sa1具体包括:

实时获取遥控器的纬度lat1和经度lon1,以及无人机的纬度lat2和经度lon2;

计算遥控器和无人机的纬度差θ=lat1-lat2,和经度差b=lon1-lon2;

根据lat1、lon1、lat2、lon2、θ、b和earth_radius计算遥控器与无人机的实时距离s,其中,earth_radius是地球半径。

优选地,所述实时距离s为:

在上述技术方案中,当用户触发无头控制键时,利用gps获取遥控器的经纬度lon1和lat1,和无人机的经纬度lon2和lat2,然后计算遥控器和无人机的纬度差θ=lat1-lat2和经度差b=lon1-lon2,这样就可以计算实时距离s了。

优选地,所述航向角theta为:

theta=arctan2f(sin(b)*cos(lat2),cos(lat1)*cos(lat2)*sin(lat2)-sin(lat1)*cos(lat2)*cos(b))。

优选地,所述旋转矩阵dcm为:

其中,pitch=0,roll=0,yaw=theta。

在上述技术方案中,根据pitch、roll和yaw计算并得出旋转矩阵dcm,并且将pitch=0,roll=0,yaw=theta赋予到旋转矩阵dcm中,这时,当用户向遥控器输入初始控制量v时,就可以将旋转矩阵dcm赋予到初始控制量v上,得出控制无人机的无头姿态控制量c,无人机就可以根据该无头姿态控制量c进行飞行,这样无论无人机的机头处于哪个方向,经过上述方案后无人机都会按照遥控器(即人)的方位进行飞行,因此,此时就可以认为无人机的机头方向已经改变了,机头变成人的前方方向,这样有利于用户利用遥控器直接控制无人机的飞行。

优选地,所述步骤s4具体包括:

遥控器接收用户输入的初始控制量v;

计算无人机的无头姿态控制量c为:

c=dcm*v。

优选地,所述初始控制量v为:

其中,vpitch是遥控器接收的无人机前后移动的控制量,vroll是遥控器接收的无人机横向移动的控制量,vthrust是遥控器接收的无人机上下移动的控制量。

优选地,所述无人机的无头姿态控制量c为:

其中,cpitch是无头控制下的无人机前后移动的姿态控制量,croll是无头控制下的无人机横向移动的姿态控制量,cthrust是无头控制下的无人机上下移动的姿态控制量。

在上述技术方案中,当接收到用户利用遥控器发出的控制信号后,将控制信号转换成相应的初始控制量v,然后将旋转矩阵dcm与该初始控制量v做乘运算后得出能够控制无人机飞行的无头姿态控制量c,无人机就可以按照该无头姿态控制量c来调整飞行姿态,就可以以用户的方位进行飞行了。

通过本发明的技术方案,当用户触发无头控制键时,在用户利用遥控器控制无人机飞行时,无论无人机的机头处于哪个方向,无人机都会以用户的方位进行飞行,并且由于系统在实时计算遥控器指向无人机的航向角用户利用遥控器控制无人机向左或右飞行时,无人机就会以用户为中心以无人机到用户的距离为半径盘旋飞行。

或者,当用户触发遥控器上的起飞按键,遥控器就会接收到起飞命令,然后,无人机就会以用户的方位进行飞行,这样,只要用户发起起飞控制,无论无人机的机头处于哪个方向,就可以从开始起飞直接进入无头控制模式,方便用户的使用。

上述实施例中的实施方案可以进一步组合或者替换,且实施例仅仅是对本发明的优选实施例进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中专业技术人员对本发明的技术方案做出的各种变化和改进,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1