蔡 军,张 毅,刘 璐,黄 浩,陈运华,洪 洋,匡仲琴,王浩宇
(重庆邮电大学 自动化学院,重庆 400065)
智能机器人目前正处于蓬勃发展的阶段。例如,2010年上海世博会上欧洲馆的主题是“智能欧洲”,可见世界发达国家已把机器人的发展方向瞄准了智能化产品的开发[1]。我国目前也在顺应这个趋势,积极推动机器人等高科技产品在医疗方面的应用。据资料显示,我国每年要进口数以千亿元计的医疗器械,尤其是价格昂贵的医疗手术机器人(其中进口的达芬奇手术机器人每台的价格高达2千多万元)。因此,研制具有创新设计的医用机器人已经成为当务之急。在这样的大环境下,我们设计并实现了基于模糊控制的医疗服务机器人。本设计采用模糊控制算法对机器人的速度进行控制,可以实现类人智能,使机器人能够稳定高速地按照一定路线完成指定任务,大大地提高了机器人的路径识别能力与移动能力;同时,在机器人的医疗手臂中心还装有它的“眼睛”——灰度传感器,通过灰度识别颜色抓取物品,大大地提高了抓取的成功率。
本医疗服务机器人具有识别不同路径、抓取医疗物品、运送模拟病人等功能。该系统主要分为以下功能模块:MCU芯片(ATMEL公司的8位单片机Atmega128)、电源模块、稳压模块、电机驱动模块、舵机模块、红外检测模块、灰度模块,如图1所示。基本原理是通过七路灰度传感器采集场地信息,根据MCU内置算法进行分析,计算出赛道的偏移量,控制电机使机器人进行巡线运动;同时,通过红外模块检测障碍物,以便医疗手臂的“眼睛”——高精度灰度传感器发现并识别医疗物品,控制直流减速电机抓取医疗物品[1-3]。
图1 医疗服务机器人功能模块图
总电源采用14.4 V镍铬电池。MCU、红外检测、灰度传感器、舵机四个模块由14.4 V镍铬电池稳压成5 V电压供电;而直流电机则稳压成12 V电压供电,并由电机驱动控制[4]。其中,稳压模块均采用LM2596芯片的典型可调电路,各模块供电的具体情况如图2所示。
图2 各模块具体供电情况
电机驱动采用LMD18200直流电机H桥驱动,内置保护电路,阈值为10 A。该驱动电路将电源电压(14.4 V)调制成频率一定的PWM波,改变脉冲的占空比从而改变电机转速。Atmega128芯片的PB0和PB4经HCPL2630和TLP521光耦隔离后接入DIR和PWM端,通过LMD18200 OUT1和OUT2接入电机。
四路红外接近开关识别障碍物并抓取医疗物品,红外开关检测距离可达3~80 cm,且响应时间低于2 ms,方便易用。它通过障碍物返回的红外线进行识别,若识别到物体则为低电平。红外接近开关分别编号为0~3,不同的传感器检测到的电压值有所不同,分别可以有:0和1、2和3、1和3等几种情况,不同情况机器人的位置不同,并给予不同的校正量[5]。
图3 七路灰度传感器模块
场地识别和路径检测至关重要,本医疗机器人采用七路灰度传感器配合巡线。灰度传感器是一种模拟传感器,它利用不同颜色的检测面对光的反射程度不同,而光敏三极管的发射极和集电极之间的阻值又随之变化的原理进行颜色深浅的检测。如图3所示,七路灰度传感器由七只高亮发光二极管和七只光敏三极管并行安装。在3~10 cm的范围内,高亮发光二极管发出光线,照射在检测面上,检测面反射部分光线,通过光敏三极管的基集控制三极管的导通。浅色物体为低电平,三极管导通;深色为高电平,三极管截止。医疗手臂中心也装有“眼睛”,通过灰度识别是否成功抓取物品,如果抓取失败,则返回执行其他策略,效率得到明显提升。场地的识别与检测采用七路灰度传感器配合,分别编号0~6号。不同的状态给予机器人不同的矫正量,矫正机器人的机身[4-5]。
由上述可知,医疗服务机器人电机速度控制的响应时间和控制精度对该机器人能否准确完成指定功能具有相当重要的影响。同时,由于机器人所处的环境复杂多变,难以建立精确的数学模型。因此,采用模糊控制算法对机器人的速度进行控制可以实现类人智能,使机器人可以稳定高速地按照一定路线完成任务。
速度模糊控制分为信息采集、模糊化、模糊推理和清晰化四个环节[6-7]。速度模糊控制的结构框图如图4所示。
首先,机器人通过单片机动态扫描传感器信息,及时捕捉机器人巡线情况。当机器人相对于指定路线发生偏移时,控制系统检测灰度传感器的反馈值,通过反馈信息调整左右两侧驱动电机的转速以减小机器人的偏移误差。假设单片机检测到机器人的中心相对于指定路线的误差为ε。以误差ε作为模糊输入量,通过模糊推理得到机器人所处位置的模糊隶属函数μA(ε)。然后,通过PID算法使机器人的动作清晰化,输出调整后对应的左右轮速度差Δ,经过一系列闭环控制使机器人准确高效地完成任务。
图4 速度模糊控制结构框图
图5 传感器排布图
在信息采集和模糊化环节,如图5所示,机器人前方的七个光敏三极管和发光二极管组平行等距排列,每组之间间距为d,显然最中间的一组应为车身的中线。小车直线行驶时,当车的中心线与巡线重叠时,小车准确行驶不偏移。此时传感器组仅有中间的一组检测到白色巡线,导通变为低电平,其余六组均为高电平。以传感器组作为分界标准,相对中线偏离d以内的认为基本无偏移(巡线在D3和D5间);偏离d~2d的,认为是向左或者向右偏移(巡线在D2~D3或D5~D6间);偏离中线超过2d的,认为是严重偏移(巡线在D2或者D6外)。于是在输入语言变量E的论域中,语言取值为“VL”(严重左偏)、“L”(左偏)、“Z”(无偏移)、“R”(右偏)、“VR”(严重右偏)[6-8]。
误差模糊输入论域E的分布服从中间型梯形型隶属函数。假设机器人偏移误差论域E={ε1,ε2,…,εi,…,εn}的隶属度为 A={μA(ε1),μA(ε2),…,μA(εi),…,μA(εn)},则在模糊推理环节有:
由于偏移量εi越大,巡线相对于中线的隶属度μA(εi)就越小,相应输出的左右两轮的转速差Δi就越大,故隶属度与轮速差存在负相关关系。将模糊隶属度μA(ε)作为清晰化环节的输入量参与PID控制,通过控制比例、积分和微分环节使机器人行动清晰化。经典控制理论中的PID控制,能够消除余差,克服扰动,快速响应反馈并调整系统使之趋于稳定。如图6所示,在时域内输入量为R(t),误差为e(t),控制器输出量为U(t),则输入量与输出量有如下关系:
图6 PID控制结构框图
由于单片机对传感器的数据扫描为离散值,设采样周期为T,在第k个周期离散化位置的PID算法公式为:
通过理论计算和经验修正,我们最终可以确定比例系数Kp和积分、微分环节系数KI、KD。当该式全量输出时为左右轮速,且与历史状态量有关,对于主控芯片的计算开销庞大,不利于系统的优化和快速响应。因此,改输出为轮速增量,计算中无需累加,增量值仅与最近几次的采样值有关。故改为增量式算法,得到在采样的第i个周期,输出量轮速差Δ与输入误差ε和隶属度μA(ε)的关系如下:
在PID控制的微分环节容易引入高频干扰,故在实际实现的控制电路后接一个低通滤波器,效果较好。
比起单纯的PID控制,基于模糊控制的PID算法加快了系统响应的速度,非常适用于惯性大、滞后大的复杂系统。并且在处理输入数据上,模糊控制不需要知道被控制对象的数学形态,相比经典控制理论需要确切的输入对象而言简单很多。由于模糊规则是模糊控制系统中模糊推理的依据,它主要依据对系统的观察和测量的结果生成。经过大量测试后可得到较完善的模糊规则,采用推理查表法和重心法可去模糊化,可以得到较理想的控制结果。
[1]秦志强,彭建盛,谭立新.AVR单片机与小型机器人制作[M].北京:电子工业出版社,2009.
[2]沈建良,赵文宏,贾玉坤.Atmega128单片机入门与提高[M].北京:北京航空航天大学出版社,2009.
[3]胡向东,刘京诚,余成波,等.传感器与检测技术[M].北京:机械工业出版社,2009.
[4]卡特索利斯(美).嵌入式硬件设计[M].2版.北京:中国电力出版社,2008.
[5]宁慧慧.智能小车运动轨迹的控制方法研究[D].太原:中北大学,2010.
[6]张毅.医疗服务机器人功能设计及实现[J].机器人技术与应用,2011(6):36-39.
[7]丁易新.基于单片机的移动机器人路径规划模糊控制器设计[J].自动化与仪器仪表,2009(1):24-28.
[8]高鸣.基于模糊逻辑的移动机器人智能控制器设计[J].东南大学学报:英文版,2010(1):62-67.