基于竞赛的医疗服务机器人控制系统设计

2018-01-16 03:21:07刘家春孙凯旋史颖刚傅隆生西北农林科技大学机械与电子工程学院陕西杨凌712100
关键词:手爪循迹直流电机

刘家春,刘 利,刘 鑫,孙凯旋,史颖刚,傅隆生(西北农林科技大学 机械与电子工程学院,陕西 杨凌 712100)

医疗服务机器人规定动作的比赛项目是中国机器人大赛的子项目,比赛场地如图1所示,地面为绿色地毯,长6 000mm,宽4 000mm.机器人行走的引导线宽度为24mm,放入白色亚光纸条(双面胶),虚线引导线在比赛中不存在.A、B病床长2 000mm,宽1 000mm,床面离地面500mm.床头柜长500mm,宽500mm,高400mm.Q、R、S处的白线,长500mm,宽24mm,垂直于QRS,QR=RS=1 250mm.起点区(即终点区)宽600mm,长800mm.比赛中,机器人需要完成查病房任务和送药任务.根据比赛规则,比赛过程中,机器人需要能识别起跑线、停止线和赛道导引线,在没有导引线的部分路段,能自主完成任务.机器人按顺序完成如下动作:

图1 医疗服务机器人规定动作比赛场地示意Fig.1 The competition venue for medical service robots

(1)机器人查病房:机器人从起点出发前行,沿白色亚光纸条线,经R、Q,再到M(Q到M没有引导线),与A床病人进行交流,之后,经Q、R、S到N(S到N没有引导线),与B床病人进行交流.再经S、R回到终点区.

(2)机器人送药:机器人从起点区出发,沿白色亚光纸条线经R、S,将药瓶从护士台送到床头柜A、床头柜B.先送到床头柜A还是先送到床头柜B抽签决定.

药瓶初始被放置在高度为300mm的护士台上,最终要被转移到高度为400mm 的床头柜上.药瓶最终放置的位置精度不同,得分不同.

1 系统整体设计

根据竞赛要求设计医疗服务机器人,其结构示意如图2所示,包括车轮、车体、立柱、固定支架、机械臂和手爪.医疗服务机器人的机械手包括立柱、连杆Ⅰ、舵机Ⅰ、连杆Ⅱ、舵机Ⅱ、连杆Ⅲ和手爪.其中,立柱用于支撑机械手,提供抓取药瓶的高度;每个连杆的旋转自由度通过对应舵机的旋转实现;手爪舵机通过左右旋转驱动齿轮转动,实现手爪的开合.机器人运动本体的结构示意图如图3所示,包括4个车轮,4个直流电机,1个车身底板,以及单片机控制系统电路板;运动本体的前后部各装有7个循迹模块,左侧和右侧各装有1个循迹模块.其中,每个车轮由一个直流电机控制,由直流电机驱动模块控制直流电机的正转反转,实现机器人的前进、后退、左转、右转等基本动作[1-3].

1.车轮;2.车体;3.立柱;4.固定支架;5.连杆Ⅰ;6.舵机Ⅰ;7.连杆Ⅱ;8.舵机Ⅱ;9.连杆Ⅲ;10.手爪;11.手爪舵机图2 医疗服务机器人机械本体机构示意Fig.2 The mechanical structure of the medical service robot

图3 医疗服务机器人运动本体结构示意Fig.3 The sports chassis’s structure of the medical service robot

图4 医疗服务机器人控制系统架构Fig.4 The control system architecture of the medical service robot

机器人控制系统架构如图4所示[1-2],包括主控模块、驱动模块、舵机控制器、循迹模块、MP3播放器和扬声器.其中,主控模块选用STC89C52R单片机,电机驱动芯片选用L298N,舵机控制器芯片选用STM32.直流电机选用12V、100r/min的正科电机ZGA37RG,循迹模块选用灰度传感器SEN1668-D,舵机选用春天舵机SR403P,MP3播放器芯片选用VS1003,扬声器选用3寸国光喇叭.

2 控制电路设计

2.1 主控单元设计

图5 单片机最小系统电路原理Fig.5 The principle of the minimum system circut of the microcontroller

以STC89C52R为核心设计主控单元,图5为单片机最小系统原理图,包括晶振电路和复位电路.P0外接上拉电阻JP2,阻值10kΩ[4].P1口接发光二极管,二极管阳极接+5V电源,确保二极管的发光亮度.每个二极管都串联限流电阻.JP1、H2 、H3、H4为几个I/O口引出的排针,方便插接.C3为去耦电容.图6为电源输入电路,通过转换开关S5可以切换供电方式,即由5V电源供电切换为USB供电.发光二极管Ds1用来显示供电是否成功,R16为发光二极管的限流电阻,C6、C7均为去耦电容.电解电容C13起到滤波作用.

图6 电源输入电路Fig.6 The power supply circuit

2.2 电机驱动设计

采用一块L298N驱动芯片控制两个直流电机的电路原理如图7所示.其中,排阵H7的1、2口可以给主控制板供电,H1的1、2口和H7的7、8口用跳线帽连接,决定小车是全速运行还是通过PWM调速,跳线连接时全速运行,不连时可以给EN1、EN2输入PWM信号进行调速.发光二极管用来续流和显示两个电机的正反转,R2、R3为限流电阻.驱动模块内置LDO稳压芯AMS1117,电解电容C2为100uF.当输入9V电压时可以输出稳定的5V电压作为单片机系统的供电电源.

图7 基于L298N的电机驱动电路Fig.7 The drive circuit based on L298N

2.3 舵机控制器

舵机控制器本质上是一个单片机最小系统,可同时控制16路舵机.系统包括稳压电路、复位电路、时钟电路、USB通信模块[5].选用STC12C5A60S2 LQFP-48[6]单片机作为舵机控制器的处理器,采用稳压芯片AMS1117 5.0V设计稳压电路[7],舵机控制器最小系统电路原理同主控单元的单片机最小系统,不再赘述.

3 软件设计

根据机械结构设计和控制器设计搭建竞赛医疗服务机器人,如图8所示.根据机器人结构特点和竞赛规则,进行控制算法设计.

图8 基于竞赛的医疗服务机器人实物图Fig.8 A medical service robot for competition

3.1 小车基本运动程序设计

每个车轮由一个直流电机控制,由直流电机驱动模块控制直流电机的正转反转.L298N电机驱动芯片可以通过两位数字信号控制一个电机的正、反转.因此,需要两个电机驱动,控制4个直流电机的正、反转.使用脉冲宽度调制(PWM)方式驱动直流电机,电机的两个电极与电源正接或反接,可以使其正转或反转.每个电机需要3个控制信号EN1、IN1、IN2,EN1是使能信号.选用一路PWM连接EN1引脚,调整PWM的占空比,可以调整电机的转速,IN1、IN2为电机转动方向控制信号;IN1、IN2分别为1,0时,电机正转;反之,电机反转.为节省单片机引脚,可只用一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转[8].电机正反转的真值表见表1.

表1 直流电机正反转真值表
Tab.1 The logic truth valuetable of DC motor forward and reverse

IN1IN2EN1电机000不转010反转100正转110不转001不转011不转101不转111不转

设左前轮正转为前进,机器人本体的前进、后退、左前转、右前转、左后转、右后转、停止等动作实现的真值表如表2所示.驱动芯片L298N与单片机IO口相连接,使P1_0、P1_1、P1_2和P1_3分别控制4个电机[8].通过上述方法就可以构建医疗服务机器人的前进、后退、左前转、右前转、左后转、右后转、速度调节、停止等基本运行的子程序.

表2 机器人基本动作的真值表
Tab.2 The truth table of the basic motion of the robot

功能前进后退左转前进右转前进左转后退右转后退停止左前轮正转反转反转正转正转反转停转右前轮正转反转正转反转反转正转停转左后轮正转反转反转正转正转反转停转右后轮正转反转正转反转反转正转停转

3.2 基本循迹程序设计

比赛使用深绿色地毯,地毯上贴有白色胶带线.循迹模块采用灰度传感器,传感器发射管发射光线到路面,遇到白底被反射,接收管接收到反射光,经施密特触发器整形后输出低电平;当光遇到深绿色地毯时则被吸收,接收管没有接收到反射光,经施密特触发器整形后输出高电平.在小车前部设置7路循迹传感器,左、右两侧各设置1路循迹传感器,尾部设置5路循迹传感器.通过灰度传感器检测地面的白胶带,单片机管脚产生相关电压变化,从而得知小车运行方向与白色轨迹线的关系.前方7路循迹传感器的标号从左到右分别是L1、L2、L3、M1、R3、R2、R1;后方5路循迹传感器的标号从左到右分别是L4、L5、M2、R5、R4.

3.3 舵机控制程序

主控单片机通过舵机控制器控制舵机,单片机使用串口向舵机控制器发送数据,控制舵机的运动.为简化控制流程,在舵机控制器上位机软件的可视化界面中,把机械手取药、放药的过程拆分成程序化动作流程,则控制任务转化为舵机转动角度的控制.调试好机械手抓取、放药瓶动作中的舵机转动角度,并依次保存各个动作的舵机转动位置,则在机器人取药、放药时,依次调用该动作执行的子程序,其实是分别调用了两个不同的动作数组,则舵机控制器就会驱动舵机转动对应角度,完成对应任务.

上位机对舵机控制器下载程序本质上是串行通信,采用VB语言编写舵机控制器的上位机控制界面进行计算机底层数据传输,串口RxD与TxD通过USB线缆,分别与舵机控制器的电路与电脑的串口连接[9],形成物理通路.然后,使用VB 6.0构建虚拟COM口与调用语句,建立信号通路,设计上位机功能控件,实现上位机软件下载功能.上位机软件界面如图9所示.先设置控件初始属性,输入对应代码,则可实现串口信号接受、发送功能[10].

图9 上位机下载程序界面Fig.9 The download program interface of the host computer

3.立柱 4.固定支架 5.连杆Ⅰ 6.舵机Ⅰ 7.连杆Ⅱ 8.舵机Ⅱ 9.连杆Ⅲ 10.手爪 11.手爪舵机图10 机械臂复位状态示意Fig.10 The reset state of robot arm

图11 机械手取药瓶的流程Fig.11 The process of taking the bottle

医疗服务机器人在运动过程中,机械臂处于复位状态,才能保证机器人的重心位于车体的中点.否则,运动中的机器人会由于重心不稳,导致4个车轮对地面的摩擦力不均匀,机器人运动本体运动过程中会发生不可预料的偏转,不能按预定程序稳定运转.机械臂复位位置如图10所示,连杆Ⅰ与连杆Ⅱ的角度为60°,连杆Ⅱ与连杆Ⅲ的角度为120°,机械爪张开.机械爪的手爪舵机旋转90°,通过齿轮啮合,会带动手爪合拢.机器人取药瓶的控制流程如图11所示,放药瓶的控制流程如图12所示.

图12 机械手放药瓶的流程 Fig.12 The process of putting the bottle

3.4 主控制程序

机器人主控器与舵机控制器、循迹传感器、电机驱动器结合,控制机器人的循迹、取药、放药、查房动作.前方7路循迹传感器的标号,从左到右分别是L1、L2、L3、M1、R3、R2、R1;后方5路循迹传感器的标号,从左到右分别是L4、L5、M2、R5、R4.当灰度传感器检测到白色线后,会将低电平信号返回主控芯片.前方7路循迹中,当L1、L2、L3检测到白线后,会使小车向左运动;当R1、R2、R3检测到白线后,会使小车向右运动;当M1检测到白线后,小车前行,保证白线位于小车底盘中轴线位置.后方5路循迹中,L4、L5检测到白线后,小车向右运动;R4、R5检测到白线后,小车向左运动;M2检测到白线后,小车后退,保证白线位于小车底盘中轴线位置.采用两个光电开关检测前方障碍物,当前方有障碍物时,光电开关返回低电平信号到单片机,判断为到达床头柜护士台后,主控制器发送字符串指令给舵机控制板,控制舵机运动,机械臂执行相应动作.机器人查房、送药的软件流程分别如图13、图14所示.

图13 机器人查房的程序流程Fig.13 The procedure of the robot patrolling the ward

图14 机器人送药瓶的程序流程Fig.14 The procedure of the robot sends the bottle

4 结束语

在分析医疗服务机器人竞赛要求的基础上,设计了竞赛机器人机械系统、基本控制电路.根据比赛流程,设计了控制算法,经过实地调试,可在5min时间内跑完全程并完成任务,实现了医疗机器人竞赛要求.但是,系统在车体速度和机械臂抓取的稳定性上仍有一定的局限性,在没有导引线的区域,若采用图像传感器和陀螺仪的组合导航,可靠性要好一些,这些缺点将在后续的研究中进行改进.

[1]毛丽民,卢振利,谢新明,等.基于语音交互功能的医疗服务机器人控制系统设计[J].高技术通讯,2014,24(7):745-751.

[2]张毅,孙纯兴,李敏.医疗服务机器人功能设计及实现 [J].机器人技术与应用,2011(6):36-39.

[3]蔡军,张毅,刘璐,等.基于模糊控制的医疗服务机器人的设计与实现[J].实验科学与技术,2014,12(2):38-40,217.

[4]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009:12-36.

[5]冯晓伟,王雷阳,李正生.多路舵机控制PWM发生器的设计与Proteus仿真[J].现代电子技术,2011,34(11):167-169.

[6]余炽业,宋悦,雷瑞庭.基于STC12C5A60S2的智能循迹小车[J].实验室研究与探索,2014(33),11:46-49,121.

[7]王水平.开关稳压电源(修订版) [M].西安:西安电子科技大学出版社,2005.

[8]史颖刚,刘利.智能车控制实训指导书[M].杨凌:西北农林科技大学出版社, 2016(6):106-108.

[9]郭阳,王强,高禹,等.基于单片机的人形机器人控制系统设计[J].机械工程与自动化,2016(6):187-189.

[10]封莉,张萌萌.计算机与单片机的串行通信技术探究[J].煤炭技术,2013,32(3):253-255.

猜你喜欢
手爪循迹直流电机
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
大电机技术(2022年5期)2022-11-17 08:12:56
基于DFT算法的电力巡检无人机循迹检测系统设计
针对旋转手爪的结构设计与分析
电子制作(2018年24期)2019-01-03 02:30:30
基于单片机的智能循迹小车的设计
电子测试(2018年15期)2018-09-26 06:01:14
中科大机器人柔性手爪在机器人世界盃上获奖
荣誉杂志(2017年7期)2017-08-23 08:05:59
智能差分循迹小车设计
电子制作(2017年1期)2017-05-17 03:54:20
基于FPGA的双绕组无刷直流电机软件设计
电子制作(2017年1期)2017-05-17 03:54:12
基于MC9S12XS128处理器的智能循迹小车分析研究
电子制作(2016年11期)2016-11-07 08:43:49
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法