Keywords:Cleaning-robot, The software of the control system
1 引言
城市的现代化产生了众多的高层建筑。基于采光和美观的目的,许多高层建筑都以玻璃幕墙为外装饰,因此带来了幕墙的清洗问题。高大建筑物玻璃幕墙的清洗是一项繁重而危险的工作。目前,国内外主要使用升降平台或吊篮承载清洁工进行玻璃壁面的清洗。人工进行高层建筑物的清洗不仅费用高、效率低,而且十分危险。清洁工人从高空跌落、死亡的事故时有发生。高层建筑幕墙清洗机器人将使人从危险的高空清洗作业中解脱出来。
全气动、真空吸附高层建筑玻璃幕墙清洗机器人,所有运动件均由气缸驱动,由X、Y两个无杆主气缸构成机器人主框架,结构紧凑、重量轻。可伸缩腿部安装有真空吸盘,通过腿部的交替吸附和主气缸的运动,机器人可以实现在玻璃幕墙上的纵向和横向自主运动。在两个主气缸之间配备有腰关节,当机器人发生偏斜时,可以通过纠偏运动使其回到正常状态。它能够在平面、45°斜面和90°垂直玻璃面上自主爬行、擦洗、障碍检测、跨越障碍等动作。机器人系统应用于高空壁面玻璃幕墙的清洗作业,工作条件恶劣,面向工程使用无疑要求系统具有更高的安全性和可靠性。当控制器的硬件系统设计完成后,提高系统软件性能将提上议程。
2 机器人控制软件设计
机器人以可编程控制器为核心控制元件,其具有可靠性高,适应性好,接口功能强,组态灵活,软件开发调试周期短等优点。机器人上安装有多种传感器,用于检测窗框、屋檐、地面、胶条,并感测自身的位置与状态,为控制器提供必要的环境和状态信息。机器人的工作过程分为自检、初始化、作业、信息反馈四个部分,软件结构如图机器人本体程序规划(略)。进行自检和初始化过程为了确保机械本体正常,并获取各种基本作业环境参数、边界条件,从而使系统了解环境场信息。开始擦洗作业,操作人员通过触摸屏输出控制指令,机器人本体部分由机载控制器自主实现任务规划、调度和驱动。首先对于控制信息综合部分所得到的命令编码进行解码,并进行操作记忆,对于命令的安全性、合理性进行检验;接下来形成合理的运动规划方案,针对具体的任务进行分配、执行、管理动作序列,并形成各种状态标志;最后判断是否出现故障并进行信息反馈和处理。
在本体的软件设计中采用模块化方法,这种方法的使用是以机器人典型动作元的划分为基础,将系统整体软件设计成由相对独立、单一功能的动作元模块组成的结构。在复杂的程序结构中,可编程控制器自身的编程特点使得上层动作之间可能出现耦合现象,而采用模块化的设计方法,模块的相对独立性有效地防止错误在模块之间扩散蔓延,从而提高系统的可靠性。典型动作元的设计有利于控制功能的设计和实现,同时基于模块化设计为扩充已有系统、建立新系统带来了许多方便。
擦窗机器人运动和作业各部分之间的相互转换存在严格的约束条件。模块化设计的同时还必须对某些动作进行必要的封装,使得向操作人员开放的是简单、安全的操作指令接口。对机器人的运动封装既要考虑操作的方便、合理、可靠,又要考虑实现起来灵活、可继承。按照面向任务分层规划的原则,模块化的设计应该具有透明性、相容性和容错性三方面的要求。
透明性——模块的透明性指在对于上层的调用功能而言,被调用的模块完成指定功能后,不应留下任何额外的影响,不改变其它与该模块无关的状态。
相容性——控制系统的整体程序中存在着很多相互关联的模块,各种模块间的相互配合、协调一致称为相容性。相容性好要求有关模块的出口现场与后续模块的入口现场条件互相兼容,各模块间衔接时可以达到运动步数最少,效率最高的目标。这样有利于调用程序简洁明了,可读性强。相容性设计使得机器人整体动作协调合理,无冗余步骤,实现了最高效率地完成作业任务。
容错性——模块的容错性是指模块不但能在正常情况下完成指定功能,还应能处理异常情况,及时发现并妥善处理各种故障,从而保证系统的正常稳定运行。针对本机器人而言,所说的处理一般指:PLC软件立即向人机接口发出故障警告;机器人退回到上一最近状态,重新执行未完成的动作;各模块在执行任务期间,随时可以接收人机接口发出的监控命令;若经过预先设定次数的重复执行后,指定功能依然无法完成,则由上层转向故障处理模块。
为了实现上面所讲的各种功能,程序中设置了很多状态标志位,其中包括通讯控制位、解码动作标志、动作起始标志、动作中间进行标志、动作完成或故障标志以及真空、倾斜等等重要属性的状态标志。这些状态位相互配合,成为模块之间相互联系的重要途径。较上层的功能模块对于下层动作模块的调用是以各种状态标志为依据,也就是说一项操作经过动作规划的分解后通过将有关状态位置1完成,而动作续列按照逻辑顺序的转换凭借前一个子模块的成功标志的置位为条件。这种状态标志位的方法与可编程控制器的循环扫描工作机制相结合,从时间的宏观上保证了系统多任务的执行,而在微观上保证了任意确定时刻模块执行的安全性和可靠性。
3 关键技术的软件实现
下面就软件实现中典型问题进行讨论。首先讨论一下超声传感器数据处理问题。机器人所处理的外部信息主要是铝窗框和高大障碍物。通过对这两种障碍的检测,经过控制器的处理完成对工作环境的几何重构。对于高大障碍的检测采用接触开关,对于铝窗框和悬空的检测采用超声传感器。超声波利用物体界面上超声反射、散射检测物体的存在。超声波在空气或水的传播过程中,遇到其它媒质则因两种媒质的声阻抗不同而产生反射。因此向空气或水中的被测物体发射超声波,检测反射波并进行分析,就可以知道物体的存在、位置或性质。反射率的大小取决于两种媒质声抗的差异,差异越大,反射率越高。声阻抗一般用下式表示:
Z = ρC 式1
式中ρ为媒质的密度,C为媒质中的声速。空气和固体的密度、声速差异很大,因此在其界面上反射率接近100%。如果两种媒质的界面比较平坦,并具有一定的面积,那么达到这里的超声波几乎像遇到镜面一样被反射,如果界面凹凸不平,则向各个不同的方向产生不规则的反射。使用超声传感器时应注意测距精度、最大测距范围、方位分辨率、被测物体对超声波的反射性能和测距时间五个问题。
另外对于测量精度产生影响的主要因素是温度、气压和风等因素,其中以温度的影响最为明显。机器人中选用的超声传感器,探测距离为5-25cm,分辨率1mm=40mV,响应速度为近距离50ms,远距离300ms,使用环境温度为-10-55℃。超声传感器的性能如图所示(略可向作者索取)。图中横轴坐标单位为毫米,纵轴坐标单位为10/4096V。
超声传感器工作工程图(略可向作者索取)