智能昆虫机器人与移动设备交互通信的设计与实现

2017-09-08 02:29杨泽平文赓马佳敏蔡妤婕饶婷霜郭梦洁
物联网技术 2017年8期
关键词:移动设备蓝牙

杨泽平+文赓+马佳敏+蔡妤婕+饶婷霜+郭梦洁

摘 要:研究智能昆虫机器人与移动设备交互通信,设计并实现了一个在Android环境下运行的与智能昆虫机器人交互控制应用系统,使其可以运行在手机、平板电脑等移动设备上。系统易于操作,性能稳定,具有广阔的应用前景。

关键词:Arduino;蓝牙;昆虫机器人;移动设备

中图分类号:TP242 文献标识码:A 文章编号:2095-1302(2017)08-00-03

0 引 言

近年来,随着机器人技术的逐渐完善,国内外对机器人技术的发展越来越感兴趣,机器人技术已被认为是未来高新产业发展的重要基础之一[1]。美国在智能机器人的技术研究方面一直保持领先,在航天、军事等方面都使用了机器人技术,该技术具有性能可靠,精确度高,适应性好等特点。日本在家用机器人研究方面发展迅速,发明了各种类型的机器人,可做寿司、帮助客人倒茶、喂食老人等。而欧洲各国也投入大量精力和财力来支持机器人技术的研发。我国也越来越重视机器人技术的发展,清华大学、哈尔滨工程大学以及中科院等高校和研究所也积极推动机器人技术的发展[2]。机器人技术不仅涉及工业制造、野外深空深海勘探勘测、医疗服务、教育娱乐、家庭陪护等领域,还涉及交通、消防、军事等方面,由此产生了不同用途的机器人,如工业机器人、轮式/履带式移动机器人、外星探索机器人、水下机器人、飞行机器人、医疗与康复机器人和仿生机器人等[3]。这些机器人在面临一些复杂环境完成相应任务时,其自身对周围环境的认知就直接影响了任务的完成,所以对机器人环境感知、人机交互等方面提出了很高的要求。昆虫机器人属于仿生机器人的一种,它和依靠轮子或履带式移动的机器人相比,在崎岖不平的地面上或有陡斜坡、阶梯的地段上移动时,稳定性和可操作性更好。

Arduino是一个开源电子制作平台,包括硬件(各种型号的Arduino控制板)和软件(Arduino的集成开发环境和编程接口)。Arduino体积小、易于上手,是一款非常实用的开源硬件[4]。该平台的硬件部分可以独立购买加以改造,重新组装成新的电路板,且Arduino提供多种编程接口,既有类似于C语言的开发环境,也可以直接使用Flash或Processing等软件来实现功能[5]。Arduino还提供了USB等接口,使其扩展性更强,用户可以通过反复编程来实现功能,因此广泛应用于环境监测、可穿戴设备、智能家居等多个领域,特别是在机器人和自动化领域。基于Arduino开发的机器人,易于操作,设备简单,非专业人士也可以按照自己的想法来设计开发。

随着移动设备和移动机器人使用的频繁、移动互联网的普及,人们对移动设备和移动机器人的用户体验要求越来越高,研究智能机器人与移动设备交互通信并给出实用的App系统对增强用户体验具有积极意义。本文基于开源硬件Arduino实验平台,给出了一个在Android环境下运行的与昆虫机器人交互的应用系统,使得移动设备和昆虫机器人可实现很好的通信。

1 总体架构

系统设计之初,考虑移动设备与昆虫机器人的交互可以通过无线通信来实现,无线通信包括红外、蓝牙、WiFi和NFC等。NFC是近距离无线通讯技术,其基础是非接触式射频识别及互连技术,具有能耗小、成本低等优点。由于其安全性高,因此在刷卡领域(门禁系统、交通一卡通、支付领域等)应用广泛。红外通信采用红外线传输数据,此方式具有成本低、简单易用、低功耗等优点,广泛用于移动设备(笔记本电脑、移动通讯设备等)之间的数据交换以及电视、空调遥控等,但其不适用于传输障碍较多的场景。WiFi是使用最广泛的一种无线网络通信技术,它基于IEEE802.11标准,可以解决大数据量传输问题,使得任何接入WiFi的设备之间都可以相互交换数据。蓝牙也属于短距离无线传输技术,有着成本低、功耗低等优点,可实现固定设备(打印机、音响等)、移动设备(手机、平板电脑、笔记本等)以及一些小型设备之间的数据交换。相比NFC和红外,虽然这些技术同属短距离传输,但蓝牙的距离一般可达10 m(红外的使用距离为1 m,NFC的使用距离为0.1 m),并且在传输速率上也优于NFC和红外。相比WiFi,不仅WiFi的成本高、实现较复杂,其安全性也不高,因此蓝牙通信技术广泛应用于物联网技术中。在本系统的设计和实现中,采用蓝牙通信技术。

系统主要包括硬件和软件部分。

硬件部分包括智能昆虫机器人和蓝牙模块。智能昆虫机器人采用DFRobot开源硬件组装而成,包括前腿舵机、中腿舵机、后腿舵机、红外传感器、光线传感器和Arduino主控板。硬件调试采用Arduino开发环境来实现,文中使用Arduino-1.6.7版本。

软件部分的开发环境为Android Studio,采用Android_studio_2.1.0.0版本,针对Android环境。整个系统通过蓝牙模块来实现移动设備和智能昆虫机器人之间的通信。移动设备在测试阶段采用基于Android系统的手机,用户通过手机App进行操作,然后App通过调用手机蓝牙将操作对应的指令发送给机器人,机器人根据指令执行相应的动作。

系统整体架构如图1所示。

2 蓝牙模块的安装及调试

采用Risym HC-05无线蓝牙模块。Arduino主板已集成支持串口通信,分别为TX和RX引脚,需手动引出。虽然串口通信引脚在USB接口中已有集成,但只适用于测试使用,若在机器人运行中使用,不仅占用USB,还需从USB口引出USB数据线用于串口通信,结构相对复杂,不稳定。这里使用杜邦线引出,可直接用插拔的方式与蓝牙模块连接。具体包括以下操作:

(1)双层板拆离;

(2)去排针+去旧焊锡;

(3)焊接新排针;

(4)将Arduino主板、底板和蓝牙模块与杜邦线连接。endprint

在Arduino软件环境中,通过设置串口通信波特率即可进行蓝牙通信调试。在setup()函数中通过Serial.begin(9600)语句来初始化波特率,然后在loop()函数中循环等待蓝牙连接后接受数据,定义的通讯协议为F:前进;B:后退;L:左转;R:右转;A:自主移动。进行蓝牙通信时,首先通过BluetoothAdapter获取蓝牙适配器对象,在打开蓝牙、获取蓝牙适配器时,可能需要用戶通过对话框进行确认。获取蓝牙适配器之后,进行可配对设备搜索时,首先判断isDiscovering()的状态,如果此时状态正忙,则通过cancelDiscovery()重置startDiscovery()的状态后再进行搜索;如果此时状态空闲,则直接调用startDiscovery()进行搜索。搜索完成后,点击可配对设备列表中的设备即可通过connectToPairedEquip进行设备配对。配对成功之后即可通过getOutputStream与getInputStream进行通信,不过需注意,由于蓝牙通信的对象为嵌入式片上系统(System on Chip,SOC),使用AT指令协议进行通信,所以需要调用getHexBytes()方法将字符转换为十六进制才能正常通信。具体流程如图2所示。手机控制应用得到的结果如图3所示,显示了可配对设备与当前配对设备。

3 核心代码的设计与实现

昆虫机器人集成了各种精密传感器数据处理模块,可以通过手机的控制应用程序来实现左转、右转、直行等操作。在具体操作过程中,通过各传感器来检测昆虫机器人周围是否有障碍物,当检测到障碍物时,则回避障碍物,从而实现自动避障,在避开障碍物后继续前进。避障具体流程如图4所示。

此处主要通过analogRead()函数来获取左右光线传感器与距离传感器ADC接口与输入模拟电压相对应的数值,然后将获得的传感器数值与设置的碰撞触发阈值相比较来判断周围是否有障碍物。如果在直行过程中发现前方有障碍物,则昆虫机器人会调整前、中、后舵机的角度后退几步,根据左右光线传感器数据来决定左转或右转,从而实现避障;如果在左转或右转过程中发现存在障碍物,则会根据左右光线传感器的数据来判断应后退还是保持不动。

4 结 语

通过对智能昆虫机器人与移动设备交互通信的研究,给出了一个在Android环境下运行的与智能昆虫机器人交互的控制应用程序,不仅可以应用于手机、平板电脑等移动设备,也可以在所有Android环境下使用。未来将对软件进行进一步优化改善,使其拥有更好的用户体验,达到比较稳定的程度。后期可将成熟的产品推广到智能家居,可穿戴设备等领域,同时还应考虑该机器人的商业化发展方向,使其拥有更广阔的应用前景。

参考文献

[1]徐扬生.智能机器人引领高新技术发展[J].科学时报, 2010(9):28-31.

[2]张乃风,张志先,陶伟谦.智能机器人技术研究进展[J].机器人技术与应用, 2012(6):9-11.

[3]谭民, 王硕.机器人技术研究进展[J].自动化学报, 2013, 39(7):963-972.

[4]孙秋凤.基于开源平台Arduino的大学创客实践探索[J].物联网技术, 2016, 6(12):112-113.

[5]蔡睿妍. Arduino的原理及应用[J].电子设计工程, 2012,20(16):155-157.

[6]谢杰腾,颜晓文.基于Android手机语音和Arduino控制板的机器人控制系统[J].物联网技术,2015,5(3):101-102.

[7]陆阳,乔钢柱,谭瑛.基于Android的智能家居程序开发与研究[J].物联网技术,2014,4(3):31-32.

[8]李林.智能交互机器人实验平台的结构设计与系统集成[D].北京:北京大学,2009.endprint

猜你喜欢
移动设备蓝牙
蓝牙音箱的直线之美
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
移动端界面设计中“容错性”思考