基于Cortex-A8的矿用救援机器人软件系统设计与实现
发布时间:2021-12-18 10:59
随着我国煤矿工业的不断发展,对矿难事故的控制也越来越规范化和智能化。当煤矿事故发生后,矿难现场的环境对抢险救灾的工作人员依然存在巨大的生命安全隐患。因此,开发出具有能够有效采集矿难现场环境信息的智能矿用救援机器人,为在一线的搜救队员提供有力的安全保证具有重要意义。本文依托于中煤科工集团重庆研究院有限公司的ZRK矿用救援机器人项目进行软件系统的设计与实现。该软件系统以课题组设计的基于Cortex-A8的功能电路为硬件基础,并选用Android操作系统作为软件开发平台,对其视音频采集、串口通信、红外辅助照明控制和操作系统等模块进行设计与实现,实现了矿用救援机器人的视音频采集与传输、串口通信、串口转网口通信、红外辅助照明控制和操作系统等功能。采集模块通过修改和移植底层的驱动,调用基于Android的视音频接口类函数,并采用以RTP/UDP作为网络传输单元的实时传输方式,设计并实现了视音频的采集、压缩和传输等功能。通信模块通过调用内核驱动层所提供的接口,完成基于Android的JNI串口接口的设计,并在串口接收端采用基于流式的Socket通信模型,实现了 Android的串口通信和串口转网口通...
【文章来源】:西安科技大学陕西省
【文章页数】:83 页
【学位级别】:硕士
【部分图文】:
Linux内核体系结构透视图
2相关技术研究11图2.2VFS的交换层网络堆栈(NetworkStack):网络堆栈在设计上主要遵循分层体系结构,为各种网络协议之间的通信提供一个标准的调用接口。在socket层提供了一种标准化的方法来管理从原始帧访问到IP协议的数据处理连接,并在各个连接的终点之间进行数据的传输。其中网络堆栈的源代码在目录./linux/net中。设备驱动程序(DeviceDrivers):设备驱动程序系统中内核的重要组成部分,主要实现特定硬件设备的执行与运转。在Linux的源码树中提供了一个驱动程序的子目录,该目录详细的划分了所支持的各种设备。其中源代码可以在目录./linux/drivers中找到。体系结构相关的代码(Arch):为实现系统更高效率的操作,Linux系统需要充分发挥不同体系结构的优点,在内核源代码目录/linux/arch中定义了与体系结构相关部分。由于Android内核的基础是Linux内核,所以继承了Linux内核的诸多优点。该系统把全部的驱动视为设备文件,对驱动的操作就是对这些文件的操作,从而操作底层硬件也即操作这些设备文件[16]。Android系统的应用层通过调用Linux文件系统中不同的设备文件接口来进行相关硬件的读/写操作。Linux系统的设备文件一般分为字符设备文件、块设备文件和网络设备文件三大类,下面对其分析与介绍:字符设备:字符设备的数据访问方式是通过字节流的方式来进行数据访问的,从一些字符设备的驱动程序中就能清楚看出这种字节流的特性来。字符设备的驱动程序通常要同时实现对open()、read()、write()和ioctl()的多个系统调用。这些字符设备都可以通过系统节点来进行访问,和普通文件之间的最大差别在于对普通文件设备的访问可以直接移动到需要访问的位置,而大多数字符文件设备几乎只能按照顺序访问里面的数据。对一个设备的读/写只能按一个顺序、按?
朔眩??贝嬖诖?氲陌踩??入问题,容易造成系统崩溃。libhardware架构中HAL层使用的是HALStub模式,Stub以动态链接库的方式存在。就操作而言,HAL层实现对库的隐藏。Android对系统控制的HAL层包含很多的Stub,它采用统一的硬件调用控制方式对底层硬件进行控制操作。上层在HAL层首先调用Stub的函数,然后再回调这些操作控制函数。通过这样的操作模式,来实现各个接口功能的统一,而且各自的Stub相互独立,只需要提供模块设备ID,就能对相关设备进行操作控制。如图2.3和图2.4所示,直观展示出了旧架构和新架构的不同之处。图2.3libhardware_legacyHAL层架构图2.4libhardwareHAL层架构
【参考文献】:
期刊论文
[1]基于嵌入式ARM的煤矿智能通信调度台研究[J]. 任蕊,王静燕,罗会,李慧. 煤炭技术. 2018(10)
[2]救援机器人设计与分析[J]. 李懿,马翔宇,李媛. 煤矿机械. 2018(09)
[3]基于STM32和ARM Cortex-A8平台的自清扫智能小车设计[J]. 任金波,张翔,施火结. 制造业自动化. 2018(08)
[4]基于Qt的Android应用程序C/C++开发方法与实践[J]. 闫锋欣,牛子杰,杜烁炜,潘天丽. 计算机系统应用. 2018(07)
[5]完整的安卓系统框架层调用图生成方法[J]. 代蕊蕊,王雅哲. 智能计算机与应用. 2018(03)
[6]煤矿救灾机器人发展历程分析及展望[J]. 王勇,李允旺,田鹏,周雨,陈清. 矿山机械. 2018(05)
[7]基于嵌入式ARM与ZigBee技术的智能家居系统[J]. 李晨曦,吕志,翟超. 工业控制计算机. 2018(03)
[8]基于安全域的Android系统内核安全增强机制研究[J]. 陈伟,杨秋辉,程雪梅. 计算机科学. 2018(02)
[9]基于Android平台的交通标志识别研究[J]. 强杰,王舒憬,单振华. 电子测量技术. 2017(09)
[10]Cortex-A8的远程运动目标检测系统设计[J]. 徐健,刘怀通. 单片机与嵌入式系统应用. 2017(08)
硕士论文
[1]基于QQ物联的远程监控系统的设计与实现[D]. 罗斌平.西安科技大学 2018
[2]矿山应急救援黑匣子的设计与开发[D]. 韩超.西安科技大学 2017
[3]远程监控系统中视频采集模块设计[D]. 李秀秀.河北科技大学 2016
[4]机器人示教器Android平台驱动开发及系统启动优化[D]. 张帅龙.华中科技大学 2016
[5]Android系统分析与开发[D]. 李家科.兰州交通大学 2014
本文编号:3542251
【文章来源】:西安科技大学陕西省
【文章页数】:83 页
【学位级别】:硕士
【部分图文】:
Linux内核体系结构透视图
2相关技术研究11图2.2VFS的交换层网络堆栈(NetworkStack):网络堆栈在设计上主要遵循分层体系结构,为各种网络协议之间的通信提供一个标准的调用接口。在socket层提供了一种标准化的方法来管理从原始帧访问到IP协议的数据处理连接,并在各个连接的终点之间进行数据的传输。其中网络堆栈的源代码在目录./linux/net中。设备驱动程序(DeviceDrivers):设备驱动程序系统中内核的重要组成部分,主要实现特定硬件设备的执行与运转。在Linux的源码树中提供了一个驱动程序的子目录,该目录详细的划分了所支持的各种设备。其中源代码可以在目录./linux/drivers中找到。体系结构相关的代码(Arch):为实现系统更高效率的操作,Linux系统需要充分发挥不同体系结构的优点,在内核源代码目录/linux/arch中定义了与体系结构相关部分。由于Android内核的基础是Linux内核,所以继承了Linux内核的诸多优点。该系统把全部的驱动视为设备文件,对驱动的操作就是对这些文件的操作,从而操作底层硬件也即操作这些设备文件[16]。Android系统的应用层通过调用Linux文件系统中不同的设备文件接口来进行相关硬件的读/写操作。Linux系统的设备文件一般分为字符设备文件、块设备文件和网络设备文件三大类,下面对其分析与介绍:字符设备:字符设备的数据访问方式是通过字节流的方式来进行数据访问的,从一些字符设备的驱动程序中就能清楚看出这种字节流的特性来。字符设备的驱动程序通常要同时实现对open()、read()、write()和ioctl()的多个系统调用。这些字符设备都可以通过系统节点来进行访问,和普通文件之间的最大差别在于对普通文件设备的访问可以直接移动到需要访问的位置,而大多数字符文件设备几乎只能按照顺序访问里面的数据。对一个设备的读/写只能按一个顺序、按?
朔眩??贝嬖诖?氲陌踩??入问题,容易造成系统崩溃。libhardware架构中HAL层使用的是HALStub模式,Stub以动态链接库的方式存在。就操作而言,HAL层实现对库的隐藏。Android对系统控制的HAL层包含很多的Stub,它采用统一的硬件调用控制方式对底层硬件进行控制操作。上层在HAL层首先调用Stub的函数,然后再回调这些操作控制函数。通过这样的操作模式,来实现各个接口功能的统一,而且各自的Stub相互独立,只需要提供模块设备ID,就能对相关设备进行操作控制。如图2.3和图2.4所示,直观展示出了旧架构和新架构的不同之处。图2.3libhardware_legacyHAL层架构图2.4libhardwareHAL层架构
【参考文献】:
期刊论文
[1]基于嵌入式ARM的煤矿智能通信调度台研究[J]. 任蕊,王静燕,罗会,李慧. 煤炭技术. 2018(10)
[2]救援机器人设计与分析[J]. 李懿,马翔宇,李媛. 煤矿机械. 2018(09)
[3]基于STM32和ARM Cortex-A8平台的自清扫智能小车设计[J]. 任金波,张翔,施火结. 制造业自动化. 2018(08)
[4]基于Qt的Android应用程序C/C++开发方法与实践[J]. 闫锋欣,牛子杰,杜烁炜,潘天丽. 计算机系统应用. 2018(07)
[5]完整的安卓系统框架层调用图生成方法[J]. 代蕊蕊,王雅哲. 智能计算机与应用. 2018(03)
[6]煤矿救灾机器人发展历程分析及展望[J]. 王勇,李允旺,田鹏,周雨,陈清. 矿山机械. 2018(05)
[7]基于嵌入式ARM与ZigBee技术的智能家居系统[J]. 李晨曦,吕志,翟超. 工业控制计算机. 2018(03)
[8]基于安全域的Android系统内核安全增强机制研究[J]. 陈伟,杨秋辉,程雪梅. 计算机科学. 2018(02)
[9]基于Android平台的交通标志识别研究[J]. 强杰,王舒憬,单振华. 电子测量技术. 2017(09)
[10]Cortex-A8的远程运动目标检测系统设计[J]. 徐健,刘怀通. 单片机与嵌入式系统应用. 2017(08)
硕士论文
[1]基于QQ物联的远程监控系统的设计与实现[D]. 罗斌平.西安科技大学 2018
[2]矿山应急救援黑匣子的设计与开发[D]. 韩超.西安科技大学 2017
[3]远程监控系统中视频采集模块设计[D]. 李秀秀.河北科技大学 2016
[4]机器人示教器Android平台驱动开发及系统启动优化[D]. 张帅龙.华中科技大学 2016
[5]Android系统分析与开发[D]. 李家科.兰州交通大学 2014
本文编号:3542251
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3542251.html