飞行机器人测控综合性实验教学设计
2019-03-19樊兆峰邵晓根
樊兆峰, 鲍 蓉, 邵晓根
(1. 徐州工程学院 信电工程学院, 江苏 徐州 221018;2. 徐州工程学院 教务处, 江苏 徐州 221018)
综合性实验是指学生在掌握了相关基础理论知识和技能后,综合利用一门或多门课程知识对实验内容、方法、技能进行综合性训练的一种复合性实验[1-3],综合性实验教学一直是高等教育实验教学的改革方向之一。其备受重视的原因不仅体现在实验内容、方法和手段的综合性,更体现为对学生综合能力、素质的培养,也是提高学生实践能力、创新能力的重要环节[4]。教学与科研是高等教育的两大职能,也是培养人才的两大支柱,以科研成果反哺教学实现两者的融合共建,可以进一步提高教学质量,促进高等教育的持续健康发展[5]。基于此,我们在已有科研成果的基础上,设计了一种综合实验装置,用于测控类课程的实验教学。
相比于传统的实验对象,飞行机器人对学生而言新奇有趣,能激发他们的学习兴趣。从以应用性为导向看,飞行机器人使用广泛,可用于电力线路的巡检、火灾探测、地震现场勘测等监控任务,如果在其上加装机械臂或手爪则可完成各种复杂性作业[6-7];从学科综合性来看,飞行机器人融合了计算机、自动控制、检测技术、无线通信等多个学科知识。因此,选用飞行机器人做综合性实验对象,适合当前测控类专业学生,满足综合性实验教学需求。
1 实验教学方案设计
综合性实验教学方案的设计,要以学生已学知识为基础,并对实验内容、方法适当拓展,加深学生对学科相关知识的理解和掌握。用科研反哺教学时,要着重考虑科研成果的技术前沿性与学生的接收能力之间的矛盾,如果解决不好会使学生产生挫败感,反而会降低他们对实验的学习兴趣。所以在设计时要使60%~70%的知识是课程已教内容,30%~40%的知识为拓展内容。采用模块化的设计方案,在检测技术、单片机原理与接口技术、电路分析等课程知识的基础上,设计了位姿测量实验;在自动控制原理、计算机控制技术、嵌入式系统等课程知识的基础上,设计了控制算法实验;在传感器技术、工业网络技术等课程知识的基础上,设计了无线网络图像传输实验。这三个实验模块组成了整个综合性实验。
飞行机器人本体主要包括:中心固定板、轴臂、电机底座、电机、旋翼等。采用十字交叉的4旋翼结构[8-10],中心固定板和电机底座使用玻纤材料板,轴臂使用直径12 mm的碳纤维材料圆管,轴距390 mm,电机选用银燕直流电机(型号:AX2212,980 kV),旋翼选为9×6英寸,每个旋翼产生的升力为730 g,则4旋翼飞行机器人的总升力为2 920 g。将各部分组装在一起,实物如图1所示。
图1 飞行机器人实物图
控制器采用嵌入式ARM处理器STM32F103VE,通过I2C总线与位姿传感器6轴运动处理组件MPU6050接口实现位姿的测量[11];通过串行SPI接口无线收发模块XL24L01-D03实现控制命令的收发及位姿参数的传输;通过串口UART及串口转USB的电路与上位机电脑相连接。
视频采集电路的处理器采用嵌入式ARM处理器STM32F103RE,通过GPIO接口摄像头OV2640;为方便调试需求,设计一个DB9连接的UART串口。WiFi无线网络电路通过STM32F103RE的SDIO接口WiFi模块MR-09来实现,为保证信号的可靠接收、发送,在板上设计了一个天线。
电子调速器选用30A好盈天行者,其主要技术指标为:
(1) 控制采用PWM波;
(2) PWM波频率为50 Hz;
(3) 最大速度对应占空比0.1;最小速度对应占空比0.05;
(4) 最大短时电流40 A;
(5) 最高转速:210 000 rpm(2极);70 000 rpm(6极)。
上位机监控程序基于VS.net平台采用C#语言开发,上位机主要操作串口发送控制命令,接收位姿参数值,通过操控WiFi无线网卡来获得视频图像,主要利用Socket来进行网络编程。
2 位姿测量实验设计
飞行机器人主要检测的位姿为欧拉角,4旋翼飞行机器人的欧拉角由3个参数构成,即围绕旋翼前后轴(X轴)旋转的滚动角(roll),围绕旋翼左右轴(Y轴)旋转的俯仰角(pitch),以及围绕垂直轴(Z轴)旋转的偏航角(yaw)[12]。
MPU6050传感器有以下技术参数:
(1) 内嵌三轴陀螺仪及三轴加速度计,陀螺仪范围:±250、±500、±1 000、±2 000°/s,加速度范围:±2、±4、±8、±16 g;
(2) 16位ADC输出;
(3) I2C总线访问;
(4) 供电电压范围:2.375~3.46 V;
(5) 内置数字运动处理单元(DMP),可以自动融合相关算法,直接输出欧拉角。
根据MPU6050的数据手册,设计其与微处理器STM32F103VE的接口电路如图2所示,其中,SDA接微处理器的40脚PE9,SCL接微处理器的39脚PE8;R17、R18为I2C总线的10 kΩ上拉电阻。通过该I2C总线微处理器可以对MPU6050进行设置并读取其检测的位姿数据。
图2 MPU6050与微处理器接口电路图
由以上技术参数可知,电源电压可以工作在3.3 V,不必再设计电源转换电路;在±180°范围内,16位数字输出的分辨率在0.005 5°,测量精度足够高;选择位姿传感器MPU6050的一个很重要原因是内置DMP,可以直接得到位姿参数,不必再进行数字滤波及算法融合,而且厂家提供了DMP的库函数,方便微处理器直接调用,故软件设计不再赘述。
3 控制算法实验设计
飞行机器人的控制方法有很多,考虑到本综合实验平台的设计要以学生已学知识为基础,因此控制算法选用了经典的PID控制。尽管如此,为满足部分学生对其他控制算法的实验需求,在控制主板留有编程的接口,学生可通过ULINK编程器重写控制部分程序,实验其他控制算法。
控制器输出50 Hz的PWM波经4个电子调速器分别控制4个电机来改变位姿参数,再由位姿测量部分构成反馈,控制器根据计算的位姿误差进行PID运算,得到控制量即4个电机的PWM占空比,从而完成PID控制过程。由于在实验时需要学生了解PID的3个参数即比例、微分、积分常数对控制系统的影响,因此这3个参数为可改变的设置。为此设计了无线通信模块来完成这部分功能,将位姿参数传递给上位机,并将上位机的3个参数设置传给控制器。
XL24L01-D03是采用挪威NORDIC公司的NRF24L01p 2.4G无线收发IC设计的一款高性能无线收发模块,采用GFSK调制,工作在2 400~2 483 MHz的国际通用ISM频段,最高调制速率可达2 Mbps。该模块集成了所有与RF协议相关的高速信号处理部分,如自动重发丢失数据包和自动产生应答信号等,内部有FIFO可以与各种高低速微处理器接口。为简化设计内容,选用该模块完成上述通信功能,与控制器接口电路如图3所示。模块的SPI接口用控制器的通用I/O口进行模拟,产生SPI通信需要的时序,完成通信功能。控制器通过连接PA6的IRQ查询通信状态。
图3 XL24L01-D03与控制器接口电路图
PID控制算法由软件实现,为保证控制系统的采样时间为常数,利用控制器的定时中断功能,即PID控制软件设计在定时中断服务程序中,设计流程如图4所示。控制器在进入中断后,首先通过I2C总线读取MPU6050测出的当前位姿参数值,再通过无线收发模块XL24L01-D03将当前位姿参数值发给上位机,然后读取存储在本地的参考位姿值,计算位姿偏差,再读取存储在本地的PID常数,根据PID公式计算对应的4个电机的控制量,并将每个电机的控制量累加求和,得到每个电机的控制量,转化为占空比后输出PWM波控制电机,最后中断返回。
图4 PID控制算法程序流程图
4 无线网络图像传输实验设计
本实验包括两个主要部分,视频图像采集和网络传输。视频摄像头的选型主要考虑,方便与嵌入式微处理器接口,采集的像素要尽量高,通过比较选用OV2640。考虑到无论视频的采集还是传输都需要处理大量的数据,因此选用具有高速SDIO接口的嵌入式ARM微处理器STM32F103RE来单独处理视频数据。摄像头模块OV2640与微处理器的接口电路如图5所示[13]。
图5 OV2640模块与微处理器接口电路图
进行无线网络传输部分设计时,考虑到当前课程教学中多以WiFi网络为主,因此采用WiFi网络来传送视频图像。为接口方便选用MR09 WiFi模块实现视频图像的无线传送功能,MR09是台湾USI基于Marvell8686开发的SPI和SDIO接口的WiFi无线模块,与微处理器接口如图6所示。
图6 MR09模块与微处理器接口电路图
上位机在编程时串口利用了SerialPort控件,飞行控制的协议头为“0x66”,位姿信号传回的协议头为“0x88”;图像传送时,先发表征图片大小的数据,规定前8个字节用来表示图片大小。
上位机监控界面按功能分为以下部分:飞行控制、升力(油门)控制、位姿欧拉角、视频监测设置、串口通信设置、视频显示。编写的上位机监控界面如图7所示。
图7 上位机监控界面
5 实验步骤与结果
在实验前,要先将飞行机器人上电,上位机连接无线通信模块XL24L01-D03。然后按以下步骤进行实验:
(1) 点击图7中的网络设置按钮,在弹出的界面中将上位机的无线网络IP地址设定为“192. 168.10.12”,访问的端口设为8888;
(2) 点击视频采集按钮,则图7中左部图片位置会显示摄像头传来的实时视频,点击拍照按钮可获得当前一幅图像并在视频框内显示;
(3) 点击串口设置下拉菜单选择相应的串口设备,然后点击打开串口按钮,则会建立与飞行机器人测控部分的连接;
(4) 用鼠标双击飞行控制,在弹出的设置界面里输入PID的三个常数值,然后点确定按钮;
(5) 先将飞行控制中的滑块拖至中间位置,然后由小到大拖动升力控制滑块,这时机器人开始起飞;
(6) 拖动飞行控制中的滑块,实现对机器人飞行运动轨迹的控制,图7中右下绿色的欧拉角部分会实时显示当前位姿参数值;
(7) 双击欧拉角部分会弹出位姿变化曲线,其中飞行机器人悬停时的俯仰角如图8所示。
图8 俯仰角变化曲线图
6 结语
对该综合实验平台的多次测量结果表明,系统运行稳定,位姿参数的测量值准确,数据的记录精确,且多次重复实验所得误差较小,视频传输稳定,画面流畅。位姿变化曲线能充分反映控制算法的效果,便于学生分析比较,适于作为测控类专业学生的综合性实验,具有一定的推广价值和应用前景。