索驱动并联机器人可控刚度特性
崔志伟 1 , 唐晓强 1,2,3 , 侯森浩 1 , 项程远 1     
1. 清华大学 机械工程系, 北京 100084;
2. 清华大学 摩擦学国家重点实验室, 北京 100084;
3. 清华大学 精密超精密制造装备及控制北京市重点实验室, 北京 100084
摘要:在机器人与人交互过程中,机器人可能因刚度过大而对人或产品产生安全威胁。该文提出索驱动并联机器人静态刚度分析及索力分配方法,研究其可控刚度特性问题。首先,通过建立运动学和静力学方程对机器人进行受力分析,并通过引入线矢量和微分变换的方式,推导出结构矩阵对位姿微分的三维Hessian矩阵,建立静态刚度模型,分析索力与机器人刚度间的关系;其次,给出索力多边形计算算法,并研究索力分配方法,完成机器人刚度的有效控制;最后,通过计算实例验证该方法正确性与有效性。结果表明:该方法可以有效控制机器人的系统刚度。
关键词索驱动并联机器人    静刚度    可控刚度    刚度矩阵    索力分配    
Characteristics of controllable stiffness for cable-driven parallel robots
CUI Zhiwei1, TANG Xiaoqiang1,2,3, HOU Senhao1, XIANG Chengyuan1     
1. Department of Mechanical Engineering, Tsinghua University, Beijing 100084, China;
2. State Key Laboratory of Tribology, Tsinghua University, Beijing 100084, China;
3. Beijing Key Laboratory of Precision/Ultra-Precision Manufacturing Equipment and Control, Tsinghua University, Beijing 100084, China
Abstract: Human-robot interaction include some safety threats to people or products from the robots due to their stiffness. The characteristics of controllable stiffness for cable-driven parallel robots are studied using a static stiffness analysis and cable tension distribution method. The robot kinematics and statics equations are used for the force analysis with the three-dimensional Hessian matrix of the structural matrix to position differential is deduced by introducing a line vector and a differential transform. Then, the static stiffness model is derived for the relationship between the cable tension and the robot stiffness. The robots stiffness is then controlled by analyzing the cable tension polygon and the cable tension distribution. Simulations show that this method can effectively control the robot stiffness.
Key words: cable-driven parallel robot     static stiffness     controllable stiffness     stiffness matrix     cable tension distribution    

随着机器人技术的迅速发展和社会需求的不断提高,机器人与人共融、协同作业,将成为下一代机器人的本质特征,也是当前国内外学者研究的热点问题。然而,在人机协同作业过程中,如何确保人与机器的安全是共融机器人技术研发中亟待解决的关键和难点问题之一。

索驱动并联机器人是一种特殊的并联机器人,其动平台是由绳索代替刚性杆进行驱动[1-3]。索并联机器人因具有优良的运动性能、较高的负载能力以及较大的工作空间等优点,受到了学者的青睐[4-6]。此外,索并联机器人可以通过调节绳索的索力来改变系统的刚度[7],这使研制刚度自适应调整的变刚度机器人成为可能,也为解决共融机器人在“人机交互”过程中的人机安全问题提供了强有力的技术支撑。

刚度问题是改善和提高机器人性能极为重要的方面。文[8-11]通过研究机器人末端刚度与姿态之间的关系,得出了其最优刚度姿态和增加刚度的方法。杜敬利等[12-13]在充分考虑悬索因自重而产生垂度以及存在弹性变形等因素的条件下,对机器人的刚度进行了有效分析。Yeo等[2]提出一种新型的变刚度索驱动机器人,通过在其驱动绳索上安装变刚度设备以大幅度改变机器人的刚度。Wen等[14]提出一种基于梯度投影法的索力优化分配算法,在避免绳索虚牵的同时对机器人的刚度进行有效调整。Wang等[15]针对八索驱动的6自由度悬吊系统,提出一种基于刚度优化的力位混合控制方法应用于飞机风洞实验测试系统。上述研究主要是为了保证索机器人的位置精度,从提高其刚度的角度进行相关研究,并没有研究其刚度的精确控制。而从人机交互的角度出发,需要对机器人的可控刚度特性进行充分研究,并对其刚度进行精确控制。

为此,本文根据八索并联机器人特点,对其运动学和静力学进行分析,推导其可控刚度和固有刚度矩阵,并建立静刚度模型,研究其可控刚度特性问题并给出索力多边形的计算方法,在索力可行域内对索力进行分配。该方法可以在系统满足静态平衡和绳索不出现虚牵的情况下,对其索力进行调整,实现对系统刚度的有效控制。最后,通过实例计算验证了本方法的正确性和有效性。

1 静态分析 1.1 机构描述

图 1a是拟研究的八索驱动并联机器人实验平台。对其进行机构建模,如图 1b所示,动平台在8根绳索的冗余驱动下可实现空间6自由度运动,其结构为4-4构型,即8根绳索以上四、下四的对称方式进行布局,出索点位于固定框架的8个顶点位置,连接点分别位于动平台的上、下表面4个定点位置。其中,Ai(i=1, 2, …, 8)表示绳索出索点,Bi(i=1, 2, …, 8)表示绳索与动平台的连接点,其尺寸参数如表 1所示。

图 1 八索并联机构图

表 1 机构及动平台尺寸参数
技术参数数值
固定框架尺寸a×b×c1.6 m×1.1 m×1.8 m
动平台尺寸r×h0.25 m×0.085 m
动平台的质量M1 kg

AiBi(i=1, 2, …, 8)形成的长方体尺寸分别为1.580 m×1.040 m×1.780 m和0.124$\sqrt 2 $ m×0.124$\sqrt 2 $ m×0.085 m。

根据绳索悬链线模型[16],绳索的实际长度s可表示为参数λ的函数,且当λ趋近于0时,绳索实际长度为直线长度,其中λ=q0/fhq0为绳索的单位质量,fh为绳索拉力f的水平分量。由于本文所研究机器人的长宽高均小于2 m,索跨度小,单位重量q0较小,λ趋近于0,故可忽略索因自重而产生的变形,用直线模型代替绳索悬链线模型[17]

1.2 位置与静力学分析

八索驱动并联机器人位置分析的目的是建立其动平台位姿和绳索长度之间的关系。如图 1b所示,建立八索并联机器人的固定坐标系O-xyz和运动坐标系O′-xyz′,并分别用OO′表示,其中,O建立在框架底面中心处,其z轴垂直于底面,x//A1A2O′建立在动平台上表面中心处,其z′轴垂直于动平台上表面,x′//B1B2。因此,动平台的位置可用O′的原点在O下的位置矢量p=[xo, yo′, zo′]T表示,姿态可用O′相对于O的旋转Euler角[α, β, γ]T表示,故动平台的位姿在O下可表示为

$ \mathit{\boldsymbol{x}} = {\left[ {{x_{o'}},{y_{o'}},{z_{o'}},\alpha ,\beta ,\gamma } \right]^{\rm{T}}}. $ (1)

根据矢量环方程,建立绳索长度向量与动平台位姿之间的关系如下:

$ {\mathit{\boldsymbol{l}}_i} = {\mathit{\boldsymbol{a}}_i} - \mathit{\boldsymbol{p}} - \mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}, $ (2)

其中:li表示从BiAi绳索矢量;ai表示AiO下的位置矢量;o′bi表示BiO′下的位置矢量;R表示O′相对于O的旋转矩阵,i=1, 2, …, 8。

其中:

$ \mathit{\boldsymbol{R}} = \left[ {\begin{array}{*{20}{c}} {{\rm{c}}\gamma \cdot {\rm{c}}\beta }&{{\rm{c}}\gamma \cdot {\rm{s}}\beta \cdot {\rm{s}}\alpha - {\rm{s}}\gamma \cdot {\rm{c}}\alpha }&{{\rm{c}}\gamma \cdot {\rm{s}}\beta \cdot {\rm{c}}\alpha + {\rm{s}}\gamma \cdot {\rm{s}}\alpha }\\ {{\rm{s}}\gamma \cdot {\rm{c}}\beta }&{{\rm{s}}\gamma \cdot {\rm{s}}\beta \cdot {\rm{s}}\alpha + {\rm{c}}\gamma \cdot {\rm{c}}\alpha }&{{\rm{s}}\gamma \cdot {\rm{s}}\beta \cdot {\rm{c}}\alpha - {\rm{c}}\gamma \cdot {\rm{s}}\alpha }\\ { - {\rm{s}}\beta }&{{\rm{c}}\beta \cdot {\rm{s}}\alpha }&{{\rm{c}}\beta \cdot {\rm{c}}\alpha } \end{array}} \right]. $

为了便于描述,本文采用cθ代表cosθ,sθ代表sinθ

因此,当动平台位姿x确定,绳索长度‖li‖可通过式(2)计算获得。进一步可得绳索单位矢量:

$ {\mathit{\boldsymbol{u}}_i} = {\mathit{\boldsymbol{l}}_i}/\left\| {{\mathit{\boldsymbol{l}}_i}} \right\|. $ (3)

式(2)进一步可得机构运动学方程:

$ \mathit{\boldsymbol{x}} = f\left( \mathit{\boldsymbol{l}} \right). $ (4)

其中f是非线性矢量方程。式(4)对时间求导得:

$ \mathit{\boldsymbol{\dot I = }} - {\mathit{\boldsymbol{J}}^{\rm{T}}} \cdot \mathit{\boldsymbol{\dot x}}. $ (5)

其中:İ=[İ1, İ2, …, İ8]T表示绳索速度矢量,JR6×8表示结构Jacobian矩阵,$\mathit{\boldsymbol{\dot x}} = {\left[{\mathit{\boldsymbol{\dot p}}, \mathit{\boldsymbol{\omega }}} \right]^{\rm{T}}} = $${\left[{{{\dot x}_{o'}}, {{\dot y}_{o'}}, {{\dot z}_{o'}}, \dot \alpha, \dot \beta, \dot \gamma } \right]^{\rm{T}}}$表示动平台的速度矢量。

其中:

$ \mathit{\boldsymbol{J}} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{u}}_1}}& \cdots &{{\mathit{\boldsymbol{u}}_8}}\\ {\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_1}} \right) \times {\mathit{\boldsymbol{u}}_1}}& \cdots &{\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_8}} \right) \times {\mathit{\boldsymbol{u}}_8}} \end{array}} \right]. $

根据虚功原理可得八索机构静力学平衡方程:

$ \mathit{\boldsymbol{JT}} + \mathit{\boldsymbol{F}} = {\bf{0}}, $ (6)

其中:T=[t1, t2, …, t8]Tti表示第i根绳索张紧力大小,F=[fe, me]T,且feme分别表示外界作用在动平台上的合力和合力矩(包括动平台自身重力)。

2 静态刚度模型

研究机器人的刚度,是研究变刚度机器人的基础,同时也是实现人机共融的关键。动平台在外扰力作用下的抗变形能力,是衡量系统刚度的标准之一。因此,建立动平台受到微小外扰力δF和动平台产生微小位姿δx之间的关系:

$ \delta \mathit{\boldsymbol{F}} = \mathit{\boldsymbol{K}} \cdot \delta \mathit{\boldsymbol{x}}, $ (7)

其中K表示系统刚度矩阵。

由式(6)和(7)可得:

$ \mathit{\boldsymbol{K}} = \frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial \mathit{\boldsymbol{x}}}} = - \left( {\frac{{\partial \mathit{\boldsymbol{J}}}}{{\partial \mathit{\boldsymbol{x}}}}\mathit{\boldsymbol{T}} + \mathit{\boldsymbol{J}}\frac{{\partial \mathit{\boldsymbol{T}}}}{{\partial \mathit{\boldsymbol{x}}}}} \right) = {\mathit{\boldsymbol{K}}_1} + {\mathit{\boldsymbol{K}}_2}. $ (8)

由式(8)可以看出,系统刚度矩阵由2部分组成:K1与系统的结构矩阵变换和索力相关,在某位姿处可通过索力对其进行控制,称为可控刚度,也是本文主要研究内容;K2与系统结构和动平台位姿相关,称为固有刚度。

2.1 可控刚度

可控刚度是实现机器人刚度自适应调整的关键,本文将通过引入线矢量和微分变换的方式对其矩阵进行推导,由式(8)进一步可得:

$ {\mathit{\boldsymbol{K}}_1} = - \mathit{\boldsymbol{HT}}. $ (9)

其中:H=[H1, H2, …, H6]∈R6×6×8表示三维Hessian矩阵,HjR6×8是矩阵H的第j个子阵。

利用矩阵J对向量x的第j个元素求偏导,得到

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{H}}^j} = \frac{{\partial \mathit{\boldsymbol{J}}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = }\\ {\left[ {\begin{array}{*{20}{c}} {\frac{{\partial {\mathit{\boldsymbol{u}}_1}}}{{\partial {\mathit{\boldsymbol{x}}_j}}}}& \cdots &{\frac{{\partial {\mathit{\boldsymbol{u}}_8}}}{{\partial {\mathit{\boldsymbol{x}}_j}}}}\\ {\frac{{\partial \left[ {\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_1}} \right) \times {\mathit{\boldsymbol{u}}_1}} \right]}}{{\partial {\mathit{\boldsymbol{x}}_j}}}}& \cdots &{\frac{{\partial \left[ {\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_8}} \right) \times {\mathit{\boldsymbol{u}}_8}} \right]}}{{\partial {\mathit{\boldsymbol{x}}_j}}}} \end{array}} \right].} \end{array} $ (10)

为简化矩阵H推导过程,将绳索单位向量ui写成方向余弦形式

$ {\mathit{\boldsymbol{u}}_i} = {\left[ {c{\alpha _i},c{\beta _i},c{\gamma _i}} \right]^{\rm{T}}}. $ (11)

其中αi、βiγi分别表示uix轴、y轴和z轴夹角。

由式(10)和(11)可得:

$ \frac{{\partial {\mathit{\boldsymbol{u}}_i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = \frac{{\partial {\mathit{\boldsymbol{u}}_i}}}{{\partial {\alpha _i}}}\frac{{\partial {\alpha _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} + \frac{{\partial {\mathit{\boldsymbol{u}}_i}}}{{\partial {\beta _i}}}\frac{{\partial {\beta _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} + \frac{{\partial {\mathit{\boldsymbol{u}}_i}}}{{\partial {\gamma _i}}}\frac{{\partial {\gamma _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}}, $ (12)
$ \begin{array}{*{20}{c}} {\frac{{\partial \left[ {\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right) \times {\mathit{\boldsymbol{u}}_i}} \right]}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = \frac{{\partial \left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right)}}{{\partial {\mathit{\boldsymbol{x}}_j}}} \times }\\ {{\mathit{\boldsymbol{u}}_i} + \left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right) \times \frac{{\partial {\mathit{\boldsymbol{u}}_i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}}.} \end{array} $ (13)

由于ui是单位向量,式(12)进一步可得:

$ \begin{array}{*{20}{c}} {\frac{{\partial {\mathit{\boldsymbol{u}}_i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = {{\left[ { - {\rm{s}}{\alpha _i},0,\frac{{{\rm{c}}{\alpha _i} \cdot {\rm{s}}{\alpha _i}}}{{{\rm{c}}{\gamma _i}}}} \right]}^{\rm{T}}} \cdot \frac{{\partial {\alpha _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} + }\\ {{{\left[ {0, - {\rm{s}}{\beta _i},\frac{{{\rm{c}}{\beta _i} \cdot {\rm{s}}{\beta _i}}}{{{\rm{c}}{\gamma _i}}}} \right]}^{\rm{T}}} \cdot \frac{{\partial {\beta _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}}.} \end{array} $ (14)

由式(2)和(3)得:

$ {l_i} \cdot {\mathit{\boldsymbol{u}}_i} = {\mathit{\boldsymbol{a}}_i} - \mathit{\boldsymbol{p}} - \mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}. $ (15)

由于R′=ω×R,式(15)两边对时间求导得:

$ \begin{array}{*{20}{c}} {{{\dot I}_i} \cdot {\mathit{\boldsymbol{u}}_i} + {l_i} \cdot {{\mathit{\boldsymbol{\dot u}}}_i} = - \mathit{\boldsymbol{\dot p}} - \omega \times \left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right) = }\\ {\left[ { - \mathit{\boldsymbol{I}}\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right) \times } \right]\mathit{\boldsymbol{\dot x}} = {\mathit{\boldsymbol{G}}_i}\mathit{\boldsymbol{\dot x}}.} \end{array} $ (16)

其中GiR3×6表示代数矩阵。

由式(5)得:

$ {{\mathit{\boldsymbol{\dot I}}}_i} = - \mathit{\boldsymbol{J}}_i^{\rm{T}}\mathit{\boldsymbol{\dot x}}. $ (17)

其中JiT表示矩阵JTi行向量。

将式(17)写成向量分量形式,可得:

$ {{\dot I}_i}{\mathit{\boldsymbol{u}}_i} = - \left[ {\begin{array}{*{20}{c}} {{\rm{c}}{\alpha _i} \cdot \mathit{\boldsymbol{J}}_i^{\rm{T}}}\\ {{\rm{c}}{\beta _i} \cdot \mathit{\boldsymbol{J}}_i^{\rm{T}}}\\ {{\rm{c}}{\gamma _i} \cdot \mathit{\boldsymbol{J}}_i^{\rm{T}}} \end{array}} \right]\mathit{\boldsymbol{\dot x}} = {\mathit{\boldsymbol{Q}}_i}\mathit{\boldsymbol{\dot x}}. $ (18)

其中QiR3×6表示代数矩阵。

将式(18)代入式(16)得:

$ \begin{array}{*{20}{c}} {{l_i} \cdot {{\left[ { - {{\dot \alpha }_i} \cdot {\rm{s}}{\alpha _i}, - {{\dot \beta }_i} \cdot {\rm{s}}{\beta _i}, - {{\dot \gamma }_i} \cdot {\rm{s}}{\gamma _i}} \right]}^{\rm{T}}} = }\\ {\left[ {{\mathit{\boldsymbol{G}}_i} - {\mathit{\boldsymbol{Q}}_i}} \right]\mathit{\boldsymbol{\dot x}}.} \end{array} $ (19)

其中[Gi-Qi]∈R3×6表示代数矩阵。

由式(19)可得:

$ \left\{ \begin{array}{l} \frac{{\partial {\alpha _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = - \frac{1}{{{l_i} \cdot {\rm{s}}{\alpha _i}}}{\left[ {{\mathit{\boldsymbol{G}}_i} - {\mathit{\boldsymbol{Q}}_i}} \right]_{1,j}}\\ \frac{{\partial {\beta _i}}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = - \frac{1}{{{l_i} \cdot {\rm{s}}{\beta _i}}}{\left[ {{\mathit{\boldsymbol{G}}_i} - {\mathit{\boldsymbol{Q}}_i}} \right]_{2,j}} \end{array} \right.. $ (20)

其中[Gi-Qi]1, j和[Gi-Qi]2, j分别表示矩阵[Gi-Qi]第1行第j列和第2行第j列元素。

R·o′bi对时间求导得:

$ {\left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right)^\prime } = \mathit{\boldsymbol{\omega }} \times \left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right) = {\mathit{\boldsymbol{M}}_i}\mathit{\boldsymbol{\dot x}}. $ (21)

其中MiR3×6表示代数矩阵。

由式(21)得:

$ \frac{{\partial \left( {\mathit{\boldsymbol{R}}{ \cdot ^{o'}}{\mathit{\boldsymbol{b}}_i}} \right)}}{{\partial {\mathit{\boldsymbol{x}}_j}}} = {\mathit{\boldsymbol{M}}_{i,j}}. $ (22)

其中Mi, j表示矩阵Mij列向量。

将式(14)、(20)和(22)代入式(12)、(13)和(10)可得矩阵H,根据式(9)和T可计算刚度矩阵K1

2.2 固有刚度

固有刚度虽然不受索力控制,但对系统整体刚度依然有较大影响,本小节将给出其矩阵的推导过程,由式(8)进一步可得:

$ {\mathit{\boldsymbol{K}}_2} = - \mathit{\boldsymbol{J}}\frac{{\partial \mathit{\boldsymbol{T}}}}{{\partial \mathit{\boldsymbol{l}}}}\frac{{\partial \mathit{\boldsymbol{l}}}}{{\partial \mathit{\boldsymbol{x}}}}. $ (23)

绳索的索力与变形之间的关系:

$ \partial {t_i} = \frac{{{E_i} \cdot {A_i}}}{{{l_{oi}}}} \cdot \partial {l_i}, $ (24)

其中:EiAiloi分别表示绳索的弹性模量,横截面积和静态长度。

由式(24)得:

$ \frac{{\partial \mathit{\boldsymbol{T}}}}{{\partial \mathit{\boldsymbol{l}}}} = {\rm{diag}}\left( {\frac{{{E_1} \cdot {A_1}}}{{{l_{o1}}}},\frac{{{E_2} \cdot {A_2}}}{{{l_{o2}}}}, \cdots ,\frac{{{E_8} \cdot {A_8}}}{{{l_{o8}}}}} \right). $ (25)

由式(5)得:

$ \frac{{\partial \mathit{\boldsymbol{l}}}}{{\partial \mathit{\boldsymbol{x}}}} = - {\mathit{\boldsymbol{J}}^{\rm{T}}}. $ (26)

将式(25)和(26)代入(23)得:

$ {\mathit{\boldsymbol{K}}_2} = \mathit{\boldsymbol{J}} \cdot {\rm{diag}}\left( {\frac{{{E_1} \cdot {A_1}}}{{{l_{o1}}}},\frac{{{E_2} \cdot {A_2}}}{{{l_{o2}}}}, \cdots ,\frac{{{E_8} \cdot {A_8}}}{{{l_{o8}}}}} \right) \cdot {\mathit{\boldsymbol{J}}^{\rm{T}}}. $ (27)

利用上述公式可分别求出K1K2,进而求出系统刚度矩阵K

2.3 索力分配

已知动平台所受外力,如何在满足系统平衡条件下,有效调整各绳索索力是索力分配研究的重要内容,也是控制系统刚度的基础。由节2.1可知,通过改变绳索索力可以调整八索并联机器人系统刚度。因此,本文提出并采用以下方法实现对索力的分配。

由式(6)得:

$ \mathit{\boldsymbol{T}} = {\mathit{\boldsymbol{J}}^ + }\left( { - \mathit{\boldsymbol{F}}} \right) + \mathit{\boldsymbol{N}}\lambda = {\mathit{\boldsymbol{t}}_p} + {\mathit{\boldsymbol{t}}_n}. $ (28)

其中:J+=JT(JJT)-1表示J的伪逆矩阵;N=null(J)是列满秩的8×2矩阵,N的两个列向量是J的化零空间(null space);λ=[λ1  λ2]T是任意二维向量;J+(-F)是式(6)的一个最小最佳二乘解,是式(6)的齐次通解。

2.3.1 索力多边形

索力多边形所形成的区域称为索力可行域,是研究索力分配及控制的基础,本节将给出其定义及计算方法。

ΣR8是式(6)的二维解向量空间,其表示如下:

$ \Sigma = \left\{ {\mathit{\boldsymbol{T}}\left| {\mathit{\boldsymbol{JT}} + \mathit{\boldsymbol{F}} = 0} \right.} \right\}. $ (29)

ΩR8是由可行索力组成的八维超立方体,其表示如下:

$ \mathit{\Omega } = \left\{ {\mathit{\boldsymbol{T}}\left| {{t_i} \in \left[ {{t_{\min }},{t_{\max }}} \right],1 \le i \le 8} \right.} \right\}. $ (30)

其中: tmintmax分别表示绳索所允许的最小值和最大值,本文分别取10 N和1 000 N(机构采用8根相同绳索)。交集Λ=ΣΩ是一个凸多边形[18],称为索力多边形。Λ是由式(6)解中满足tmintitmax部分组成,如图 2所示,八索并联机构的动平台在位姿x=[0.1, 0.1, 0.8, 5, 5, 5]处,承受外载荷F=[50, 50, 50, 10, 10, 10]时所形成的索力多边形。

图 2 索力多边形

由式(28)得,索力多边形可由如下2m个不等式定义:

$ {t_{\min }} - {\mathit{\boldsymbol{t}}_p} \le \mathit{\boldsymbol{N}}\lambda \le {t_{\max }} - {\mathit{\boldsymbol{t}}_p}. $ (31)

当索力取最小值tmin或最大值tmax时,随着λ的变化,每个不等式将通过一条边界直线定义一个半平面。式(31)所定义的2m个半平面相交可形成索力多边形Λ

索力边界直线可用

$ L = \left\{ {{L_{ij}}\left| {i = 1,2, \cdots ,m;j = 1,2} \right.} \right\} $

表示,索力直线交点为C22m-m=4C2m。机构驱动索两两之间不相互平行,若出现平行,则机构发生奇异。

2.3.2 索力多边形计算

根据索力多边形和索力边界直线特点,基于Graham‘s Scan扫描法设计索力多边形计算算法,计算原理为:通过循环计算索力边界直线交点所形成的凸包,逐步计算出索力多边形。计算流程如图 3所示。

图 3 索力多边形计算流程图

步骤1 计算索力边界直线交点,并删除重复点,得点序列A:< p0, p1, …, pn>。

步骤2 计算A中最低且最左点,作为基点p0

步骤3 对序列 < p1, p2, …, pn>中各点相对于p0的极角按从小到大进行排序,相应的,点序列更新为A′:< p′1, p′2, …, p′n>(对于极角相同点,根据与p0的距离排序),如图 4所示。

图 4 排序后的点

步骤4 将p0p1先后压入栈S

步骤5 赋值i=1。

步骤6 赋值i=i+1。

步骤7 令当前点p=pi

步骤8 连接S顶端两个元素ptop-1ptop,得到有向线段L

步骤9 若pL右边,则栈顶元素出栈,转步骤8,否则执行下一步。

步骤10 将p压入栈。

步骤11 若p=pn,则执行下一步,否则转步骤6。

步骤12 若栈S内元素连线包含实边,则执行下一步,否则转步骤14。

步骤13 若A包含不满足实边的点,则将不满足点删除,并转步骤2,否则转步骤15。

步骤14 若A封闭,则令A=A-S,转步骤2,否则执行下一步。

步骤15 若A包含无效点,则删除无效点,直至A不包含无效点,否则,输出A

步骤16 结束。

下面给出本算法中一些专用名词定义和索力多边形性质。

定义1  设p={pi|i=1, 2, …, n}为索力边界直线交点集合,其中,pjpk(jkj, k=1, 2, …, n)为p内任意两元素,若∃lL,使得线段pjpkl共线,则称pjpk为索力多边形的实边;若∀lL,都不与线段pjpk共线,则称pjpk为索力多边形的虚边,如图 5所示。

图 5 索力多边形

定义2  设p={pi|i=1, 2, …, n}为索力边界直线交点集合,ps={psi|i=1, 2, …, m}为索力多边形顶点集合,若∀pkp, pkps,则称pk为无效点;若∀pkp, pkps,则称pk为有效点,如图 5所示。

索力多边形具有以下性质。

pc={pci|i=1, 2, …, n}为索力多边形顶点集合,且n≥3,其中,pcjpck(jk; j, k=1, 2, …, n)为pc为内任意两个元素,那么,pcjpck不相邻是线段pcjpck为索力多边形虚边的充要条件,pcjpck相邻是线段pcjpck为索力多边形实边的充要条件,如图 6所示。

图 6 实边与虚边

定义3  设pr={pri|i=1, 2, …, n}为索力边界直线的交点集合,且n≥3,其中,Srpr的凸包,pd=pr-Sr,若点集合pd可形成封闭区域,则称pr封闭,反之,称pr非封闭,如图 7所示。

图 7 点集封闭性

2.3.3 形心直线

点集合pc是索力多边形Λ的顶点,且pcii≠1按相对pc1的极角大小进行排序,其中pci=[λi1, λi2]T,且n≥3,这n个顶点可由节2.3.2所述算法计算获得。索力多边形Λ的形心C=[λc1, λc2]计算如下:

$ \left\{ \begin{array}{l} {\lambda _{c1}} = \frac{1}{{6A}}\sum\limits_{i = 1}^{n - 1} {\left( {{\lambda _{i1}} + {\lambda _{\left( {i + 1} \right)1}}} \right)\left( {{\lambda _{i1}}{\lambda _{\left( {i + 1} \right)2}} - {\lambda _{\left( {i + 1} \right)1}}{\lambda _{i2}}} \right)} ,\\ {\lambda _{c2}} = \frac{1}{{6A}}\sum\limits_{i = 1}^{n - 1} {\left( {{\lambda _{i2}} + {\lambda _{\left( {i + 1} \right)2}}} \right)\left( {{\lambda _{i1}}{\lambda _{\left( {i + 1} \right)2}} - {\lambda _{\left( {i + 1} \right)1}}{\lambda _{i2}}} \right)} . \end{array} \right. $ (32)

其中A是索力多边形的面积。A计算如下:

$ A = \frac{1}{2}\sum\limits_{i = 1}^{n - 1} {\left( {{\lambda _{i1}}{\lambda _{\left( {i + 1} \right)2}} - {\lambda _{\left( {i + 1} \right)1}}{\lambda _{i2}}} \right)} . $ (33)

图 2所示,索力多边形内的圆点即为Λ的形心C。在形心C处,索力向量TC=J+(-F)+C=tp+C

过形心的直线可通过下式计算获得:

$ \left\{ \begin{array}{l} {\lambda _2} - {\lambda _{c2}} = \left( {\tan \alpha } \right)\left( {{\lambda _1} - {\lambda _{c1}}} \right),\;\;\;\;\alpha \in \left( { - \frac{{\rm{ \mathsf{ π} }}}{2},\frac{{\rm{ \mathsf{ π} }}}{2}} \right);\\ {\lambda _1} = {\lambda _{c1}},\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\alpha = \frac{{\rm{ \mathsf{ π} }}}{2}. \end{array} \right. $ (34)

其中α为直线与λ1轴的夹角。

例如,α=α1+,初值α1=-5π/12,μ=π/12,当k依次取值0, 1, …, 11时,可分别获得八索并联机构的动平台在位姿x=[0.1, 0.1, 0.8, 5, 5, 5]处,承受外载荷F=[50, 50, 50, 10, 10, 10]时的过形心直线,如图 8所示。

图 8 形心直线

3 仿真验证与分析

为了验证本文所研究内容的正确性与有效性,本节设计了刚度衡量方法和仿真实例对其进行验证与分析。

3.1 刚度衡量方法

为了有效衡量系统刚度变化情况,提出采用“外力与动平台位姿变化量关系”的方法来衡量系统刚度变化。显然,某位姿处,在同等外力作用下,动平台位姿变化越大,机构系统刚度越小,反之亦然。

由式(7)得:

$ \Delta \mathit{\boldsymbol{x}} = {\mathit{\boldsymbol{K}}^ - } \cdot \mathit{\boldsymbol{F}}, $ (35)

其中:Δx=[Δxo′, Δyo′, Δzo′, Δα, Δβ, Δγ]T表示位姿变化量,K-=(KTK)-1·KT表示K的广义逆矩阵。

由于外力已知,根据式(35)可以求出动平台位姿变化量,以便于对系统刚度进行分析。

3.2 仿真验证与分析

将上文提出的算法及方法转化为MATLAB程序进行仿真验证,以α=π/4,动平台在位姿x=[0.1, 0.1, 0.8, 5, 5, 5]处,承受外载荷F=[50, 50, 50, 10, 10, 10]为例,对本文方法及理论进行验证。通过式(34)可得到过形心的线段如图 9a所示,通过式(28)可得到沿该线段索力变化曲线如图 9b所示。

图 9 沿形心直线的索力变化曲线

图 9b可以看出,从左至右沿图 9a形心线段,各绳索的索力逐渐增加。通过式(35)可得到沿该形心线段的位姿变化曲线如图 10所示, 端点处的位姿变化值,如表 2所示。

图 10 位姿变化曲线

表 2 $\frac{{\rm{ \mathsf{ π} }}}{4}$形心线端点处位姿变化
位姿$\frac{{{\lambda _{1\min }}}}{{44.88}}$$\frac{{{\lambda _{1\max }}}}{{613.26}}$
Δxo′/m1.075×10-30.766×10-3
Δyo′/m0.450×10-41.702×10-4
Δzo′/m1.414×10-41.361×10-4
Δα/rad2.345×10-31.898×10-3
Δβ/rad1.095×10-20.818×10-2
Δγ/rad2.266×10-21.282×10-2

通过测试表明,本文提出的算法可以计算出索并联机构的索力多边形,并能够在索力可行域内选择合适的索力来控制机器人的刚度。当λ1沿图 9a形心线变化时,如图 9b所示,各绳索索力逐渐增大,此时,除Δyo′外,位姿各分量变化都逐渐减小,说明随着索力增加,这些方向的刚度逐渐增大。其中,在该位姿处,增加最快的xγ方向,分别将近增加41%和77%,大幅度的改变了系统的刚度,因此,该方法可以有效地控制系统刚度。

Δyo′随着索力增加而变大,是由于机构索力增加不对称引起的,如图 9b所示,方向3、4、7、8号绳索索力增加明显大于相反方向4根绳索索力增加速度,这就为提高系统整体刚度的同时降低某方向的刚度提供了可能。

4 结论

本文对八索驱动并联机器人位置与静力学进行分析,通过引入线矢量和微分变换等方式建立其静刚度模型,并提出索力多边形计算算法,在索力可行域内选取合适索力来控制机器人刚度,得出结论: 1)提出的索力多边形计算算法,可以计算动平台在某位姿处的索力可行域;2)在索力可行域内,通过选择合适索力,根据刚度需求,可在一定范围内对机器人刚度进行有效控制。本文提出的索力可行域计算和刚度控制方法,为后续研究索机器人索力优化和刚度自适应控制奠定了基础。

参考文献
[1] YUAN H, COURTEILLE E, DEBLAISE D. Static and dynamic stiffness analyses of cable-driven parallel robots with non-negligible cable mass and elasticity[J]. Mechanism and Machine Theory, 2015, 85: 64–81. DOI:10.1016/j.mechmachtheory.2014.10.010
[2] YEO S H, YANG G, LIM W B. Design and analysis of cable-driven manipulators with variable stiffness[J]. Mechanism and Machine Theory, 2013, 69: 230–244. DOI:10.1016/j.mechmachtheory.2013.06.005
[3] BRACKBILL E A, MAO Y, AGRAWAL S K, et al. Dynamics and control of a 4-dof wearable cable-driven upper arm exoskeleton[C]//Proceedings of 2009 IEEE International Conference on Robotics and Automation. Kobe, Japan: IEEE Press, 2009: 2300-2305.
[4] KAWAMURA S, KINO H, WON C. High-speed manipulation by using parallel wire-driven robots[J]. Robotica, 2000, 18(1): 13–21. DOI:10.1017/S0263574799002477
[5] LANDSBERGER S E. Design and construction of a cable-controlled, parallel link manipulator[D]. Cambridge: Massachusetts Institute of Technology, 1984.
[6] 刘欣, 仇原鹰, 盛英. 风洞试验绳牵引冗余并联机器人的刚度增强与运动控制[J]. 航空学报, 2009, 30(6): 1156–1164.
LIU X, QIU Y Y, SHENG Y. Stiffness enhancement and motion control of a 6-DOF wire-driven parallel manipulator with redundant actuations for wind tunnels[J]. Acta Aeronautica et Astronautica Sinica, 2009, 30(6): 1156–1164. (in Chinese)
[7] 隋春平, 赵明扬. 3自由度并联柔索驱动变刚度操作臂的刚度控制[J]. 机械工程学报, 2006, 42(6): 205–210.
SUI C P, ZHAO M Y. Statics and stiffness study on a 3-DOF parallel wire driven flexible manipulator[J]. Chinese Journal of Mechanical Engineering, 2006, 42(6): 205–210. (in Chinese)
[8] CHEN S F, KAO I. Geometrical approach to the conservative congruence transformation (CCT) for robotic stiffness control[C]//Proceedings of 2002 IEEE International Conference on Robotics and Automation. Washington, DC, USA: IEEE Press, 2002, 1: 544-549.
[9] ANG M H JR, WANG W, LOH R N K, et al. Passive compliance from robot limbs and its usefulness in robotic automation[J]. Journal of Intelligent and Robotic Systems, 1997, 20(1): 1–21.
[10] PASHKEVICH A, KLIMCHIK A, CHABLAT D. Enhanced stiffness modeling of manipulators with passive joints[J]. Mechanism and Machine Theory, 2011, 46(5): 662–679. DOI:10.1016/j.mechmachtheory.2010.12.008
[11] ZARGARBASHI S H H, KHAN W, ANGELES J. The Jacobian condition number as a dexterity index in 6R machining robots[J]. Robotics and Computer-Integrated Manufacturing, 2012, 28(6): 694–699. DOI:10.1016/j.rcim.2012.04.004
[12] 杜敬利, 保宏, 崔传贞. 基于等效模型的索牵引并联机器人的刚度分析[J]. 工程力学, 2011, 28(5): 194–199.
DU J L, BAO H, CUI C Z. Stiffness analysis of cable-driven parallel manipulators using equivalent model[J]. Engineering Mechanics, 2011, 28(5): 194–199. (in Chinese)
[13] 杜敬利, 段宝岩, 保宏. 增强索支撑系统扭转刚度的索连接位置优化[J]. 工程力学, 2009, 26(4): 252–256.
DU J L, DUAN B Y, BAO H. Parametric optimization on cable attachments to maximize twist stiffness of cable-supporting system[J]. Engineering Mechanics, 2009, 26(4): 252–256. (in Chinese)
[14] LIM W B, YEO S H, YANG G L. Optimization of tension distribution for cable-driven manipulators using tension-level Index[J]. IEEE/ASME Transactions on Mechatronics, 2014, 19(2): 676–683. DOI:10.1109/TMECH.2013.2253789
[15] WANG X G, MA S Y, LIN Q. Hybrid pose/tension control based on stiffness optimization of cable-driven parallel mechanism in wind tunnel test[C]//Proceedings of the 2nd International Conference on Control, Automation and Robotics. Hong Kong, China: IEEE, 2016: 75-79.
[16] 姚蕊. 大跨度索并联机构力特性及尺度综合设计研究[D]. 北京: 清华大学, 2010.
YAO R. Study on tension characteristic and dimensional synthetic design of cable driven parallel manipulators with large span[D]. Beijing: Tsinghua University, 2010. http://cdmd.cnki.com.cn/Article/CDMD-10003-1011280770.htm
[17] 唐乐为, 唐晓强, 汪劲松, 等. 七索并联对接机构作业空间分析及索力优化设计[J]. 机械工程学报, 2012, 48(21): 1–7.
TANG L W, TANG X Q, WANG J S, et al. Workspace analysis and tension optimization design in docking parallel mechanism driven by seven cables[J]. Journal of Mechanical Engineering, 2012, 48(21): 1–7. (in Chinese)
[18] ZIEGLER G M. Lectures on polytopes[M]. New York: Springer-Verlag, 1993.