范迪 薛宏飞 高达理 张玉萍 吕常智
摘 要:应用型、创新型人才的培养是高校的重要目标。导师制非常有利于学生进行实战型项目的训练。文章给出一个以科研项目为蓝本的综合实训项目案例“基于机器视觉的龙门吊模型行进控制”,在介绍案例实现的基础上,从中反映了学生运用嵌入式、通信、图像处理等方面知识解决实际问题的过程;通过方案确定、器件选型、系统搭建、算法应用等项目的规划和实施,学生在科研问题抽象、分析问题、解决问题及独立科研等方面受到了强化训练,其实践创新能力得到了质的提升。项目起到了很好的教学效果。
关键词:龙门吊模型;机器视觉;行进控制;树莓派;道路检测
中图分类号:G640 文献标志码:A 文章编号:2096-000X(2019)03-0049-03
Abstract: The cultivation of applied and innovative talents is an important goal of colleges and universities. The mentoring system is very beneficial for students to train in practical projects. This paper presents a case study of a comprehensive training project based on scientific research projects, "Rotor control based on machine vision for gantry crane model". Based on the introduction of the case, it reflects the students' knowledge of embedded, communication and image processing. The process of practical problems; through the planning and implementation of project determination, device selection, system construction, algorithm application, etc., students have been intensively trained in scientific research issues abstraction, analysis of problems, problem solving and independent scientific research, and their practical innovation ability. Got a qualitative improvement. The project has played a very good teaching effect.
Keywords: gantry crane model; machine vision; travel control; raspberry pie; road detection
引言
目前,高等教育向着“强能力、重创新”的方向发展,尤其是《国家创新驱动发展战略纲要》的提出、《国家教育事业发展“十三五”计划》的全面实施,掀起了“大众创业,万众创新”热潮。实战型教学环节对培养学生创新能力的积极作用受到高度认可,得到师生的广泛重视[1,2]。导师制有利于学生参与导师的科研项目,使学生更早进入实战性训练的培养方式[3,4]。我校的电子信息工程专业较早地开展了导师制方面的探索,让学生(低年級甚至大一的学生)和教师双向选择,结成对子,结对子教师即导师将对学生进行长时效的、针对性的专门指导和帮助,尤其在专业学习和实践动手能力培养方面,收到良好的效果。
本文给出的综合实训项目案例[5]即是导师科研项目的缩减版,导师把项目精简成为一个实训项目,学生根据项目的要求和任务在导师的指导下完成设计任务。本项目要求学生做出一个龙门吊行进控制的缩减模型,综合嵌入式、机器视觉、图像处理、电机控制等技术,实现模型的道路检测和行进控制。学生在比较短的时间内很好地完成了本项目,对科研问题的抽象、方案的设计、系统集成有了较为深入的认识,其分析问题、解决问题及独立科研等方面的能力得到较大提升。
一、系统设计
港口转运集装箱常使用轮胎龙门吊装卸、转移货物,设备起吊维修等[6]。电行走式无轨小型龙门吊一般是在人的操控下实现起吊、卸荷、移动等,效率低,精度差。教师与某港口的合作研发项目是基于机器视觉实现龙门吊道路检测和行进的自动控制。教师以此项目为依托,要求学生做出一个龙门吊的模型,并在模型上实现项目的基本任务。项目涉及的任务流程如下:
1. 对龙门吊进行抽象、缩减,形成模型并制作出来:
2. 根据项目要求,分析并确定了系统总体方案;
3. 对方案中的模块进行选型;
4. 进行软件配置搭建起开发平台;
5. 基于机器视觉和图像处理,研究道路检测算法,并编程实现;
6. 根据偏差,求解调节量,驱动电机完成行进控制;
7. 手机端应用程序开发,并与行进控制子系统通信,实现基于智能终端的手动控制;
8. 整机系统安装调试,并进行最终测试。
(一)系统模型及总体方案
根据龙门吊的实物,抽象并制作出的模型如图1所示。同时,结果研究、分析和对比,确定系统的总体方案如图2所示。系统分为道路检测子系统、行进控制子系统和手机控制模块。道路检测模块安装在横梁上,其中两个摄像头安装在横梁两端,实时采集地面道路信息;处理器完成图像读取和处理,并由通信接口把道路检测误差发送给行进控制子系统。行进控制子系统中处理器接收道路检测误差,并计算运行调节量,驱动电机以控制龙门吊模型行进。
(二)硬件选型
处理器需要完成图像采集、处理、显示及对外通信等任务,选用树莓派3代B型,其CPU为博通公司生产的1.2GHz四核64位处理器BCM2837,内存为三星生产的容量为1GB 的DDR2内存,在有限的功耗与面积内,实现了超高性能。
摄像头的选择主要考虑两方面:传感元件类型、数据接口类型。CMOS摄像头多应用于对性能要求不高的领域,成像质量一般但是价格便宜,树莓派USB接口比较多,因此综合考虑,系统选择支持UVC协议的USB接口CMOS摄像头,降低系统成本的同时,降低开发难度。
电机的选择,考虑到成本和控制的方便性,系统选用了两相四线步进电机,一方面它是通过脉冲频率来调速,比较贴近实际情况;另一方面,它在无信号输入时,保持转矩较大,无需刹车机构,降低了行进控制的难度,还可有效制动。
(三)系统软件配置
软件配置包括道路检测子系统的嵌入式平台配置以及行进控制子系统的驱动函数构建。具体如下:
1. 系统烧写:下载Raspbian镜像后并将其烧写在树莓派的SD上,启动系统。
2. 开机配置: Raspbian提供了raspi-config工具,在控制台中以图形菜单方式完成开机配置。
3. 配置网络:使用树莓派的无线网卡连接特定的路由器,并把无线网络配置为静态IP。
4. SSH协议:利用SSH方式远程登陆树莓派,并使用命令行实现调试和运行,该方式可防止信息泄露。
5. 安装字符界面的文本编辑器vim并下载Samba实现Windows PC机和树莓派之间文件的共享。
6. 安装配置图像处理库OpenCv以及GPIO处理库。
7. 设置UART时钟,采用wiringPi操纵树莓派的GPIO硬件接口,通过main函数的参数提供命令行传递参数。
8. 初始化定时器PWM与UART,完成行进控制系统的速度控制与通信接口。
二、道路检测及行进控制算法
(一)道路检测
在搭建好的平台上,基于OpenCv编程,对系统采集的图像进行裁剪、滤波、边缘检测等预处理;继而从边缘检测得到的二值图像中利用Hough变换检测出图像中的直线,最后对检测到直线进行滤波,确定并提取出道路线。
图像裁剪:设置好Range类对象的起点和终点,对原始图像进行裁剪,去掉视野中包含的支架部分。
边缘检测:基于Canny算子检测图像边缘,其中包含道路线。
Hough变换检测直线:利用Hough变换把边缘图中的直线检测出来,完成滤波及直线的接续。
提取道路线:检测出的直线中可能会存在虚假道路线,通过设置一个夹角阈值,把与理想道路线夹角大于阈值的直线剔除;另外,检测出的道路线具有一定宽度,系统把角度和距离都相近的直线整合为一条线作为最终道路线。
(二)遥控行进控制
系统设计了基于手机等智能終端的遥控功能,可使龙门吊需要特殊操作时,由人工无线操控。具体实现是:树莓派和遥控发射端都连接到网络,二者通过互联网进行通信,这样通信效果将不受距离影响。系统采用MARSIOT平台实现遥控行进。步骤如下:
1. 下载 marsiot.jar 到树莓派;
2. 运行 marsiot.jar,得到分配的ID-COUDE和PASS-CODE;
3. 在手机上安装和运行 marsiot.apk,并认领上线设备;
4. 手机控制树莓派的IO端口,根据IO状态,行进控制子系统将执行不同的行径程序。
(三)自动纠偏控制
在系统的控制下,龙门吊模型可自动完成姿态估计和纠偏,实现循线运行。
姿态估计的原理是:摄像头安装在龙门吊模型上,且摄像头的列像素与模型底盘中心轴平行。只要测出模型底盘中间标志点到道路线的距离,即可得到模型偏离道路线情况。
自动纠偏控制原理是:实时获取龙门吊模型与道路线的偏差角度及标志点与道路线的偏差距离,以偏差角度和偏差距离共同作为控制量进行调节,最终使两个控制量同时达到预期。基于此,系统采用了一个简单有效的方法实现了该控制目的,即将某一行的道路点作为控制量,控制模型使该点向中间靠拢,该做法与控制模型标志点向两道路中线靠拢等同。该方法不能原地调整,只能边运动边向中间靠拢,完成自动寻迹行走。
三、系统测试
(一)手动模式测试
1. 在树莓派运行marsiot.jar,打开手机APP查看设备状态,状态为“online”;
2. 打开手机端按钮并与树莓派IO状态对应;
3. 通过手机按钮遥控模型运动。
(二)自动模式测试
自动模式下,龙门吊模型根据道路误差自动控制模型沿到路线行进。道路误差图输出道路线与摄像头中心线在控制信息采集行上相差的像素点个数,也即需要调节的偏差数。根据此偏差,系统分别控制两侧的步进电机速度,在前进的同时实现角度纠正,最终平稳地沿道路线行走。
四、结束语
电子信息工程专业一直注重应用型、创新型人才的培养,积极鼓励、引导学生拓展思维并将专业知识与实践应用相结合,达到学以致用的效果。本文把导师科研项目进行缩减形成了一个综合实训项目。通过努力,在导师的指导下,学生自主完成了龙门吊模型设计制作、系统方案的确定、嵌入式开发平台搭建、图像处理机器视觉算法应用等工作,最终实现了模型的道路检测、手动控制和自动控制等功能。通过这种实战型项目,不仅使学生在实践中加深了对专业知识的理解,有效地促进了教学,也使学生的分析问题、解决问题等方面的实践创新能力有了质的提高。
参考文献:
[1]姜文波,杨秋黎,龙军.电子信息类应用型本科实践教学体系的改革与探索[J].中国信息技术教育,2014(10):29-30.
[2]陈颖琪,袁众.电子信息类本科生创新实验教学实践与思考[J].实验室研究与探索,2015,34(06):200-203.
[3]石荣传.本科生导师制:类型、实施现状及完善对策[J].大学教育研究,2016,3:70-73.
[4]王颖,王笑宇.本科新生导师制对大学生的影响路径及实施效果研究[J].教育研究,2016,1:26-34.
[5]卢艳军.项目式专业实践教学模式改革探索[J].计算机教育,2016(01):67-70.
[6]张连钢,韩新林,李雅东,等.浅谈青岛港集装箱码头轮胎吊自动纠偏技术[J].港口科技,2008,06:14-16.