,,,
(1.西南科技大学 制造科学与工程学院,四川 绵阳 621010;2.南京大学 工程管理学院 控制与系统工程系,江苏 南京 210093)
足式机器人具有较多自由度,能够在复杂的非结构环境中工作[1-2]。六足机器人拥有足式机器人许多优良特性,多个冗余自由度使其越障能力大幅提高,在灾害救援、资源开采、反恐防爆、核工业、军事运输以及星球探测等领域有着十分广阔的前景。针对不同非结构环境采用相应的优化步态可提高六足机器人的运行效率、增强其平稳性[3]。传统的六足机器人主要依靠操作人员自身经验远程遥控切换步态以实现攀爬楼梯、跨越沟壑、越障、避障等操作。然而,该方法对操作人员操作能力的要求高、依赖性强,在很大程度上限制了六足机器人的实际应用。因此迫切需要一种能够识别并适应未知环境的方法。
事实上环境识别是移动机器人在实际应用中需解决的基本问题之一。在环境信息已知情况下,机器人可执行导航、定位、运动规划、避障、目标跟踪等操作。近年来随着人工智能的发展,神经网络因具备很强的自学习能力、自组织性、容错性、鲁棒性等优点,逐渐成为环境识别领域的研究热点。目前国内外在利用神经网络实现机器人进行运动规划、避障、目标跟踪等有诸多研究[4-5]。具有代表性的有Guzik等人[6]提出的利用神经网络在二维环境中对车辆进行运动规划设计的方法,该方法能够在不确定条件下高效完成车辆本地导航任务。Syed等人[7]提出的一种改进脉冲耦合神经网络(MPCNN)用于移动机器人路径规划,基于动态阈值引入定向自动波控制加速神经元激发,从而保证路径规划的鲁棒性与实时性。
本文利用在机器学习领域有着卓越表现的卷积神经网络对环境进行在线识别。六足机器人通过机载摄像头读取环境数据,可自行判断所处环境类型,并主动切换步态对环境加以适应。研究结果表明,具有环境自适应能力的六足机器人能在消耗较少能量的基础上获得更高的速度与平稳性。
卷积神经网络是受生物学上感受野(Receptive Field)的机制而提出的一种前馈神经网络。由于其对几何变换、形变、光照具有一定程度的不变性[8],可以用较小的计算代价扫描整幅待检测图像,近年来广泛应用于模式识别、图像处理等领域。
图1为典型的卷积神经网络模型,主要由输入层(Input Layer)、卷积层(Convolution Layer)、池化层(Pooling Layer)、全连接层(Full Connected Layer)和输出层(Output Layer)组成。网络训练部分可分为前向传播和反向传播两个阶段。
图1 卷积层结构
前向传播可理解为将输入加权求和后再加上偏置值b,最后施加一个函数f,即:
a(l)=f(Wlal-1+bl)
(1)
其中:al为当前层的输出,al-1为上一层的输出,Wl为当前层的权值,bl为当前层的偏置,f为激活函数,用来加入非线性因素,使得神经网络能够更好地解决较为复杂的问题,常用的激活函数有式(2)所示的Sigmoid函数,式(3)所示的TanH函数和式(4)所示的ReLU函数。
(2)
(3)
ReLU(x)=max(0,x)
(4)
前向传播的卷积层主要实现对图像特征进行提取,上一层的特征图被一个可学习的卷积核进行卷积,然后通过一个激活函数,就可以得到输出特征图。每一个输出图可能是组合卷积多个输入图的值。卷积操作的权值共享特性可减小计算量。卷积层计算如下:
(5)
池化层往往紧随卷积层之后。通过平均池化(Average Pooling)或最大池化(Max Pooling)的方法将之前卷积层得到的特征图进行聚合统计。其平移不变性(translation invariant)增强了网络模型的鲁棒性并在一定程度上防止过拟合的现象发生。池化层计算如下:
(6)
全连接层是一种特殊的卷积层,与卷积层不同的是其卷积核大小和输入特征图大小相同,可以将学到的分布式特征表示映射到样本标记空间,在整个卷积神经网络中主要起到分类器的作用。
反向传播通过最小化残差来调整权值和偏置,一般使用式(7)所示的误差平方和损失函数对误差进行计算。
(7)
本文所设计的卷积神经网络共九层。其中第一层为输入层,输入图像大小为32×32×3(32×32为图像分辨率大小,3为图像通道数);第二层、第四层和第六层为卷积层,卷积核大小设置为5×5,步长为1,为了加快网络损失函数的收敛速度,提高模型训练效率,卷积神经网络的激活函数选用ReLU函数;第三层、第五层和第七层为池化层,定义池化方法为最大池化,其步长为2;第八层为全连接层;第九层为输出层,本文使用softmax分类器并设置10个输出节点。
图2 环境分类
为了识别不同环境,本文把环境类型分为冰面、草地、道路、废墟、沟壑、河流、石滩、沙漠、山地、沼泽10类,如图2所示。每类环境包括240张RBG图像,部分图像通过平移、旋转、缩放、变形操作得到,构成一个包含2400幅图像的环境样本库,并将这2400幅图片分为两大类,其中1800幅作为训练样本和600幅作为测试样本。
通过对训练样本进行5000次的训练,得到训练好的卷积神经网络环境识别模型,然后在测试样本中进行测试,最终该环境识别模型的误识率大约为12%。
自然界的六足昆虫如果蝇、螳螂等大都以三足步态或四足步态行进[9-10]。在不考虑负载的情况下,四足步态能在平坦的路面上获得较大速度,三足步态在崎岖路面和粘滞力的路面上能获得较大平稳性[11-13]。
图3 尺寸参数
实验使用的六足机器人每条腿有三个自由度,其尺寸参数如图3,机器人臀部长30 mm,大腿长84 mm,小腿长150 mm。图4为机器人样机,L1、L2、L3分别表示左边1、2、3号腿,R1、R2、R3分别表示右边1、2、3号腿。机器人前方搭载的摄像头可实时采集环境信息。
图4 六足机器人样机
实验中,我们将步态特征量分为五个维度,分别是步态种类、舵机转速、步长、抬腿上限和落腿下限。其中,令六足机器人足端距离机身垂直高度为100 mm时作为零点,足端向上移动为正,向下移动为负,抬腿上限表示足端垂直向上移动的最大距离,落腿下限表示足端垂直向下移动的最大距离。固定舵机转速为2.09 rad/s、步长为20 mm,改变步态种类并在足端空间范围内对另外两个特征量等梯度变换如表1所示,并对这些参数进行组合,如步态种类:三足步态、落腿下限:0 mm、抬腿上限:30 mm为一组步态参数,这样便形成了18组步态参数。
表1 步态参数
本文在环境样本库中随机选取4类,分别为草地、沙漠、山地和石滩,并根据这4类环境的主要特征搭建如图5的环境模型。该模型由四块600 mm×600 mm(长×宽)的小模型拼接而成。
图5 环境模型
应用18组步态参数分别在4类环境中重复进行3次测试,以最大化平均速度为评价基准,选取出4类环境所对应的最优步态参数。如图6所示,横坐标为步态种类,纵坐标为平均速度,以图中○为例,其对应的步态参数为落腿下限:0 mm、抬腿上限:30 mm。图6(a)为草地环境中机器人在不同步态参数下行走的平均速度对比,可以看出此环境中的最优步态参数为步态种类:四足步态、落腿下限:0 mm、抬腿上限:30 mm。同理,图6(b)、图6(c)、图6(d)分别为沙漠环境、山地环境和石滩环境中不同步态参数下行走的平均速度对比。沙漠环境中最优步态参数分别为步态种类:四足步态、落腿下限:0 mm、抬腿上限:30 mm;山地环境中最优步态为步态种类:四足步态、落腿下限:-10 mm、抬腿上限:30 mm;石滩环境中最优步态为步态种类:四足步态、落腿下限:-10 mm、抬腿上限:60 mm。
图6 不同环境中的平均速度
六足机器人在实际应用中往往要面临各种复杂的环境类型。单一的行走步态在与之相对应的环境中能表现优越,但在面对另外一些差异较大的环境时,由于该步态与环境不匹配,会造成六足机器人移动效率下降,能耗增加。
图7为环境自适应六足机器人的运行框图。通过搭载彩色摄像头,机器人能够时刻采集环境信息,并将这些信息通过2.4G无线通信模块传输给上位机;上位机将接收到的环境信息输入到训练好的环境识别模型中得出环境类型;机器人搭载下位机,接收到当前环境类型并主动调整步态参数驱动电机响应;最后下位机驱动摄像头进行新一轮的数据采集工作。以此循环进而可实现六足机器人自我感知环境变化并采取相应步态参数适应环境的功能。
图7 运行框图
为了对比说明采用卷积神经网络环境自适算法的六足机器人的优越性,我们将选取出的4种最优步态与之对比,分别在4类环境中进行测试。六足机器人通过机载摄像头读取环境数据,利用环境识别模型对环境进行自动识别,并根据识别的环境选取相应的最优步态,以此实现环境自适应。表2为机器人采用5种步态类型分别在4类环境中测试的平均速度。图8为机器人采用不同步态类型分别在4类环境中测试的平均速度曲线图,其中横坐标为环境种类,纵坐标为平均速度,以使用草地最优步态参数为例,机器人使用该步态参数在草地环境中行进的平均速度约为38.7 mm/s,在沙漠环境中行进的平均速度约为30.8 mm/s,由于使用该步态参数机器人抬腿高度过低,无法在山地与石滩环境中行进。由图8可以看出,采用单一的步态类型虽然能够在各自对应的环境中表现良好,但在面对其它环境时运行效率急剧降低。其中,机器人采用草地最优步态和沙漠最优步态无法在山地与石滩环境中前行。而采用环境自适应方法则可使机器人的运行效率始终处于较高水平。图9为机器人在包含上述4类环境的混合环境中(参照图5)采用不同步态类型的平均速度测试结果,横坐标代表环境类型,纵坐标代表平均速度,每种步态重复测试5次。实验结果表明,采用环境自适应方法的六足机器人在混合环境中能始终与外部环境相匹配,表现出更快的行进速度。
图8 单个环境中的平均速度
表2 不同环境中测试的平均速度(mm/s)
图9 混合环境中的平均速度
由于受外力或者环境地形的影响,六足机器人行走过程中的平稳性会受到干扰[14]。为判断机器人在运行过程中的平稳性,我们使用机器人运行时机身的俯仰角(pitch)与滚转角(roll)绝对值之和作为平稳性判断依据,绝对值之和越小,机器人越平稳。如图10为采用不同步态类型行走时机器人的机身俯仰角(pitch)与滚转角(roll)绝对值之和的曲线图。通过对比可以看出,采用环境自适应方法的机器人机身倾角变化幅度较小,其平稳性更高。
图10 混合环境中的机身偏转角度
实际应用中,六足机器人的性能除了要考虑行进速度与平稳性,其能耗大小也是一个十分重要的因素,决定着机器人的续航能力。为了对六足机器人运行过程中的能量消耗进行估测[15],本文建立了六足机器人能量消耗模型。六足机器人的能量主要由腿部每个关节处直流电机的运行所消耗,其在一段时间T内消耗的能量由下式给出:
(8)
其中:ua为施加电压,ia为电枢电流。
直流电机的性能可用其转矩和电压方程来表示:
τm=Ktia
(9)
(10)
(11)
其中:τm为转子的转矩,Kt为1转矩常数,ue为电枢绕组中与施加电压相反的感应电压,Kv为电压常数,θm为转子角速度,Ra为电枢电阻,La为电枢电感。
τ=τmGs
(12)
(13)
其中:Gs为减速电机的减速比。
绕组的电感通常被忽略,因此式(8)可写为:
(14)
其中:第一项为机械能,第二项为热损耗。当第一项为负值时,机械能表示由外力提供的能量增益,但直流电机无法储存该能量。因此,直流电机在时间T内消耗的能量由下式给出:
(15)
其中:
因此,六足机器人第i条腿的第j个关节在时间T内消耗的能量可表示如下:
(16)
因此,六足机器人在时间T内消耗能量总和可表示为:
(17)
图11 混合环境中的能量消耗
图11为混合环境中六足机器人走完全部路程的能量消耗总和的对比。其中,采用山地最优步态走完全程耗能约38 kJ,采用石滩最优步态走完全程耗能约42 kJ,采用环境自适应步态走完全程耗能约34 kJ。应用卷积神经网络环境自适应方法的六足机器人消耗能量总和要比采用单一最优步态少10%~20%。
本文提出利用卷积神经网络识别环境,六足机器人调整步态参数自适应当前环境的方法。建立10种典型环境共2400幅环境图片的环境样本库。在随机选取的4类环境中,应用卷积神经网络环境自适应方法的六足机器人能够表现出高速度、高平稳性、低能耗的优点,能够较好地自适应不同环境,为六足机器人的实际应用打下了良好的基础。
[1] HE J,GAO F.Type synthesis for bionic quadruped walking robots[J].Journal of Bionic Engineering,2015,12(4):527-538.
[3] ZHU Y,GUO T,LIU Q,et al.A study of arbitrary gait pattern generation for turning of a bio-inspired hexapod robot[J].Robotics and Autonomous Systems,2017,97:125-135.
[4] DUGULEANA M,MOGAN G.Neural networks based reinforcement learning for mobile robots obstacle avoidance[J].Expert Systems with Applications,2016,62:104-115.
[5] PANG S,DEL COZ J J,YU Z,et al.Deep learning to frame objects for visual target tracking[J].Engineering Applications of Artificial Intelligence,2017,65:406-420.
[6] GUZIK V,PYAVCHENKO A,PEREVERZEV V,et al.Neural networking path planning based on neural-like structures[J].Path Planning for Vehicles Operating in Uncertain 2D Environments,2017:25-96.
[7] SYED U A,KUNWAR F,IQBAL M.Guided Autowave Pulse Coupled Neural Network(GAPCNN)based real time path planning and an obstacle avoidance scheme for mobile robots[J].Robotics and autonomous systems,2014,62(4):474-486.
[8] BATAINEH M,MARLER T.Neural network for regression problems with reduced training sets[J].Neural Networks,2017,95:1-9.
[9] WOSNITZA A,BOCKEMÜHL T,DÜBBERT M,et al.Inter-leg coordination in the control of walking speed in Drosophila[J].Journal of experimental biology,2013,216(3):480-491.
[10] BENDER J A,SIMPSON E M,TIETZ B R,et al.Kinematic and behavioral evidence for a distinction between trotting and ambling gaits in the cockroach Blaberus discoidalis[J].Journal of Experimental Biology,2011,214(12):2057-2064.
[11] HAUSER K K,BRETL T,LATOMBE J C,et al.Motion planning for legged robots on varied terrain[J].International Journal of Robotics Research,2008,27(11):1325-1349.
[12] RAMDYA P,THANDIACKAL R,CHERNEY R,et al.Climbing favours the tripod gait over alternative faster insect gaits[J].Nature Communications,2017,8:14494.
[13] SOYGUDER S,ALLI H.Kinematic and dynamic analysis of a hexapod walking-running-bounding gaits robot and control actions[J].Computers & Electrical Engineering,2012,38(2):444-458.
[14] AGHELI M,NESTINGER S S.Force-based stability margin for multi-legged robots[J].Robotics and Autonomous Systems,2016,83:138-149.
[15] ROY S S,PRATIHAR D K.Dynamic modeling,stability and energy consumption analysis of a realistic six-legged walking robot[J].Robotics and Computer-Integrated Manufacturing,2013,29(2):400-416.