基于STM32的无人机精准定位系统
2018-12-24毕庆生刘西安杨圣敏王益凡
毕庆生,田 浩,刘西安,杨圣敏,王益凡
(贵州振华群英电器有限公司(国营第八九一厂) 贵州 贵阳 550018)
1 引言
无人机由于其自身的诸多优点已经成为各国竞相发展的热点。目前市场上的无人机虽能够在飞出出发点并且完成任务之后能够实现GPS自动返航,降落到出发点,但是却并不精准,只能降落在以出发点为圆心,半径为一米圆周的范围内。但是这远远不能满足市场对无人机的降落精准性的要求,基于这一现状,设计一套完善的无人机的定位系统是相当必要的。本文设计一种辅助系统来调整无人机在自动返航的过成中由于各种误差所造成的降落偏离。
2 系统整体设计
针对上述无人机不能精准降落的现状,我们提出一种解决的方案。由于Onboard SDK无人机开发平台具有开放的通信协议,从而通过与无人机的飞行控制器进行通信来代替遥控器自主控制无人机的飞行。因此可以制作一块能与无人机进行通信的机载设备,机载设备上装备有单片机作为主处理器,蓝牙接收模块进行短距离通信,红外发射器进行发射红外定位信号。机载设备上的单片机一方面可以通过发出特定的PWM波来驱动红外发射器发射定位信号。另一方面可以用于处理接受蓝牙接收模块接收到的定位信号,然后与无人机的飞行控制器进行通信,从而控制无人机的飞行状态。同时在出发点设置一块地面接收站,该接收站具体是制作一个以出发点为圆心,半径为一米的圆盘,在圆盘的圆周上均匀分布着若干个具有特定接收频率的红外接收器,每个红外接收器都与另外一个单片机通过IO口进行连接,同时该单片机的周围还必须集成一个蓝牙发送模块来与机载设备进行通信,这一部分作为起到监控地面接收站的作用。当无人机自动返航到出发点上方一定距离的时候,单片机会发射特定频率的PWM波来驱动红外发射器,由于通过对红外发射器的发射角度进行控制,可以达到这种状态:当无人机处于接收站的正上方,也就是圆心位置的时候,地面接收站的红外接收器能够全部接收到红外信号,无论无人机偏离了哪个方向,该方向上的红外接收器均不能接收到红外信号。这样,当无人机发射红外信号之后,地面接收站上能感应出无人机的具体方位信息,该方位信息被监控单片机所检测,通过到每个方位的红外接收器的状态,从而判断无人机偏离的角度,最后通过蓝牙发送模块将数据回传给机载设备上的蓝牙接收模块,机载设备上的单片机会通过接收到的信号了解到无人机的偏离方位,同时与无人机的飞行控制器进行通信,重新调整无人机的飞行角度,从而达到自主控制无人机进行方位校准的目的。
2 硬件设计
基于设计要求,可以把定位系统分为三个部分,第一部分是机载设备,其主要作用是通过接收地面传回来的方位信号来调整无人机的降落方位;第二部分是接收站,主要是起到给无人机定位的作用,可以说是无人机精准系统的导航仪;第三部分是监控模块,主要是通过检测接收站的接受信息来判定无人机的方位,同时通过蓝牙短距离通信技术将无人机的具体方位信号回传给机载设备。下面将分别介绍各个部分的原理结构与功能作用。
2.1 机载设备
机载设备由主芯片STM32,红外发射器以及蓝牙接收模块组成。STM32具有低功耗、低成本、性能高等优点,本设计选取“增强型”的STM32F103ZET6,因为增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品。红外发射器是由红外灯珠和具有特定角度的红外灯罩所构成,这个灯罩的角度只需要保证在无人机在接收站上方一到两米的范围内红外发射器能覆盖整个接收站即可,这里我们选取60度的灯罩。蓝牙模块(包括蓝牙发送模块和蓝牙接收模块)选取的是主从机一体HC-05模块,具有高集成、低成本以及灵活性能强等优点。机载设备主要功能为当无人机降落功能开启之后,降落到距离地面一定位置时,精准定位系统开启,通过STM32芯片发射特定频率的PWM波,使红外发射器发射特定波长的红外波,该波长的红外波能被红外接收器接收,使接收过程不易收到其他红外光线干扰。同时,红外接收器可以接收到地面控制模块回传的数据,再由STM32与无人机的飞行控制器进行通信,实现自主调节无人机的方向以实现精准定位的功能,如图2-1所示。
图2-1 机载设备设计原理框图
2.2 接收站
在无人机的出发点放置一个半径为一米的圆形接收器,在接受器的圆周上均匀放置多个红外接收器,同时在圆心位置也放置一个红外接收器。只有当无人机处于接收器正上方的时候才会使所有接收器都能接收到信号,如图2-2所示。红外传感器的个数决定着系统的复杂程度以及系统的准确性,传感器均匀分布的个数越多,系统就越复杂,同时系统的精准定位性能也就越好。本设计主要为了试验系统的实用性以及可靠性,所以选取了五个方位,即东南西北中五个方向。当无人机降落到离接收站不到两米的距离时,红外发射器打开,按照计算好的红外灯罩的角度,只有当无人机处于接收站的正上方的时候,五个方向的红外接收器才能全部接受到信号,若哪一个方向没有接收到信号,则说明无人机偏离了这个方向。
图2-2 接收站设计图
2.3 监控模块
监控模块是由STM32芯片,LCD显示屏以及蓝牙发送模块组成。STM32的型号依然是“增强型”的STM32F103ZET6,主要功能是当无人机降落时,STM32主处理器不断的检测地面接收站的接受状态,并且将接收器的状态信号通过特定的程序与算法将无人机的偏离方向计算出来,也就是说将接收站的红外接收器的接受状态转换成无人机的降落方位信号。得到该方位信号之后,一方面将无人机的方位信号由LCD显示屏显示出来,同时又通过蓝牙发送模块将信号回传给机载设备,如图2-3所示。
图2-3 监控模块设计原理框图
3 软件设计
3.1 机载设备程序设计
配置好机载设备上的STM32的串口和定时器之后,当无人机靠近地面的时候,STM32需要给红外发射器一个特定频率的PWM波。由于红外接收器的接收的红外频率为38KHz,所以红外发射器发射红外的频率要与之一致,也就是机载设备上的STM32芯片要输出38KHz的PWM波。发出红外波之后,STM32等待蓝牙接收模块接收地面的回传信号,当蓝牙接收模块传送回来的方位信号之后,判断飞机的方位是否发生了偏离。一旦检测到无人机的降落方位发生了偏离,STM32会立即与无人机的飞行控制器进行通信,由于Onboard SDK无人机开发平台拥有开放的通信协议,STM32能通过控制飞行控制器来校准无人机降落方位,调整完成之后继续重复上述定位过程,直到无人机方位没有发生偏移,即可控制无人机按照调整好的方位进行降落。
3.2 监控模块程序设计
监控模块的主处理器的程序主要是检测地面接收站的红外接收器接收红外的状态信息,由于接收站是由若干个红外接收器组成,均匀的分布代表着接收站圆周上的各个方向,所以这些信息就组成了无人机的方位信号。首先配置好监控模块上的STM32串口参数,接着不断的检测这些方向的传感器的信号状态,通过特定的算法将这些状态信息转换无人机方位并且
将方位信号由显示屏显示出来,同时通过蓝牙模块将方位信号回传给机载设备,由机载设备与无人的飞行控制器控制无人机的方位校准与降落。
4 实验验证
以五个外接收器为例,分别代表东、南、西、北、中五个方位,由于记载设备上的红外发射器的灯罩角度为60度,地面接收站的圆半径BC=1米,通过计算,当无人机降落到距离地面AB=√3米的时候,开启定位功能,如下图4-1所示。
图4-1 精准定位系统的方位示意图
显示结果如下图4-2所示。
图4-2 精准定位系统的实物图
当无人机使用精准定位功能的时候,地面接收站的状态如下图4-3(b)所示,此时监控模块的显示界面如下图4-4所示,表明了无人机此时的方位。
5 结语
本文设计的精准降落系统,具有良好的精准性、实时性、安全性,通过实验测得:当机载设备位于接收站的上方时,接收站能准确地将信号传给监控界面,并且通过蓝牙模块回传给机载设备。符合当前的市场要求,在未来的实际应用中有着很大的潜力。