光学 精密工程  2018, Vol.26 Issue (11): 2703-2713   PDF    
机器人工作空间求解的蒙特卡洛法改进和体积求取
徐振邦1, 赵智远1,2, 贺帅1, 何俊培1,2, 吴清文1     
1. 中国科学院 长春光学精密机械与物理研究所 空间机器人工程中心 空间机器人系统创新研究室, 吉林 长春 130033;
2. 中国科学院大学, 北京 100049
摘要: 针对传统的蒙特卡洛法求解机器人工作空间时精确度不够的问题,提出了一种改进的蒙特卡洛法。用传统的蒙特卡洛法生成一个种子工作空间,基于标准差动态可调的正态分布对种子工作空间进行扩展。在扩展过程中设定一个精度阈值,确保得到的工作空间中每个位置都能被准确的描述。基于得到的工作空间,提出了一种体元化算法求取工作空间的体积,寻找到工作空间的边界部分和非边界部分,通过对边界部分的不断细化,降低了体积求取误差。为了验证算法的有效性和实用性,以九自由度的超冗余串联机械臂为例,对本文改进的蒙特卡洛法和提出的体积求取算法进行仿真分析。结果表明:采样点数量相同时,改进的蒙特卡洛法生成的工作空间边界光滑,“噪声小”;得到精确的工作空间时改进方法需要的采样点数仅是传统方法的4.67%;体积求取算法效率较高,相对误差小于1%;求得的工作空间体积可用于评估机械臂性能,为后续机械臂构型优化奠定了理论基础。
关键词: 机器人      工作空间      蒙特卡洛法      正态分布      体元     
Improvement of Monte Carlo method for robot workspace solution and volume calculation
XU Zhen-bang1 , ZHAO Zhi-yuan1,2 , HE Shuai1 , HE Jun-pei1,2 , WU Qing-wen1     
1. Innovation Lab of Space Robot System, Space Robotics Engineering Center, Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033, China;
2. University of Chinese Academy of Sciences, Beijing 100049, China
*Corresponding author: ZHAO Zhi-yuan, E-mail:zhaozyjldx@126.com
Abstract: This study proposes an improved Monte Carlo method, considering that the traditional method lacks precision while calculating the workspace of a robot. The improved Monte Carlo method comprises two stages. In the first stage, a seed workspace is generated using the traditional Monte Carlo method. In the second stage, the seed workspace is expanded based on the normal distribution, and each region in the obtained workspace can be accurately described by setting an accuracy threshold in the process of expansion. Taking into account the characteristics of the normal distribution, to improve the efficiency of the expansion, dynamically adjustable standard deviations are used. Based on the obtained workspace, a voxel algorithm is proposed to determine the volume of the workspace. The algorithm for searching the boundary has been designed to locate the boundary as well as the non-boundary of the workspace. Refining the boundary alone reduces the calculation time and the resulting error. In order to verify the validity and practicability of the algorithm, the improved Monte Carlo method and the proposed volumetric algorithm were simulated and analyzed using a 9-degrees-of-freedom super-redundant serial robot. The results show that when the number of sampling points is the same, the boundary of the workspace generated by the improved Monte Carlo method is smoother and the noise is smaller. When the accurate workspace is obtained, the number of sampling points needed by the improved method is only 4.67% that of the traditional method. The designed volumetric algorithm is also more efficient, with a relative error less than 1%. The volume of workspace thus obtained can be used to evaluate the performance of a serial robot, which lays a theoretical foundation for the subsequent optimization of serial robot configuration.
Key words: robot     workspace     Monte Carlo method     normal distribution     voxel    
1 引言

机器人的工作空间是指操作器执行所有可能运动时末端参考点所能到达的位置的集合,是由操作器的几何形状和关节运动的限位决定的[1]。机器人工作空间的大小代表了机器人的活动范围,它是衡量机器人工作能力的一个重要运动学指标[2-3]。2008年,Dai[4]等人研制了一种仿壁虎机器人,通过对机器人足端工作空间的分析验证了机器人的越障能力。2011年,Wang[5]等人研制了果蔬采摘机械臂,以工作空间为约束对机械臂的结构参数进行了优化设计。2015年,Dong[6]等人提出一种以工作空间密度函数为基础的迭代算法来求解机器人的逆运动学问题,为冗余机械臂逆运动学求解提供了新方法。2017年,Zhao[7]等人基于工作空间分析,提出了一种新的超冗余机器人运动规划方法。因此,研究机器人的工作空间对于机器人的结构设计和运动规划具有很重要的意义。

目前,求解机器人工作空间的主要方法可以分为三类:几何法、解析法和数值法[8]。几何法主要用于平面机器人工作空间的求解,可以得到工作空间的剖截面或剖截线,直观性强,但受到自由度数的限制,不能精确描述多自由度机器人的工作空间[9]。解析法是基于雅克比矩阵的求解机器人工作空间的方法,求解过程复杂,一般用于关节数少于3个的机器人[10]。数值法是基于机器人正向运动学求解工作空间的方法,求解过程简单,可适用于任意形式的机器人结构,应用最为广泛[11]。在众多数值方法中,蒙特卡洛法是一种常用于机器人工作空间求解的数值方法。但是该方法存在如下问题:(1)应用传统蒙特卡洛法求得的机器人工作空间的精确度依赖于随机采样点的数量,当采样点数量不足时,不能生成精确的工作空间,生成的工作空间的边界“噪声”很大,不光滑。通过不断增加随机采样点的数量,虽然可以改善工作空间边界处点不足的情况,但是大多数的点依旧出现在非工作空间边界的部位,导致点的浪费[12-13]。(2)机器人正向运动学方程中的坐标变换方程是非线性的,用蒙特卡洛法取得的关节角角度值服从均匀分布,经过关节空间到操作空间的映射后,得到的工作空间点在整个工作空间中的分布就不再满足均匀分布[14]。会出现有些地方点云密度大,有些地方点云密度小的问题。而且点云密度小的地方往往出现在工作空间边界的位置,导致不能生成精确的工作空间边界。与此同时,点云密度大的地方,出现“冗余”的情况,严重浪费了计算资源。(3)用传统蒙特卡洛法求得的机器人工作空间,由于精确度不高,导致下一步求得的体积误差较大,不利于机器人运动规划和结构参数的优化设计。

针对上述问题,2011年Cao[12]等引入β分布生成关节变量随机值,通过增加关节变量在关节角上下限附近取值的概率,从而增加工作空间点在工作空间边界处的分布密度。该方法可以提高工作空间边界处的精度,但是对于工作空间边界不在关节角上下限处得到的机器人,该方法失去作用。2013年,Liu[13]等为了提高工作空间边界处的精度,对工作空间分层,在每一层寻找边界点,然后在每层的边界点处局部增加随机点,直到生成明显的工作空间边界。该方法有效提高了工作空间边界处的精度,但是精度和分层数有关,分层数不合理时效果不佳。而且分层数太多时,会大大增加耗时。2017年,Peidró[14]等先求得一个种子工作空间,然后找到该工作空间的边界点,再采用高斯分布在生成边界点的关节角附近抽样,将抽样值带入正向运动学方程,得到工作空间中的点。这些点出现在边界点附近,从而增加了工作空间点在边界处的分布密度,提高了边界处的精度。采用该方法可以提高工作空间的边界精度,但是该方法寻找边界点过程复杂,如果工作空间含有腔体,会大大增加寻找边界点的复杂度。

工作空间表示机器人活动空间的范围,其大小可以用体积来衡量。精确求得工作空间的体积对于机器人运动规划和结构参数最优化具有重要意义。目前,求体积一般都采用先求工作空间的边界,再用数值积分法求体积的方法[15],然而该方法存在曲线和曲面拟合过程复杂,精度不易控制的缺点[16]。本文针对该问题,首先对蒙特卡洛法进行改进,用传统蒙特卡洛法生成种子工作空间,基于正态分布抽样扩展种子工作空间,在扩展过程中设定一个精度阈值,确保得到的工作空间中每个位置都能被精确的描述。考虑到正态分布抽样的特点,为了提高扩展效率,正态分布的标准差是动态可调的。然后针对采用改进蒙特卡洛法得到的工作空间,提出一种体元化算法求取工作空间的体积。考虑到通过不断细化体元提高结果精度会增加计算耗时的问题,将工作空间分为两个部分。设计了寻找边界和非边界的算法,寻找到工作空间的边界部分和非边界部分,通过对边界部分的不断细化,减少了计算时间,降低了结果误差。最后,以九自由度超冗余串联机械臂为例验证了改进的蒙特卡洛法和提出的体元化算法的有效性和实用性。

2 传统蒙特卡洛法

蒙特卡洛法是一种基于随机抽样来解决数学问题的数值方法,用于求解机器人工作空间时,通过蒙特卡洛法随机抽取大量不同关节的变量组合,将这些变量组合带入正向运动学方程,计算出机器人末端参考点的坐标值,这些坐标值包络的空间就代表了机器人的工作空间[17]。随机抽取的变量组合越多,得到的机器人工作空间越接近实际的工作空间。用蒙特卡洛法求解机器人工作空间的具体步骤如下:

步骤1:利用随机函数RAND产生机器人关节变量随机值为:

(1)

式中:q为关节随机变量;qmaxqmin为关节角上、下限;i=1,…,DD为机器人关节数。

步骤2:将关节角随机值带入正向运动学方程,得到机器人末端执行器参考点的位置坐标P(xyz)。

步骤3:利用MATLAB将每个参考点的位置坐标描在三维笛卡尔坐标系中,得到机器人的工作空间。

3 改进的蒙特卡洛法 3.1 生成种子工作空间

用传统的蒙特卡洛法分别对每个关节变量随机取得N1个值。将得到的关节变量值带入正向运动学方程,求得操作空间中的坐标值,用P(XYZ)表示,将这些坐标值描在笛卡尔坐标系中得到了机器人的工作空间。求得工作空间点在三个坐标轴方向的最大值和最小值,即XmaxYmaxZmaxXminYminZmin。为了准备第2阶段种子工作空间的扩展,进行如下步骤:

步骤1:生成一个长方体包络种子工作空间。由于种子工作空间比实际的工作空间小,为了方便第2阶段对种子工作空间的扩展,在每一个坐标轴方向增加一个值Δ,然后用一个长方体将种子工作空间包络起来,得到的长方体的顶点坐标为。其中:

(2)
(3)
(4)
(5)

式中:lwh分别代表长方体的长、宽和高。

步骤2:将长方体分别沿着XYZ轴分割为nxnynz个等间距的部分。然后长方体被离散为k=nx×ny×nz个小长方体。对每个小长体进行编号,如图 1所示,搜索每个小长体里面包含的工作空间点的数量。为了确保工作空间中每个位置都能被精确的描述,设定一个精度阈值Ngoal

图 1 编号示意图 Fig.1 Concept map of number

步骤3:找到包含工作空间点数量小于Ngoal的小长方体,建立一个数据库Database_1,将找到的小长体对应的编号存入该数据库中,每个小长方体中包含的工作空间点的数量记为Nc(c=m,…,n),其中(1≤mnk)。

步骤4:找到落入数据库Database_1中每个小长方体里面的点,建立一个数据库Database_2,存入产生这些点的关节角的值。

3.2 种子工作空间扩展

通过算法1的流程对种子工作空间进行扩展。

对数据库Database_1中的所有小长方体进行加密,每个长方体需要加密的次数为nc=|NgoalNc|(c=m,…,n)。对于每一个需要加密的小长方体Sc,在该长方体包含的所有工作空间点中随机选取一个点P0(第3行),在数据库Database_2中找到产生该点的关节角q0(第4行)。利用正态分布在关节角q0附近随机取值,正态分布的均值μ=q0,标准差σ人为设定,取值次数为nc=|NgoalNc|(c=m,…,n),每一次取值后进行判断,如果qi*在对应的关节角取值范围内,保留该次取值;如果不满足,舍弃后重新取值(第6,7,8,9,11行)。将新产生的关节角qi*带入正向运动学方程,在P0点附近产生nc=|NgoalNc|(c=m,…,n)个新的工作空间点(第10行)。

算法1:控制精度增长种子工作空间
Given:Database_1,Database_2,σδNgoalnfmax
1  while Database_1 is not empty do
2   for c=m,…,n do
3  P0←workspace point randomly picked among in Sc
4  q0←vector of joint coordinates that generated P0
5  nf←0
6  for i=1,…,nc do
7       nc←|NgoalNc|(c=m,…,n)
8      qi*←Normal(qc0σ)
9      if qi* satisfies joint limits then
10    Pi*←solve the forward kinematic problem
11      else qi*←Normal(qc0σ)
12        Database_1←Pi*
13        Database_2←qi*
14  end if
15        end for
16  end for
17    nfnf+1
18    if nf>nfmax then
19       nf←0
20        σσ/δ
21           end if
22  end while

将新产生的工作空间点Pi*存入数据库Database_1中,关节角qi*存入数据库Database_2中(第12,13行)。根据正态分布概率密度函数的特性,新产生的关节角值可能离q0较远,映射到工作空间后,得到的工作空间点也许不在P0点所在的小长方体里面。但是由于产生该点的关节角在关节角范围之内,所以得到的点同样是工作空间的点,这些点落在正在加密的小长方体以外的小长方体中,保证了工作空间的扩展。正态分布的概率密度函数图像如图 2所示,方差σ决定了分布的幅度,σ越大,曲线越扁平;σ越小,曲线越瘦高。本文利用正态分布在q0附近随机取值时,为了保证每一次随机取得的关节值在q0附近,标准差σ是动态可调的。用nf表示算法1加密Database_1中小长方体时连续失败的次数,当nf大于设定的临界值nfmax时,表示此时正态分布的标准差σ太大,减小σ通过除以一个大于1的调整数δ,每次调整完σ后,nf重置为0(第17,18,19,20行)。在加密完Database_1中所有的小长方体后,进行第二轮加密,重复3.1中步骤3和步骤4,然后重复算法1的流程对不满足要求的小长方体进行加密。重复以上步骤,直到数据库Database_1中不包含要加密的小长体时,加密完成,得到了机器人的工作空间。

图 2 正态分布概率密度函数 Fig.2 Normal distribution probablity density function
4 工作空间体积求取算法

针对改进蒙特卡洛法求得的机器人工作空间,提出了一种体元化算法,用来求取工作空间的体积。体元是三维空间中的最小单位,体元化是指在三维空间中用一定数量的体元来模拟真实物体的形状。由于体元的体积是已知的,因此当真实物体被体元近似后,真实物体的体积可以近似为所有体元的个数乘以体元的体积[18-20]。用体元化算法求取物体的体积存在一定的误差,误差出现在物体的边界部分,其值取决于所用体元的体积,体元的体积越小,用体元模拟的物体形状越接近物体实际的形状,求得的物体的体积精度越高。由于机器人关节空间到工作空间的映射是连续的,所以机器人的工作空间是连续的。用体元算法求工作空间体积时,当体元划分到足够小时,为了避免机器人工作空间中点云密度小的地方没有生成体元,用体元化算法求得的结果比实际结果小的问题,需要机器人工作空间中每个位置都有足够的工作空间点。本文用改进蒙特卡洛法求得工作空间,每个位置都被准确描述,有利于体元化算法进行体积求取。不断的细化体元可以提高精度,但是精度和效率成反比,为了提高计算精度的同时保证有较高的计算效率,将机器人的工作空间分为两部分,即边界部分和非边界部分。用体元近似机器人工作空间时,首先用比较大的体元近似工作空间形状,找到代表工作空间边界的体元和代表工作空间非边界的体元;然后通过只对边界部分的体元不断细化来提高计算精度。最后得到的工作空间体积包含两部分,即边界部分体积和非边界部分体积。体元化算法求取机器人工作空间体积的具体步骤如下:

步骤1:将工作空间点云图用一个长方体包络。已知工作空间中各点的坐标值xyz,首先求得工作空间点在三个坐标轴方向的最大值和最小值,即xmaxymaxzmaxxminyminzmin;然后用一个长方体将工作空间点云图包络,长方体的顶点坐标为(xminyminzmin),边长分别为:

(6)
(7)
(8)

步骤2:将步骤1得到的长方体分别沿着三个坐标轴方向分割为abc个等间距的部分。长方体被分割为a×b×c个体元,每个体元的体积为:

(9)

步骤3:对步骤2得到的体元进行编号,编号方法如图 1所示。对体元进行遍历搜索,删除不包含工作空间点的体元的编号,建立一个数据库Database_3,存入包含工作空间点的体元对应的编号。

步骤4:在步骤3剩余的体元中,通过算法2找到代表工作空间边界的体元和代表工作空间非边界的体元。建立一个数据库Database_4,将代表工作空间边界部分的体元对应的编号存入该数据库中。用n1表示工作空间非边界部分体元的数量,V1表示工作空间非边界部分的体积;用n2表示工作空间边界部分体元的数量,V2表示工作空间边界部分的体积,求得V1V2为:

(10)
(11)
算法2:寻找边界和非边界体元
Given:Database_3,a
1  R←number of voxel in Database_3
2  for i=1,…,n do
3    R0←the remainder after division of Ri bya
4    Condition 1←R-1∉Database_3
5    Condition 2←R+1∉Database_3
6    Condition 3←Ra∉Database_3
7    Condition 4←R+a∉Database_3
8    Condition 5←R0==1
9    Condition 6←R0==0
10  if Condition 1 to Condition 6 at least one is true then
11      Database_4←R
12    end if
13  end for
14  return Database_4

边界体元是指与该体元相邻的所有体元中至少有一个体元不含工作空间的点。采用逐层寻找边界体元的方法,将每一层投影到二维平面,每个体元有4个相邻的体元。图 3所示是一个寻找边界体元和非边界体元的例子(彩图见期刊电子版),图中数字代表体元编号,紫色填充的体元代表边界体元,绿色填充的体元代表非边界体元,白色填充的体元代表不包含工作空间点的体元。经过步骤3,白色体元被删除,有色体元的编号被存入数据库Database_3。经过算法2的流程,对每个体元分别判断6个条件(第4,5,6,7,8,9行),其中前4个条件是判断每个体元相邻的4个体元,4个体元中出现特殊位置体元时,需要进行后两个条件的判断,只要满足其中一个条件,则认为该体元是边界体元,然后将体元对应的编号存入数据库Database_4中(第10,11,12行);如果不满足任何一个条件,则该体元是非边界体元。例如,该例子中编号为13的体元,其相邻4个体元对应的编号分别为7,12,14和19,该体元不满足前4个条件,但是该体元是边界体元,所以需要再判断条件5。同理编号为18的体元,也出现在了特殊的位置,需要再判断条件6。综上所述,为了准确找到边界体元,统一判断流程,每个体元需要分别判断6个条件。

图 3 寻找边界体元细化示意图 Fig.3 Concept map of seeking boundary voxels

步骤5:细化边界部分体元。对数据库Database_4中所有体元进行细化,细化方法如图 4所示。第一次细化,每个体元被划分为23个完全相同的小体元,如图 4(b)所示;第二次细化,将边界部分的体元重新划分,每个体元被划分为33个完全相同的小体元,如图 4(c)所示;同理第n次细化,每个体元被划分为(n+1)3个完全相同的小体元。每次细化后,进行遍历搜索,删除不包含工作空间点的体元,剩余体元的数量仍然用n2表示,工作空间边界部分的体积仍然用V2表示。

图 4 边界体元细化示意图 Fig.4 Concept map of boundary divided voxels

步骤6:求取工作空间的体积。用V表示机器人工作空间的体积;用i(1,…,N)表示步骤5中边界部分体元细化的次数;用ε表示边界部分体元被细化i次时求得的工作空间体积,相对边界部分体元被细化i-1次时求得的工作空间体积误差为:

(12)
(13)
5 实验分析

以本课题组研制的九自由度超冗余串联机械臂为例,对改进的蒙特卡洛法和提出的体积求取算法进行仿真分析。该串联机械臂由一种大输出力矩、大减速比、小关节长度的机械臂关节组成,具有结构紧凑、灵活性好、空间避障能力强等特点,可用于执行空间在轨服务任务[21-22]。该机械臂有9个连杆和9个转动关节,每个关节具有一个旋转自由度,如图 5所示。

图 5 九自由度超冗余串联机械臂 Fig.5 9-DOF super redundant series manipulator
5.1 正向运动学分析

机器人的正向运动学是指在给定所有关节位置和所有连杆几何参数的情况下,求取末端相对于基座的位置和姿态。采用修改后的D-H法建立机器人坐标系,推导出正向运动学方程,相应的D-H参数如表 1所示。

表 1 九自由度超冗余串联机械臂的D-H参数 Tab. 1 D-H parameters of 9-DOF super redundant series manipulator

相邻关节坐标系i-1和i之间的位姿变换矩阵为:

(14)

式中:i=cos θii=sin θii-1=cos αi-1i-1=sin αi-1。机械臂末端执行器的正向运动学方程为:

(15)
(16)

式中:R为末端执行器相对基坐标的姿态矩阵;P为末端执行器相对基坐标系的位置向量。

5.2 工作空间仿真与分析

对于九自由度超冗余串联机械臂,分别用传统的蒙特卡洛法和改进的蒙特卡洛法进行工作空间的仿真。当采样点数N=106时,用传统的蒙特卡洛法得到的工作空间如图 6(a)所示。采用改进蒙特卡洛法时,各参数设置如表 2所示,得到的工作空间如图 6(b)所示,总共需要的采样点的数量是935 010个。

图 6 机器人工作空间 Fig.6 Workspaces of manipulator

表 2 改进蒙特卡洛法的参数设置 Tab. 2 Parameter settings of improved Monte Carlo method

对比两种方法得到的工作空间,当采样点数量基本一致时,采用传统蒙特卡洛法得到的工作空间边界粗糙、“噪声大”,与用改进蒙特卡洛法得到的工作空间形成鲜明对比。将图 6XOY面投影图置于同一个坐标系中,如图 7所示(彩图见期刊电子版),图中蓝色代表用改进的蒙特卡洛法求得的工作空间,红色代表用传统的蒙特卡洛法求得的工作空间。由图可以明显的看出,用传统的蒙特卡洛法得到的工作空间比实际的工作空间小,用改进的蒙特卡洛法得到的工作空间更接近实际的工作空间。

图 7 工作空间的XOY面投影图 Fig.7 XOY projection of workspace

通过增加随机采样点数量的方法对传统蒙特卡洛法进行改进,随着取点数量的增加,求得的工作空间不断接近实际的工作空间。用生成的工作空间点的坐标值在三个坐标轴方向的极值变化表示工作空间的变化[23-24],当随机取点数达到2×107个时,工作空间点在三个坐标轴方向的极值不再变化,表示工作空间不再随取点数量的增加而增大,认为此时的工作空间即为近似的实际工作空间。工作空间坐标值变化与采样点数量之间的关系如图 8所示。

图 8 工作空间与随机点数量之间的关系 Fig.8 Relationship between workspace and number of random points

综上所述,对于九自由度超冗余串联机械臂,为了得到近似实际的工作空间,传统蒙特卡洛法需要2×107个采样点,改进的蒙特卡洛法仅需要935 010个采样点。改进的蒙特卡洛法需要采样点的数量是传统蒙特卡洛法采样点数量的4.67%。

5.3 计算工作空间体积

针对改进的蒙特卡洛法求得的九自由度超冗余串联机器人的工作空间,采用文章第4部分算法2对工作空间体积进行求取。用一个长方体将工作空间包络,如图 9(a)所示。将长方体分别沿着xyz轴划分为10×10×10个等间距的部分,如图 9(b)所示,长方体被分割为1 000个完全相同的体元,利用公式(9)求得每个体元的体积V0。遍历搜索每个体元,将不包含工作空间点的体元删除掉,如图 9(c)9(d)所示。找到代表工作空间边界的体元和代表工作空间非边界的体元,如图 9(e)所示。计算出工作空间非边界部分体元的数量n1,带入公式(10)中求得工作空间非边界部分的体积V1,将V1存入表 3中。同理计算出n2V2,将V2存入表 3中。然后对工作空间边界部分的体元进行细化,如图 9(f)表示,计算出包含有至少一个工作空间点的所有小体元的数量n2,带入公式(11)中求得工作空间边界部分的体积V2,将V2存入表 3中。

图 9 体积计算过程示意图 Fig.9 Concept maps of volume calculation process

表 3 体积计算结果 Tab. 3 Results of volume calculation

第二次细化将工作空间边界部分的体元重新划分,同理求得V2。以此类推,第N次细化时,求得体积V2。利用公式(12)求出工作空间的体积,利用公式(13)计算相对误差ε,上述结果如表 3所示。

表 3可以看出,在不断细化工作空间边界部分体元时,所求工作空间体积的精度还会进一步提高。虽然本文设计的体积求取算法只对工作空间边界部分体元进行细化,以节省时间,但是当工作空间边界部分体元被细化得足够小时,每一次计算仍然需要较长的时间。用蒙特卡洛法求机器人工作空间本质上就是一个近似的过程,得到的工作空间是实际工作空间的一个近似值。因此,综合考虑计算精度和求解效率,本文以相对误差ε≤1.00%为判据,认为此时求得的工作空间体积即为实际的工作空间体积。综上所述,本文求得的九自由度超冗余串联机器人工作空间的体积为9.557 6×109 mm3

5.4 机械臂性能评估

评估机械臂性能的指标较多,SLI(Structural Length Index)是其中之一。SLI指标表明机械臂的结构效率,定义为机械臂连杆长度的总和与其末端可达工作空间体积的立方根的比值[25],即:

(17)
(18)

式中:V为机械臂末端执行器可达的工作空间体积;aidi分别为连杆长度和连杆偏置。

在设计机械臂的结构时,一般L值越小、V值越大,则机械臂的设计越优,即QL的计算值越小机械臂的设计越优。九自由度串联超冗余机械臂有9个旋转关节Re(e=1,…,9),关节构型为J1J2J3J4J5J6J7J8J9,如图 10所示,J代表关节轴线。

图 10 九自由超冗余串联机械臂构型 Fig.10 Configuration of 9-DOF super redundant series manipulator

将连杆的长度和连杆偏置带入公式(17)中得:

已知V=9.557 6×109 mm3,带入公式(18)中得:

6 结论

本文开展了基于蒙特卡洛法的机器人工作空间研究,对求解工作空间的传统蒙特卡洛法进行了改进。考虑到最终得到的工作空间能否代表实际工作空间的问题,在种子工作空间扩展的过程中设定了一个精度阈值,确保了最终得到的工作空间高度近似实际的工作空间。然后,针对改进方法得到的工作空间提出了一种体元化算法求取工作空间的体积。为了提高结果精度,提出了寻找边界和非边界的算法,将工作空间分为边界和非边界部分,通过对边界部分的不断细化,降低了结果误差。以九自由度超冗余串联机械臂为例,验证了改进的蒙特卡洛法以及提出的体积求取算法的有效性和实用性。结果表明:采样点数量相同时,改进的蒙特卡洛法生成的工作空间边界光滑,“噪声小”,所需要的采样点数仅是传统方法的4.67%;体积求取算法的效率较高,相对误差小于1%;求得的工作空间体积可用于评估机械臂性能,为后续机械臂构型优化提供了理论支撑。

参考文献
[1]
BRUNO SICILIANO O K. Handbook on robotics[J]. Springer Handbook of Robotics, 2014, 56(8): 987-1008.
[2]
刘海涛, 杨乐平, 朱彦伟, 等. 空间机器人工作空间研究[J]. 组合机床与自动化加工技术, 2011(8): 26-29.
LIU H T, YANG L P, ZHU Y W, et al. Research on space robot workspace[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2011(8): 26-29. DOI:10.3969/j.issn.1001-2265.2011.08.007 (in Chinese)
[3]
李保丰, 孙汉旭, 贾庆轩, 等. 基于蒙特卡洛法的空间机器人工作空间计算[J]. 航天器工程, 2011, 20(4): 79-85.
LI B F, SUN H X, JIA Q X, et al. Calculation of space workspace by using Monte Carlo method[J]. SpacecraftEngineering, 2011, 20(4): 79-85. DOI:10.3969/j.issn.1673-8748.2011.04.016 (in Chinese)
[4]
代良全, 张昊, 戴振东. 仿壁虎机器人足端工作空间分析及其实现协调运动的步态规划[J]. 机器人, 2008, 30(2): 182-186.
DAI L Q, ZHANG H, DAI ZH D. Analysis on feet workspace of gecko robot and gait planning for its coordinated motion[J]. Robot, 2008, 30(2): 182-186. DOI:10.3321/j.issn:1002-0446.2008.02.016 (in Chinese)
[5]
王燕, 杨庆华, 鲍官军, 等. 关节型果蔬采摘机械臂优化设计与试验[J]. 农业机械学报, 2011, 42(7): 191-195.
WANG Y, YANG Q H, BAO G J, et al. Optimization design and experiment of fruit and vegetable picking manipulator[J]. Transactions of the Chinese Society for Agricultural Machinery, 2011, 42(7): 191-195. (in Chinese)
[6]
东辉, 杜志江. 基于工作空间密度函数的平面冗余机器人的逆运动学求解算法[J]. 机械工程学报, 2015, 51(17): 8-14.
DONG H, DU ZH J. Inverse kinematics of planar redundant manipulators based on workspace density function[J]. Journal of Mechanical Engineering, 2015, 51(17): 8-14. (in Chinese)
[7]
ZHAO J, ZHAO L, WANG Y. A novel method for the motion planning of hyper-redundant manipulators based on Monte Carlo[J]. Lecture Notes in Electrical Engineering, 2016, 11-22.
[8]
MERLET J P. Parallel Robots[M]. The Netherlands: Springer, 2006.
[9]
BOHIGAS O, MANUBENS M A, ROS L. A complete method for workspace boundary determination on general structure manipulators[J]. IEEE Transactions on Robotics, 2012, 28(5): 993-1006. DOI:10.1109/TRO.2012.2196311
[10]
GUAN Y, YOKOI K. Reachable space generation of a humanoid robot using the Monte Carlo method[C].IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006: 1984-1989.
[11]
GUAN Y, YOKOI K, ZHANG X. Numerical methods for reachable space generation of humanoid robots[J]. International Journal of Robotics Research, 2008, 27(8): 935-950. DOI:10.1177/0278364908095142
[12]
CAO Y, LU K, LI X, et al. Accurate numerical methods for computing 2D and 3D robot workspace[J]. International Journal of Advanced Robotic Systems, 2011, 8(6): 76. DOI:10.5772/45686
[13]
刘志忠, 柳洪义, 罗忠, 等. 机器人工作空间求解的蒙特卡洛法改进[J]. 农业机械学报, 2013, 44(1): 230-235.
LIU ZH ZH, LIU H Y, LUO ZH, et al. Improvement on Monte Carlo method for robot workspace determination[J]. Transactions of the Chinese Society for Agricultural Machinery, 2013, 44(1): 230-235. (in Chinese)
[14]
PEIDRO A, ÓSCAR R, GIL A, et al. An improved Monte Carlo method based on Gaussian growth to calculate the workspace of robots[J]. Engineering Applications of Artificial Intelligence, 2017, 64: 197-207. DOI:10.1016/j.engappai.2017.06.009
[15]
CAO Y, QI S, LU K, et al.. Shape and size computation of planar robot workspace[C].2009 WRI World Congress on Computer Science and Information Engineering, IEEE, 2009: 126-130.
[16]
田海波, 马宏伟, 魏娟. 串联机器人机械臂工作空间与结构参数研究[J]. 农业机械学报, 2013, 44(4): 196-201.
TIAN H B, MA H W, WEI J. Workspace and structural parameters analysis for manipulator of serial robot[J]. Transactions of the Chinese Society for Agricultural Machinery, 2013, 44(4): 196-201. (in Chinese)
[17]
ALCIATORE D G, NG C C D. Determining manipulator workspace boundaries using the Monte Carlo method and least squares segmentation[C].ASME Robotics: Kinematics, Dyn. Contr, 1994.
[18]
韦雪花, 王永国, 郑君, 等. 基于三维激光扫描点云的树冠体积计算方法[J]. 农业机械学报, 2013, 44(7): 235-240.
WEI X H, WANG Y G, ZHENG J, et al. Tree crown volume calculation based on 3D laser scanning point clouds data[J]. Transactions of the Chinese Society for Agricultural Machinery, 2013, 44(7): 235-240. (in Chinese)
[19]
王佳, 张芳菲, 高赫, 等.地基激光雷达提取单木冠层结构因子研究[J/OL].农业机械学报, 2018(2): 1-16.
WANG J, ZHANG F F, GAO H, et al..Extracting crown structure parameters of individual tree by using groundbased laser scanner[J/OL].Transactions of the Chinese Society for AgriculturalMachinery, 2018(2): 1-16.(in Chinese)
[20]
FERNANDEZSARRIA A, MARTINEZ L, VELAZQUEZMARTI B, et al. Different methodologies for calculating crown volumes of platanus hispanica trees using terrestrial laser scanner and a comparison with classical dendrometric measurements[J]. Computers & Electronics in Agriculture, 2013, 90: 176-185.
[21]
何俊培, 徐振邦, 于阳, 等. 九自由度超冗余机械臂的设计和测试[J]. 光学 精密工程, 2017, 25(12): 80-86.
HE J P, XU ZH B, YU Y, et al. Design and experimental testing of a 9-d-of hyper-redundant robotic arm[J]. Opt. Precision Eng, 2017, 25(12): 80-86. (in Chinese)
[22]
田士涛, 吴清文, 贺帅, 等. 空间机械臂锁紧机构等效线性化分析和验证[J]. 光学 精密工程, 2016, 24(3): 590-599.
TIAN SH T, WU Q W, HE SH, et al. Linear analysis and practical tests of fixation mechanisms in space robotic arm[J]. Opt. Precision Eng, 2016, 24(3): 590-599. (in Chinese)
[23]
GRANNA J, BURGNER J. Characterizing the workspace of concentric tube continuum robots[C]. ISR/robotik 2014;International Symposium on Robotics; Proceedings of. VDE, 2014: 1-7.
[24]
BURGNER-KAHRS J, GILBERT H B, GRANNA J, et al.. Workspace characterization for concentric tube continuum robots[C].IEEE/RSJ International Conference on Intelligent Robots and Systems, 2014: 1269-1275.
[25]
PATEL S, SOBH T. Manipulator performance measures-a comprehensive literature survey[J]. Journal of Intelligent & Robotic Systems, 2015, 77(3): 547-570.