APP下载

基于Raspberry Pi的智能灭蚊飞行机器人*

2017-11-09,,,,

单片机与嵌入式系统应用 2017年10期
关键词:飞行器电机机器人

,,,,

(1. 吉林大学 珠海学院,珠海 519041;2. 广东科学技术职业学院)

基于RaspberryPi的智能灭蚊飞行机器人*

张程1,陈彦升1,张可茵1,刘松翰1,张卓2

(1. 吉林大学 珠海学院,珠海 519041;2. 广东科学技术职业学院)

设计了一种基于Raspberry Pi的智能灭蚊虫飞行机器人,其能够携带灭蚊虫药水喷洒地面和沟渠区域,实现自动高效灭蚊虫的功能。主要介绍飞行机器人的设计及开发,包括飞行控制器设计、Raspberry Pi通信系统设计、Android控制端设计、电机驱动设计、喷药系统设计等。本系统设计及实现可以移植到其他农林药物喷洒作业中,具有一定的创新意义。

飞行机器人;Raspberry Pi;Android;Arduino

引 言

近些年,飞行机器人得到科技领域的关注并快速地发展,应用前景十分可观[1-2]。夏季的蚊虫叮咬给人们带来严重的困扰,需要采取喷洒灭虫药水的措施消灭蚊虫。目前,此类消杀工作通常是通过人工作业的方式实现,效率低且成本高,当遇到大面积的草丛或者人员难以进入的沟渠时,药水更难以做到全面喷洒,且药物的挥发会对人体造成极大的危害。为解决上述问题,本文设计了一种基于Raspberry Pi的智能灭蚊虫飞行机器人,其能够携带灭蚊虫药水喷洒地面和沟渠区域,实现自动高效灭蚊虫功能。主要介绍飞行器的设计及开发,包括飞行控制器设计、Raspberry Pi通信系统设计、Android控制端设计、电机驱动设计、喷药系统设计等,完成了系统设计及调试。

1 系统总体设计

1.1 飞行机器人系统结构设计

图1 系统总体框图

本设计系统总体框图如图1所示,系统由Arduino控制器、Raspberry Pi、Android控制终端、电调电机、传感器及辅助功能模块构成。Android终端通过局域网将控制指令发送到Raspberry Pi,Arduino通过UART串口接收Raspberry Pi的指令以及通过I2C总线协议接收十轴传感器的参数,通过PMW波控制电调,进而控制电机。传感器等辅助功能模块包括MPU6050陀螺仪、HMC5883L电子罗盘、MS5611气压传感器、Arduino-Water Sensor水位传感器、微型水泵及必要的人体热释电检测模块、视频摄像头及声光报警模块。

1.2 飞行机器人控制方式设计

目前,大众普遍使用Android智能手机,且Android系统相对于其他系统,有相对广阔的开发空间,故本设计采取搭载Android系统的智能手机作为上位机。飞行控制器收到Android控制端的控制指令后,先判断指令类型再提取指令数据,得到油门参数后根据油门参数生成PWM波传送给电调。电调中的谐振晶体把电池提供的直流电转换成三相交流电,电调的信号接收端收到PWM波会送到电调中的晶体管上,控制谐振晶体的频率来控制速度。通过控制多个电机的转速来控制飞行姿态。

1.3 Raspberry Pi通信方式设计

本设计采取Raspberry Pi 2 model B作为接收和发射通信链路节点,其核心是Broadcom BCM2836 900 MHz 4核ARM Cortex-A7 CPU,它是实现多任务同时运作、控制响应低延迟的重要保证,能够比较稳定地实现无线传输数据和信号[3]。其中,WiFi模块采用EDUP的EP-N8508GS,由于其与Raspberry Pi能够直接兼容,因此简化了驱动编写的相关问题。在同一局域网下,Raspberry Pi应用中通过Server Socket建立服务器,Android终端上的应用中打开Socket使其与Raspberry Pi相连接并得以通信。Raspberry Pi收到来自Android终端的控制数据后,转换成飞行控制器匹配的控制指令,通过UART串口连接发送给飞行控制器。

2 硬件系统分析及设计

2.1 主控模块

本设计主控模块部分采用Arduino Pro Mini,Arduino Pro Mini是基于ATmega328P单片机的最小系统[4],其优点是体积小、性能强,工作在5 V和16 MHz时钟下,同时具有14路数字输入/输出口(其中6路可作为PWM输出)和6路模拟输入。

2.2 传感器组

为了保持飞行机器人的稳定飞行,在机身上装有10轴GY-86传感器组模块,包含MPU6050陀螺仪(6轴)、HMC5883L电子罗盘(3轴)和MS5611气压传感器,通过I2C总线与ATmega328P进行通信并以电机的转速进行控制,如图2所示。其中,MPU-6050陀螺仪的角速度全格感测范围为±250、±500、±1000与±2000 °/sec (dps),可准确追踪快速与慢速动作,该传感器传输可透过最高至400 kHz的I2C总线[5-6]。HMC5883L电子罗盘是一种高集成度的带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域,其包括最先进的高分辨率HMC118X系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在1°~2°的12位模数转换器[5-6]。MS5611气压传感器是由MEAS推出的一款SPI和I2C总线接口的新一代高分辨率气压传感器,分辨率可达到10 cm。该传感器模块包括一个高线性度的压力传感器和一个超低功耗的24位Σ模数转换器,保证产品具有高稳定性以及非常低的压力信号滞后[5-6]。

图2 控制系统示意图

2.3 电机模块

由于Arduino Pro Mini每路输出引脚只能提供20 mA的驱动电流,不能满足直流电机的需求,因此引入驱动电路。驱动电路主要是采用SI2302MOS管驱动电路,优点是元器件质量轻、驱动能力强,本设计每个SI2302驱动1路PWM。此外,飞行机器人每个角上的电机分别配有电子调速器,每个电子调速器则分别与飞行机器人的飞行控制板中的Arduino进行通信,Arduino对陀螺仪和加速度传感器采集回来的数据进行滤波、数据融合、姿态解算等处理之后转换成相应的PWM信号传送给电子调速器,电子调速器接收到PWM信号之后根据PWM信号的脉宽去调速电机的转速。由此可以对每个电机进行单独控制,从而可实现飞行机器人的各种运动状态。

2.4 通信模块

本设计通信模块如图3所示,手机终端通过TCP/IP协议将指令数据传输至WiFi模块EP-N8508GS上,WiFi模块通过EDUP将数据传送至Raspberry Pi[7]。

图3 通信系统示意图

2.5 喷药及其他模块

本设计使用Arduino-Water Sensor水位传感器及微型水泵方式实现药物喷洒,水位传感器通过平行导线线迹测量水滴及水量大小以判断水位,输出的模拟值可以直接被控制器读取,达到识别水位控制喷药及水位限值报警功能。此外,系统还可以扩展摄像头及HC-SR501人体红外感应模块。

3 飞行姿态四元数算法

在飞行机器人的飞行过程中,可以侧倾、仰俯及旋转,且角度随着飞行器飞行状态的改变而改变。欲确定每个时刻的飞行状态,就要以飞行器自身指向建立起一个坐标系(称为飞行器坐标系),并且在空间中建立一个参考坐标系(称为地理坐标系),根据两者建立起转换关系,并由地理坐标系表示飞行器当前状态,即为飞行姿态的解析。

通常解析关系有三种表示方法即欧拉角法、余弦矩阵法、四元数法[8-9]。其中,欧拉角法相对来说比较直观,计算也方便,但存在万向节死锁的缺点;方向余弦法和欧拉角法没有本质区别,故欧拉角和余弦函数不能做到全姿态解析;四元数用作旋转的作用明显,简化运算且可以避免万向节死锁。故本文选择四元数法进行解析。

四元数由实数加上三个元素i、j、k组成,且具有如下的关系:

每个四元数都是1、i、j和k的线性组合,即四元数一般可表示为:

利用四元数代表旋转,在载体系定义的一个矢量rb可以直接利用四元数将其在参考系中表示为rn。首先定义一个四元数rb′,它的虚部等于rb的相应分量,标量分量为零[8-9]:

参考系中的rn′表示为:

其中q=a+bi+cj+dk,q*为q的复共轭,q*=a-bi-cj-dk,则有:

写成矩阵式:

因为均表示旋转,所以式(7)理论上与余弦矩阵是等效的,从而可以计算欧拉角。

式(8)显示了四元数和余弦矩阵的关系:

根据式(9)可以反求出欧拉角:

4 软件系统分析及设计

4.1 Android客户端设计

本系统设计Android客户端,控制界面设置了2个遥控杆、6个指示灯、4个按钮开关。其中遥控杆分别用于控制飞行器的油门与飞行方向,指示灯接收飞行器的电源、照明等信息,电源按钮则控制飞行器的电源、照明灯开关。其虚拟引脚分布如表1所列,分别设计油门、方向控制、照明控制、喷药控制等按键及相关指示灯。

表1 虚拟引脚分布表

4.2 通信功能软件设计

本系统Android客户端与Raspberry Pi通信[10],其程序流程图如图4所示。

图4 Android端与Raspberry Pi通信流程图

5 系统参数调试

飞行机器人整机上电,打开Android客户端,控制界面指示灯均为常亮状态,Android客户端作业状态示意图如图5所示。按下相关控制按钮,手机端可以顺利发送控制指令至飞行机器人,依据上文控制参数完成系统整机测试,实现飞行机器人飞行动作及药水喷洒阀门的控制。

图5 Android控制端作业示意图

结 语

[1] 陈海滨,殳国华.六轴飞行器的设计[J].实验室研究与探索,2013(3).

[2] Lindsey Kratochwill.树莓派引发制造革命[J].北京科技报,2015(21).

[3] 李文胜.基于树莓派的嵌入式Linux开发教学探索[J].电子技术与软件工程,2014(9).

[4] Mac Lean David,Komatineni,Satya.Pro Android[M]. New York:Apress, 2015.

[5] 李俊,李运堂.六轴飞行器的动力学建模及PID控制[J].辽宁工程技术大学学报:自然科学版,2012(1).

[6] Simon Monk. RaspberryPi开发实战[M].北京:机械工业出版社,2015.

[7] Rushi Gajjar.树莓派+传感器:创建智能交互项目的实用方法、工具及佳实践[M].北京:机械工业出版社,2016.

[8] 韩京清.自抗扰控制技术[M].北京:国防工业出版社,2013.

[9] 柯博文.树莓派(Raspberry Pi)实战指南:手把手教你100个精彩案例[M].北京:清华大学出版社,2015.

[10] 张志强.零基础学编程:零基础学Python[M].北京:机械工业出版社,2015.

[4] 夏凌楠,张波,王营冠,等.基于惯性传感器和视觉里程计的机器人定位[J].仪器仪表学报,2013(1):166-172.

[5] 徐跃.基于超声波测距的机器人定位与避障[D].济南:齐鲁工业大学,2013.

[6] 苑晶.基于WiFi无线信号的室内环境移动机器人定位[C]//中国自动化学会控制理论专业委员会、中国系统工程学会第35届中国控制会议论文集,2016:6.

[7] 卢靖宇,余文涛,赵新,等.基于超宽带的移动机器人室内定位系统设计[J].电子技术应用,2017(5):25-28.

[8] Han Zou,Baoqi Huang,Hao Jiang,et al.A Robust Indoor Positioning System Based on the Procrustes Analysis and Weighted Extreme Learning Machine[J].IEEE Transactions on Wireless Communications,2016,15(2):1252-1266

[9] 陈国平,马耀辉,张百珂.基于指纹技术的蓝牙室内定位系统[J].电子技术应用,2013(3):104-107.

[10] 沈金鑫.Arduino与LabVIEW开发实战[M].北京:机械工业出版社,2014.

[11] 罗欢,张健,席文平.基于ZigBee技术的足球机器人通信系统设计[J].无线电工程,2015(5):16-19,27.

[12] 董文浩,郭森,刘希高,等.基于ZigBee的矿井移动机器人环境监测系统研究[J].煤矿机械,2012(9):84-86.

[13] 何松,陈兴武.基于MPU9250的无人机姿态信息采集及处理[J].福建工程学院学报,2016(6):587-592.

[14] 周雅琴.集群机器人无线网络时间同步与定位技术研究[D].哈尔滨:哈尔滨工程大学,2010.

[15] 居艳,骆懿,沈佳辉.基于加速度传感器的室内消防员定位系统设计[J].杭州电子科技大学学报:自然科学版,2017(3):35-39,50.

孟一飞(副教授),主要研究方向为人工智能、图像处理。

IntelligentFlyingRobotforMosquitoKillerBasedonRaspberryPi

ZhangCheng1,ChenYansheng1,ZhangKeyin1,LiuSonghan1,ZhangZhuo2

(1.Zhuhai College of Jilin University,Zhuhai 519041,China;2.Guangdong Science and Technology Cadre College)

In this paper,a kind of intelligent mosquito fly robot based on Raspberry Pi is designed,which can be used to carry out the mosquito repellent spray on the ground and ditch area to achieve the function of automatic and efficient mosquito killing.The modules of the flying robot are introduced,including the flight controller,the Raspberry Pi communication system,the Android control terminal,the motor drive and the spraying system.The design can be transplanted to the other agricultural and forestry medicine spraying operation,which has certain innovation significance.

flying robot;Raspberry Pi;Android;Arduino

吉林大学珠海学院教学质量工程项目(ZLG20170701);吉林大学珠海学院创新能力培育工程项目(2016XJCQCX19);广东科学技术职业学院科研项目(XJPY2016022);广东省大学生创新创业训练计划项目(201413684008)。

TP242

A

2017-06-02)

(责任编辑:薛士然 收稿日期:2017-07-25)

猜你喜欢

飞行器电机机器人
高超声速飞行器
关于电机滚动轴承的选择与计算
瞻望电机的更新换代
欢迎订阅2022年《电机与控制应用》
复杂飞行器的容错控制
电机隐忧
机器人来帮你
认识机器人
机器人来啦
神秘的飞行器