无轨服务型机器人的设计

2018-12-22 10:55邓怡辰李宇洁张亚南宋强
电脑知识与技术 2018年33期

邓怡辰 李宇洁 张亚南 宋强

摘要:随着科技的飞速发展,机器人开始走上为人类服务的舞台,服务型机器人具有广阔的市场前景和巨大的实用性,他们在不久的将来将代替或部分代替服务行业的从业人员。但是当前商用的机器人,其中以餐厅服务机器人为代表,大多都是有轨机器人,灵活性欠缺。为了解决这一现状,在综合比较了国内外同类产品的基础上,提出了实用性好、性能优于现有产品的餐厅无轨服务型机器人的整体设计方案。餐厅无轨服务型机器人的路径规划采用了简化的Dijkstra算法,利用Cortex-M3实现对餐厅无轨服务型机器人的控制,使用DSP机器人视觉识别使得机器人能精确定位。最终设计出来的餐厅无轨型服务机器人将能合理规划行驶路线,精确定位。

关键词: Cortex-M3; DSP机器人视觉识别; Dijkstra算法

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)33-0175-03

Abstract:With the development of science and technology, the robot began to stage for human services. Restaurant service robots which have broad market prospects, and enormous practicality. They will be replaced in the near future or partly replace the restaurant staff, It is represented by restaurant service robot, but the current commercial robots, It is represented by restaurant service robot, are rail-mounted robot, lack of flexibility. Innovative ideas in my mind. In order to solve this problem, in comparing similar products at home and abroad on the basis of the proposed practical high performance superior to existing products of overall design of service robot. Restaurant service robot path planning using simplified Dijkstra algorithm, restaurant service robots using Cortex-M3 ARM micro-controller control using DSP robotic vision recognition so that robots can accurately position. Eventually, the design trackless service robot in restaurant will be able to plan routes, precise positioning, enabling customers to want to use something.

Key words:Cortex-M3 ARM micro-controller; DSP for machine vision systems; Dijkstra algorithm;

無轨服务型机器人是为了减轻人类劳动量而设计出的服务型人工智能机器人,是机器人中一个重要的功能型机器人。近些年世界各地纷纷开始生产各种类型的机器人,机器人快速发现已初具规模,为各行各业提供了大量的劳动力,但工作于餐饮方面的机器人数量颇少,本文以餐厅无轨型服务机器人为例。餐厅无轨型服务机器人包括两个部分:机器人部分和实现盛菜功能的部分。本文的主要研究部分是机器人部分,包括整体方案的设计、硬件系统实现和底层软件设计。机器人按照功能划分主要有个3部分:主控部分、电机部分和图像采集部分。

1 系统的整体设计方案

我们将餐厅地图以“01矩阵”形式存入机器人的主控芯片中(“1”代表可通行,“0”代表不可通行),机器人遇到障碍物后会将前方位置更新为“0”(不通)。

餐厅无轨型服务机器人具有自主行驶功能,并且能够自主避让顾客。在接收到顾客的呼叫后通过Cortex-M3连接驱动,计算出最佳路径。利用脉宽调速(PWM波)控制直流电机转动,在每个直流电机的输出轴尾端安装一个光耦模块,用来检测机器人的行走速度。机器人通过超声波测距传感器来检测自己与前方障碍物的距离,并通过Cortex-M3的算法进行避障和路径规划。使餐厅无轨型服务机器人按规划的路径行驶,并根据当前路况实时更新最短送餐路径驶向顾客所在的餐桌。

在行驶的过程中,通过Cortex-M3的I/O接口连接的红外传感和接超声波测距传感器模块不断监测小车周围的环境。并通过摄像头识别餐桌上特定的色标,经DSP处理,使餐厅无轨型服务机器人定位自己在餐厅中的位置。

经过t分钟后,餐厅地图恢复初始值(注:t值由实验得出)。

2 控制系统的实现方案

2.1 系统的硬件设计

1) 主控部分

主控芯片选用的是Cortex-M3。这是一个32位处理器内核芯片,允许单片机高平率运行,理论速度在100MHz以上。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。拥有3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。

2) 电机部分

由于该机器人设计目标是:体积小,重心低,度快,所以选择电机时要符合这样的要求,同时兼顾成本因素。步进电机虽然体积较小,但是如果想得到较高的转速,将难以获得较大的转矩,同时在体积重量方面也没有优势,能源利用率不高。另外步进电机虽然可以使用闭环控制,但是需要增加反馈装置,这将增加运动控制模块的体积和空间。综上,最后选用的是型号为25GA98-280的直流电机。

但直流电机只能正转和反转,想让机器人灵活自如地行进,需要在整体设计中加入大功率的舵机与直流电机配合,利用直流电机的转速差来实现机器人的转向控制。在机器人在行进过程中,前进、后退、转向、避障,考虑到路面与机器人轮胎间的摩擦力处于一个范围内,直流电机面对不同的路况所反馈出的电流大小也是不同的,为了避免直流电机的电流直接反馈到Cortex-M3的芯片上并导致芯片的烧毁。本文选取L6203芯片直流电机控制板来稳定直流电机的反馈电流。

3) 图像采集部分

下图为基于TMS320DM642的数字视频处理系统。

图像处理算法是系统软件的重要组成部分。使用TMS320DM642芯片,实现了DSP对图像稳定的采集、处理及传输等操作,系统的DSP软件部分采用了C语言自顶向下的编程方法,并在TI公司的集成开发环境CCS下使用EMCV库 ,最终生成DSP的可执行程序。

图像采集模块由 CCD摄像头和TVP5150组成 ,可将实时采集的外部视频图像经A/D转换后 ,输入到图像预处理模块。图像预处理模块的功能包括改善图像、抑制变形和增强特征等。在数字图像处理系统中,通常有3种数据存储结构:双口 RAM结构、FIFO结构和乒乓缓存结构。基于 DSP的视频图像处理系统软件部分主要包括DSP软件和PC软件。

2.2 系统的软件设计

1) 机器人视觉系统

摄像头作为输入视频传感器是系统的信息来源,它输出的模拟视频信号不能直接被DSP处理,因此需要利用视频解码芯片完成图像的数字化过程。

视频输入采用了视频解码器TVP5150来实现。复合模拟视频信号传入TVP5150芯片后,先由芯片中的自动检测模块确认输入的模拟视频的制式,然后通过内部钳位、滤波、模数转换后形成亮度和色度信号;亮度和色度信号经过相应的处理模块转换成Y、Cb、Cr数字信号;Y、Cb、Cr数字信号在输出控制模块的作用下形成YCbCr视频数据流。

利用TVP5150芯片完成图像的数字化过程之后,将视频接口输入引脚上的视频数据存储到视频接口内的FIFO中。当FIFO的数据量达到预定阈值时,EDMA将把数据从FIFO中送入到DSP的内存里,这样DSP就可以完成图像处理和视频处理。

2) 测距及避障系统

餐厅地图可以看成是一个N*N的平面場景图,它只能在该平面场景中活动。

在N*N的平面场景图中,指定一点为机器人要到达的终点,经过Cortex-M3的计算后规划出一条时间最短送餐路径,机器人在送餐路上通过车头的超声波测距模块扫描前方障碍物,如果前方存在障碍物则舵机转动超声波测距模块,测量左右两侧是否有障碍物,若没有则选择一个最接近原始路径的路口,调用视觉系统定位自己在电子地图中的位置,并更新电子地图——将刚刚检测有障碍物的地方设置为无法通行,同时依照机器人此时位置Cortex-M3重新规划最短时间路径,若都有障碍物则调用机器视觉系统,选择动态障碍物较少的路口,并语音提示让路,待障碍物消失后继续前进。

3 机器人防腐设计

由于本文设计无轨服务型机器人所处的环境不可控,仅仅只考虑其功能的实现是远远不够的。为了更好地避免不可控的外在环境对电路造成的影响,需要对所设计的模型进行优化。优化内容如下:

1)在机器人外壳外部套用防油污的材料,做成一个封闭结构的箱子,使外壳便于清理油污。

2)后期将驱动系统升级为减震防滑的系统,保证了服务机器人工作寿命。

3)整体构造中机器人头部选择流线型半椭圆的形状,这样可以减小发生碰撞时墙壁对机器人的冲击,另外轮子的外沿不能超出车体的边缘,否则发生碰撞时外界对轮子产生冲击,对控制精度有很大影响。

4 系统调试

首先测试Cortex-M3所控制的电机电路,用J-link下载程序后,打开机器人电源开关,收到指令电机开始转动。使用逻辑分析仪分析输出的一组PWM波的波形和车轮转速,得到的波形如图6所示。可以检测到由车轮转动引起的稳定脉冲,将其与PWM波进行计数对比可以判断车轮运动情况。

其次,测试视频图像处理系统。TMS320DM642处理器通过编程所给路径,把图片读入内存中,通过算法标记出想要的颜色。由图7可以看出,视觉系统基本实现了颜色辨别功能,但是选取框中也包含了其他颜色,算法仍然需要改进。

因为机器人要进行避障,当其遇到障碍物的时候会进行判断下一步的路径,但很多时候因为惯性的原因而没有及时停下。因此应该降低行驶时PWM波的占空比,并把检测障碍物的范围增大。检测到障碍时,机器人就会减速,并在确定障碍物时可以立即停下来。

5 结论

本文设计了一款功能完善、行进稳健,动作准确的餐厅无轨服务型机器人。餐厅无轨服务型机器人的控制系统主要由硬件部分和软件部分构成,在系统设计完成的同时做了相应的调试与测试,保证了设备稳定可靠的运行。

无轨服务型机器人仍然处于一个不断研究探索的过程,需要不断地完善其功能,才能更好地适应社会未来的发展要求。将来的无轨服务型机器人将集成更多的功能,更加人性化的去服务于顾客。并且随着机器人的普及,需求量的增大,生产成本将大幅降低,我们将享受到高科技带来的优质服务。

参考文献:

[1]许永辉. TMS320C600系列 DSP原理与应用实践[M]. 成都: 电子工业出版社, 2012.

[2]滕春阳, 魏雨辰, 周选选. 光电传感器在智能循迹小车中的应用[J]. 科技致富向导, 2011(9):73.

[3]韦金辰. 零点起步-TMS320C600系列 DSP原理与应用系统设计[M]. 北京: 机械工业出版社, 2012.

[4] 杜茂康. C++面向对象程序设计[M]. 北京: 北京电子工业出版社, 2011.

[5] DUAN H. ZHAO D. Movement obstacle avoidance for a mobile robot based on stereo vision[J]. Mechanical Science and Technology, 2006.25(6): 631-634.

[6]李向军, 周广滨. 直流电机PWM控制方案的单片机实现[J]. 大电机技术, 2011(6).

[7]苏成富. 超声波传感器及其应用(上)[N]. 电子报, 2008-05-18.

[8]李玉. 自动导航小车的路径规划与控制研究[D]. 西安: 西安科技大学, 2008.

[9]李真芳. DSP程序开发-MATLAB调试及直接目标代码生成 [DSP Program Development][M].西安:西安电子科技大学出版社, 2003.

【通联编辑:唐一东】