基于Android的无线遥控移动机器人

2018-01-04 11:06刘畅
电脑知识与技术 2018年30期

刘畅

摘要:近些年,嵌入式系统飞速发展,通信传输速度的不断提高,使得机器人应用越来越广泛,更为机器人远程控制提供了便利平台。在移动机器人控制系统中,如采用PC机作为控制终端,则需要在專用网络设备支持的环境下才能进行现场控制,极不灵活。该文通过嵌入式技术、无线传输技术、传感器技术的融合,设计了较为实用且控制便携的车型机器人实现方案。该方案以ARM-STM32嵌入式微处理器为核心,添加硬件外设和软件程序搭建四轮全向移动机器人,以Android手机为控制终端,通过 WIFI无线信号的传输实现机器人的远程控制。机器人小车可实现红外循迹、超声波测距运动,终端可观察和控制机器人小车的运动。

关键词:STM32;Android;WIFI;超声波测距;红外循迹

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)30-0035-02

Abstract: In recent years, with the rapid development of embedded systems and the continuous improvement of communication and transmission speed, robots have been applied more and more widely and provided a convenient platform for remote control of robots. In the mobile robot control system, if the PC is used as the control terminal, the field control can only be carried out in the environment supported by special network equipment, which is not flexible. Through the integration of embedded technology, wireless transmission technology and sensor technology, this paper designs a more practical and portable vehicle robot realization scheme. This scheme takes arm-stm32 embedded microprocessor as the core, adds hardware peripheral and software program to build four-wheel omnidirectional mobile robot, takes Android mobile phone as the control terminal, and realizes the remote control of the robot through WIFI wireless signal transmission. The robot car can realize infrared tracking, ultrasonic ranging motion, and the robot car can be observed and controlled at the end.

Key words: STM32; Android; WIFI; ultrasonic ranging; infrared tracking

1 发展现状

移动机器人是一种由传感器、遥控操作器和自动控制的移动载体组成的机器人系统,可通过传感器感知环境和自身状态,实现在复杂未知环境中面向目标的控制或自主运动,完成预定任务。

在各种移动机器人中,轮式机器人应用最为广泛,如扫地移动机器人、玻璃清洁机器人、家用服务移动机器人等。在相对平坦的接触面上,用轮式移动方式相当优越,其中又以4轮应用最为广泛,4轮机构相对稳定且可采用不同的方式实现驱动和转向。

2 系统设计及原理

系统总体设计有软件与硬件两部分,硬件设计对各功能模块的硬件设备选型、工作原理以及电路设计做了详细的介绍。软件设计则根据上位机和下位机的不同控制平台搭建与之对应的软件系统。系统设计模块如下图:

下面对机器人系统各项模块进行分析和介绍。

(1)核心板处理器型号为 STM32F103VCT6,是基于ARM Cortex-M3 内核的增强型系列,内核结构先进、功耗控制能力杰出、最大程度的地整合集成,通过其完整、高效的开发工具和库函数,缩短了系统开发时间。STM32F103VCT6工作在72MHz主频下,带有片内SARM和丰富的外设,应用广泛。通过建立MDK-ARM5.0开发平台,可直接调试/下载程序。

(2)Wi-Fi 模块: Android系统已普及到手机、平板系统中,这种移动终端一般会搭载蓝牙、wifi、GPRS等通信模块,利用这些通信方式,则可实现遥控并可把实时数据传回遥控端。本次设计采用HLK-RM04模块,它是基于通用串行接口的符合网络标准的嵌入式模块,低成本、高性能、内置TCP/IP 协议栈,能够实现用户串口、以太网、无线网(WIFI)3 个接口之间的任意透明转换。通过该模块,传统的串口设备在不需要更改任何配置的情况下,即可通过Internet 网络传输自己的数据。

(3)驱动模块通过两组电源输入,给车型机器人平台供电。采用双H 桥驱动芯片L298N驱动四个带测速码盘的直流电机,该芯片输出电流大,瞬间峰值电流可达3A,持续工作电流为2A ,足够驱动所用直流电机,通过逻辑电平信号控制使能控制端,可以控制小车电机的正反转。

小车在行进中的调速设计则采用的是软件实现,通过改变电机电压与平均电压之间的占空比,控制高低电平的转换来实现速度的转换,即脉冲宽度调制,这种调制方法只用一个微处理器输出端口,且没有任何晶体管功率损失,常用方法是以固定频率产生脉冲,并根据实际需求“开”和“关”的时间改变平均有效电压,即改变占空比来实现电机速度的改变,使电动机速度得到控制。之所以采用直流电机,是因为它具有优良的速度控制性能,能够克服转动装置产生摩擦力矩和负载转矩的大扭矩大转矩,能够适应信号、速度的快速变化,具有很强的响应适应能力,且直流电机工作噪声小,性能稳定,最为常见,种类繁多。该设计中采用4个直流电机制作机器小车。

(4)超声波测距模块:采用测量传输时间的方法进行测距。原理是,发射器发射高频超声波脉冲,遇到障碍物后返回,由接收器接收,发射器和物体之间的距离等于超声波行进距离的一般,行进距离则等于传输时间与声速的乘积。测距系统中的发射头采用UCM40的压电陶瓷传感器,接收头采用与其配对的UCM40R,单片机选用8751,经济易用编程便利。

(5)循迹模块:采用8 路红外对管,8 个LM358 电压比较器且基准电压可调,配有8 个LED 指示灯。小车前面的8 个光电对管起循迹作用,由于光电传感器的灵敏度和高度不一样,环境光照强度也不一样,需要适当调节传感器模块上相应的电位器,和传感器模块高度,使传感器能夠在黑线上输出低电平,白线上输出高电平,从而可以识别路线,完成循迹功能。

(6)Android 是Google公司基于Linux平台开放源代码的操作系统,它是开放的平台,任何个人和组织都可以参与系统的开发,任意加入自己开发的特殊功能,不受限于操作系统。在移动智能终端领域, Android 占领了超过半数的市场份额,也成为全球使用过量最大的手机系统,它的发展逐渐改变了人们的生活方式。本次设计基于Android手机为控制终端,其流程图如下:

3 测试结果

本次测试准备一个小车的椭圆形跑道,跑道上白底黑线,并有障碍物设置。测试中需合理调节传感器模块上相应的电位器及传感器模块高度,使单片机对接收端输出能够正确判断,黑线低电平输出,白线输出高电平。通过Android软件控制小车的拐弯、转向。指令发出后,机器人能比较准确到达所需位置,并完成相应任务。当然,小车也有些许不足,如:转弯弧度太大,小车易脱轨失去控制,说明控制方案、算法有待优化。

4 结语

本文融合了嵌入式、无线传输、传感器等技术,设计了车型机器人并实现了移动终端控制。对硬件选择、程序设计、调试结果进行了深入分析。希望此类应用能过促进机器人实用性发展。

参考文献:

[1] 马琼雄,邱育波.文宗明.基于Android的移动机器人开发[J].中国科技信息,2013(08):87-91.

[2] 王宇阳,杨奕,韩志.基于Android设备的WiFi智能监控机器人设计[J].计算机与数字工程,2014(12):2410-2414.

[3] 臧莹.基于单片机的无线遥控移动机器人[J].科技风,2018(08):3.

[4](美)尼库(Niku,S.B).机器人学导论-分析、控制及应用[M].孙福春,等,译.北京:电子工业出版社,2013.

[5] 李瑞峰,冀龙涛.基于Android手机的家用机器人控制技术研究[J].计算机工程与设计,2013(12):4389-4394.

【通联编辑:代影】