支持蓝牙通信的智能昆虫机器人的设计与实现
2018-04-11杨泽平蔡妤婕马佳敏饶婷霜郭梦洁
杨泽平, 文 赓, 蔡妤婕, 马佳敏, 饶婷霜, 郭梦洁
(1. 华东理工大学 信息科学与工程学院, 上海 200237; 2. 上海电力学院 计算机科学与技术学院, 上海 200090)
0 引 言
随着科学技术的发展,人类成功研制了许多现代化、高科技的机器设备,这些设备往往在某些方面具有不可比拟的优势以及强大的功能。但是,和自然界的生物比起来,在结构特点、运动特性、适应性、生存能力等方面却望尘莫及[1-2]。这是因为自然界的生物经历了亿万年的适应、进化、发展过程,经受住了严酷的自然选择,这才使得生物体在这些方面得天独厚、巧夺天工,使其生物特性趋于完美[3-4]。道法自然,通过向自然界学习来获取技术发明的灵感,采用仿生学原理,往往能够设计出运动特性更加灵活、结构特点更加合理的机器设备[5-6]。
由于地球上环境的恶化,自然灾害频繁发生,因此需要能够适应复杂、恶劣、危险环境的高度自动化装备来进行作业,保障相关人员的生命安全,提高救援效率与作业能力。而仿生学正是通过研究生物系统的结构、形状、原理、行为以及相互作用,从自然界来获取设计研究的灵感,设计出同时兼具机器与生物共同优点的机器设备[7]。这些机器设备在军事、救灾等方面有着诸多用途;譬如在军事行动中进行攻击、排雷等危险作业,在救灾时进入危险环境对人员进行搜救以及物资的运输等;另外,在人类进行太空探索、星球探测和深海探测等未知环境的探索时也发挥着不可替代的作用[8-10]。
智能昆虫机器人的设计研究主要涉及到嵌入式、蓝牙通信、传感器、数字电子与模拟电子等技术。随着近年来电子技术与计算机技术等学科的飞速发展,嵌入式技术作为一门综合交叉性技术,也得到了长足的进步。嵌入式系统作为一种能够执行特定功能、软硬件可裁剪的应用型系统,能够适应应用系统对于功耗、成本、可靠性等方面的严格要求,所以在近年来取得了极大的发展。作为嵌入式系统的一种典型应用,目前普遍使用的移动端设备——智能手机也属于嵌入式设备的范畴。通过移动端嵌入式设备作为控制终端,对具有专用功能的嵌入式应用产品进行远程便捷控制,诞生了许多现代化产品,大大地方便了人们的生活与工作。经过30多年的发展,嵌入式技术已经跨越了4个阶段:最初阶段嵌入式技术只是利用单个芯片为核心的可编程控制器所设计构建的系统;之后发展到包含有CPU以及简单的操作系统的新式嵌入式技术,进入了嵌入式技术发展的第2阶段;而第3阶段的标志则是成熟的嵌入式系统;目前正处于的第四阶段,其主要标志就是互联网技术的引入,是计算机、通信、微电子以及半导体等技术融合的结果。蓝牙通信技术自1994年由爱立信首先提出后,由于其对于多设备连接的支持,解决了数据同步问题,因此得到了迅速的发展,目前管理机构Bluetooth SIG(Bluetooth Special Interest Group,蓝牙技术联盟)已经发布了第5代版本“蓝牙5”[11-12]。目前较为先进的蓝牙模块均采用了蓝牙低功耗技术(Bluetooth low energy,BLE),在实现更远距离传输的同时,降低了模块功耗[13-14]。另外,作为信息技术的三大支柱之一,传感器、计算机和通信技术一样都是现代信息技术发展程度的重要标志。传感器是获取信息的重要手段,能够将特定的被测物理量转换成可用的输出信号。传感技术随着现代科学的进步也得到了长足的发展,总的来说,传感器技术的发展经历了3个阶段:结构型传感器、固体传感器、智能传感器。由于其与现代科学关系密切,对各学科的进一步发展有巨大的促进与助力,许多发达国家把其当做一个时代的标志,而我国也在“十五”计划中将传感器列为重点科技研究发展项目之一。
与轮式机器人相比,昆虫机器人在非结构化、恶劣的地理环境中具有得天独厚的优势,可以到达常规轮式机器设备无法行动的地方进行作业[15-16]。本文基于Arduino主控实现的智能昆虫机器人,集成了距离传感器、蓝牙通信、红外通信、信号灯、蜂鸣器和TTL串口语音模块,并通过主控芯片ATmega328的总体协调控制,解决了在实际作业中所遇到的自动避障、远程控制、集群交互通信、智能提示等问题,在面对复杂地形时拥有更强的适应能力和灵活性。
1 总体架构
根据智能昆虫机器人的主要功能需求,设计了如图1所示的硬件总体架构。
图1硬件总体架构
其中,通过Risym HC-05无线蓝牙模块来实现蓝牙通信,该模块负责与手机控制端APP进行通信,接收APP发来的指令请求,转交给ATmega328微处理器执行。GP2Y0A21 距离传感器实时监测机器人周边环境中障碍物信息,并将所获取的传感器数据发送给ATmega328微处理器进行处理。电源模块负责为机器人整体供电。串口调试模块负责与PC机连接进行固件的烧写以及相关调试工作。系统中共集成了3个微型伺服电机,为机器人行走提供动力。红外通信模块实现了收、发两部分功能,为机器人之间的协作通信提供支持。蜂鸣器模块用于机器人遇到障碍或者紧急状况时的警报提示。TTL串口语音模块用于向用户进行语音提示以及语音交互。信号灯模块对电源状态、蓝牙连接状态和数据传输状态进行提示,如图2所示。
2 核心模块设计
2.1 主控模块
图2 指示灯模块示意图
主控模块的核心即ATmega328微控制器,系统时钟频率为16 MHz,正常工作电压为直流5 V,主控模块包含有4个数字输入口,4个模拟输入口,两个PWM口,1组UART端口,1组I2C端口,1个Micro USB接口,2组电源端口。ATmega328引脚配置图如图3所示,主控模块电路图如图4所示。
2.2 硬件接口设计
2.2.1接口概述
为了实现机器人所需功能,硬件主控板集成的接口如表1所示。
基于结构与功能模块设计,硬件主控板结构如图5所示。
硬件主控板实物如图6所示。
图3ATmega328引脚配置图
图4 主控模块电路图
接口类型数量备注数字输入口4D2~D5模拟输入口4A0~A3PWM口2UART端口1组I2C端口1组MicroUSB接口1个电源端口2组VIN输入电源范围:5~8V
图5结构示意图
图6 接口实物图
2.2.2接口定义
硬件接口的具体定义示意图如图7所示,在表2中给出了接口的详细定义。
图7 接口定义示意图
2.2.3ICSP接口
ICSP-in circuit serial programmable,在线串口编程,其本质是一种在线烧写程序的方式,主要功能是将用户代码编译并烧写到微处理器ROM中。引脚定义如图8所示。
图8 ICSP端口定义
丝印数字端口PWM端口模拟端口串口I2C端口RXTX01Serial0SDAA4SDASCLA5SCLD22D333D44D555A0A0A0A1A1A1A2A2A2A3A3A3
2.3 通信协议
机器人与移动端之间的通信采用蓝牙通信,蓝牙通信协议体系结构框架如图9所示,蓝牙协议的体系结构自下而上可分为3个部分:硬件层、协议层、应用层。其中,硬件层主要包括链路管理层(LM)、基带层(BB)和射频层(RF)。协议层包括逻辑链路控制与适配协议(L2CAP)和电话通信协议(TCS)。
图9蓝牙协议体系结构框架
移动端与机器人之间的蓝牙Socket通信流程如图10所示。
图10蓝牙Socket通信流程
与常用的Socket套接字通信模式类似,BluetoothSocket通信中由BluetoothSocket 和 BluetoothServerSocket分别充当客户端和服务器。首先由服务器端BluetoothServerSocket对象创建一个BluetoothSocket对象,调用BluetoothServerSocket的accept()来获取,而客户端则通过调用BluetoothDevice的createRfcommSocketToServiceRecord()来获取;在服务器启动服务之后,accept()进行阻塞,直到客户端connect()成功连接服务器,服务器将BluetoothSocket对象返回给客户端,建立连接后,服务器和客户端的BluetoothSocket对象能够获取到输入输出流,从而进行下一步的通信。
3 系统实现
本设计中移动端APP界面如图11所示,根据蓝牙连接流程依次进行蓝牙的连接与通信测试。首先打开蓝牙,通过搜索设备搜索机器人中集成的蓝牙模块进行配对,配对成功之后通过CONNECT建立连接,连接建立之后即可通过控制按钮控制机器人行动。
图11移动控制端APP界面图
昆虫机器人移动端控制测试结束后,对昆虫机器人进行了自动避障测试,测试结果证明机器人能够在多种不规则地形中行动,并在合理范围内对所遇障碍进行自动规避。昆虫机器人如图12所示。另外,通过多个机器人之间的联合测试,验证了机器人之间进行红外集群通信的有效性,并利用特定机器人对智能语音提示与蜂鸣器警告功能进行了测试,结果证明了TTL串口语音模块的有效性。
图12 昆虫机器人
4 结 语
本文就智能昆虫机器人的工作原理与相关技术进行了研究分析,并深入探究了该类型机器人在实际应用中所具有的优势与具体适用场景。基于以上研究分析,对昆虫机器人的总体架构、核心模块、系统实现提出了具体的解决方案,可以实现自动避障、远程控制、集群通信交互、智能提示等功能,并通过在实际运行环境中测试进行了验证。
参考文献(References):
[1]王国彪, 陈殿生, 陈科位,等. 仿生机器人研究现状与发展趋势[J]. 机械工程学报, 2015, 51(13):27-44.
[2]沈惠平, 马小蒙, 孟庆梅,等. 仿生机器人研究进展及仿生机构研究[J]. 常州大学学报(自然科学版), 2015, 27(1):1-10.
[3]朱国杰, 田文凯, 吕承哲,等. 六足仿生机器人机构与控制系统设计[J]. 测控技术, 2017, 36(1):55-58.
不忘初心,方得始终。衷心祝愿淮海人不忘初心,牢记使命,大力弘扬人民兵工红色基因,实现“一切为了前线,一切为了打赢”的企业价值观,继续在太行精彩铸剑,为保家卫国作贡献!
[4]于常娟, 张明路, 张建华,等. 六足仿生机器人并联运动学分析[J]. 制造业自动化, 2015(11) :56-58.
[5]彭倩,李红岩. 仿生蜘蛛探测机器人的系统设计[J]. 实验室研究与探索, 2016, 35(12):84-87.
[6]姜树海, 潘晨晨, 袁丽英,等. 六足减灾救援仿生机器人机构设计与仿真[J]. 计算机仿真, 2015, 32(11):373-377.
[7]姜树海, 杨若凡, 马超. 基于ARM的六足仿生机器人野外定位系统[J]. 计算机测量与控制, 2016, 24(8):122-125.
[8]谢国波, 罗路天. 嵌入式系统层次体系结构模型研究[J]. 广东工业大学学报, 2015(1): 109-112.
[9]满莎, 杨恢先, 彭友,等. 基于ARM9的嵌入式无线智能家居网关设计[J]. 计算机应用, 2010, 30(9):2541-2544.
[10]高延增, 邓毅华. 智能家居系统的组网及移动端控制实现[J]. 物联网技术, 2015(1):48-50.
[12]葛艺潇, 闵富红, GeYixiao,等. 基于Android和Arduino的蓝牙考勤系统实现[J]. 信息通信, 2016(4):109-110.
[13]惠延波, 李永超, 王莉,等. 基于蓝牙低功耗技术的无线超声流量计设计[J]. 自动化仪表, 2015, 36(10):44-47.
[14]陈钰琨, 马忠梅, 曾礼. Android系统的蓝牙远程控制研究[J]. 单片机与嵌入式系统应用, 2015, 15(1):16-19.
[15]黄丽雯, 韩荣荣, 宋江敏. 基于Arduino/Android的语音控制小车设计[J].实验室研究与探索, 2015, 34(12):53-56.
[16]梁明亮, 孙逸洁. 基于轮式驱动的教学机器人研制[J].实验室研究与探索, 2013, 32(2):227-230.
·名人名言·
提出一个问题往往比解决一个问题更重要,因为解决问题也许仅仅是一个数学上或实验上的技能而已。而提出新的问题、新的可能性,从新的角度去看旧的问题,都需要有创造性的想象力,而且标志着科学的真正进步。
——爱因斯坦