基于android的无人飞行器控制系统的设计与实现

基于android的无人飞行器控制系统的设计与实现

ID:20698563

大小:48.05 KB

页数:8页

时间:2018-10-15

基于android的无人飞行器控制系统的设计与实现_第1页
基于android的无人飞行器控制系统的设计与实现_第2页
基于android的无人飞行器控制系统的设计与实现_第3页
基于android的无人飞行器控制系统的设计与实现_第4页
基于android的无人飞行器控制系统的设计与实现_第5页
资源描述:

《基于android的无人飞行器控制系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于Android的无人飞行器控制系统的设计与实现【摘要】传统四轴飞行器的控制多为摇杆遥控器,存在便携性差的问题,不利于对飞行器的控制。随着移动网络技术的成熟、智能移动终端的普及,移动终端代替传统遥控器也是大势所趋。智能移动终端在便携性、操作灵活性方面都优于传统遥控器。在智能移动终端中,Andriod平台具备以上优势,所以基于Android平台,进行了对四轴飞行器的控制系统的设计,给出了硬件、软件模块方案。实验证明,对飞行器的控制能达到预期要求。【关键字】无人飞行器Android重力感应近年来,随着新型材料以及飞行控制技术的发展,四轴无人飞行器

2、得到迅猛发展。它具有结构简单、稳定性好、承载能力强、低成本、高效益的特点,在各个领域都有着广阔的应用前景。如今大多数无人飞行器仍需传统遥控器来控制其飞行,传统遥控器体积大、重量重,不便于携带,给对飞行器的控制带来一定的不便性,为改善这一问题,提出利用移动终端来代替传统遥控器。虽然目前市面上己经出现了可以由iPhone控制的四轴飞行器AR.Drone,但因为其较高的成本阻碍了多数人选择用iPhone。相对的,Android在高、中、低各端都有产品,能为飞行器的控制带去便捷性和更多的选择性。通过实际需求分析,探讨了无人飞行器的软、硬件实现方案。一、

3、系统框架1.1控制系统总体结构传统四轴飞行器的控制系统通常由主控制模块、飞行控制器、无线通信模块、驱动电机、遥控器等结构组成,分为机载端控制部分和手持端控制部分。1.2控制原理飞行控制器中的不同传感器用来测量四轴飞行器的飞行状态信息,主控制器根据传感器反馈回来的状态信息以及通过遥控器发射过来的控制信号进行处理,使控制系统根据处理结果输出5路PWM信号,最终传给电子调速器,电调通过对电流的控制来调整电机转速,从而实现对飞行器的姿态控制。本文将传统遥控器改为了安卓手持端来控制,其余原理不变。二、系统模块设计2.1主控制模块控制系统的核心是主控制模块

4、,它应具有多路信号的高精度采集能力,输出PWM脉冲控制信号能力以及其他应有的通信信道和数据接口。本文采用意法半导体公司的STM32单片机,它具有32位处理器,并自带PWM波发生器。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用而设计的ARMCor-tex-M3内核。它主要负责采集传感器检测到的姿态角速率、三轴的线加速度和航向信息并实时解算;并通过无线通信模块与地面进行数据的传输,实现接收控制命令改变飞行状态和下传飞行状态数据[1]。2.2飞行控制模块飞行控制器采用深圳大疆公司的nazalite,它由3轴陀螺仪、3轴加速度计、地磁传

5、感器以及微控制芯片集成,用于识别高度和姿态,从而实现锁定高度和平稳姿态等飞行控制功能。出于稳定性考虑,在飞控模块上加装GPS,可以用全球卫星定位系统来提供精准定位。即使在微风环境中,也可基本实现稳定悬停,即使把飞行器拉离原位,飞行器也可自动回位。2.3电机及电机驱动模块针对飞行器设计,选用了无刷电机,由于飞行器的姿态控制需要快速响应,所以针对电机,使用了无刷电调。利用STM32的PWM通道输出1〜2ms的方波脉冲,重复频率为20〜50Hz,输出到电调的油门线(控制线)。由于是单向电调,1ms表示0%的油门,2ms表示100%的油门,从而实现电机

6、转速的控制[2]。2.4无线通信模块最初使用的通信模块为传统的NRF24L01无线通信,在不使用功放的情况下,其具有10米左右的通信距离,该距离过短。同时,其一次最多发送32个字节,因此,若数据帧超过32个字节,则需人为进行分包处理,无法满足图像信息的传送,因此首次尝试将TP-LINK3G无线路由器固定在飞行器上,充当无线发射器,通过重新刷入OPENWRT系统,让路由器可以自动把收到的各种信息转到串口输出。2.5手持端控制模块2.5.1软件设计为了便于操控飞行器,摈弃传统遥控器,改用移动手持端来控制飞行器的飞行。总体以Andriod为平台进行软

7、件幵发。在进入运行界面开始后,初始化系统参数,以无线方式连接飞行器,完成对飞行器的飞行控制。运行流程图如图1所示。其中,运用Socket通信方式完成数据通信模块的功能实现,实现飞行器与终端控制系统的数据通信。2.5.2Socket通信Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信。通过建立Socket连接,可为通信双方的数据传输传提供通道。Socket的主要特点有数据丢失率低,使用简单且易于移植。Socket通信创建流程:服务器端首先声明一个ServerSocket对象并且指定端口号,然后调Serversocket的acc

8、ept()方法接收客户端的数据。accept()方法在没有数据进行接收的处于堵塞状态。(Socketsocket=serversocket.accep

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。