宋 容
(成都理工大学 工程技术学院,四川 乐山 614000)
爬壁机器人指可以在垂直墙壁上攀爬并完成作业的自动化机器人,其具有较高的模拟状态,在运动过程中能够较大程度地复刻生物的位姿,为人类的生活和生产工作提供较大便利[1-3]。由于足式爬壁机器人通过对两条腿的运动状态进行协调控制,使得爬壁机器人的运动限制更少,更高的机动性和更快的步行速度,而腿部的机械结构使得它可以轻松地越过大型障碍,并能在最短的时间内适应台阶、凹凸不平的地形,因此该类型的爬壁机器人的应用优势更加明显、应用范围更广[4-6]。然而爬壁机器人运动涉及的学科较多、交叉性较强,且其内部零件组成结构较为复杂,由此提高了爬壁机器人的操作困难性,容易出现爬壁机器人失稳、移动偏差甚至摔倒等现象[7]。为了解决爬壁机器人运动存在的问题,设计并开发了爬壁机器人位姿定位控制系统。
当前国内外学者已经在爬壁机器人位姿定位控制的研究过程中取得了一定成果。文献[8]提出基于全局稳定的爬壁机器人位姿控制方法,基于爬壁机器人运动学模型,利用位姿偏移建立滑模传递函数,用双曲函数代替线性函数,测试整体渐近稳定性,并采用逆向设计方法确定双闭环的稳定性和误差收敛,达到精确跟踪的目的。文献[9]提出基于ECAD 模型的轻型机器人位姿定位控制方法。通过处理 3D 传感器数据来检测夹持导线末端的尖端位姿和组件端口位姿,实现机器人定位控制。
爬壁机器人位姿也就是爬壁机器人行走运动产生的整体姿态。从当前的研究情况来看,爬壁机器人位姿定位控制系统主要利用了深度强化学习、遗传算法、运动发散分量等相关技术,通过应用反馈发现现有的控制系统存在明显的控制效果不佳的问题,主要体现在控制误差大、爬壁机器人失稳情况明显等方面,且控制系统的运行性能存在明显缺陷。为此,在传统控制系统的基础上,引入大数据聚类分析技术。大数据聚类分析是对于动态数据进行精准分析的一门技术,根据数据之间的逻辑关系,将相似的对象划分成不同的组别。大数据信息以整个网络空间为背景,对于爬壁机器人的运动问题,能提供的信息更多。通过大数据分析以及聚类技术的应用,以期能够提高当前爬壁机器人运动状态的判断精度,进而实现系统控制效果的提升。
为了实现爬壁机器人的多功能性和全方位行走,同时考虑到其他方面的需要,爬壁机器人位姿定位控制系统必须具备多自由度协调控制、位姿平衡稳定控制、反应速度快等功能。结合爬壁机器人位姿定位控制系统的需求分析结果,从硬件和软件功能两个方面进行优化设计。硬件结构为控制系统提供了良好的物质基础,同时为软件功能的运行提供工作平台,图1为硬件系统的结构优化结果。
图1 爬壁机器人位姿定位控制硬件系统结构图
如图1所示,系统采用了控制器和主控计算机作为上位机,其接口更加可靠、更加丰富,当需要替换的时候,只要根据相应的接口与所需的下位机相连接即可。对图1中的部分组成元件进行改装与优化,提高系统的硬件运行性能。
爬壁机器人采用仿人体骨架结构,大体可以分为头部、躯干、四肢3个部分。
为方便研究,在建立爬壁机器人机械结构模型时,将各个零件的结构进行简化,使其成为一个形状规则、质量均匀的连杆,并以铰链的形式相互连接,而不会产生摩擦。爬壁机器人机械结构模型的构建结果如图2所示。
图2 爬壁机器人机械结构模型
为了保证行走的稳定性,爬壁机器人必须能够适应外界环境的变化,及时调整关节的动作。为了实现爬壁机器人的精确位姿定位控制,并在步行过程中维持其稳定性,必须获得爬壁机器人各个关节的实际位置、姿态信息等实时数据。因此需要安装传感器设备,实时监测爬壁机器人运动状态[10]。选择九轴传感器代替传统系统中的关节传感器和姿势传感器,九轴传感器设备中的核心元件为MPU9250,包括两个应用程序的结构。一个是独立的3-轴磁强计,用于测量关节的实时角,另一个是将3-轴的加速度传感器和陀螺仪相结合,从而获得爬壁机器人的姿态、方位和速度等参数。另外,为保证爬壁机器人位姿的控制效果,在系统传感模块中加设一个压力传感器,用来获取爬壁机器人与地面接触的受力数据信息,将其按照图3所示的方式安装在爬壁机器人足底位置。
图3中,O分别表示压力测点位置,Fzi为压力值。利用表面贴有电阻膜的压力传感器,可以判定爬壁机器人在移动时,足部与地面有无接触。
图3 压力传感器安装位置示意图
采用LD-20MG型数字式舵机为驱动元件,该设备的无负载电流为100 mA,质量为65克。LD-20MG型数字式舵机具有扭力大、虚位差小、精度高等特点。选择的驱动元件由舵盘、位置反馈电位计、减速齿轮组、直流电机及控制电路板等构成[11]。舵机的控制信号是一个具有20 ms周期的脉宽位置调制信号,在该脉冲宽度在0.5~2.5 ms之间,在相应的输出轴在0~180°之间具有线性的变化规律。当出现更大的脉冲信号被输入时,控制信号线就会被调整到新的相应位置,从而达到了爬壁机器人的移动需求。
爬壁机器人位姿定位控制器是控制软件程序的主要运行环境,传统控制系统中使用的单一控制芯片控制方式,其控制能力较为薄弱,若将其直接与爬壁机器人直接连接,爬壁机器人的前进位姿会出现明显不稳定现象。因此在优化设计的控制系统中,选择多控制芯片叠加的方式,优化的控制器结构如图4所示。
图4 爬壁机器人位姿定位控制器结构图
采用ATmega328为主要控制单元,在接到主机的控制命令后,能够实现对下级的舵机进行同步的控制,具有较大的负荷容量。在控制时,爬壁机器人装置的实际连接方式不受约束。由于有ATmega328单元,所以整个控制器的外部电压总是处于一个稳定的值[12]。在爬壁机器人的行走过程中,控制系统的输出信号中既含有关节角度、转动时间等物理参数。通常,每个关节的动作和停止动作都是高度一致的,但是如果只有一个关节的动作角度变化,就可以直接由控制器来完成。
为了给实时爬壁机器人位姿监测数据与控制信息提供存储空间,为大数据聚类分析技术提供充足的数据支持,将传统系统中的串行同步存储器改装成异步存储器。优化的FIFO存储器一般使用两个指针的环形FIFO结构写入的存储器地址位于写入指针中,将第一个被读取的数据的位置传输至读取指针中。在这种模式下,读、写、再传送都是相同的。所以,要想在字宽上扩大多个 FIFO内存,就需要对各内存的状态标记进行操作,产生“混合标志”。混合标识还包含全空和全满两个标识。这样, FIFO内存就能保持同步,并达到字宽的扩展。在硬件方面, FIFO存储器实质上是一个双口数据存储器,FIFO存储器的读写指针的改变通常由两个 SRAM完成,用二进制计数器来完成指针对 SRAM的存储地址的控制。FIFO控制用两个时钟信号来控制存储器的读、写操作,其中的数据被特定的时钟信号写到 FIFO,同时由其他时钟区域的控制信号读写 FIFO。与同步 FIFO存储器相比,它的读写指针的改变是由不同的时钟引起的,两者是完全独立的,因而时间控制更加复杂[13]。异步 FIFO存储器的空、满的判断是在不同的时钟范围内进行的,因此,在一定的时间段内,FIFO内存很难精确地计算出可供使用的内存。异步FIFO存储的优化设计结构如图5所示。
图5 系统异步FIFO存储器结构图
从图5中可以看出,在数据输出端增加了两个单独的时钟,以确保输出数据的稳定。
此外,由于硬件系统所用的器件和器件的改变,对电源的要求也随之改变,将二极管SR5100串联起来,利用AMS1117-5、AMS1117-5、AMS1117-Adj实现对电源电压的变换。除上述硬件设备外,控制信号通信网络、A/D 信号转换板、爬壁机器人位姿实时显示器设备均沿用传统硬件系统设备,并将其与优化后的硬件设备通过电源电路进行连接。
在硬件设备的支持下,以爬壁机器人的机械结构和运动原理为基础,结合其实时运动状态和不同位姿的基本特征,在爬壁机器人整体稳定的前提下,通过对摆腿顺序、足端轨迹、跨步以及转角等参数的控制,实现爬壁机器人的位姿定位控制功能。
爬壁机器人每条腿上包括髋关节、膝关节和踝关节,各个关节的运动范围如表1所示。
表1 爬壁机器人关节运动范围
定义表1的运动范围为爬壁机器人关节运动的自由度约束,完成爬壁机器人机械结构模型的构建。在此基础上,根据爬壁机器人的连杆参数以及关节的运动情况量化描述其运动信息。在已知关节转角的前提下,定义爬壁机器人足末端坐标为(xfoot,yfoot,zfoot),则此时爬壁机器人腿部的正运动学方程可以表示为:
(1)
式中,参数α、β和θ分别为髋关节、膝关节和踝关节的旋转角度,H为爬壁机器人足末端与地面之间的高度,L1、L2和L3代表关节之间的距离。爬壁机器人在单腿支撑运动状态下的动态方程如下:
(2)
(3)
式中,▽q表示的是向量q中各组成元素偏微分的行向量,Dq为y相对元素x的偏微分雅克比阵,V表示势能。同理可以得出爬壁机器人在摆动阶段、脚触地阶段、双腿支撑阶段的动态方程,将其与机械结构模型相结合,得出爬壁机器人位姿运动学分析结果。
将传感器设备安装到爬壁机器人机械结构模型的指定位置上,利用硬件系统中的传感器设备获取爬壁机器人的实时运行数据,待采集的运行数据参数包括角速度、步频、位姿周期以及关节角度等[14]。首先设置传感器设备的数据采样间隔时间,清除中断标志,爬壁机器人实时运行数据以波动信号方式输出。单位时间内爬壁机器人足端传感器在水平方向上产生的位移,即为角速度参数采集结果。步频参数的实时采集数据可以表示为:
(4)
式中,nsteps表示爬壁机器人产生的步数,t为时间。位姿周期指的是同侧脚掌相邻两侧脚跟着地之间所经过的时间,可以通过对传感器输出信号的波动频率直接得出。另外关节角度可以利用九轴传感器设备直接测量输出。
通过爬壁机器人机械结构模型的构建与分析,能够确定爬壁机器人各个组成模块的长度数据,并确定不同位姿形式下爬壁机器人关节的空间关系、位置坐标以及关节角度,并以此作为判定爬壁机器人位姿的比对标准[15]。在此基础上,定义爬壁机器人实时运行数据采集结果为X,随机选择k个聚类中心,利用公式(5)计算选择聚类中心之间的相似度。
S(k)=g(k)→R
(5)
其中:g(k)和R分别为映射函数和实数域。根据相似度计算结果,划分k个对象至相似度最小聚类中心,结合大数据聚类分析算法,提取聚类数据信息的特征点,计算公式如下:
(6)
(7)
爬壁机器人的位姿大体可以分为规则位姿和不规则位姿两种类型,在规则位姿下爬壁机器人每条腿的周期以及运动轨迹都是固定的,只能在平坦的路面上行进,具体包括对角位姿、跳跃位姿、三角位姿等,而非规则位姿下爬壁机器人腿的运动是非固定的,可以根据不同的路面情况来调整腿部的运动轨迹和周期[16]。由于爬壁机器人的运动位姿涉及支撑相、摆动相、步长、位姿周期、腿相位、占空比等参数,因此在爬壁机器人的运动位姿规划过程中主要针对上述参数进行设定。其中支撑相和摆动相主要对应的是爬壁机器人腿部与地面直接接触以及悬空摆动两种状态,左右两腿交替作为支撑相或摆动相。结合爬壁机器人的机械结构,可以得出其运动步长与其腿长之间的关系如下:
(8)
式中,Lleg和Lstep分别为爬壁机器人的腿长和运动步长,vavg为当前运动状态下的平均速度,可以根据大数据聚类分析技术直接得出vavg的具体取值[17]。腿相位参数指的是两腿之间的距离,以当前支撑相的位置为固定点,腿相位的取值即为步长规划值。整个位姿循环可分为两个阶段:支撑相阶段和摆动相阶段。脚部的上举是支撑相阶段的终点和摆动相阶段的开端,而脚部的落点则是摆动相阶段的终结和支撑相阶段的起始[18]。那么在爬壁机器人位姿的规划过程中,可以结合爬壁机器人的运动目标,确定任意时刻爬壁机器人各个关节和组成结构的所处位置及位姿参数的规划结果。以规则位姿中的对角位姿为例,其运动位姿时序规划结果如图6所示。
图6 爬壁机器人对角位姿规划时序图
采用多项式内插法规划了踝关节的运动轨迹,规划结果可以量化表示为:
(9)
式(9)的求解结果xankle,swing(t)、yankle,swing(t)和zankle,swing(t)分别为单腿支撑期摆动腿踝关节在X、Y和Z方向上的运动轨迹,t为时间变量,ai、bi和ci分别为常数系数,以运动步长作为约束条件得出参数的具体取值,进而得出式(10)的唯一解。根据摆动相的规划结果,结合其与支撑相之间的腿相位关系,可以得出支撑相的位姿轨迹规划结果[19]。同理可以得出不同运动位姿下,爬壁机器人其他关节和组成元件的所处位置,通过大数据的聚类整合,得出最终的位姿规划结果。
爬壁机器人位姿的控制量主要为关节角度和角速度,根据爬壁机器人位姿与关节轨迹的规划结果,可以确定不同时刻爬壁机器人组成结构的关节角度,通过对当前爬壁机器人实时运行数据的采集,利用公式(10)得出控制量求解结果。
(10)
其中:θ和ν表示的是当前采集的关节角度数据和运行速度数据,θtarget为规划位姿结果设定的关节目标角度,若计算得出的Δθ为负数,则需要向逆时针方向调整关节角度,否则关节角度的调整方向为顺时针方向,而Δν取值为负,需要通过增大关节之间的摩擦力,执行减速操作,否则向正方向增大运动角速度[20]。
将爬壁机器人位姿定位控制量计算结果输入到硬件系统的控制器设备中,将其转化为关节驱动力矩,实现对实时爬壁机器人姿态的控制,保证爬壁机器人的实时运行位姿与规划结果一致[21]。在位姿定位控制的过程中,需要保证爬壁机器人的运动稳定,因此在不考虑爬壁机器人行走方向的情况下,利用公式(11)判断爬壁机器人位姿是否稳定。
(11)
式中,κh和κr分别为爬壁机器人前向和侧向的行走稳定参数,ωhi和ωri为两个方向上的加权系数,而μX-Y、μY-Z以及μX-Z为XY、YZ和XZ三个空间维度上的方位角度。设置κ为爬壁机器人运动稳定临界值,若式(11)的计算结果高于临界值,则判定当前爬壁机器人处于失稳状态。此时通过改变爬壁机器人的步长和步频,调整爬壁机器人的步长以及腿相位,同时使足端与地面保持平行,使其在一定的步长范围内恢复稳定步行[22]。为了不影响爬壁机器人位姿定位控制主程序的运行,稳定控制程序处于并行状态,并与控制主程序同步运行,即在保证爬壁机器人稳定运动的前提下,实现系统的位姿定位控制功能。
系统测试研究是基于大数据聚类分析的爬壁机器人位姿定位控制系统开发的重要环节,通过实验验证可以进一步评估设计控制系统的可行性,并针对软件系统运行存在的问题进行改进和修正。此次系统测试实验主要针对系统的位姿定位控制功能进行测试,通过测试结果数据的分析,判定设计系统是否满足设计与应用要求。
实验选择Paints型号的双足爬壁机器人作为系统测试样机,该爬壁机器人的尺寸大小约为600 mm*200 mm*200 mm,爬壁机器人质量为5.96 kg,自由度能够达到25以上,在正常使用情况下能够保持90分钟待机,内置直流电机作为动力驱动设备,额定转矩为5.0 mNm。选择的爬壁机器人样机腿部气动肌肉的型号为DMSP-10-144N-RM-CM,其内径和额定长度分别为8.0 mm和127 mm,最大许用收缩、预张紧量分别为额定长度的20%和3%,最大迟滞和松弛量不高于额定长度的2%。爬壁机器人的每一条腿都包含两个相互对抗的铰链,每一个铰链都有一对气动肌肉。一共有8个关节,即这台爬壁机器人一共需要18块空气肌肉。为了确保整个轻便爬壁机器人的髋关节固定在躯干上,腿部与水平方向的角度为85°。髋部连接部位采用弧形长孔,使大腿与水平方向的角度从15~60°不等。小腿和膝盖之间的连接处,也有一个弧形的长孔,这样可以让你的小腿和水平面的角度在15~100°之间改变。该设计可以任意调节大腿和小腿的初始角度,增加了机械调节的灵活性,同时也为以后的研究增加了可能。在大腿、小腿关节处,在关节转轴上安装了一个角度传感器。试验表明,当每个气动肌肉的最大摇摆角为24.5°时,其预受力为10%左右是最好的。爬壁机器人的脚部采用了一种半圆形的橡胶球体,由尼龙材质的连接部分与腿部的底部连接,从而达到减震的效果。
实验共设置8个不同的爬壁机器人位姿定位控制目标,位姿内容包括直行位姿、曲线行走位姿、定向转向位姿、对角位姿等,每个控制目标实例的步行距离、位姿周期等参数均不同。编号01直行位姿实例的目标如图7所示。
图7 爬壁机器人位姿定位控制目标实例示意图
编号01直行位姿实例的步行距离为15 m,摆动角速度控制目标为0.5°/s,位姿周期为10 s。同理可以得出其他位姿定位控制目标实例的具体生成结果,并记录不同时刻爬壁机器人关节以及组成部分的位置与角度参数,以此作为判断设计位姿定位控制系统控制效果的比对数据。
为了测试爬壁机器人位姿定位控制系统在不同环境下的适用性,实验设置平地环境和不平坦环境作为实验的两个场景。选择某实验室平台作为平地实验场景,确保该场景表面无明显凹陷与凸起,在此基础上加设若干个纸板,并以不规则的形式分布在平地环境内部,实现不平坦环境的配置。上述两个实验场景都采用了可变速度的带式运输机,并在运输机周围安装了一种铝合金防护架,在防护架的上面安装了一个悬架,爬壁机器人被吊在了吊架下面。利用钢索的牵引,当爬壁机器人在移动中发生不稳定状态时,仍能保持其稳定,并能有效地保护其安全,防止其因动作不稳而发生损坏。配置的两种实验场景均覆盖无线通信网络,保证控制信号的稳定传输。
此次系统测试实验主要针对位姿定位控制效果进行测试,其中位姿定位控制效果设置测试指标包括爬壁机器人的足端轨迹控制误差、关节角度控制误差和占空比控制误差,其中足端轨迹控制误差的数值结果为:
εposition=|xtar-xact|+|ytar-yact|
(12)
式中,变量(xtar,ytar)和(xact,yact)分别为爬壁机器人足端的目标位置和实际位置的坐标值。由于此次实验未设置跳跃、下蹲等位姿,因此无Z方向运动。另外关节角度控制误差和占空比控制误差的数值结果可以表示为:
(13)
其中:θtar和θact为爬壁机器人任意关节的控制目标值和实际值,Tbrace和Tswing对应的是位姿支撑相时间和摆动相时间。计算得出εi的值越大,说明设计爬壁机器人位姿定位控制系统的控制效果越差,因此确定3个误差测试指标的预设值分别为0.5、0.3°和0.05。
在配置好的爬壁机器人位姿定位控制实验场景下,将准备的爬壁机器人样机放置其中,并连接控制系统中的硬件设备。在完成硬件调试的情况下,同时启动爬壁机器人和控制系统软件程序,将生成的位姿定位控制实例数据逐一代入到系统中,通过控制信号的传递以及控制器的运行,完成爬壁机器人的位姿定位控制。平地实验场景下,直行位姿实例的控制运行结果如图8所示。
同理可以得出两种实验场景下,所有控制任务的实现结果,并记录爬壁机器人的实时运动数据。通过足端轨迹位置数据的收集与统计,得出足端轨迹控制误差测试结果,如图9所示。
图9 足端轨迹路线对比
将图10中的数据代入到公式(12)中,计算得出εposition的平均值为0.34,低于预设值。
为进一步验证设计系统的准确性,采用文献[8]方法为实验对比方法,对比测试关节角度控制误差和占空比控制误差的测试结果,如表2所示。
表2 设计系统位姿定位控制精度测试数据表
将表2中的数据代入到公式(13)中,计算得出设计系统的εθ误差平均值为0.1°,εβ误差平均值为0.6%,明显低于文献[8]方法的控制误差。由此证明,设计的基于大数据聚类分析的爬壁机器人位姿定位控制系统的控制功能满足设计与应用要求。
爬壁机器人作为智能时代发展的产物,已经在诸多领域得到应用,爬壁机器人的关节灵活性以及运动精准度决定了其应用价值。通过大数据聚类分析技术的应用,有效地解决了爬壁机器人的运动位姿控制问题。然而受到时间和空间的限制,系统测试实验设置的用例数量较少,且未对系统的运动稳定控制效果进行测试,因此在设计系统投入应用之前,还需要对实验数据进行补充。