当前位置:首页 期刊杂志

移动机器人遥控控制系统的设计与实现

时间:2024-05-04

鲁冬梅 陈睿

摘要 本文介绍了一种移动机器人遥控控制系统。该系统能够实现用手持Android移动终端遥控机器人的功能。介绍了系统整体硬件设计方案。系统采用了两套Arduino控制板分别控制机械臂和移动平台,采用Android系统作为接收端系统。通讯方案采用蓝牙转串口方案。经测试表明,本方案能够实现无遥控功能。

【关键词】Arduino Android 蓝牙 控制系统

信息技术的发展促使机器人更加智能化。我们生产、生活中机器人替代人工的应用也越来越多。因此对机器人的研究具有重要的应用价值。机器人对发展我国工业的发展起着至关重要作用,移动机器人将成为未来数字化信息化社会的关键角色随着移动机器人的发展,其中大部分具有移动功能的机器人都要使用无线控制。

Arduino是开源的电子硬件开发平台,提供了丰富的硬件模块和软件库,本文中传感器驱动程序就是直接调用函数库来实现的。Android系统是Google公司开发的一个开源的移动终端操作系统。它同时也具有开放、丰富的软件库等特点,利用这些优点可以实现移动平台端点快速开发,本文中的遥控端的程序就是在此平台完成对。同时利用这两个开放的软件、硬件开发平台,可以快速开发出所需的软硬件系统,验证设计思路的正确与否。在国内,同时利用这两个系统开发的案例并不多。本文介绍了一种蓝牙控制机器人的控制系统的设计与实现。

1 系统硬件设计

如图1所示,控制系统采用Arduino UNO作为主控板,利用L298N作为电机驱动电路板,产生驱动电流带动两个电机正/反转动,电机通过带动齿轮减速器,减速器直接带动驱动轮转动。驱动轮带动从动轮和履带转动。通过控制两个履带正转、反转,使机器人产生前进、后退、左转、右转四个动作。另外配有一个机械手臂,总共5自由度。这个机械臂由另外一块Arduino UNO板和拓展版提供驱动。蓝牙模块由第一块控制板控制,所有控制信号由蓝牙模块接收。

装有Android系统具有蓝牙功能的设备一套,编有相应软件用于产生控制信号和收集传感器信息。

1.1 Arduino主控板

控制板核心是AVR单片机。该单片机有丰富的功能,可以实现数字模拟信号的处理。Arduino是一个完整开源硬件开发环境,所以其自身就具有一套完整的程序开发环境软件和配套资源。

考虑到ArduinoUNO的输入输出口有限,而所需控制的舵机、传感器很多。因此本文中的机器人采用两块Arduino UNO主控板分别控制机械臂和底盘。其中A板主要用于机械臂的舵机控制及机械臂上传感器信号处理。B板主要用于底盘控制、远程通信及相应传感器信号的处理,转发A上的信息及收到的指令。这样设计可以降低每个控制板供电负担、及信号处理的负担。

1.2 供电电路设计

机器人驱动使用了12V电源,主要考虑到带动履带所需要的扭矩比较大,相对5V而言,12V能提供充沛的动力。但是由于其他控制电路电路所使用的电源为5V,采用7805电源电路降压提供了5V电源。机器人上面的传感器使用5V电源。

1.3 控制板之间通信

因为本文设计方案采用了两块Arduino,那么控制板之间必须有信息交换。但是所采用的Arduino UNO控制板只提供有1个串口,但是要实现对信号的转发则需要两个串口。本文采用了软件虚拟的方法,把普通的输入输出口模拟成串口,实现信号的转发功能。这样就实现了信号的交换。

1.4 蓝牙串口模块

本文采用的是HC-05嵌被入式蓝牙串口通讯模块来实现信号转换。主控板的RX、TX接口与HC-05对应的口连接。串口信号经过蓝牙模块转发后,到达手持设备。Android的系统编有蓝牙转串口程序,可以读出接收到的以串口协议发送过来的传感器数据,同时手机端的按键动作以特定符合编码的形式发送给蓝牙模块。

2 软件编程

分别为控制板A、B编写控制程序,同时B板编写串口转发程序,转发A板的信息。为Android系统编写遥控程序,不同的按键对应特定的编码,不同的编码对应不同的动作,在Arduino控制板中再根据收到的编码执行相应的程序。

3 系统测试

通过匹配蓝牙模块与移动终端,打开移动端接收信号的程序,通过按下控制界面相应功能,软件向机器人发送相应指令。机械臂和底盘接收到命令后,根据不同的命令实现不同的动作。

經实物测试,该设计能实现远程无线遥控机器人操作。

参考文献

[1]曾健平,邵艳洁.Android系统架构及应用程序开发研究[J].微计算机信,2011,27 (09):1-3.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!