打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一种无线遥控模块在竞赛机器人中的应用
一种无线遥控模块在竞赛机器人中的应用

一种无线遥控模块在竞赛机器人中的应用

秦晨芝 贾静雯 陈鉴 黄瑞琛 夏庆锋

(南京大学金陵学院智能机器人实验室,南京,210089)

摘 要

针对比赛中机器人控制不够灵活、控制范围受限等问题,本文根据遥控接收范围、收发数据的稳定性与灵敏度,使用一种无线遥控接收模块RXC6;在机器人的控制系统上加装此模块并对其进行编码使用,机器人通过与其他传感器间的配合,实现实时接收命令。本文对两种不同的控制系统进行对比实验,结果表明:该无线遥控模块接收效率高,控制效果明显。

关键词:机器人,遥控技术,远程收发,数据采集

0  引言

在当今生活中,智能机器已普遍存在。为了实现这些智能机器的有效运作,控制技术显得尤为重要。其中,在智能机器上使用遥控技术便是一种控制机器有效运作的方式。在遥控技术中,相比于红外遥控技术与声控技术,无线远程遥控技术有着覆盖范围广、控制范围远、穿透力强等特点。

无线遥控技术原理是:发射机把控制的电信号先编码,然后转换成无线电波发送出去。接收机收到载有信息的无线电波,通过接收、放大、解码,得到原先的控制电信号。将这个电信号再进行功率放大,用来驱动相关的电气元件,实现无线遥控。因此,无线遥控技术在很多领域均有应用[1],不管是在机器人上实现远程控制,还是在生活中的防盗报警、玩具汽车或飞机,都有它的身影。

1  机器人比赛中的遥控技术介绍

在机器人比赛中,实体的机器人在控制上可以分为自动控制与手动遥控。在比赛中使用手动控制,不仅使机器人可以按照既定程序进行,还可以规避风险。譬如,在机器人武术擂台赛的兵器赛上,每个机器人手中都端着一把锋利的刀剑,在比赛中通过使用刀剑将对手打下舞台[2]。兵器一般都是由一些废弃的铁皮、钢管制成,虽上场前都会考虑安全性能将其磨得圆滑一些,但依然避免不了机器人在高速运动的时候伤害自身的控制器、舵机等结构件,甚至有时可能会伤害到操作人员。因此,在机器人自动控制的基础上加上遥控技术,可以将这一风险降到最低。

在当前的比赛中,参赛者大多使用红外遥控接收头加上遥控器的外部配置来实现遥控功能。其中,大多是使用一个模拟口读取当前红外接收头所接收到的数据。在实际操作中,红外遥控存在许多不足。在使用红外感知器件进行遥控时,接收距离会比较近,而且也不能完全确保在场地的任意位置可以接收到遥控器所发出的红外信号,这在比赛中会对比赛效果产生一定的影响。鉴于此,笔者将红外遥控转换成无线远程遥控模块,将红外接收改成使用无线接收,提高了机器人的遥控部分在整体使用中的有效性与准确性。

2  无线遥控的实际应用

2.1 无线遥控模块

为了提高机器人接收数据的实时性与准确性,笔者使用了带解码的低功耗无线超外差接收模块RXC6,这种遥控接收模块的电源功耗较低,适用于各种类型的机器人控制器。其良好的本振辐射抑制能力,可以在多个接收器的情况下接收单个遥控器所发射的信号,且接收器不会受到来自其他遥控发射信号的干扰。

RXC6包含有11个端口,一个电源正极VDD、两个电源地GND、一个天线端口ANT、LED可以外接指示灯、SW可外接学习按键、VT遥控信号指示,VT收到遥控信号会闪烁,D0 D1 D2 D3口为数据输出口,对应无线模块处理后的4位数据。其额定工作电压为3.3V~5.5V 。此模块具有三种操作模式可选择:点动模式、自锁模式、互锁模式。本实验测试中使用的是与接收器相匹配的小体积、远距离的5按键遥控器,当然遥控器的按键还可以扩展使用更多的按键。RXC6无线遥控接收模块外观如图1所示。

图1 RXC6无线遥控接收模块外观

2.2 RXC6模块在机器人上的实际应用

机器人一般由执行机构、驱动装置、检测装置和控制系统以及复杂的机械结构件组成。机器人之所以能够完成各种动作,不仅是因为机器人身上配备的各种传感器,其协调各部件按照既定算法运作的控制系统同样关键。如何在控制系统上接入RXC6,并且在控制系统上使用算法将无线遥控的功能运用在机器人上,使机器人准确接收指令,严格按照指令行进是本研究的关键所在。

将RXC6接入控制系统,除了要了解它的各项参数,还须知道模块输出的数据类型,以方便在控制算法中对其进行使用。

为了获得RXC6模块输出的数据,使用配套的遥控器,按下每一个按键,用示波器测量按下按键时4个数据输出端的波形。波形如图2所示。

图2 数据波形

测量结果表明:RXC6模块输出数据为0V~5V的方波信号,当按下其中一个按键时,与这个按键相对应的数据位的电平值变高,当无输入时,数据位上电平值始终保持为0V,符合TTL电平特性。这一特性对使用者在各种控制模块上接入这一模块非常有利。在使用此模块时,用一个5键的遥控器对其发射数据,接受的值各不相同,对于本次测试所使用的5键遥控器,接收模块的电路输出状态可以分为6个状态,如图3所示。

图3 按键前后的状态转换图

在图3中,0000为无按键按下,1000为按下向右键,0100为按下向左键,0010为按下向下键,0001为按下向上键,1111 为按下中间键。

根据以上测试研究结果,笔者在两种不同的控制系统上对这种RXC6无线遥控接收模块进行试用。所用到的两种控制模块,一种是MultiFLEX 2-PXA270控制器,另一种是开发板LPC1768。

2.2.1 在控制器上使用RXC6无线接收模块

在比赛中,笔者使用的是创意之星模块化机器人套件。在这里,笔者用套件中所提供的MultiFLEX 2-PXA270控制器作为RXC6在控制器上的实验对象。

MultiFLEX 2-PXA270控制器是为小型智能机器人设计的,它具有高运算能力、低功耗、小体积,控制接口、数据接口丰富,开发方式便捷等特点[3]。控制器外观如图4所示。

图4 MultiFLEX 2-PXA270控制器

MultiFLEX 2-PXA270控制器中带有12个TTL电平的双向IO口,其采用GND/Vcc/SIG三线制[3],与RXC6模块的输出端正好匹配。因此,将RXC6的4个数据输出端口分别与电源和地组成三线制,并更换线头做成耳机线端口的样式插入控制器的IO端口即可。

在使用程序对这块遥控接收模块进行控制时,笔者使用的是与控制器配套的图形化编程环境NorthStar来编写接收模块的操作程序。将4个IO变量写入程序并判断它们当前的4个数据组合形式,根据其组合值控制机器人的前进、后退、左转、右转等动作。在实验中,笔者以机器人的前进、后退、左转、右转作为遥控的控制对象,并以此为例进行实验。如图5为实验部分程序图。

图5 在NorthStar上操作程序图

由于实验默认使用了RXC6模块的点动模式,即当有效信号输入时,接收器接收信号;当无信号输入时,接收器自动停止输出。因此,在测试中所看到的试验现象便是机器人在接收到遥控信号时会做出的相应动作,没有信号时则停止。根据现场实验结果显示,使用这种RXC6无线遥控模块在控制机器人的行进动作时,控制效果明显,机器人的走停反应也很灵敏。此处,无线遥控接收模块体积比较小,在机器人上安装操作也比较简单[4]

2.2.2 在开发板上使用RXC6无线接收模块

开发板(Demoboard)是用来进行嵌入式系统开发的电路板,包括中央处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件组件。本实验研究采用的是LPC1768这一款比较流行的开发板,如图6所示。

图6 LPC1768开发板

LPC1768 是NXP 公司推出的基于ARM Cortex-M3 内核的微控制器,属于LPC17XX 系列。LPC17XX 系列微处理器主要用于处理要求高度集成和低功耗的嵌入式应用,操作频率可达100MHz,具有3 级流水线和哈佛结构[5]。LPC1768微控制器包含多样化的外设组件,且其包含数量较多,使用起来灵活方便,在机器人的整体设计上可以提供很大程度的便捷性。

在2.1中笔者已给定,无线遥控模块RXC6的输出端由4个数据端口组成,且每一个数据端接收数据时都有变化,因此在测试中,将RXC6接入LPC1768时,必须将4个数据口都接入。RXC6的每一个数据端均是输出TTL电平,因此在开发板LPC1768上,给RXC6提供的是5V的VCC端口。由于TTL电平可以将数据表示成二进制的形式,即+5V等价于逻辑“1”,0V等价于逻辑“0”,笔者便将其输出的TTL电平转化成与之相对应的1、0信号,即当开发板端口检测到来自无线遥控模块上传来的高电平时,笔者将此状态编成1,反之当电平为低电平时编成0。

由于需要采集的是电平值,笔者使用LPC1768上GPIO端口的读取功能,通过GPIO的引脚电平状态FIOxPIN寄存器来判别RXC6模块输出的是高电平还是低电平,并将其转换成二进制1、0的数据形式。程序流程如图7所示。

在测试使用中笔者发现,对于LPC1768开发板而言,将模块接上开发板后,开发板需要对其数据位进行逐个读取,但在其编译环境中,笔者将其各个位上的数据进行拼接,然后再对拼接后的数据加以利用。在测试中,笔者使用了一个数组保存每一次端口读取的数值,其方法如下:

当然,在使用这种方法进行模块值读取时,也可以根据需要读入数据的长度设置一个无符号数,当某个端口的值为“1”时,相应数据位上置“1”。这种方法同样可以达到读取所用数据位数值,并且将其组合为一个数据的效果。

图7 程序编写流程图

笔者将其运用在实际操作中,并用LPC1768 UART的轮询模式对其进行试验,如图8所示。

图8 在超级终端上的测试值

在试验中,分别按下遥控器上的中间键、右键、下键、左键以及上键。根据测试值可以看到:当按键按下时,程序会产生一个与按下按键相对应的4位数据,当按键松开时,数据立刻恢复,即为全0状态。试验中采用超级终端实现LPC1768 UART的轮询,在程序代码中改变其波特率值,使得轮询时数据采集速度与信号接收速度相匹配。在机器人控制系统中使用这个方法可以使得机器人在采集数据时实现实时接收。

3  结束语

笔者介绍了一种无线遥控接收模块RXC6,以及在配套发射遥控器与两种控制器下的实际运用。根据在不同的控制系统上的测试,RXC6无线遥控接收模块均可使用且控制效果优良。

对于不同的控制系统,其代码编译环境会有所不同,程序的繁杂与简单自然也会有所区别。相比较而言,在这次测试中,对于实现无线远程遥控模块的控制,在LPC1768上的编译较为简便。

机器人完成一整套动作或者是一场比赛,离不开传感器、舵机等其他硬件、软件的配合,下一步,笔者会将无线遥控接收模块与其他的机器人策略、功能进行配合使用,从整体上对其控制进一步优化。

参考文献

[1] 孟庆仙. 基于AMR和FPGA的无线遥控仿人机器人双重控制系统研究[D]:云南大学, 2010-5.

[2] 第六届江苏省大学生机器人大赛——武术机器人擂台赛规则[OL].http://www.jsrobotmatch.com/html/1390574346.html.

[3] 姚宪华, 梁建宏. 创意之星:模块化机器人创新设计与竞赛[M]. 北京: 北京航空航天大学,2010:155-156.

[4] 张悦, 盖之慧, 赵伟, 等. 武术擂台技术挑战赛机器人整体设计[J]. 机器人技术与应用,2010(4) : 39-40.

[5] UM10360-LPC17xx User Manual[OL]. http://cache.nxp.com/documents/user_manual/UM10360.pdf.

本项目为基金项目:

(1)2015江苏省高等学校大学生创新创业训练计划——竞赛机器人关键技术研究,项目编号:201513646009Y。

(2)2015江苏省高校自然科学研究面上项目——面向搜索的未知环境下多机器人感知与路径规划方法研究,项目编号:15KJB510013。

(3)南京大学金陵学院2014年教学改革与研究立项项目——机器人创新设计实训,项目编号:0010521508。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
无线遥控开关电路(四)
sc2272-t4芯片有什么作用
带编码无线遥控发射模块(2262贴片芯片)+带解码接收模块
遥控模块
做一个遥控开关控制家电,实用电子制作
学习型红外遥控8路输出端
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服