基于Java的远程控制多功能辅助机器人word文档良心出品Word格式文档下载.docx
- 文档编号:16370446
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:120.82KB
基于Java的远程控制多功能辅助机器人word文档良心出品Word格式文档下载.docx
《基于Java的远程控制多功能辅助机器人word文档良心出品Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于Java的远程控制多功能辅助机器人word文档良心出品Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
一般是指子女离家后的中老年夫妇。
Java:
一种可以撰写跨平台应用软件的面向对象的程序设计语言
C#:
微软推出的一种基于.NET框架的、面向对象的高级编程语言
客户端(Client):
是指与服务器相对应,为客户提供本地服务的程序。
一般安装在普通的用户机上,需要与伺服端互相配合运行。
服务器(Server):
一个管理资源并为用户提供服务的计算机软件,以及运行该软件的计算机。
端口映射:
就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。
当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。
第一节论文课题背景
1.1论文课题背景
1.1.1我国空巢老人现状
随着我国进入老龄化社会,城市的空巢老人正在迅速增加,农村老龄化问题也越来越严重,主要是留守老人和独居老人。
子女因工作等原因不在老人身边,只剩老人独自生活.
援引《中国文明网》于2009年发表的《空巢老人现状调查》一文,我国已经进入人口老龄化快速发展时期,已有老龄人口1.69亿,占总人口数的12%,据全国老龄办统计数据显示,有近一半的老人属于城乡空巢家庭或类空巢家庭。
据北京老龄办目前公布的统计数据,北京老年人口明年将达到250万人,占全市常住人口的15.2%,而空巢老人则会超过100万,占老年人口总数的40%。
宁波老龄办调查表明,宁波空巢老人家庭已占老年人家庭的35%,预计到2025年将达到80%以上。
2010年北方网的《独居老人生活现状调查》一文中也指出:
独居老人们在吃饭穿衣、洗澡、上厕所等个人日常生活中并没有表现出太多的困难,但在去医院看病及打扫卫生、买菜做饭、洗衣服等家务活上,还是需要帮助。
面对一天天变老的现实,对“突然犯病身边无人”和“生活不能自理时无人照顾”的担忧,成了很多城市独居老人生活中最担心的事情。
在调查中,95%的独居老人表示很孤独,甚至有些抑郁的感觉,能有人来说说话,是独居老人最普遍的精神需要。
记者调查发现,大部分独居老人不愿意选择养老院的生活方式。
通过这些调查结果可以发现,空巢老人急需的是与子女交流,在生活上能等到照顾等。
这些要求看似平常,但对于远在异乡的子女来说却是难以办到的事情。
因此,利用辅助机器人随时随地地与老人谈谈心,甚至是照顾他们的起居,将对空巢老人消除孤独感,安享晚年具有非常重要的意义。
1.1.2空巢老人的生活特点
空巢老人包括独居老人,常年无子女陪伴,生活起居完全依靠自己完成。
其中的独居老人单独一人生活,缺少交流。
大部分老人不愿意选择养老院的生活方式,他们希望能在自己的家中安享晚年。
老人因上了年纪,无法胜任所有家务,需要帮助。
部分老人行动不便,出行存在困难,当有紧急情况时无法很好地应对。
多数老人无法接受并使用计算机、手机等现代化通讯工具,他们更愿意传统的交流方式,如谈话、书信等。
1.1.3老人生活、交流辅助技术现状分析
从现有的国内外针对空巢老人交流、家务难题的解决方法来看,它们都较为复杂,操作繁琐,不适合所有老人使用,而将交流通讯与生活辅助结合的解决方案更是一片空白。
目前使用较为普遍的技术手段有以下几种:
1.即时通讯软件
这是目前较为普及的现代通讯方式,它要求通讯双方都拥有电脑,通过互联网进行对话等活动。
但是这种方式对于老年人来说存在着以下问题:
多数老年人不会操作电脑,无法掌握即时通讯软件的使用方法。
摄像头视角固定,移动起来较为麻烦。
软件只能实现交流功能,不能替代人完成一些简单的工作。
2.自动清洁机器人
自动清洁机器人能够在房间中实现自动吸尘清洁功能,但它只是单纯的机械,无法与人交互,功能单一,并且设置较为复杂,易用性较差。
综上所述,现在还没有任何一款能将交流通讯与生活辅助结合的产品,因此空巢老人也总是有这样或那样的困惑与烦恼。
根据实际情况,本文将首先介绍一种跨平台的编程语言Java与自由开放的机器人平台NXT,并在此基础上提出一套基于Java的远程控制多功能辅助机器人解决方案。
第二节Java与NXT概述
2.1Java概述
2.1.1什么是Java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,最初目标设定在家用电器等小型系统的编程语言,来解决家用电器的控制和通讯问题。
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
2.1.2Java技术特点
1.跨平台性
Java语言编写的程序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行。
这个特性经常被称为“一次编译,到处运行”。
2.面向对象
“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。
面向对象设计让软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。
2.2NXT概述
2.2.1什么是NXT
NXT是乐高公司和美国麻省理工学院共同开发的机器人组件。
它采用了ARM7(32位)芯片,具有4个输入端与3个输出端,并配备了蓝牙无线模组和USB2.0接口。
将它与乐高积木组装,并利用Java语言编程可实现机器人的程序控制。
2.2.2NXT特点
1)支持多种通讯方式
NXT模块支持蓝牙与USB这两种通讯方式,因此它能够与各种设备无线连接,摆脱了数据线的束缚。
2)简单易用
NXT模块依托丰富的乐高积木,可搭建出各种功能的智能机器人,拆装十分简便。
3)支持多种编程语言
NXT可以使用Java、LabView、C等多种语言为其编写程序,满足各种开发需要。
第三节基于Java的远程控制多功能辅助机器人方案
3.1适用于老年人的辅助机器人特点
适用于老年人的辅助机器人,根据其用户特殊的年龄段,应当具有不同于其他类型机器人的独特性。
适用于老年人的机器人应当有以下特点:
1)易用性
老年人因上了年纪,不适合使用较为复杂的设备,因此要求辅助机器人无需繁琐设置,即开即用。
2)可靠性
服务于老人家中的机器人无人经常保养维护,这就要求它保证常年可靠运行,无需老人操心。
3)灵活性
辅助机器人需要在老人家中移动,因此它必须十分灵活,确保能够到达家中任何角落。
4)多功能
老人有时无法完成一些耗费体力的家务活,辅助机器人应具备完成一些日常家务事的能力,因而它必须是多功能、可扩展的。
仔细分析以上特点,并对比前一节的Java、NXT技术特点,可以明显看到利用乐高NXT搭建机器人结构并使用Java编写应用程序将能很好地服务于空巢老人,是他们的子女能随时随地地与他们交流,为他们的生活提供便利。
3.2基于Java的远程控制多功能辅助机器人系统结构
3.2.1辅助机器人的开放平台思想
考虑到安装于老人家中的机器人需要与各种不同类型的设备连接,并要在家中自由移动,该机器人设计成了一个开放平台的形式。
机器人将携带一台小型笔记本电脑,它利用无线网络(Wi-Fi)连接互联网,客户端设备通过这台笔记本电脑向机器人发送控制指令。
这样的设计解决了机器人本身的NXT模块只具备蓝牙这种短距离通信形式的弱点,使任何设备都能连接并控制机器人,将其变成开放的平台。
3.2.2控制网络的基本结构
图3-1控制网络示意图
远程控制多功能辅助机器人的控制网络主要由客户端与服务器两部分构成(图3-1):
服务器即安装于老人家中的辅助机器人,机器人借助蓝牙与其携带的笔记本电脑连接,实现控制指令的传输功能。
笔记本电脑通过无线网络(Wi-Fi)连接到互联网,提供服务。
客户端可以是运行控制程序的个人电脑(PC)、手机、平板电脑等各种设备,利用互联网与服务器连接,实现机器人控制及语音视频对话功能。
3.3多功能辅助机器人机械结构
为了配合NXT模块,机器人使用乐高积木作为主要结构材料,以灵活、可靠为原则进行了设计与搭建。
该辅助机器人外观成正方形,其中包括了三个主要结构部件:
底盘、笔记本电脑支架和摄像头控制台,并在底盘上预留了机械手安装位置。
机器人主要使用圆头梁作为结构单元,通过梁与梁的销连接,增加了结构的强度,减少碰撞产生的振动,还可以方便地拆装部件和维修调整。
3.3.1底盘
图3-2底盘结构
辅助机器人使用两轮前置驱动,后部采用导向轮结构(图3-2),保证了机器人的稳定性,灵活性。
两个分别负责移动和机械臂控制的NXT组件嵌于底盘的正中位置,将核心部件受损的可能性减到最低,同时降低了机器人的重心,避免扩展机械臂过重造成的失稳现象。
两台NXT组建的电池位置也经过特别设计,预留出了电池更换开口,用户可以方便地为电池充电或更换电池。
底盘搭载的轮胎均选择宽扁胎型,与地面接触面积大,抓地力出色,能适应多种地面类型的环境。
两个后置导向轮采用了万向轮的结构,减少了转向时不必要的摩擦,令机器人的移动十分灵活。
3.3.2笔记本电脑支架
笔记本电脑支架安装于底盘的上方,在设计时充分考虑到了笔记本的尺寸以及调试时拆装的便捷性,笔记本电脑能够正好置于支架中,不会因机器人运动而产生滑移。
支架部分利用拉杆将其与底盘及摄像头控制台连接,构成三角形结构,并在固定架上安装了数个摩擦垫,增加了笔记本电脑在机器人移动时的稳定性,起到了保护机器人与电脑硬盘的双重作用。
3.3.3摄像头控制台
图3-3摄像头控制台
摄像头控制台位于整个机器人的尾部(图3-3),采用高塔平台结构,这样摄像头可以拥有十分宽广的视角。
控制以一个电机作为动力源,电机安装于支架与底盘之间,利用齿轮箱的二级变速传递动力至高塔平台,实现上下平稳转动,这样的传动结构既减少了摄像机振动,也提高了摄像头运动的精度。
同时通过变速可以使摄像机有不同的拍摄角度和角度转换的速度。
3.3.4机械手平台
图3-4机械手结构
在机器人的最前端是机械手平台,它可以根据不同需要安装相应功能的机械手。
用户只需要将需要安装的机械手固定到平台上,并将马达与NXT连接好,更换工作就完成了。
目前安装在机器人上的是一个机械抓手(图3-4),它仅靠一个电机驱动,实现了机械臂的抓放与升降的两个自由度运动,降低了成本和控制难度。
该机械手主要使用了四连杆机构,以达到传递动力的目的。
为了使机械手能抓取各种形状的物体,抓手上特别加装了四个橡胶块,增大了摩擦力,并能适应各种外形的物体。
在抓手的下部,安装了两个被动滑轮,当机械手需要置于地面去抓取物件时,滑轮可以使抓手不与地面直接接触,并与地面形成滚动摩擦,最大限度地减少了抓手着地时对机器人运动的影响。
依靠以上几大部件的组合,搭建出了多功能辅助机器人主体。
它拥有稳定,灵活,易用等诸多优点,能够适应不同的环境,完成各种简单工作,为整个机器人系统的平稳运行提供了保障。
3.4多功能辅助机器人的控制程序
这台辅助机器人的控制系统是利用Java与基于Java的LeJOS编程语言开发的,整个控制程序可以分为客户端、服务器与NXT三部分,它们分别负责控制与提供服务功能。
由于Java强大的跨平台特性,机器人控制程序可以在各种电脑上运行,不受电脑硬件或软件系统限制。
3.4.1NXT
NXT是机器人的控制核心,机器人的所有动作都由它指挥执行。
在NXT程序中,每个动作都有对应的指令编号,当它从服务器接收到指令后,将根据指令驱动机器人完成相应的动作。
3.4.2服务器
根据NXT组件具有蓝牙无线通信模块的特性,机器人搭载的笔记本电脑可以使用蓝牙通讯协议与多个NXT组件连接,达到机器人部件分块控制的目的,机器人也因此可以使用更多的马达,完成复杂的动作。
服务器的主要功能是为远程电脑提供控制服务,机器人在启动时将等待客户端与其连接。
服务器中将前进、后退等功能定义了相应的命令编号,在接到客户端传来的控制命令后,它再将命令转发给NXT组件,完成相应动作。
考虑到机器人的易用性,语音控制的功能也被加入到服务器中。
利用C#语言编写程序,调用Windows7系统自带的语音识别功能将用户的命令识别后发送到NXT上,实现语音控制。
服务器的另一个重要工作是将摄像头捕捉到的视频、音频信号传送到客户端,让用户能够观察到老人家中的情况。
在查阅了许多资料后,RTP(Real-TimeTransportProtocol)协议被最终采纳。
RTP的中文名称为实时传送协议,它详细说明了在互联网上传递音频和视频的标准数据包格式,能够在Java程序中直接使用。
程序首先通过Java媒体框架(JMF)对笔记本电脑连接的音视频设备进行实时采集,封装为数据流并进行压缩,随后数据流通过RTP协议被传输到客户端上。
图3-5服务器界面
考虑到服务器是在老人家中提供服务,因此机器人的运行方式必须尽量自动化,甚至是无人值守,不要给老人带来麻烦与困扰。
基于这个思想,在设计客户端软件时特别注意了易用性与可靠性,软件界面十分简洁明了(图3-5)。
老人无需复杂设置,只要点击“启动服务”按钮,机器人便开始工作,与NXT连接并把摄像头信号传输到客户端。
3.4.3客户端
图3-6客户端程序
客户端程序提供了完整的机器人控制功能(图3-6),主界面上包括了控制按钮与摄像头画面两部分。
客户端为用户提供了机器人高速、低速两种运动模式,还有抬高、降低视角,机械臂抓放等功能。
客户端与服务器连接后,用户能够直观的看到老人家中的情况,点击动作按钮,自如地操控机器人移动,机械臂抓放等动作。
用户也可以利用麦克风向老人家中的机器人发送语音命令,实现语音控制。
第四节多功能辅助机器人的实际使用情况
4.1基于局域网的实际使用测试
受互联网端口开放限制,实际使用测试选择在局域网环境中进行。
4.1.1测试流程
1)启动机器人服务器,向客户端发送音视频数据流,等待客户端连接。
2)启动客户端软件,连接服务器。
3)发送(语音)控制命令,查看机器人相应速度与动作准确性。
4)观察摄像头图像清晰度与流畅度
5)测试抓手功能,完成抓取物体动作
图4-1机器人实际使用情况
4.1.2测试结果
远程控制多功能辅助机器人完成了所有指定动作,响应快速,语音识别率较高,摄像头画面清晰流畅,几乎没有延迟,实验结果十分理想。
论文总结与展望
本文介绍了基于Java的远程控制多功能辅助机器人方案,详细阐述了机器人的结构以及应用程序的特点,最后通过实际使用测试,验证了该机器人的使用效果。
基于Java的远程控制多功能辅助机器人不论是在结构,还是在控制程序上都具有易用性,简便性等诸多特点,希望能为子女与父母实现异地交流与生活辅助提供解决方案,消除空巢老人的孤独感,并在远程为他们做一些力所能及的家务,使他们的晚年生活能够更加和谐美满。
但是,由于机器人尚在开发阶段,采用了乐高积木搭建,使得成本较高,材料强度欠佳。
而控制程序还未加入端口转发功能,因此内网的客户端与服务器与外网连接还不是十分方便。
目前互联网技术正在迅速普及,这款机器人因此将可以应用于商务,军事,航空航天等更多方面。
通过更换机器人的机械手,远程控制其完成更为复杂的工作。
随着世界老龄化步伐逐渐加快,空巢老人将成为人们关注的重点社会问题。
相信随着机器人与网络技术的发展和应用的成熟,更多的人力物力投入到相关系统的研究和开发中,空巢老人的难题将会圆满解决。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 远程 控制 多功能 辅助 机器人 word 文档 良心 出品