一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于无人机平台的远程通信控制方法

2022-04-25 04:39:42 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其涉及一种用于无人机平台的远程通信控制方法。


背景技术:

2.现有技术中,早期的无人机主要是应用于军事领域,比如:德国的“v-1”导弹,美国的“火峰”无人机,以色列“侦察兵”无人机等。到了20世纪80年代,无人机才开始渐渐民用化,1982年第一款民用无人机d-4型无人机试飞成功,标志着我国民用无人机时代从此到来。不论在哪个国家无人机都是以一种新鲜而高科技的角色存在,因为无人机技术涵盖了许多高科技领域技术,比如:ai技术、镜片组技术、ct技术、it技术、isp技术、飞控技术、续航技术等,此外无人机的应用领域也是非常广泛的,比如:军事,航拍,地理测绘,农业植保等各个领域,所以无人机技术必然呈现迅猛的发展之势,其发展也势必会直接影响到我国的经济和科技技术的发展,所以对无人机的研究任重道远。
3.虽然无人机相关技术突飞猛进,但制约无人机应用推广的远程通信技术问题一直没有得到很好的解决,无人机环境监测以及自身飞行姿态监测与控制是本领域人员需要研究的方向。


技术实现要素:

4.本技术的一个目的是提供一种用于无人机平台的远程通信控制方法,以解决现有技术中如何实现无人机外界环境监测以及自身飞行姿态监测与控制的问题。
5.根据本技术的一个方面,提供了一种用于无人机平台的远程通信控制方法,应用于无人机端,包括:
6.获取当前环境信息和当前飞行姿态信息,并利用stm32f103zet6单片机作为嵌入式开发平台通过无线保真发送所述当前环境信息和所述当前飞行姿态信息至服务器,通过所述服务器发送至用户设备端;
7.接收用户设备端发送的飞行控制指令,基于所述飞行控制指令进行解析并执行所述飞行控制指令对应的动作。
8.进一步地,上述远程通信控制方法中,所述当前飞行姿态信息包括所述无人机的飞行姿态、飞行角度、飞行速度以及飞行高度;
9.所述无人机包括惯性测量单元,所述惯性测量单元包括三轴陀螺仪传感器,三轴加速计传感器,温度计和气压计,用于测量所述无人机周围的温度值和气压值;
10.将所述三轴陀螺仪传感器和所述三轴加速度传感器一体化设计,通过一个集成电路总线接口和所述无人机端进行通信,另一个集成电路总线接口用于外加其他传感器。
11.进一步地,上述远程通信控制方法中,所述服务器以node为平台采用javascript编写后端代码,用于通过tcp协议建立网络通信,与所述无人机端进行数据通信,通过http协议建立网络通信,与用户设备端进行数据交互。
12.进一步地,上述远程通信控制方法中,所述无人机端利用led灯的闪烁次数来进行
飞行动作模拟。
13.根据本技术的另一方面,还提供了一种用于无人机平台的远程通信控制方法,应用于用户设备端,所述方法包括:
14.实时接收无人机端发送的当前环境信息和当前飞行姿态信息;
15.根据所述当前环境信息和所述当前飞行姿态信息确定下一时刻的飞行控制指令或响应于用户输入的下一时刻的飞行控制指令;
16.将下一次时刻的所述飞行控制指令通过服务器发送至所述无人机端。
17.进一步地,上述远程通信控制方法,所述用户设备端采用javascript编写的用户端网页,用于显示所述当前环境信息和所述当前飞行姿态信息。
18.根据本技术的另一方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理执行时,使所述处理器实现如上述方法。
19.与现有技术相比,本技术通过获取当前环境信息和当前飞行姿态信息,并利用stm32f103zet6单片机作为嵌入式开发平台通过无线保真发送所述当前环境信息和所述当前飞行姿态信息至服务器,通过所述服务器发送至用户设备端;接收用户设备端发送的飞行控制指令,基于所述飞行控制指令进行解析并执行所述飞行控制指令对应的动作,即所述方法基于对stm32f103zet6,采用c以及javascript语言等,设计搭建了一种可用于无人机平台的远程通信控制方式,实现了无人机监测环境参数、监测自身飞行姿态情况并返回于用户设备端以及用户设备端对无人机飞行动作的远程控制等功能。
附图说明
20.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
21.图1示出根据本技术一个方面的一种用于无人机平台的远程通信控制方法交互流程示意图;
22.图2示出根据本技术一个方面的一种用于无人机平台的远程通信控制方法的的实施例的无线通信控制系统整体框图;
23.图3示出根据本技术一个方面的一种用于无人机平台的远程通信控制方法的的实施例的无线通信控制流程示意图;
24.图4示出根据本技术一个方面的一种一种用于无人机平台的远程通信控制方法的实施例的模块控制流程示意图;
25.图5示出根据本技术一个方面的一种用于无人机平台的远程通信控制方法的实施例的数据交互流程示意图。
26.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
27.下面结合附图对本技术作进一步详细描述。
28.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(central processing unit,cpu)、输入/输出接口、网络接口和内存。
29.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(read only memory,rom)或闪存(flash ram)。内存是计算机可读介质的示例。
30.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase-change ram,pram)、静态随机存取存储器(static random access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能光盘(digital versatile disk,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
31.图1示出根据本技术一个方面的一种无人机远程通信方法交互流程示意图,应用于无人机远程控制过程中,包括无人机设备和用户设备,在此,所述用户设备具有可以查看和控制无人机设备的功能或者所述用户设备安装有能够查看和控制无人机设备的应用程序(即无人机用户设备端app);所述无人机设备用于执行用户的动作指令。该方法包括:步骤s11、步骤s12、步骤s21、步骤s22以及步骤s23,具体包括如下步骤:
32.步骤s11,获取当前环境信息和当前飞行姿态信息,并利用stm32f103zet6单片机作为嵌入式开发平台通过无线保真发送所述当前环境信息和所述当前飞行姿态信息至服务器,通过所述服务器发送至用户设备端。在此,本发明以stm32f103zet6单片机作为嵌入式开发平台,该平台通过与无限保真(wireless fidelity,wifi)模块的连接,实现微控制单元(microcontroller unit,mcu)与服务器的通信,由温湿度传感器监测到当前环境中的温度和湿度,将感知到的数据通过stm32f103zet6处理发送到个人计算机(personal computer,pc)用户设备端,pc用户设备端收到数据后解析并显示;姿态传感器同理。pc用户设备端也可以发送相关的指令,通过wifi的方式将指令传送到mcu,mcu接收到相关指令后,通过指示灯显示来模拟飞机的飞行姿态。表1为主控芯片stm32f103zet6主要功能表,如下所示:
33.表1
34.[0035][0036]
stm32f103zet6为增强型、32位基于微处理器(advanced risc machines,arm)核心的带512k字节闪存的单片机。mcu即单片机,是把中央处理器的频率与规格做适当缩减,并将内存、计数器、通用串行总线(universal serial bus,usb)、a/d转换、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)、可编程控制器件(programmable logic controller,plc)、直接存储器访问(direct memory access,dma)等周边接口,甚至液晶显示器(liquid crystal display,lcd)驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。如图2所示,上述远程通信控制方法的无线通信控制系统整体框图。
[0037]
步骤s12,接收用户设备端发送的飞行控制指令,基于所述飞行控制指令进行解析并执行所述飞行控制指令对应的动作。
[0038]
步骤s21,实时接收无人机端发送的当前环境信息和当前飞行姿态信息。
[0039]
步骤s22,根据所述当前环境信息和所述当前飞行姿态信息确定下一时刻的飞行控制指令或响应于用户输入的下一时刻的飞行控制指令。
[0040]
步骤s23,将下一时刻的所述飞行控制指令通过服务器发送至所述无人机端。即所述方法基于对stm32f103zet6,采用c以及javascript语言等,设计搭建了一种可用于无人机平台的远程通信控制方式,实现了无人机监测环境参数、监测自身飞行姿态情况并返回于用户设备端以及用户设备端对无人机飞行动作的远程控制等功能。
[0041]
例如,如图3所示,首先,wifi模块初始化;接着,判断上位机是否发现信息,下位机广播信息,上位机持续接收信息,若上位机未接收到信息,下位机重复不断广播信息,上位机重复不断接收信息;若上位机接收到信息,则连接成功,进入下一步骤,检查是否有用户请求命令(即飞行控制指令),若没有用户请求命令则重复上述步骤,若发现用户请求命令则解析用户请求命令并执行。
[0042]
接着上述实施例,所述当前飞行姿态信息包括所述无人机的飞行姿态、飞行角度、飞行速度以及飞行高度;
[0043]
所述无人机包括惯性测量单元(inertial measurement unit,ium),所述惯性测量单元包括三轴陀螺仪传感器,三轴加速计传感器,温度计和气压计,用于测量所述无人机周围的温度值和气压值;在此,三轴陀螺仪传感器可以选择mpu6050陀螺仪,mpu6050陀螺仪是9轴运动处理传感器。imu可以非常精确的感知到无人机的飞行姿态、飞行角度、飞行速度以及飞行高度,并将这些大量的高精度参数传送给主控器stm32f103zet6。当用户在用户设备端有指令操作时主控器stm32f103zet6将会根据指令和imu的数据,再结合pid飞控算法控制无人机稳定工作。所以imu需要处理大量的数据,而且需要保证数据的实时,所以对主控器stm32f103zet6的性能要求是非常高的,因为它将决定无人机是否能够稳定灵活的飞行。
[0044]
将所述三轴陀螺仪传感器和所述三轴加速度传感器一体化设计,通过一个集成电
路总线接口和所述无人机端进行通信,另一个集成电路总线接口用于外加其他传感器,实用性很高。例如,如图4所示,首先,主控器上电;接着,主控器进行时钟设置;接着,各个模块初始化,该方案包括陀螺仪任务管理模块、温湿度传感器任务管理模块以及wifi任务管理模块。
[0045]
需要说明的是,本发明mpu6050采用iic通信协议与stm32f103zet6进行通信,需要完成的工作:
[0046]
(1)初始化iic接口。stm32f103zet6的iic接口是与mpu6050的sda和scl相连接的,stm32f103zet6通过iic接口实现对mpu6050的控制。
[0047]
(2)复位mpu6050。
[0048]
(3)唤醒mpu6050,进入正常工作状态。
[0049]
(4)设置陀螺仪和加速度传感器的满量程范围。
[0050]
设置陀螺仪的满量程范围为
±
2000dps,设置加速度传感器的满量程范围为
±
2g。
[0051]
(5)设置其他参数
[0052]
对相应寄存器操作关闭所有中断、关闭iic主模式接口,此接口是用于外接其他的传感器的接口;将fifo使能寄存器(0x23)保持为默认值,即使fifo处于关闭状态,因为本发明未使用fifo存储传感器数据;通过采样率分频寄存器(0x19)控制陀螺仪采样率,一般情况下设置为50hz;设置dlpf为采样频率的一半。
[0053]
(6)配置系统时钟源并使能角速度传感器和加速度传感器
[0054]
由第一电源管理寄存器设置x轴陀螺pll为时钟源,通过设置第二电源管理寄存器使能加速度、角速度传感器,此时mpu6050传感器初始化完毕可以进行工作了,读取相关寄存器,即可得到加速度传感器和角速度传感器的数据。
[0055]
本发明mpu6050与单片机之间采用iic协议进行通信,iic总线上所有的从设备都有在当前总线上的唯一器件地址,作为其在总线的唯一标识。
[0056]
(1)主机(stm32f103zet6)发送起始条件,占用总线,从机都被唤醒;
[0057]
(2)主机发送器件地址,找到对应从机;
[0058]
(3)从机回应,可以进行数据互传;
[0059]
(4)通信完毕,释放总线。
[0060]
iic的数据格式:
[0061]
起始位(占用总线1bit) 数据位(由发送方发出8bit) 应答位(接收到1byte数据的一方会发出1bit的应答) 停止条件(释放总线)。在数据线上面有上拉电阻,所以当无任何数据传送时,数据线处于高电平状态,当主机发送一个字节的起始位,从机成功收到,此时会拉低总线,所以主机收到0表示有应答,收到1表示非应答,当读完数据后,数据总线会被拉高。
[0062]
iic总线上传送的信息类型:
[0063]
(1)起始条件
[0064]
伪代码:
[0065]
scl=1
[0066]
sda=0——在scl为高电平时sda产生一个下降沿
[0067]
延时——起始条件准备时间
[0068]
sda=0
[0069]
scl=1
[0070]
延时——起始条件的保持时间
[0071]
scl=0——结束起始条件
[0072]
(2)停止条件
[0073]
伪代码:
[0074]
scl=1
[0075]
sda=0——在scl为高电平时,sda产生一个下降沿
[0076]
延时——停止条件的建立时间
[0077]
sda=1——产生停止条件
[0078]
延时——本次停止条件开始到下一次起始条件开始
[0079]
应答信号:应答方成功接收数据后的响应,数据量为1bit。
[0080]
dht11将温度检测与湿度检测一体化,运用了多种技术,如:模拟信号采集、转换技术和温度、温湿度传感技术,正是因为dht11多措并举才保证了其卓越的品质。使用单总线串行接口协议,系统容易集成。考虑到无人机要求整体质量要轻、功率消耗要尽可能低,即要有较长的续航时间,dht11正好完美的满足了设计要求,另外dht11只引出了4个单排引脚,方便连接。
[0081]
本发明dht11(温湿度传感器)与单片机之间采用单总线的方式进行通信,即一根data用于微处理器与dht11之间的数据通信和同步,进行一次数据交互需要4ms左右的时间,一次交互数据量为40bit,有整数、小数两个部分如表2所示:
[0082]
表2
[0083][0084]
单总线通信协议,dht11的数据传输时序:
[0085]
(1)主机(stm32f103zet6)拉低数据线表示发送开始信号,主机发送开始信号时间为t1(t1≥18ms);
[0086]
(2)拉高数据线,拉高并延时等待时间为t2(20us≤t2≤40us);
[0087]
(3)从设备(dht11)拉低数据,即dht11输出的响应,dht响应输出时间为t3(40us≤t3≤50us);
[0088]
(4)从设备(dht11)拉高数据线,经过拉高延时准备输出时间t4(40us≤t4≤50us)后输出数据,通过高电平持续的时间长度即可判断发送的数据位是0还是1。
[0089]
单片机等客户终端通过无线通信模块接入物联网,pc用户设备端通过与单片机接入同一个网络,达到能够通信的目的。
[0090]
本发明选用的是uart接口wifi模块esp8266,其数据传输及远程控制性能高速率低功耗。
[0091]
stm32f103zet6通过usart与esp8266通信,esp8266内置tcp/ip协议栈,能够实现串口与wifi之间的转换。
[0092]
对串口设备进行简单的配置操作后,设备即可以依靠网络上传自己的数据。
[0093]
模块默认是at指令状态,工作模式如表3所示:
[0094]
表3
[0095][0096]
通过at指令将esp8266配置成sta ap工作模式,再建立tcp连接,启动透传模式,就可以实现stm32f103zet6与服务器之间的通信。
[0097]
接着上述实施例,所述网络服务器端以node为平台采用javascript编写后端代码,用于通过tcp协议建立网络通信,与所述无人机端进行数据通信,通过http协议建立网络通信,与用户设备端进行数据交互。如图5所示,服务器获取ip地址,创建tcp服务启动监听;一方面,服务器与无人机端的单片机进行数据交互;另一方面,创建http服务器,应答用户设备端请求,并且用户设备端向所述服务器定时异步请求获取当前环境信息以及当前飞行姿态信息。
[0098]
接着上述实施例,所述用户设备端采用javascript编写的用户端网页,用于显示所述当前环境信息和所述当前飞行姿态信息。
[0099]
例如,本实施例中提供了一种可用于无人机平台的远程通信控制方法,软件设计如下:
[0100]
本地电脑用户设备端javascript程序设计,使用node.js创建tcp服务器,首先需要获取本地pc机的ip地址及需要监听的端口,(本机连接的局域网ip地址是192.168.43.80,通过代码指定tcp服务器需要监听的端口是6969)然后调用listen函数开始监听端口6969,传入net.createserver()的回调函数作为”connection“事件的处理函数,在每一个“connection”事件中,该回调函数接收socket对象发送来的数据进行处理。http服务器端,调用listen函数开始监听指定端口(通过代码指定为1337),传入http.createserver()的回调函数作为连接事件的处理函数,对前端定时异步数据请求和发送的数据进行处理。其中tcp服务器和http服务器共享一个数据接收区及发送数据缓冲区,实现下位端与上位端数据交互。
[0101]
接着进行通信控制程序设计,将esp8266通过at指令设置成sta ap模式,并且指定从服务器的6969端口联网,与单片机进行通信;电脑连接局域网入网,获得ip地址;
[0102]
1.启动本地服务器,服务端会开启6969端口并且一直处于监听状态;
[0103]
2.启动单片机,各模块初始化,若初始化进程顺利,单片机上的红色指示灯ds0有灯会有闪烁,证明单片机已经成功连接到服务端指定的端口6969,处于等待前端指令状态;
[0104]
3.开启本地用户设备端页面,建立socket对象连接到服务器的指定端口1337;
[0105]
4.前端按钮按下后异步的向http服务器发送按钮对应的键值;
[0106]
5.http服务器接收到发送的键值后,将数据存储到http服务器和tcp服务器共享的数据缓冲区中将数据更新标志置为1;
[0107]
6.tcp服务器检测到数据更新标志置为1时,将从共享数据缓冲区读取数据并将数据发送到下位tcp用户设备端(单片机);
[0108]
7.单片机串口接收到数据后,解析接收到的数据,根据不同的键值驱动led灯闪烁。
[0109]
又例如,本实施例中提供了一种可用于无人机平台的远程通信控制方法,系统调试分析如下:
[0110]
可以通过转动单片机来测试无人机的飞行姿态参数的实时性,可以通过长时间手握dht11温湿度传感器来测试无人机所处环境参数变化的实时性。同时相应的本地电脑端页面也会对无人机的飞行状态进行控制,本设计是由stm32平台上ds0和ds1两个状态指示灯的闪烁次数来进行无人机飞行动作的模拟。
[0111]
下面是具体对无人机飞行动作模拟的设置:
[0112]
垂直方向:
[0113]
(1)持续上升:先红色指示灯ds0闪烁一秒,后绿色指示灯ds1闪烁一秒,二者交替闪烁2次。
[0114]
(2)持续下降:红绿灯交替闪烁3次。
[0115]
(3)悬停:红绿灯交替闪烁4次。
[0116]
水平方向:
[0117]
(1)前进:红绿灯交替闪烁5次。
[0118]
(2)后退:红绿灯交替闪烁6次。
[0119]
(3)左转:红绿灯交替闪烁7次。
[0120]
(4)右转:红绿灯交替闪烁8次。
[0121]
经测试验证,上述设置结果都可以成功实现。可以实现的无人机远程通信功能包括:无人机监测环境参数、监测自身飞行姿态参数并返回于pc用户设备端以及pc用户设备端对无人机飞行动作的远程控制等功能。
[0122]
综上所述,本发明基于对stm32f103zet6的学习,采用c以及javascript语言等,设计搭建了一种可用于无人机平台的远程通信控制方式,实现了无人机监测环境参数、监测自身飞行姿态情况并返回于用户设备端以及用户设备端对无人机飞行动作的远程控制等功能。
[0123]
需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例
中,本技术的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0124]
另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本技术的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本技术的多个实施例的方法和/或技术方案。
[0125]
对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献