摘要
嵌入式技术、物联网技术、移动互联网技术突飞猛进的发展,掀起了新一股科技发展浪潮,将这些新技术应用到机器人控制领域已成为机器人技术发展的一个新趋势和研究热点。本文充分利用这些新技术设计并实现了一款基于嵌入式 Linux 的移动监控机器人,并给出了一种模块化、通用性强且易于扩展的解决方案。该机器人具备监控现场视频和环境参数功能,控制端可使用 PC 电脑或 Android 设备。本文研究内容主要包括以下几方面:
首先搭建了高性能ARM CortexA8处理器S5PV210结合单片机STC12C5A60S2双处理器结构的硬件平台。系统通过 USB 摄像头获取视频数据,舵机云台调整摄像头视野;采用USB 无线网卡实现数据无线网络传输;采用 L298N 芯片驱动直流电机,并通过 PWM 波调整转速;采用 GPS 模块实现定位功能;采用 1W LED 用于照明和蜂鸣器用于报警。此外,系统还搭载温湿度传感器、加速度传感器和超声波传感器,用于获取现场环境数据。其次构建了嵌入式交叉编译开发环境,将嵌入式 Linux 操作系统移植到了机器人硬件平台,并对系统进行裁剪和优化,包括 U-Boot 移植,Linux 内核移植和裁剪,根文件系统构建和其他硬件设备驱动程序移植。在此基础上移植并详细分析了开源视频服务器软件mjpg-streamer 的运行流程,包括基于 V4L2 接口的视频采集,视频图像的 JPEG 压缩编码,基于 socket 的网络传输,并针对 S5PV210 处理器的特点采用硬件压缩改进了源码中的软件压缩部分,提高了系统压缩效率。最后开发了基于 Qt 的 PC 端机器人控制软件,基于Qt/Embedded的嵌入式服务器端软件,基于Android平台的控制端软件和下位机单片机程序,根据系统体系结构特点设计了基于 Modbus 协议的自定义用户层通信协议。经过对整个系统软硬件的测试、分析和总结,本设计达到了预期目标。
关键词:嵌入式 Linux,移动机器人,视频监控,无线传输,传感器
ABSTRACT
Along with the rapid development of embedded technology, internet of things and mobile internet, science and technology blows a new wave of development. It has become a new trend and a hot topic of the development of robotics to use these new technologies. This thesis makes the most of these new technologies to design and implement a mobile monitoring robot based on embedded linux and provides a solution, which is modular universal and easy to extend. This robot has the function of video surveillance and collecting environment parameter. The PC or Android device can act as the controller. The main contents of this thesis includes as follows:
Firstly, we build the hardware platform, which is made up of ARM Cortex A8 processor S5PV210 and STC12C5A60S2 microcontroller. This system capture video data by USB camera, pan-tilt-zoom constituted by steering gear can adjust and change the view of the camera; the data are transmitted wirelessly to the receiver through USB wireless card; the DC motor is drived by the L298N circuit, and its speed is controlled by the PWM signal; the GPS module is used to locate the positions; 1W LED constitutes the lighting system and the buzzer acts as alarm system.
Moreover, digital humidity & temperature sensor, accelerometer and ultrasonic sensors are onboard, used to collecte environment parameter. Next, we establish embedded cross-compile system develop environment, transplant embedded linux operating system to the target robot hardware platform, cut and optimize this linux system. Including modify and construct uboot, linux kernel, root file system and other hardware device driver. On the base of above, we transplant and analyze the open source video server software mjpg-streamer, including video capture process based on V4L2 interface, video encoding and JPEG compression process, wireless transfer process based on socket. According to the characteristics of the processor S5PV210, we replace with hardware compression data instead of software in the source code. It effectively improves the system’s compression performance. And finally, we develop robot control software running on PC by using Qt, embedded server software by using Qt/Embedded, conrol software running on Android and lower computer microcontroller program, adapting to the system architecture, we designe custom communications protocol based on Modbus protocol at the user level.It has reached the anticipated design object through the test and analysis of the system.
Keywords: Embedded Linux, Mobile Robot, Visual Surveillance, Wireless Transmission, Sensor
移动机器人的研究起始于二十世纪六十年代,涉及到自动控制、电子电路设计、计算机编程、传感器等众多技术,是多种技术交叉综合的研究领域[1]。随着科学技术的发展,与机器人相关的技术研究已成为当前较活跃的研究领域,特别是物联网技术和移动互联网技术的兴起,将机器人技术与网络控制技术相融合,已成为机器人研究发展的一个新趋势[2-3]。此外随着控制技术智能化的深入发展,机器人能够代替人类从事危险性较高,技术难度大的工作,同时随着运行操作系统的智能手持移动设备的大量使用,丰富了人们生活,也为移动机器人控制终端提供了新的方案[4-5]。
嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统[6]”。嵌入式系统因其内核小,专用性强,软件系统和硬件系统结合紧密,系统精简,高实时性,低功耗,低电压,低价格等优势,具有广泛的应用领域[7]。嵌入式技术提供了一种灵活、高效和高性价比的解决方案,全球嵌入式处理器的产量是 PC 通用处理器的近 10 倍,其性能也越来越接近通用处理器。嵌入式技术的进步与发展也推动了机器人领域的革新,不断提升的微处理器性能使得一些复杂的智能算法获得更好的执行效率。将嵌入式技术应用到机器人控制中已是机器人发展的必然趋势[8-10]。
互联网技术的出现丰富了人类的生活,也拉近了人与人、人与物之间的距离[11]。随着智能手机的普及,3G、4G 时代的到来和各种 APP 应用的推出,互联网已经从桌面 PC 走向智能手机及其他移动设备,产生了移动互联网技术。移动互联网正加速融合到有线互联网中。移动互联网能够满足上下班途中、外出旅行时间、等候时间及户外休闲娱乐时间便捷享受互联网的服务,给人们的工作和生活带来了极大便利[12]。移动互联网接入方便、网速提升以及智能手机、平板电脑等移动智能设备大量普及和使用,为机器人网络控制、远程控制奠定了基础,也使控制终端变得灵活方便,克服了传统基于 PC 的控制终端固定、体积庞大等缺点[13]。
移动监控机器人是具有视频监控和环境感知能力,并能够自由灵活移动的智能化系统。可以提供防盗监控、病况监视、家电控制、休闲娱乐、儿童早教等服务。不但可以用于智能楼宇、仓库、家居等一般场合,同时在危险或恶劣的气候环境中,如存在放射性物体、爆炸性物体、有毒有害气体等情况下,移动监控机器人可以代替操作人员完成特定工作,进行视频图像和环境参数的采集及无线传输,直观清楚的掌握现场环境状况,为相关人员做出正确的判断提供重要的依据[14]。本课题研究正是在机器人控制技术、嵌入式技术、移动互联网技术相互融合、相互促进的大环境下展开的,基于嵌入式 Linux 的移动监控机器人相关的研究已成为机器人研究的热点方向之一,具有重要的实际意义和广泛的应用前景。
移动监控机器人属于机器人家族中重要的一员,一直以来都备受各国科学家的高度重视,其发展程度体现了该国的科技实力。在国内外都对移动监控机器人技术进行了深入的研究,取得了理论的突破和技术的创新,同时这些研究成果已经被成功的应用到了人类生活的各个方面,极大的影响和改变了人类的生活方式[15-17]。
在国外移动监控机器人相关的研究起步相对较早,技术也比较成熟。最早的机器人技术研究开始于 60 年代末,斯坦福研究院研制出第一台移动监控机器人,开启了机器人研究的序幕。这款机器人可以应用到各种复杂的环境中,具有传感器数据采集和视频数据采集功能,还涉及多信息处理和路径规划等问题[18]。进入 80 年代中期以后,互联网技术的发展,将网络技术应用的机器人控制当中,实现远程网络控制成为热潮。Ken Goldberg 等人首先提出了一种通过 Internet 远程访问并控制移动机器人的方法[19]。到 90 年代后,机器人技术逐渐走向成熟,出现了各种服务型机器人、工业机器人、军用机器人等,机器人开始应用到工业生产和日常生活中[20-21],极大的提高了人类生产效率和生活质量。到近年来随着技术进一步的飞速发展,出现了智能化程度更高、功能更强大、运动更加灵活的机器人,例如火星探测车、无人飞机、仿人型机器人、智能假肢等[22]。
移动监控机器人系统测试:
移动监控机器人实物
舵机控制信号与超声波控制信号
DHT11 温度度传感器输出时序波形
串口调试助手
前进命令发送和应答测试
获取姿态命令正常和异常测试
系统视频传输延时测试
目 录
摘 要
ABSTRACT
目 录
第一章 绪论
1.1 课题研究背景及意义
1.2 国内外研究现状及发展趋势
1.2.1 国外研究现状
1.2.2 国内研究现状
1.3 课题研究内容及论文章节安排
第二章 系统总体方案设计
2.1 移动监控机器人设计目标
2.2 机器人硬件方案对比分析
2.3 机器人软件通信模型
2.3.1 C/S 模型
2.3.2 B/S 模型
2.4 机器人网络控制拓扑结构
2.4.1 局域网控制
2.4.2 远程控制
2.5 移动监控机器人系统开发流程
第三章 系统硬件平台搭建
3.1 嵌入式服务器硬件电路设计
3.1.1ARM 服务器核心硬件电路设计
3.1.2 USB 摄像头简介及选型
3.1.3 USB 无线网卡选型
3.1.4 LCD 及触摸屏选型
3.1.5 GPS 模块选型
3.2 单片机控制器硬件电路设计
3.2.1 单片机主控制器
3.2.2 直流电机驱动电路
3.2.3 倾角传感器
3.2.4 温湿度传感器
3.2.5 超声波传感器
3.2.6 摄像头云台舵机
3.2.7 蜂鸣器和 LED 驱动
3.3 系统电源设计
3.4 底盘和直流电机
3.5 本章小结
第四章 嵌入式 LINUX 系统构建
4.1 S5PV210 启动流程
4.2 BOOTLOADER 移植
4.2.1 BOOTLOADER 简介
4.2.2 BOOTLOADER 移植
4.3 嵌入式 LINUX 内核移植
4.4 根文件系统构建
4.4.1 根文件系统概述
4.4.2 根文件系统构建
4.5 USB 无线网卡和摄像头驱动移植
4.5.1 USB 无线网卡驱动程序移植
4.5.2 USB 摄像头驱动配置
4.6 本章小结
第五章 基于 MJPG-STREAMER 的视频服务器
5.1 MJPG-STREAMER 概述
5.1.1 MJPG-STREAMER 简介
5.1.2 MJPG-STREAMER 运行流程
5.2 基于 V4L2 接口的视频采集
5.3 图像格式转换与视频压缩
5.3.1 图像格式转换
5.3.2 JPEG 压缩编码原理
5.3.3 MJPG-STREAMER JPEG 压缩实现
5.4 视频数据的网络传输
5.4.1 LINUX 网络编程概述
5.4.2 MJPG-STREAMER 网络传输流程
5.5 JPEG 硬件压缩
5.6 本章小结
第六章 系统应用软件设计
6.1 基于 QT 的 PC 控制终端软件
6.1.1 QT 简介
6.1.2 QT 开发环境的搭建
6.1.3 基于 QT 的 PC 控制终端软件设计
6.2 基于 ANDROID 的移动控制终端
6.2.1 ANDROID 开发环境的搭建
6.2.2 ANDROID 控制终端软件设计
6.3 基于 QT/EMBEDDED 的嵌入式服务器软件设计
6.4 下位机控制软件设计
6.5 控制通信协议设计
6.5.1 MODBUS 协议介绍
6.5.2 通信协议设计
6.6 本章小结
第七章 系统测试和总结
7.1 系统硬件测试
7.2 系统软件测试
7.3 系统通信协议和实时性测试
7.4 工作总结
7.5 课题展望
致 谢
参考文献
附录
(如您需要查看本篇毕业设计全文,请您联系客服索取)