网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

基于随机森林算法的气动软体机械臂视觉伺服  PDF

  • 陈元杰 1
  • 赵翰宇 1
  • 何启宁 2
  • 陈彦希 3
  • 彭江 4
  • 江沛 1
1. 重庆大学 机械与运载工程学院,重庆 400044; 2. 重庆城投城市更新建设发展有限公司,重庆 400025; 3. 重庆工业职业技术学院,重庆 401120; 4. 中煤科工重庆设计研究院(集团)有限公司,重庆 400042

中图分类号: TP241.3

最近更新:2023-09-24

DOI:10.11835/j.issn.1000-582X.2022.002

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
EN
目录contents

摘要

软体机械臂具有灵活性和柔顺性的特点,可在实现对位姿跟踪的同时确保与环境交互的安全性,近年成为研究的热点。但由于软体机械臂材料变形是非线性的,其运动学建模的参数众多且难以获得准确值,使软体机械臂实现运动学控制较为困难。为了补偿软体机械臂的不确定性,在现在视觉伺服的基础上,提出一种基于历史数据驱动的手眼视觉伺服新方法。该方法结合基于随机森林算法的控制器来完成机械臂控制任务,通过对历史数据聚类,基于随机森林回归模型建立软体机械臂驱动状态和末端图像特征的逆映射,无须求解机械臂和摄像机的任何参数,即可快速获取系统输入变量。实验结果表明,所提出的方法可以较好地实现预期控制目标。

与传统的刚体机器臂相比,软体机器臂拥有连续变形机体结构,具有良好的运动能力和环境适应性,可高效完成抓握、攀爬等功能性动作,引起了研究人员的广泛关注,在工业生产、医疗手术、救灾探测、生活护理等方面具有广阔应用前景。虽然软体机械臂具有很多优点,但由于软体机械臂的柔性材料和驱动方式,给构型和结构设计、材料选取、力学建模与仿真带来了挑战,也给控制模型及控制系统设计提出了新的难题。

为实现软体机械臂的精确控制,研究者们提出了很多对软体机械臂进行近似建模的方法。Mahl[

1]和Hildebrandt[2]运用连续曲率方法和拉格朗日方法建立了一种象鼻软体机械臂的运动学和动力学模型;Webster[3]介绍了常用的软体机械臂建模方法,假设软体机械臂变形均匀对称进行建模;Penning[4]结合位置传感器实现软体机械臂在自由空间中位姿的闭环控制;Luo[5]基于分段恒定曲率假设,通过曲率传感器反馈实现对软体机械蛇运动的控制;Wang[6]将软体机械臂虚拟成刚性机械臂,基于动力学对其进行运动控制。其他的一些针对特定机械臂结构的建模方法,如有限元方[7]、弹性杆理[8]等,在软体机械臂模型控制中不常用。

数据驱动的无模型控制方法通过机器学习等方法建立感测数据与软体机械臂运动的映射进行控制,可以在一定程度上避开软体机械臂建模困难的问题。Thuruthel[

9]使用神经网络建立了软体机械臂的全局映射;Lee[10]提出了一种用于气动软体机械臂的在线加权学习控制器控制软体机械臂追踪3D轨迹。

除了通过上述方法建立精确的映射外,运用传感器采集状态信息用于控制反馈是提高控制精度的重要方法。视觉传感器常与机械臂集成,很多学者对视觉伺服进行研究并提出了很多方法。Wang[

11⁃14]提出深度无关雅可比矩阵,基于运动学模型,对拉线控制的软体机械臂eye-in-hand视觉伺服进行研究;Xu[15]提出了一种基于动力学的水下环境软体机械臂eye-in-hand视觉伺服控制方法;Fang[16]通过高斯回归算法,设计在线学习控制器,实现了具有一定抗干扰能力的视觉伺服控制;Wang[17]融合图像和光纤光栅传感器提高运动估计的准确性,在手术机器人中实现更精确的运动跟踪;Cao[18]基于神经网络用非线性模型近似柔性弯曲驱动器的动力学,跟踪参考轨迹。

为了克服软体机械臂建模及控制系统设计困难的问题,提出了一种基于机器学习的eye-in-hand视觉伺服控制方法,通过机器学习建立气动软体机械臂气腔压力与图像映射关系,以图像误差为反馈,对气动软体机械臂状态进行动态调整,从而对流体驱动的软体机械臂进行视觉伺服控制。这种方法不需要求解机械臂和摄像机的任何参数,避开了相机标定和软体机械臂建模困难和不精确的问题,实现软体机械臂视觉伺服控制,具有较高的控制精度。

1 控制策略

1.1 任务空间的定义

Eye-in-hand视觉伺服控制方法需将摄像头安装在机械臂末端执行器上。实现对软体机械臂的控制,须先建立驱动空间、操作空间和任务空间的映射关系。

假设驱动空间在平衡状态k时刻的输入表示为:αkUmUm表示m维的驱动空间。设sk为在αk输入下,软体机械臂的状态。状态sk与末端执行器在笛卡尔空间中位置向量pkR3和方向向量nkR3相关。定义操作空间变量θk=pk,nkR6,则θk可由sk表示:

θk=gsk (1)

假设软体机械臂的运动为准静态运动,软体机械臂末端运动可表示为

Δsk=fsk,Δαk (2)

式中:Δsk表示由于输入差异Δαk引起的末端执行器在操作空间的变化,即Δsk=sk+1-skΔαkk时刻与k+1时刻之间系统输入的差值,即Δαk=αk+1-αk

任务空间定义为内窥镜相机识别的图像空间,用图像上的位移增量ΔzkR2表示任务空间在k时刻与k+1时刻之间的变化,即Δzk=zk+1-zk,如图1所示。

图1  任务空间与位移增量的定义

Fig. 1  Definition of task space and incremental motion

由于图像平面始终垂直于机械臂末端法向方向,因此结合末端执行器状态θ到图像空间的映射,可将式(2)扩展为:

Δzk=hsk,Δαk (3)

在控制任务中,给定控制目标在任务空间中的期望的运动Δz*k,对式(3)进行逆运动学求解,得到系统输入量Δαk

Δαk=Φ^sk,Δz*k (4)

式中,Δαk的求解在很大程度上取决于当前软体机械臂的状态sk。在未安装任何末端位姿传感器和软体机械臂状态检测传感器的情况下,软体机械臂状态和末端执行器所在的操作空间始终未知。因此,可以基于软体机械臂的准静态运动,从状态sk到输入系统状态αk的直接映射,构建一个新的逆运动学映射来解决操作空间状态未知的问题。这个新的逆运动学映射包含了从状态sk到输入系统状态αk的直接映射,可表示为:

Δαk=Φαk,Δz*k (5)

式(5)能够直接近似式(4)中的逆传递函数,并且跳过软体机械臂状态空间和操作空间未知的问题。采用图像任务空间的反馈Δz,驱动输入αΔα来直接估计机械臂的逆运动学映射Φ,从而无须分析运动学模型,直接运用估计的逆运动学映射Φ对软体机械臂进行控制。

1.2 图像平面上的运动

为了基于实验数据学习逆运动学映射函数,需测量软体机械臂末端执行器相对于图像坐标平面的运动Δz。为了估计图像在2个连续帧之间的二维增量运动,可将图像上特征点所在的像素坐标z作为参考。由于软体机械臂工作空间较小,忽略图像坐标在深度上的变化,用平面运动代替进行估计。

估计图像平面中的特征点位移可以先使用轮廓识别算法,提取目标的中心位置后计算位移增量。具体步骤如下:对图像进行二值化处理,按照设定阈值把图像各像素点的灰度值设置为0或255,即将图像转化为黑白图像;通过遍历k时刻图像的像素点并识别边界,在OpenCV[

19]中用“findContours”保存其拓扑结构后提取外轮[20];用“minEnclosingCircle”函数计算可包围特征点的最小轮廓圆,并记录圆心坐标uk,vk。在k+1时刻,用相同步骤得到特征点中心的坐标uk+1,vk+1。如图1所示,运动位移增量定义为:

Δzk=Δuk,Δvk=uk+1-uk,vk+1-vk (6)

相对于横向移动,相机的轴向移动对特征点坐标识别影响很小,因为轴向运动主要导致被识别对象的缩放,而不是平移。因此,在具有合适帧率的情况下,图像连续帧之间引起的深度变化对图像处理的影响可忽略。在软体机械臂连续运动的过程中,通过特征点图像坐标和预期图像轨迹,能够连续地估计达到预期位置所需要的位移增量。

1.3 基于随机森林的控制方法

从图像任务空间运动到驱动空间输入的逆映射学习是一个回归问题。随机森林回归是一种基于CART决策树的集成回归算法,可以解决软体机械臂关节空间和摄像机标定甚至摄像机反馈的噪声引起的参数不确定性。此外,通过聚类将任务空间分类加权,可以提高计算效率和预测的准确度。

1.3.1 CART决策树

CART分类回归[

21]是一种决策树生成算法。相比于机器学习中其他类型的决策树算法,CART假设决策树为二叉树,递归地二分每个特征。分类问题中,假设样本属性有K个类,样本点属于第k类的概率为pk,则概率分布的基尼指数定义为:

Gginip=k=1Kpk1-pk=1-k=1Kpk2 (7)

对于给定样本集合D,基尼指数GginiD为:

GginiD=1-k=1KCkD2 (8)

式中,Ck为第k类的样本子集。如果样本集合D根据特征A的某一可能值a被分割成D1D2两部分,即

D1=x,yD|Ax=a (9)
D2=D-D1 (10)

式中:x,y表示样本集合D中的一个样本;x,y分别是样本的特征值和标签。

在特征A的条件下,集合D的基尼指数定义为

GginiD,A=a=D1DGginiD1+D1DGginiD2 (11)

式中:基尼指数GginiD表示集合D的不确定性;基尼指数GginiD,A=a表示集合DA=a分割后的不确定性。通过计算每个特征下的基尼指数,可由最小的基尼指数得到最佳的属性划分点。

在控制任务中,可将目标变量看作连续变量,建立回归树,用均方误差(mean-square error, MSE)或者平均绝对误差(mean absolute error, MAE)进行属性划分。对于有M片叶子的回归树,最小化MSE公式为

min1Mm=1MxiRmcm-yi2 (12)

式中,cm表示第m片叶子(Lm)的预测值:

cm=aveyi|xiLm (13)

在每一次的属性划分中,使得每片叶子的MSE之和最小的切分变量和切分点为最优的属性划分。CART选择切分变量j和切分点s满足

minj,sminc1xiR1j,syi-c12+minc2xiR2j,syi-c22 (14)

式中,R1R2表示父节点的输入空间被切分变量和切分点一分为二的2个子集:

R1j,s=x|xjsR2j,s=x|xj>s (15)

c1c2R1R2代入式(13)中得到:

c1=aveyi|xiR1j,sc2=aveyi|xiR2j,s (16)

决策树算法所需训练数据少、可靠性高,但易产生过于复杂的模型,对数据的泛化性能差,易产生过拟合现象,对数据微小变化的敏感度高,因此可采用基于决策树的随机森林算法。

1.3.2 随机森林模型

随机森林是决策树的集成算法,在集成算法中利用装袋的思想构造多个独立的决策树,根据平均或多数表决原则决定集成评估器的结果,以降低数据过拟合风险。由于算法中加入了随机过程,每个决策树都有少量差异。合并各个树的预测结果,以减少预测方差,提高预测性能。随机森林生成的规则如下:

1)从原始训练集中随机发放回采样训练样本,重复T次;

2)用这T个数据集,分别作为训练集训练T个CART树模型;

3)若特征为M维,指定常数m,随机从M维特征中选取m个子特征集,按照上述建立决策树的方式获得最佳分割;

4)将生成的T棵决策树集成,构成随机森林;

5)由T棵树预测结果的均值作为最终结果并输出。

1.3.3 模型聚类

为了提高机械臂控制的计算效率,减少软体机械臂材料影响,可将输入空间分类。为此,可将分布在整个输入空间中的训练数据划分为N个簇,每个簇中的样本为Dj,j=1,2,,N。使用K均值聚类算法,将每个观测值分配给观测值与聚类中心相似度最大的聚类。驱动输入α联合任务空间z作为聚类的基础,可以反映机械臂的状态与任务区域的关系。第j簇的中心可以表示为cjUm,每个簇中的训练数据将生成一个局部的逆运动学映射Φj。对每个簇分别进行随机森林回归算法的训练,保留分类样本的簇中心。在机械臂运动过程中,对实时驱动输入数据依据原有簇中心分类,再代入相对应模型,提高预测精度。

基于随机森林的视觉伺服控制算法如图2所示,D为离线采集的数据,用以训练随机森林模型;αUpz分别为驱动信号、电压信号、驱动气压和采集的图像特征点位置。输入模块可以根据控制任务的不同,选择不同的目标位置zk+1*,控制模块根据当前状态αk和所需图像平面特征点位移Δzk*生成驱动变量Δαk,图像处理模块得到实时运动位移Δzk用以判断当前误差。

图2  基于随机森林的视觉伺服控制算法

Fig. 2  Visual servo control algorithm based on random forest

2 实验与分析

2.1 实验平台

图3所示,软体机械臂固定在基座上,一特征点固定在工作空间中。软体机械臂由3根气动肌肉组成,机械臂末端通过刚性基板固连在基座上。空气通过与管段中心轴对齐的挠性管供应到气动肌肉,不同的气压使气动肌肉有不同的伸缩长度。3根气动肌肉围绕中心轴均匀排列,通过3根气动肌肉的不同长度组合,可以实现机械臂的伸长和各个方向上的弯曲。

图3  软体机械臂结构

Fig. 3  The structure of soft manipulator

气动肌肉由橡胶管、两端刚性基板、外部编织网构成,其内部无任何刚性结构,可以伸长和弯曲。气动肌肉全长180 mm,直径14 mm,壁厚2 mm,外部编织网角度约为70°,可在充气后伸长。

3根气动肌肉和基座连接盘中间留有直径约为6 mm的间隙孔,中间嵌入工业内窥镜相机用以采集实时图像并传输至上位机。相机镜头直径5.5 mm,刚好穿过间隙和小孔,线材长2 m,帧率为30 FPS,采集图像像素为640×480,镜头上带有6个LED灯,可以补充光线,提高图像质量。

驱动系统由气泵、3个电磁比例阀构成。气泵为无油空气压缩机,转速1 380 r/min,公称容积流量40 L/min,额定排气压力0.7 MPa。电磁比例阀为SMC公司ITV0030-3BS轻薄型空气电子比例阀,压力调节范围0.001~0.5 MPa,输出压力分辨率为0.001 MPa。3个电磁比例阀分别与3根气动肌肉相连控制其气压。

2.2 模型训练

在对软体机械臂进行控制之前,要先采集软体机械臂运动时的状态数据D=αi,Δzi,Δαi建立初始化模型。

在数据采集中,均匀且连续地改变电磁比例阀的气压值,驱动软体机械臂在未知工作空间中运动。当软体机械臂达到平衡状态后,采集对应气压值的末端相机捕获的图像。

αi为当前状态下的驱动量。系统驱动变化量Δαi可以由软体机械臂在2个不同状态下的驱动量αiαj差值得到:

Δαi=αj-αi (17)

图像特征变化量Δzi可以由软体机械臂在2个不同状态下的图像特征位置zizj获得:

Δzi=zj-zi (18)

对于采集的数据集D,驱动空间的维数高于图像空间维数,这可能会导致Δαi=Φαi,Δzi是一个多值映射,存在多个驱动变量Δαi,使软体机械臂从αi状态下达到预期目标图像特征Δzi。为了解决上述多值映射问题,可以使数据及D满足下列约束:

D=αi,Δzi,Δαi|α1iα2iα3i=0,i=1,,N (19)

上述约束确保3个气动肌肉气腔压力至少有一个为0,从而使多值映射变为单值映射,使每一个驱动变化量对应唯一的尖端位置。

根据数据集D中的软体机械臂驱动状态量αi进行K均值聚类,使用Python的sklearn库中函数,按照式(19)的约束对每个聚类的数据进行训练,得到随机森林控制模型,具体步骤如下。

1)采集原始数据:令其中一个气腔压力为0,其他2个气腔气压从0遍历至0.20 MPa,并采集图像特征点位置,获得1 323条原始数据。

2)训练数据集获取:对采集数据两两作差,获得在不同状态αi和图像特征变化量Δzi下的驱动变量Δαi,共计1 749 006条训练数据。

3)数据聚类:根据软体机械臂状态和图像特征对训练数据集聚类,获得3个聚类。

4)训练模型:在每个聚类数据中随机获取部分数据集进行训练,剩余数据用于模型验证并计算R方值,每个聚类模型计算结果分别为0.83、0.85、0.80。

5)获得整个运动空间的随机森林控制模型。

2.3 实验结果与分析

通过2个控制任务检测控制模型的性能。

1)单个点的追踪:在640×480的图像平面中,任意选择目标点,通过随机森林模型预测驱动变量,驱动软体机械臂,使软体机械臂末端相机图像特征点到达目标点。图像平面中,特征点运动轨迹如图4所示,蓝色圆圈为目标点位置(150,278),红色为特征点运动轨迹。起始坐标位置为(312,217),追踪过程迅速收敛,在3个控制循环内便使追踪误差小于10像素点。

图4  单个点追踪目标点轨迹

Fig. 4  Target point trajectory for single point tracking

2)预期轨迹的运动:在640×480的图像平面中,规划一条预期目标轨迹,通过随机森林模型预测驱动变量,驱动软体机械臂,使软体机械臂末端相机图像特征点按照预期轨迹运动。图像平面中,特征点运动轨迹如图5(a)所示,蓝色线条为规划的正弦轨迹,红色为特征点运动轨迹,轨迹跟踪误差如图5(b)所示,按照预期轨迹运动过程中,最大跟踪误差为47像素,最小跟踪误差为1像素,平均误差约为20像素,整个追踪过程用时约27 s。

图5  追踪预期轨迹的运动

Fig. 5  The movement of the target point for the expected trajectory tracking

实验结果表明,运用随机森林模型近似的逆映射能够准确地拟合输入空间和任务空间的关系,并对到达预期目标位置的驱动变量进行准确的预测。实验结果验证了控制策略的有效性和随机森林模型的准确性。

3 结束语

为了克服软体机械臂运动学建模困难和相机标定的问题,提出了一种基于随机森林算法的气动软体机械臂视觉伺服方法。该方法基于历史数据建立气动软体机械臂气腔压力与图像映射关系,以图像误差为反馈,对气动软体机械臂状态进行动态调整,从而实现对流体驱动的软体机械臂视觉伺服控制。最后搭建了一个由3根气动肌肉构成的软体机械臂实验平台,在此平台上进行单个目标点和预期目标轨迹的追踪控制。实验结果表明软体机械臂追踪时反应迅速,追踪平均误差约为20像素,能够达到预期精度,验证了模型的准确性和有效性。

但是,目前的方法控制精度对历史数据依赖度高,对环境变化适应性不强。在未来的工作中,将研究在线学习的算法进一步提高软体机械臂追踪的准确度和环境适应能力,同时探索一些更有挑战性的动态控制任务。

参考文献

1

Mahl T, Hildebrandt A, Sawodny O. A variable curvature continuum kinematics for kinematic control of the bionic handling assistant[J]. IEEE Transactions on Robotics, 2014, 30(4): 935-949. [百度学术] 

2

Falkenhahn V, Mahl T, Hildebrandt A, et al. Dynamic modeling of bellows-actuated continuum robots using the euler-lagrange formalism[J]. IEEE Transactions on Robotics, 2015, 31(6): 1483-1496. [百度学术] 

3

Webster R J, Jones B A. Design and kinematic modeling of constant curvature continuum robots: a review[J]. International Journal of Robotics Research, 2010, 29(13): 1661-1683. [百度学术] 

4

Penning R S, Jung J, Ferrier N J, et al. An evaluation of closed-loop control options for continuum manipulators[C]// IEEE International Conference on Robotics and Automation. IEEE, 2012: 5392-5397. [百度学术] 

5

Luo M, Pan Y X, Skorina E H, et al. Slithering towards autonomy: a self-contained soft robotic snake platform with integrated curvature sensing[J]. Bioinspiration & Biomimetics, 2015, 10(5):055001. [百度学术] 

6

Wang C S, Frazelle C G, Wagner J R, et al. Dynamic control of multisection three-dimensional continuum manipulators based on virtual discrete-jointed robot models[J]. IEEE/ASME Transactions on Mechatronics, 2021, 26(2): 777-788. [百度学术] 

7

Till J, Bryson C E, Chung S, et al. Efficient computation of multiple coupled Cosserat rod models for real-time simulation and control of parallel continuum manipulators[C]// IEEE International Conference on Robotics & Automation. IEEE, 2015: 5067-5074. [百度学术] 

8

Lee K H, Leong M, Chow M C W, et al. FEM-based soft robotic control framework for intracavitary navigation[C]// IEEE International Conference on Real-time Computing and Robotics. IEEE, 2018: 11-16. [百度学术] 

9

Thuruthel T G, Falotico E, Manti M, et al. Learning closed loop kinematic controllers for continuum manipulators in unstructured environments[J]. Soft Robotics, 2017, 4(3):285-296. [百度学术] 

10

Lee K H, Fu D K C, Leong M C W, et al. Nonparametric online learning control for soft continuum robot: an enabling technique for effective endoscopic navigation[J]. Soft Robotics, 2017, 4(4): 324-337. [百度学术] 

11

Liu Y H, Wang H S, Wang C Y, et al. Uncalibrated visual servoing of robots using a depth-independent interaction matrix[J]. IEEE Transactions on Robotics, 2006, 22(4): 804-817. [百度学术] 

12

Wang H S, Chen W D, Yu X J, et al. Visual servo control of cable-driven soft robotic manipulator[C]// IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2014: 57-62. [百度学术] 

13

Wang H S, Yang B H, Liu Y T, et al. Visual servoing of soft robot manipulator in constrained environments with an adaptive controller[J]. ASME Transactions on Mechatronics, 2017, 22(1): 41-50. [百度学术] 

14

Xu F, Wang H S, Chen W D, et al. Visual servoing of a cable-driven soft robot manipulator with shape feature[J]. IEEE Robotics and Automation Letters, 2021, 6(3): 4281-4288. [百度学术] 

15

Xu F, Wang H S, Wang J C, et al. Underwater dynamic visual servoing for a soft robot arm with online distortion correction[J]. IEEE/ASME Transactions on Mechatronics, 2019, 24(3): 979-989. [百度学术] 

16

Fang G, Wang X M, Wang K, et al. Vision-based online learning kinematic control for soft robots using local Gaussian process regression[J]. IEEE Robotics and Automation Letters, 2019, 4(2): 1194-1201. [百度学术] 

17

Wang X M, Fang G, Wang K, et al. Eye-in-hand visual servoing enhanced with sparse strain measurement for soft continuum robots[J]. IEEE Robotics and Automation Letters, 2020, 5(2): 2161-2168. [百度学术] 

18

Cao Y, Huang J, Ru H G, et al. A visual servo-based predictive control with echo state Gaussian process for soft bending actuator[J]. IEEE/ASME Transactions on Mechatronics, 2021, 26(1): 574-585. [百度学术] 

19

Siciliano B, Khatib O. Springer handbook of robotics[M]. Berlin, Heidelberg: Springer Berlin Heidelberg, 2008. [百度学术] 

20

Zelinsky A. Learning OpenCV-computer vision with the OpenCV library [J]. IEEE Robotics & Automation Magazine, 2009, 16(3):100. [百度学术] 

21

Suzuki S, Be K. Topological structural analysis of digitized binary images by border following[J]. Computer Vision, Graphics, and Image Processing, 1985, 30(1): 32-46. [百度学术]