林建勇

(山东理工大学,山东 淄博255000)

1 概述

随着科学技术的不断发展,智能机器人已经涉及到生活的各个领域。为了满足垂直平面作业、桥梁设计以及建筑勘测等行业的高空作业需求,爬壁机器人一直是国内外机器人研究领域的重点[1]。目前爬臂机器人采用气动以及负压吸附方式,利用仿生学的原理实现在垂直平面上的运动,缺点是机动性能较差;轮式磁吸爬壁机器人是利用磁力吸附保证机器人吸附在垂直平面,灵活性强,缺点是适用范围较少,具有一定的局限性[2]。本文主要结合气体压力差吸附的工作原理配合轮式传动的运动特性,设计出了适应范围广、可沿固定轨迹运动的爬壁机器人。

2 硬件设计

2.1 运动方式设计

根据垂直墙面需求与配置的不同,往往选用不同的运动行进方式。目前主流的运动行进方式有轮式运动、履带式运动、多足爬壁式运动等。轮式爬壁机器人主要运用滚轮摩擦推动进行前进运动,具有移动速度快、可靠性强的行进特点;履带式运动主要依靠接地履带与墙面之间的相互作用力,推动爬壁机器人的前进与转向,其特点是具有较强的越障能力与自锁能力,但是行进缓慢。多足爬壁机器人是利用仿生学的原理,通过足部吸盘吸附,关节处采用电机通过齿轮运动,其特点是具有较强的适应能力,能够适应各种不同的复杂墙面[3]。为保证爬壁机器人具有较强的机动性能与灵活性,本文采用传统轮式传递运动,通过轮胎与墙面之间的摩擦力提供前进的动力。

2.2 吸附方式设计

爬壁机器人的吸附方式目前有负压吸附、电磁吸附等,负压吸附方式主要依靠真空发生器,通过真空泵不断抽取爬壁机器人内部的空气,从而保持空腔内部的负压。在此基础上,还应配以密封装置以保证爬壁机器人有足够的摩擦力去提供爬壁机器人的前进与转向。永磁铁吸附是依靠安装在履带上的永磁吸附块吸附来提供前进的摩擦力,在前进和转向运动时履带的第一块磁铁脱离壁面的同时,最后一块磁铁吸附壁面,这样周而复始运动传递,进而完成爬壁机器人的运动[4]。为了使爬壁机器人适应多种垂直平面以及具有较高的机动性能,本文采用负压吸附配合轮式运动的总体设计。为了使爬壁机器人底盘更加贴合垂直墙面,故采用体积较小的N20 自锁减速电机,底盘与墙面之间采用橡胶贴密封,用以最大限度地制造真空环境,因橡胶贴具有延展性,故可在压力差的作用下贴紧墙面以适应多种平面。真空发生器采用QF1611-7000KV无刷电动涵道风机,通过风机不断地将密封底盘内的气体抽走,使密封底盘内的气体气压小于外界大气压,风机持续转动,形成压力差,进而形成负压吸附的环境[5]。

2.3 硬件连接

爬壁机器人的硬件部分主要采用arduino mega2560 R3 开发板、2200 毫安40C 航模电池、L298N 驱动模块,12V 的N20 自锁减速电机、无刷电动涵道风机、无刷电调、数字量灰度传感器等。主要连接方式如图1。

图1 爬壁机器人硬件连接图

爬壁机器人整车采用12V 航模电池供电。控制部分采用arduino mega2560 控制板,arduino 开发平台是目前较为流行的开发平台,具有使用简单、功能多样等优点,可与多种传感器进行连接组合[6]。数字量灰度传感器是本车的光敏循迹模块,数字量灰度传感器相较于模拟量灰度传感器具有更高的灵敏度与准确性,灰度传感器的工作原理是利用不同颜色的平面对光的反射程度的灵敏度不同而进行检测,能够灵敏地感应爬行平面反馈的颜色灰度信息,便于爬壁机器人自主沿着规定的轨迹运动。爬壁机器人采用N20减速自锁电机构成运动系统,主要在于其体积小、减速比大。体积小可以有效的减小避免与爬壁机器人底盘之间的空隙,有利于更好的创造真空环境,减速比大可以有效的提供运动所需要的转矩。N20 减速电机通过L298N驱动模块驱动,并由arduino mega 主控板控制。根据爬壁机器人的灰度传感器所检测到的爬行轨迹的位置信息,arduino主控板发送给电机不同的转速信号,进而控制爬壁机器人可以按照特定路线自主前进。无刷涵道风机主要通过无刷电子调速器,由arduino主控板发送PWM信号控制,通过无刷涵道风机的快速旋转,不断抽取底盘与壁面之间的空气,进而创造负压环境使得爬壁机器人能够吸附在壁面上,风机的速度控制是通过人为调节电位器的大小来进行选择,可根据不同平面给予风机不同的转速以便适应多种垂直平面的工作情况。

3 软件设计

3.1 整体程序设计。爬壁机器人可以根据灰度传感器智能判断路线并沿着规定轨迹运动,其软件程序设计主要如图2 所示。

图2 爬壁机器人程序控制流程

将硬件连接好的爬壁机器人放在垂直平面上,首先通过人为调节电位器使无刷电动涵道风机转动,电位器作为风机的模拟开关,通过电位器调节模拟输入的值,arduino主控板根据电位器的模拟输入值调节对风机的模拟输出PWM值,进而控制风机旋转的速度大小。通过风机不断抽取内部空气,使得爬壁机器人底盘与壁面之间产生负压环境进而吸附在垂直平面。若风机没有启动,则爬壁机器人不会运动。当风机正常启动并可以使得爬壁机器人可以稳定地吸附在壁面上之后,灰度传感器会自动检测是否具有前进路线的反馈信息,当检测到前进路线,爬壁机器人便会在arduino mega 主控板的控制下,通过L298N驱动模块控制爬壁机器人前进和转向,前进的同时灰度传感器会不断检测路线,并采用多路灰度传感器循迹的算法,根据前传感器的返回值,判断小车的与路线的相对位置关系,进而可以调用相应的位置处理函数[7],通过不同位置的灰度反馈与对应的位置处理函数,arduino 主控板会自动调节PWM的占空比来控制爬壁机器人的前进与转向运动。

3.2 转向程序设计。爬壁机器人在壁面的运动性能是评价爬壁机器人性能好坏的一个重要指标,在运动特性中转向控制是最关键的一部分。本文中的爬壁机器人采用的是差速控制,差速控制的优点在于其转向控制灵活,通过四个电机的正反转以及转速控制便可以完成不同位置的转动以及原地旋转。差速转向控制因其控制简单、操作灵活、被广泛的应用于智能车的转向设计。爬壁机器人转速控制主要是通过arduino主控开发板产生不同的PWM占空比进而驱动电机按照不同的转速运动。PWM波是通过单片机编程经脉宽调制专用芯片输出,PWM调速对外界干扰有较大的抵抗力,可以通过调频、调宽、调宽调频三种方法改变PWM脉冲占空比,PWM调速也因其控制方式简单,对干扰的抵抗力较强,被广泛的用于电机的速度调节过程中[8]。爬壁机器人的速度与转向调节逻辑如表1。

表1 爬壁机器人电机控制信号逻辑表

L298N驱动模块具有4 个输入引脚,2 个使能引脚以及4 个输出引脚。通过双H 桥直流电机驱动芯片控制,采用12V电压供电。其中IN1、IN2、IN3、IN4 分别为L298N驱动模块的数字输入,表格中PWM1 与PWM2 分别代表ENA1 与ENA2,PWM1 与PWM2 的作为模拟输入接口。L298N驱动模块的这六个引脚与arduino主控板相连,通过使用arduino主控板改变6 个引脚信号的输入逻辑来控制L298N的输出,进而控制4 个N20 电机的转速运动。通过灰度传感器的位置反馈信号调用对应的位置处理函数,对应的位置处理函数对应相应的输入逻辑信号。经过arduino主控板的程序处理便可以实现爬壁机器人的前进、后退以及转向操作。

4 结论

本文通过对爬壁机器人进行吸附结构设计、运动结构设计以及整体程序设计,可以实现爬壁机器人在多种壁面环境下的工作运动。通过灰度传感器对路线位置的反馈,可实现爬壁机器人沿着特定轨迹路线进行运动,控制系统采用成本较低arduino开发板,整体成本低廉,具有良好的应用价值与市场前景。