Density-Reducing Monte Carlo Method for 7 Degrees of Freedom Humanoid Robot Arm Workspace Solution
-
摘要:
针对蒙特卡洛法和改进蒙特卡洛法在求解机械臂工作空间时存在精度不够准确和加密点云浪费的问题,提出一种降密蒙特卡洛法. 首先,基于蒙特卡洛法中随机点分布不均的特性,对机械臂初始工作空间进行均匀加密,使空间的内部与边界区域分明;然后,采用扩展关节角度和循环加密随机点的方式,只对边界区域进行加密,达到降低工作空间随机点云密度的目的;同时,还研究了该方法中初始点云数量、各轴向分割体素数量、精度阈值、扩展关节角度和循环次数等参数对工作空间精度的影响;最后,通过仿真分析对降密蒙特卡洛法的有效性进行验证. 结果表明:相比于蒙特卡洛法,降密蒙特卡洛法在工作空间平均误差率为0.02242%时,总随机点云数量降幅为93.89%;相比于改进蒙特卡洛法,在循环次数为2次和4次时,降密蒙特卡洛法工作空间的平均误差率分别降低0.13853%和0.11329%,总随机点云数量降幅分别为44.83%和64.52%.
Abstract:A density-reducing Monte Carlo method was proposed to address the problems of inaccurate precision and waste of encrypted point cloud in the Monte Carlo method and the improved Monte Carlo method for solving robot arm workspace. Firstly, based on the characteristic of uneven distribution of random points in the Monte Carlo method, the initial workspace of the robot arm was uniformly densified to make the inner and boundary regions of the space clear. Then, only the boundary region was encrypted by adopting the extended joint angle and the cyclic encryption of random points, so as to reduce the density of the random point cloud in the workspace. Meanwhile, the influence of initial point cloud quantity, axial segmentation voxel quantity, precision threshold, extended joint angle, and cycle number on the precision of the workspace was studied. Finally, the effectiveness of the density-reducing Monte Carlo method was verified by simulation analysis. The results show that compared with the Monte Carlo method, the total number of random point clouds of the density-reducing Monte Carlo method decreases by 93.89% when the average error rate of the workspace is 0.022 42%. In addition, compared with the improved Monte Carlo method, the density-reducing Monte Carlo method reduces the average error rate of the workspace by 0.138 53% and 0.113 29% when the number of cycles is 2 and 4, and the total number of random point clouds decreases by 44.83% and 64.52%.
-
随着老龄化社会的加剧,仿人机械臂的发展可以弥补年轻劳动力的短缺,解决老龄化社会带来的家庭服务和医疗陪护等社会问题[1-2].
工作空间作为机械臂运动学分析中必不可少的环节,其大小代表了机械臂的工作范围,是衡量机械臂工作性能的重要指标[3]. Yin等[4]采用工作空间描述的方式,筛选出液压挖掘机反铲臂的最优设计方案. 东辉等[5]利用提出的工作空间密度函数,通过迭代的方式求解平面冗余机器人的逆运动学解. Xu等[6]提出一种5自由度(DOF)机械臂,并依据工作空间为机械臂设置轨迹规划任务. 赵智远等[7]基于工作空间分析,为9-DOF超冗余机械臂确定出36种构型方案. 因此,机械臂工作空间的研究对机械臂设计与任务规划具有重要意义.
目前,工作空间的求解分为几何法、解析法和数值法:几何法可以获得工作空间的剖截面或剖截线,具有简单、直观的特点,适用于平面机械臂工作空间的求解,但对多自由度机械臂工作空间的描述不够准确[8];解析法是基于雅克比矩阵奇异性与工作空间边界之间的关系,获得工作空间边界曲面的方法,可以准确地计算出工作空间的边界及其表达式,但求解过程十分复杂,一般适用于关节数少于3的机械臂[9];数值法则是基于概率统计学,采用随机抽取尽可能多的关节变量组合,获得机械臂末端位置的点集,进而近似代替机械臂的工作空间[10].
蒙特卡洛法作为工作空间求解的一种数值方法,具有算法简单和通用性强等优点[11-12]. 蒙特卡洛法在计算机械臂工作空间时存在随机点分布不均的缺点[13-14],尤其是机械臂工作空间的边界位置,使得机械臂工作空间的边界位置模糊,造成机械臂工作空间的缺失. 为提高机械臂工作空间的精度,需要大量新增随机点云去充实机械臂工作空间的边界,但新增的随机点多数落入了工作空间的内部,造成了新增随机点云的大量浪费[15],并对机械臂工作空间的精度提升并不明显. 针对蒙特卡洛法的不足,一种改进蒙特卡洛法被提出[16-17],该方法利用蒙特卡洛法生成一个种子空间,在工作空间内点云数量较少的区域内部随机选取一个参考点,结合正态分布方法扩展并加密该参考点处随机点云的数量,提高工作空间的精度. 该方法在工作空间求解中,由于参考点为随机选取,不一定位于区域中心位置,并且扩展了该点处加密点云的范围,使得该区域内存在点云数量得不到充分加密和外溢点云的浪费问题.
针对蒙特卡洛法在求解机械臂工作空间时存在的不足,提出一种降密蒙特卡洛法,并研究该方法中各参数设置对工作空间精度的影响. 降密蒙特卡洛法通过准确加密每个区域内点云数量,均匀提高工作空间内部点云密度,使工作空间内部与边界分明;并针对边界点云数量少和边界模糊的缺点,采用扩展各关节角度范围的方式,通过多次迭代提高工作空间边界点云的密度和扩展工作空间边界范围,最终达到在保证工作空间精度的同时,减少新增点云浪费的目的,从而提高求解工作空间的效率.
1. 仿人机械臂运动学分析
1.1 仿人机械臂结构
仿人机械臂作为机器人的执行机构,具有工作空间范围大、灵活性高、较好的避障性和拟人化的执行动作等优点,被学者们广泛关注. 为了提高人机交互的舒适性和亲和力[18-19],本课题组提出了一种具有人体手臂构型的7-DOF仿人机械臂,如图1所示,该机械臂由肩、肘和腕关节模块组成,${\theta _i}$为对应关节的角度值,$i=1,2, \cdots ,D $,D为机械臂关节数. 肩关节模块由3个电机并联驱动3个关节,肘和腕关节模块分别由2个电机并联驱动2个关节. 各模块之间采用并行通讯,相互独立工作,共同完成机械臂的规划任务. 由于仿人机械臂各关节模块采用电机加钢丝绳的绳索驱动方式以及多电机并联驱动多关节的布局方式,使得该机械臂具有重量轻、结构紧凑、输出比高和拟人化运动程度高等优点. 该机械臂拥有7个电机和7个自由度,全长690 mm,自重2.2 kg,可夹持重量1.5 kg,其自重与承载比高达22∶15.
仿人机械臂各关节的关节限位如表1所示,其各关节的正方向如图1中标注所示.
表 1 仿人机械臂关节限位Table 1. Joint limit of humanoid robot arm关节角度 最大值/(°) 最小值/(°) θ1 180 −90 θ2 10 −180 θ3 120 −90 θ4 130 −60 θ5 180 −180 θ6 80 −80 θ7 90 −90 1.2 运动学分析
仿人机械臂的运动学分析是机械臂工作空间求解和运动学控制的基础. 正运动学是已知机械臂的各关节角度去推算机械臂末端执行器在笛卡尔坐标系下的位置与姿态. 根据7-DOF仿人机械臂构型和标准D-H (Denavit-Hartenberg)建模方法,建立仿人机械臂运动学坐标系如图2所示. 图2中:dbs为肩关节到基座的距离,dse为肘关节到肩关节的距离,dew为腕关节到肘关节的距离,awt为机械臂末端到腕关节的距离.
根据仿人机械臂各连杆之间的坐标系关系,推出机械臂各连杆D-H参数如表2所示. 其中:${d_i}$为相邻2个关节之间的连杆偏移量,${a_i}$为相邻2个关节之间的连杆长度,${\alpha _i}$为相邻2个连杆坐标系之间的扭转角度.
表 2 仿人机械臂D-H参数Table 2. D-H parameters for humanoid robot armi θi /(º) di /m ai /m αi / (º) 1 90 dbs 0 −90 2 0 0 0 90 3 0 dse 0 −90 4 0 0 0 90 5 0 dew 0 −90 6 −90 0 0 90 7 0 0 awt 0 仿人机械臂相邻两连杆之间的位姿变换矩阵为
$$ {\boldsymbol{T}}_i^{(i - 1)} = \left[ {\begin{array}{*{20}{c}} {c{\theta _i}}&{ - s{\theta _i}c{\alpha _i}}&{s{\theta _i}s{\alpha _i}}&{{a_i}c{\theta _i}} \\ {s{\theta _i}}&{c{\theta _i}c{\alpha _i}}&{ - c{\theta _i}s{\alpha _i}}&{{a_i}s{\theta _i}} \\ 0&{s{\alpha _i}}&{c{\alpha _i}}&{{d_i}} \\ 0&0&0&1 \end{array}} \right] ,$$ (1) 式中:$c{\theta _i} = \cos\; {\theta _i}$,$s{\theta _i} = \sin\; {\theta _i}$,$c{\alpha _i} = \cos\; {\alpha _i}$,$s{\alpha _i} = \sin\; {\alpha _i}$.
仿人机械臂的正运动学模型为
$$ \begin{split} &{\boldsymbol{T}}_7^{(0)} = {\boldsymbol{T}}_1^{(0)}{\boldsymbol{T}}_2^{(1)}{\boldsymbol{T}}_3^{(2)}{\boldsymbol{T}}_4^{(3)}{\boldsymbol{T}}_5^{(4)}{\boldsymbol{T}}_6^{(5)}{\boldsymbol{T}}_7^{(6)} =\\ &\quad\left[ {\begin{array}{*{20}{l}} {{n_x}}&{{o_x}}&{{a_x}}&{{P_x}} \\ {{n_y}}&{{o_y}}&{{a_y}}&{{P_y}} \\ {{n_\textit{z}}}&{{o_\textit{z}}}&{{a_\textit{z}}}&{{P_\textit{z}}} \\ 0&0&0&1 \end{array}} \right], \end{split} $$ (2) 式中:[nx ny nz]T为机械臂末端执行器坐标系的x7轴相对于基坐标系中的方向矢量,[ox oy oz]T为机械臂末端执行器坐标系的y7轴相对于基坐标系中的方向矢量,[ax ay az]T为机械臂末端执行器坐标系的z7轴相对于基坐标系中的方向矢量,Px、Py和Pz分别为机械臂末端执行器在笛卡尔坐标系中的空间位置点,该位置点的集合即为机械臂工作空间.
2. 蒙特卡洛法
蒙特卡洛法是一种基于概率统计的非确定性数值计算方法,因其误差与计算维数无关,常被学者们用来求解多关节机械臂的工作空间. 蒙特卡洛法求解步骤如下:
步骤1 建立机械臂正运动学数学模型${\boldsymbol{T}}$,并确定机械臂各关节限位[θi min , θi max].
步骤2 基于随机函数rand(·)生成N个[0, 1]间的随机变量,并计算出各关节的随机关节角度为
$$ \theta _{i }= \theta_{i\; {\rm{min}}} + (\theta_{i\; {\rm{max}}} - \theta_{i\; {\rm{min}}}) {\rm{rand}}(N, 1) .$$ 步骤3 将各关节随机值自由匹配为N组,代入正运动学方程,获得机械臂末端执行器参考点的位置坐标P(x, y, z).
步骤4 基于机械臂基座标,绘制每个参考点的位置坐标,获得机械臂工作空间的点云图.
3. 降密蒙特卡洛法
3.1 体素网格法的实现
根据蒙特卡洛法生成的机械臂工作空间初始随机点云${P_{{\text{init}}}}$以及体素网格法[20],将初始点云分割为若干矩形区域,每个矩形区域被称为体素. 体素网格法的具体步骤如下:
步骤1 建立随机点云的包围盒. 根据随机点云${P_{{\text{init}}}}$的位置坐标获得${P_{{\text{init}}}}$在各轴向的极值${x_{\max }}$、${y_{\max }}$、${\textit{z}_{\max }}$、${x_{\min }}$、${y_{\min }}$和${\textit{z}_{\min }}$,并计算出点云各轴向长度$l{\text{ = |}}{x_{\max }} - {x_{\min }}{\text{|}}$、$w{\text{ = |}}{y_{\max }} - {y_{\min }}{\text{|}}$和$h{\text{ = |}}{\textit{z}_{\max }} - {\textit{z}_{\min }}{\text{|}}$. 为了避免初始随机点云没有覆盖到工作空间的边界,造成工作空间的缺失,本文引入扩展因子$\varphi $扩大随机点云的边界范围,如图3(a)所示,并通过式(3)确定随机点云的扩展范围长度d.
$$ d = \frac{\varphi }{{16}}\left( {l + w + 2h - \left| {l - w} \right| - \left| {2h - l - w + \left| {l - w} \right|} \right|} \right) ,$$ (3) 式中:$\varphi \in [0,1] $,当φ=0时,d=0,此时包围盒不扩展,当φ=1时,d为包围盒最小边长的1/4.
扩展因子$\varphi $的选择与初始随机点云的范围相关,当初始随机点云数量少,覆盖工作空间范围小时,$\varphi $值应取较大值,有利于更全面地覆盖工作空间的实际边界;反之亦然.
通过扩展范围长度d确定包围盒的实际边界值,如式(4)所示,并建立包围盒,如图3(b)所示.
$$ \left\{\begin{array}{*{20}{c}} {{x_{{\rm{b}}\max }} = {x_{\max }} + d},\;{{x_{{\rm{b}}\min }} = {x_{\min }} - d}, \\ {{y_{{\rm{b}}\max }} = {y_{\max }} + d},\;{{y_{{\rm{b}}\min }} = {y_{\min }} - d} ,\\ {{\textit{z}_{{\rm{b}}\max }} = {\textit{z}_{\max }} + d},\;{{\textit{z}_{{\rm{b}}\min }} = {\textit{z}_{\min }} - d} . \end{array} \right.$$ (4) 步骤2 分割包围盒为若干体素. 根据包围盒各轴向极值范围,将包围盒分别沿x、y和z轴分割为${n_x}$、${n_y}$和${n_\textit{z}}$等份,如图3(c)所示,计算出各轴向体素的边长为${l_{\rm{b}}}$、${w_{\rm{b}}}$和${h_{\rm{b}}}$,如式(5)所示,并推算出每个体素的边界极值坐标,为后续初始随机点云的划分奠定基础.
$$ \left\{\begin{array}{*{20}{c}} {{l_{\rm{b}}} = {{\left( {{x_{{\rm{b}}\max }} - {x_{{\rm{b}}\min }}} \right)} \mathord{\left/ {\vphantom {{\left( {{x_{{\rm{b}}\max }} - {x_{{\rm{b}}\min }}} \right)} {{n_x}}}} \right. } {{n_x}}}} ,\\ {{w_{\rm{b}}} = {{\left( {{y_{{\rm{b}}\max }} - {y_{{\rm{b}}\min }}} \right)} \mathord{\left/ {\vphantom {{\left( {{y_{{\rm{b}}\max }} - {y_{{\rm{b}}\min }}} \right)} {{n_y}}}} \right. } {{n_y}}}} ,\\ {{h_{\rm{b}}} = {{\left( {{\textit{z}_{{\rm{b}}\max }} - {\textit{z}_{{\rm{b}}\min }}} \right)} \mathord{\left/ {\vphantom {{\left( {{\textit{z}_{{\rm{b}}\max }} - {\textit{z}_{{\rm{b}}\min }}} \right)} {{n_\textit{z}}}}} \right. } {{n_\textit{z}}}}} . \end{array} \right.$$ (5) 步骤3 标记体素索引$n$. 为了更好地识别每个体素的位置,提出了体素索引$n$的标记规则,其中$n \in \left\{ {1,\;2,\;3, \cdots } \right\}$. 体素标记采用统一编号规则:首先,沿x轴正方向,从1开始标记直到最后一个体素${n_x}$;其次,沿y轴正方向移动一个体素,继续沿x轴顺序标注,直到标记整个底层的最后一个体素${n_x}{n_y}$;然后,沿z轴正方向移动一个体素,继续前2步操作,并顺序标注索引;依此类推直至标记最后一个体素${n_x}{n_y}{n_\textit{z}}$,如图3(d)所示.
3.2 均匀加密工作空间内部点云的密度
在工作空间加密过程中,通过设置体素最低精度阈值${N_\text{ε} }$以及准确加密体素内点云数量的方法,使加密后机械臂工作空间内部点云密度均衡的同时,减少新增点云数量的浪费,算法1步骤如下:
步骤1 依照体素索引$n$,搜索体素内初始随机点云数量低于精度阈值${N_\text{ε} }$的体素,并记录该体素内的点云数量${N_{\rm{n}}}$. 将体素索引值$n$的点云坐标和点云数量${N_{\rm{n}}}$保存在数据库Database_1中;同时,将体素$n$内点云坐标所对应的机械臂各关节的角度值${\theta _1}、\;{\theta _2} 、\cdots、 \;{\theta _i}$保存到数据库Database_2中(第1~10行).
步骤2 针对数据库Database_1中保留的体素索引$n$及该体素内包含的点云数量${N_{\rm{n}}}$,确定出体素$n$所需加密点云数量为${N_{{\text{need}}}}{\text{ = }}{N_\text{ε} } - {N_{\rm{n}}}$(第17行). 为了准确加密体素内点云数量,减少新增点云的浪费,提取数据库Database_2中体素$n$对应所有点云的关节角度,并按照关节顺序依次探索出体素$n$内各关节的极值(第18行). 通过体素$n$所需加密点云数量${N_{{\text{need}}}}$和各关节的极值θi min和θi max获得机械臂关节i的${N_{{\text{need}}}}$个新增关节角度值(第19行)为
$$ {\theta _{i\_{\text{new}}}} = {\theta _{i\;\min }} + \left( {{\theta _{i\;\max }} - {\theta _{i\;\min }}} \right){\text{rand}}\left( {{N_{{\text{need}}}},1} \right) .$$ (6) 根据自由匹配原则,将式(6)随机生成的关节角度匹配成${N_{{\text{need}}}}$组,并将${N_{{\text{need}}}}$组关节角度值代入式(2)中,获得机械臂正运动学解(第20行).
步骤3 判断新增点云的坐标是否包含在体素$n$内,如果包括在内,则按照索引$n$保存在数据Database_3中,并将点云所对应各关节角度按照索引$n$并入数据库Database_2 (第22~25行);如果不包括,则重复之前操作. 为了避免工作空间边界处的体素始终无法达到所需点数而造成的资源浪费,设置重复加密次数为2次后停止加密运算(第27~29行).
算法1:均匀加密工作空间内部点云密度
Given: Pinit nx ny nz n N Nε
1 sp= $n_x* n_y*n_{\textit{z}}$
2 for n=1,…,sp do
3 xmax ymax zmax xmin ymin zmin ←extract the axial boundary values of voxel n
4 for q=1,2,…,N do //q is a cyclic variable
5 xq yq zq←extract the coordinate values of point cloud Pinit q
6 if xq yq zq satisfy the axial limits xmax ymax zmax xmin ymin zmin then
7 Database_1←xq yq zq
8 Database_2←Point Pinit q corresponds to angle values θi
9 end if
10 end for
11 Database_1←Count the number of points in n
12 end for
13 for n=1,2,…,sp do
14 if exist n then
15 Nn ←Count the number of points in n
16 if Nε > Nn then
17 Nneed= Nε − Nn
18 θi max θi min ←extract voxel n joint limits in Database_2
19 θi_new = θi min + (θi max − θi min) rand(Nneed, 1)
20 $P_7^0$←solve the forward kinematic problem
21 if $P_7^0$ satisfies the range of voxel n then
22 Database_3 ←$P_7^0$
23 Database_2← θi_new
24 Nn←Count the number of points in n
25 Database_3←Nn
26 end if
27 if Nε > Nn then
28 Repeat code 17−26 for a maximum of two times
29 end if
30 end if
31 end if
32 end for
3.3 加密工作空间边界随机点云的密度
由于机械臂关节极值范围的约束,机械臂工作空间边界体素的实际有效加密范围小于体素实际范围,因此,边界体素在平均加密点云过程中实际增加点数较少,造成机械臂工作空间的精度不够准确. 为了提高机械臂工作空间边界的点云密度和扩展初始点云中没有涉及到的机械臂工作空间边界,提出了扩展关节角度${J_{\rm{e}}}$参数和最大循环次数${C_{\rm{m}}}$参数. 该加密工作空间边界点云密度算法(算法2)步骤如下:
步骤1 针对加密后体素内点云数量仍然少于${N_\text{ε} }$的体素视为工作空间的边界体素. 依据数据库Database_1和Database_3中边界体素$n$所包含的点云数量,确定边界体素$n$所需加密点云数量${N_{{\text{nneed}}}}$(第3行). 如果体素$n$内点云数量为1时,提取出体素$n$在数据库Database_2中的各关节值θi作为被扩展关节;否则,探索出该体素在Database_2中各关节的极值θi min和θi max,并作为被扩展关节的最大值和最小值(第9、13行). 通过扩展关节角度${J_{\rm{e}}}$获得各关节扩展后的极值θi_new min和θi_new max(第10、11、14、15行)为
$$ \left\{ {\begin{array}{*{20}{l}} {{\theta _{i\_{\text{new}}\;\min }} = {\theta _i} - {J_{\rm{e}}}},\; {{\theta _{i\_{\text{new}}\;\max }} = {\theta _i} + {J_{\rm{e}}}} ,\quad {N_n} = 1,\\ {{\theta _{i\_{\text{new}}\;\min }} = {\theta _{i\;\min }} - {J_{\rm{e}}}} ,\; {{\theta _{i\_{\text{new}}\;\max }} = {\theta _{i\;\max }} + {J_{\rm{e}}}} ,\quad{N_n} \ne 1 . \end{array}} \right. $$ (7) 将各关节扩展后的极值θi_new min和θi_new max代入式(6),获得${N_{{\text{nneed}}}}$组机械臂新增关节角度(第17行).
步骤2 由于新增关节角度是通过扩展关节获得,所以${N_{{\text{nneed}}}}$组内各关节角度不一定都符合机械臂的各关节极值范围(如表1所示). 对于符合关节极值范围的关节组,运用式(2)求解机械臂正运动学解,并将运动学解的坐标和解的数量按照索引$n$并入数据Database_3中;对于不符合关节极值范围的关节组,则放弃求解正运动学解(第18~24行).
步骤3 由于边界体素$n$受到机械臂关节极值的约束以及实际有效加密范围小于体素极值范围的影响,导致边界体素的有效新增点云数量较少. 因此,通过设置最大循环次数${C_{\rm{m}}}$,并结合实际增加点云数量与所需点数量${N_{{\text{nneed}}}}$的差值,通过多次迭代增加边界体素内的点云密度及实际有效范围,并将新增点云并入数据库Database_3中,直到实际增加点数等于所需点数,或者达到最大循环次数${C_{\rm{m}}}$停止(第5~24行). 最大循环次数${C_{\rm{m}}}$还可以有效避免因扩展关节范围导致新增关节角度始终不符合机械臂关节极值范围,而造成的算法无效循环.
算法2:加密工作空间边界点云密度
Given: Pinit Database_1 Database_2 Database_3 Nε Cm Je sp
1 for n=1,2,…,sp do
2 if exist n then
3 Nn ←Count the number of points in n
4 if Nε > Nn then
5 for Ic=1,2,…, Cm do // Ic is a cyclic variable
6 if Nε > Nn then
7 Nnneed = Nε−Nn
8 if Nn==1 then
9 θi ←extract voxel n joints in Database_2
10 θi_new min = θi − Je
11 θi_new max = θi + Je
12 else
13 θimax θimin ←extract voxel n limit joints in Database_2
14 θi_new min= θi min − Je
15 θi_new max= θi max + Je
16 end if
17 θi_new = θi_new min + (θi_new max − θi_new min) rand(Nnneed, 1)
18 if θi_new satisfy the joint limits θi min、θi max then
19 $P_7^0$←solve the forward kinematic problem
20 Database_3 ←$P_7^0$
21 Database_2 ← θi_new
22 Nn ←Count the number of points in n
23 Database_3 ←Nn
24 end if
25 else
26 continue
27 end if
28 end for
29 end if
30 end if
31 end for
通过降密蒙特卡洛法可以解决工作空间内随机点云的分布不均匀和工作空间边界模糊问题,最终达到在保证工作空间精度的同时,减少新增点云浪费的目的,从而提高求解工作空间的效率.
4. 降密蒙特卡洛法的参数研究
以本课题组提出的7-DOF仿人机械臂为例,研究了降密蒙特卡洛法中各参数对机械臂工作空间精度的影响. 为了获得仿人机械臂在各轴向的实际边界极值作为降密蒙特卡洛法的求解参照,利用蒙特卡洛法经过多次采样计算去趋近机械臂工作空间的边界极限,如图4所示. 当随机点云数量低于5 × 107个时,工作空间各轴向极值点不具备一定的规律性,这也符合蒙特卡洛法的随机特性;当随机点云数量大于5 × 107个时,各轴向极值点趋于一条直线,基本可以达到真实的机械臂边界值,但在小范围内仍然有随机性波动. 即使采样随机点数量达到1 × 108个时,采样工作空间的各轴向极值点也均未达到机械臂工作空间的实际极值点.
为了获得准确的工作空间边界范围,将图4中所有采样测试点云在各轴向极值点的极值作为仿人机械臂工作空间的实际极值点,如表3所示.
表 3 机械臂实际工作空间范围Table 3. Actual workspace range of robot armm 轴向 最大值 最小值 x 0.63975 −0.63979 y 0.63982 −0.63978 z 0.76096 −0.31102 降密蒙特卡洛法中各参数对机械臂工作空间精度影响的研究方法为通过固定其他参数数值,逐步递增单一参数数值,获得降密蒙特卡洛法中机械臂工作空间的各轴向极值范围,并与表3中实际极值范围对比,获得平均误差率${\varepsilon _{\rm{a}}}$,如式(8).
$$ \begin{gathered} {\varepsilon _{\rm{a}}} = \dfrac{1}{6} \left( {\left| {\frac{{{{{x}}_{{\text{Max}}}} - {{{x}}_{{\text{max}}}}}}{{{{{x}}_{{\text{Max}}}}}}} \right| {\text{ + }} \left| {\frac{{{{{y}}_{{\text{Max}}}} - {{{y}}_{{\text{max}}}}}}{{{{{y}}_{{\text{Max}}}}}}} \right| {\text{ + }} \left| {\frac{{{{{\textit{z}}}_{{\text{Max}}}} - {{{\textit{z}}}_{{\text{max}}}}}}{{{{{\textit{z}}}_{{\text{Max}}}}}}} \right|} \right. + \\ \;\left. { \left| {\frac{{{{{x}}_{{\text{Min}}}} - {{{x}}_{{\text{min}}}}}}{{{{{x}}_{{\text{Min}}}}}}} \right| {\text{ + }} \left| {\frac{{{{{y}}_{{\text{Min}}}} - {{{y}}_{{\text{min}}}}}}{{{{{y}}_{{\text{Min}}}}}}} \right| {\text{ + }} \left| {\frac{{{{{\textit{z}}}_{{\text{Min}}}} - {{{\textit{z}}}_{{\text{min}}}}}}{{{{{\textit{z}}}_{{\text{Min}}}}}}} \right|} \right) \times 100{\text{%}} , \\ \end{gathered} $$ (8) 式中:xMax、xMin、yMax、yMin、zMax、zMin为机械臂工作空间各轴向实际极值点.
通过平均误差率${\varepsilon _{\rm{a}}}$的变化规律来判断该参数对机械臂工作空间范围的影响程度. 由于包围盒的扩展因子φ与机械臂的工作空间范围相关,所以选取包围盒扩展因子φ为固定值0.3.
首先,研究初始随机点云${P_{{\text{init}}}}$参数对工作空间精度的影响. 根据工作空间的初始范围,初步将空间延各轴向划分为10个体素,即各轴向分割体素${n_x}$、${n_y}$和${n_\textit{z}}$均为10;根据分割体素空间的大小,保证每个体素内的随机点云数量不少于600个,即精度阈值${N_\text{ε} }$为600;设置最大循环次数${C_{\rm{m}}}$为5次,保证边界体素内随机点云数量能更好地满足精度阈值${N_\text{ε} }$的要求;扩展关节角度${J_{\rm{e}}}$为0º;并分别设置初始随机点云${P_{{\text{init}}}}$为5 × 103、1 × 104、5 × 104、1 × 105个. 通过降密蒙特卡洛法获得机械臂工作空间各轴向的极值点,如表4所示,其中,初始随机点云${P_{{\text{init}}}}$为5 × 103、1 × 104、5 × 104、1 × 105个,对应总随机点云数量分别为228000、230300、240006、255988个. 根据表4中数据可知,随初始随机点云${P_{{\text{init}}}}$数量的逐步增加,其平均误差率${\varepsilon _{\rm{a}}}$并不具备一定的规律性,且总随机点云数量增幅最小. 因此,初始随机点云${P_{{\text{init}}}}$对机械臂工作空间精度的影响不大.
表 4 初始点云数量对工作空间精度的影响Table 4. Influence of initial point cloud quantity on workspace precisionPinit/个 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 5000 −0.63738 0.63639 −0.63458 0.63739 −0.29514 0.76061 1.20751 10000 −0.63909 0.63447 −0.63770 0.63850 −0.30532 0.76083 0.55259 50000 −0.63939 0.63772 −0.63644 0.63939 −0.30078 0.76069 0.71627 100000 −0.63960 0.63689 −0.63531 0.63619 −0.29769 0.76089 1.00622 其次,研究包围盒各轴向分割体素${n_x}$、${n_y}$和${n_\textit{z}}$参数对工作空间精度的影响. 根据${P_{{\text{init}}}}$对工作空间的影响不大,综合考虑计算效率与初始工作空间点云覆盖率,确定参数${P_{{\text{init}}}}$为5 × 104个;参数${N_\text{ε} }$、${C_{\rm{m}}}$和${J_{\rm{e}}}$保持原有设置,依次为600、5次、0°;并设置参数${n_x}$、${n_y}$和${n_\textit{z}}$同时依次均为6、10、14和18. 通过降密蒙特卡洛法获得机械臂工作空间各轴向的极值点,如表5所示,其中各轴向分割体素6、10、14、18对应总随机点云数量分别为1.5 × 105、2.4 × 105、7.9 × 105、1.5 × 106个. 根据表5中随各轴向分割体素数量的逐步增加,其平均误差率则表现出大幅减小的趋势,且总随机点云数量增加幅度较小. 因此,增加各轴向分割体素${n_x}$、${n_y}$和${n_\textit{z}}$数量显著提高机械臂工作空间精度.
表 5 体素数量对工作空间精度的影响Table 5. Influence of voxel quantity on workspace precision各轴向体素数量/个 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 6 −0.63730 0.63468 −0.63729 0.63618 −0.29272 0.76062 1.34452 10 −0.63939 0.63772 −0.63644 0.63939 −0.30078 0.76069 0.71627 14 −0.63781 0.63859 −0.63663 0.63872 −0.30624 0.76076 0.45310 18 −0.63839 0.63899 −0.63931 0.63895 −0.30600 0.76087 0.36249 再次,研究精度阈值${N_\text{ε} }$参数对工作空间精度的影响. 参数${P_{{\text{init}}}}$仍为5 × 104;根据参数${n_x}$、${n_y}$和${n_\textit{z}}$对工作空间精度的影响较大,选取${n_x}$、${n_y}$和${n_\textit{z}}$均为18;${C_{\rm{m}}}$和${J_{\rm{e}}}$分别保持为5次和0°;分别设置${N_\text{ε} }$为300、600和900. 获得机械臂工作空间的各轴向极值点如表6所示,其中,精度阈值为300、600、900对应总随机点云数量分别为7.6 × 105、1.5 × 106、2.3 × 106个. 由表6可知,随精度阈值的逐步增加,其平均误差率表现出逐渐减小的趋势,但总随机点云数量增幅较大. 因此,精度阈值${N_\text{ε} }$参数对机械臂工作空间精度有一定提高.
表 6 精度阈值对工作空间精度的影响Table 6. Influence of precision threshold on workspace precisionNε xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 300 −0.63789 0.63678 −0.63716 0.63912 −0.30574 0.76089 0.49774 600 −0.63839 0.63899 −0.63931 0.63895 −0.30600 0.76087 0.36249 900 −0.63864 0.63646 −0.63758 0.63900 −0.30816 0.76086 0.35013 然后,研究最大循环次数${C_{\rm{m}}}$对工作空间精度的影响. ${P_{{\text{init}}}}$仍为5 × 104,根据${N_\text{ε} }$对工作空间精度有一定的提高,选取${N_\text{ε} }$为600;${n_x}$、${n_y}$、${n_\textit{z}}$和${J_{\rm{e}}}$保持为18和0°,分别设置${C_{\rm{m}}}$为5、8、16次. 获得机械臂工作空间的各轴向极值点,如表7所示,其中最大循环次数5、8、16次对应总随机点云数量分别为1 539 000、1 544 400、1 555 800个. 根据表7,随最大循环次数的逐步增加,其平均误差率逐渐减小,且总随机点云数量的增加并不明显. 因此,最大循环次数${C_{\rm{m}}}$对机械臂工作空间精度有较小的提高.
表 7 最大循环次数对工作空间精度的影响Table 7. Influence of maximum cycle number on workspace precisionCm/次 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 5 −0.63839 0.63899 −0.63931 0.63895 −0.30600 0.76087 0.36249 8 −0.63940 0.63868 −0.63974 0.63907 −0.30554 0.76078 0.35615 16 −0.63945 0.63785 −0.63838 0.63973 −0.30664 0.76093 0.33245 最后,研究扩展关节角度${J_{\rm{e}}}$对工作空间精度的影响. 固定${P_{{\text{init}}}}$ = 5 × 104,${n_x}$、${n_y}$和${n_\textit{z}}$均为18,${N_\text{ε} }$为600;考虑到参数${C_{\rm{m}}}$对工作空间的影响较小,选取${C_{\rm{m}}}$为5次,分别设置${J_{\rm{e}}}$为0°、2.5°、5.0°、7.5°、10.0°和12.5°. 通过3次样条曲线插值方法,获得相应参数机械臂工作空间的平均误差率曲线和总随机点云数量Nall曲线如图5所示,根据总随机点云数量曲线可知,随着扩展角度的增大,总随机点云数量不断减少,这是因为随着扩展角度的不断增大,新增的关节角度组中不符合关节极限范围的关节组就越多(如算法2),导致总体数量减少;根据平均误差率曲线可知,随着扩展角度的增大,在0°~4° 内平均误差率变小,可以提高机械臂工作空间精度,但超过4° 后误差率逐步增大,对工作空间精度提升起到反向作用. 因此,扩展关节角度${J_{\rm{e}}}$在0°~4° 内对机械臂工作空间精度提高较大.
通过降密蒙特卡洛法中各参数对工作空间精度影响的研究可知:各轴向分割体素${n_x}$、${n_y}$和${n_\textit{z}}$与扩展关节角度${J_{\rm{e}}}$对工作空间精度影响较大,其次是精度阈值${N_\text{ε} }$,最后是最大循环次数${C_{\rm{m}}}$和初始随机点云${P_{{\text{init}}}}$,并不是扩展角度${J_{\rm{e}}}$参数越大对工作空间精度提升越明显. 因此,在使用该方法求解工作空间时,需要优先确定各轴向分割体素${n_x}$、${n_y}$、${n_\textit{z}}$与扩展关节角度${J_{\rm{e}}}$,通过提高分割体素${n_x}$、${n_y}$、${n_\textit{z}}$与设置较小的扩展关节角度${J_{\rm{e}}}$,使工作空间的解快速接近于精确值;其次,通过提高精度阈值${N_\text{ε} }$,增加工作空间整体密度,使工作空间的解更加接近于精确值;最后确定最大循环次数${C_{\rm{m}}}$和初始随机点云${P_{{\text{init}}}}$,通过小幅调节这2个参数,使工作空间的解趋近于精确值. 该方法中参数优先级的确定和调节方式为降密蒙特卡洛法快速、准确求解工作空间提供了优选策略.
5. 仿真验证
根据降密蒙特卡洛法中各参数对工作空间精度的影响程度,设置参数${P_{{\text{init}}}}$为1 × 105,${n_x}$、${n_y}$和${n_\textit{z}}$均为23,${N_\text{ε} }$为1200,${C_{\rm{m}}}$为16次,${J_{\rm{e}}}$为2.5°,验证降密蒙特卡洛法的有效性. 降密蒙特卡洛法中仿人机械臂工作空间的极值范围如表8所示,其总随机点云为6.11 × 106个. 相比于蒙特卡洛法中工作空间各轴向极值的极值点,降密蒙特卡洛法的平均误差率${\varepsilon _{\rm{a}}} = $0.02242%,其各轴向极值点的误差保持在10−4左右,精度可达0.1 mm级,在ymin和zmin 2处极值点已经超过了表3中的参照极值点,但总随机点数却少于1 × 108个,降幅为93.89%. 根据降密蒙特卡洛法中各参数对机械臂工作空间精度影响的研究可知,随着机械臂工作空间平均误差率的升高,该算法所需的总随机点云将会大幅减少,其优势更加明显. 因此,降密蒙特卡洛法与蒙特卡洛方法相比,在保证工作空间精度的同时,可以大幅减少点云数量,提高工作空间的求解效率,且通过平均误差率验证了降密蒙特卡洛法的有效性.
表 8 降密蒙特卡洛法中工作空间范围及其误差率Table 8. Workspace range and error rate by density-reducing Monte Carlo method项目 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m 极值 −0.63961 0.63937 −0.63900 0.63956 −0.31113 0.76091 误差率 0.00018 0.00038 −0.00078 0.00026 −0.00011 0.00005 根据降密蒙特卡洛法求得仿人机械臂工作空间示意如图6所示,从图6可知:7-DOF仿人机械臂工作空间接近于球体,具有较大的工作范围,各平面投影无空洞与空腔,工作空间边界线平滑连续.
相比于改进蒙特卡洛法,通过设置相同的求解工作空间参数,对比降密蒙特卡洛法与改进蒙特卡洛法的差异. 2种方法中${P_{{\text{init}}}}$为5 × 104,${n_x}$、${n_y}$和${n_\textit{z}}$均为10,${N_\text{ε} }$为600;降密蒙特卡洛法中${J_{\rm{e}}}$为2.5°,改进蒙特卡洛法采用体元内的随机点作为正态分布中心点,方差为2.5°;最大循环次数${C_{\rm{m}}}$分别为2次和4次,工作空间的求解结果如表9所示. 根据表9可知:降密蒙特卡洛法相比于改进蒙特卡洛法在循环次数为2次和4次时,工作空间的平均误差率分别降低0.13853%和0.11329%,总随机点云数量降幅分别为44.83%和64.52%,其求解耗时也大幅下降. 因此,降密蒙特卡洛法相比于改进蒙特卡洛法在保证工作空间精度的同时,有效减少随机点云数量的浪费,提高了求解机械臂工作空间的工作效率.
表 9 降密蒙特卡洛法与改进蒙特卡洛法对比Table 9. Comparison between density-reducing Monte Carlo method and improved Monte Carlo method方法 循环
次数/次总点云数/
(×105 个)εa/% 耗时/h 改进蒙特卡洛法 2 5.8 0.68532 4.591 4 9.3 0.55971 13.841 降密蒙特卡洛法 2 3.2 0.54679 0.997 4 3.3 0.44642 1.051 6. 结 论
1) 分析了蒙特卡洛法和改进蒙特卡洛法在求解机械臂工作空间时存在的不足,提出了一种降密蒙特卡洛法,该方法在保证机械臂工作空间精度的同时,可以减少工作空间随机点云的数量,提高求解工作空间的效率.
2) 研究了降密蒙特卡洛法中各参数对机械臂工作空间的影响程度,解释说明了各轴向分割体素${n_x}$、${n_y}$和${n_\textit{z}}$与扩展关节角度${J_{\rm{e}}}$对工作空间精度的影响较大,需要优先确定其参数值;精度阈值${N_\text{ε} }$参数对工作空间精度有一定的提高;最后设置最大循环次数${C_{\rm{m}}}$和初始随机点云${P_{{\text{init}}}}$参数. 所提出方法中参数的确定优先级,为降密蒙特卡洛法快速、准确求解工作空间提供了优选策略.
3) 以7-DOF仿人机械臂例,验证了降密蒙特卡洛法的有效性,为后续仿人机械臂任务规划奠定了理论基础.
-
表 1 仿人机械臂关节限位
Table 1. Joint limit of humanoid robot arm
关节角度 最大值/(°) 最小值/(°) θ1 180 −90 θ2 10 −180 θ3 120 −90 θ4 130 −60 θ5 180 −180 θ6 80 −80 θ7 90 −90 表 2 仿人机械臂D-H参数
Table 2. D-H parameters for humanoid robot arm
i θi /(º) di /m ai /m αi / (º) 1 90 dbs 0 −90 2 0 0 0 90 3 0 dse 0 −90 4 0 0 0 90 5 0 dew 0 −90 6 −90 0 0 90 7 0 0 awt 0 表 3 机械臂实际工作空间范围
Table 3. Actual workspace range of robot arm
m 轴向 最大值 最小值 x 0.63975 −0.63979 y 0.63982 −0.63978 z 0.76096 −0.31102 表 4 初始点云数量对工作空间精度的影响
Table 4. Influence of initial point cloud quantity on workspace precision
Pinit/个 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 5000 −0.63738 0.63639 −0.63458 0.63739 −0.29514 0.76061 1.20751 10000 −0.63909 0.63447 −0.63770 0.63850 −0.30532 0.76083 0.55259 50000 −0.63939 0.63772 −0.63644 0.63939 −0.30078 0.76069 0.71627 100000 −0.63960 0.63689 −0.63531 0.63619 −0.29769 0.76089 1.00622 表 5 体素数量对工作空间精度的影响
Table 5. Influence of voxel quantity on workspace precision
各轴向体素数量/个 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 6 −0.63730 0.63468 −0.63729 0.63618 −0.29272 0.76062 1.34452 10 −0.63939 0.63772 −0.63644 0.63939 −0.30078 0.76069 0.71627 14 −0.63781 0.63859 −0.63663 0.63872 −0.30624 0.76076 0.45310 18 −0.63839 0.63899 −0.63931 0.63895 −0.30600 0.76087 0.36249 表 6 精度阈值对工作空间精度的影响
Table 6. Influence of precision threshold on workspace precision
Nε xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 300 −0.63789 0.63678 −0.63716 0.63912 −0.30574 0.76089 0.49774 600 −0.63839 0.63899 −0.63931 0.63895 −0.30600 0.76087 0.36249 900 −0.63864 0.63646 −0.63758 0.63900 −0.30816 0.76086 0.35013 表 7 最大循环次数对工作空间精度的影响
Table 7. Influence of maximum cycle number on workspace precision
Cm/次 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m εa/% 5 −0.63839 0.63899 −0.63931 0.63895 −0.30600 0.76087 0.36249 8 −0.63940 0.63868 −0.63974 0.63907 −0.30554 0.76078 0.35615 16 −0.63945 0.63785 −0.63838 0.63973 −0.30664 0.76093 0.33245 表 8 降密蒙特卡洛法中工作空间范围及其误差率
Table 8. Workspace range and error rate by density-reducing Monte Carlo method
项目 xmin/m xmax/m ymin/m ymax/m zmin/m zmax/m 极值 −0.63961 0.63937 −0.63900 0.63956 −0.31113 0.76091 误差率 0.00018 0.00038 −0.00078 0.00026 −0.00011 0.00005 表 9 降密蒙特卡洛法与改进蒙特卡洛法对比
Table 9. Comparison between density-reducing Monte Carlo method and improved Monte Carlo method
方法 循环
次数/次总点云数/
(×105 个)εa/% 耗时/h 改进蒙特卡洛法 2 5.8 0.68532 4.591 4 9.3 0.55971 13.841 降密蒙特卡洛法 2 3.2 0.54679 0.997 4 3.3 0.44642 1.051 -
[1] 赵雅婷,赵韩,梁昌勇,等. 养老服务机器人现状及其发展建议[J]. 机械工程学报,2019,55(23): 13-24. doi: 10.3901/JME.2019.23.013ZHAO Yating, ZHAO Han, LIANG Changyong, et al. Current situation and development suggestions of old-age service robot[J]. Journal of Mechanical Engineering, 2019, 55(23): 13-24. doi: 10.3901/JME.2019.23.013 [2] 杨林川,朱庆. 建成环境对老年人出行行为影响的空间异质性[J]. 西南交通大学学报,2023,58(3): 696-703.YANG Linchuan, ZHU Qing. Spatially heterogeneous effects of the built environment on the travel behavior of older adults[J]. Journal of Southwest Jiaotong University, 2023, 58(3): 696-703. [3] 刘欣,仇原鹰,盛英,等. 平面冗余并联机器人的综合性能优化设计[J]. 西南交通大学学报,2008,43(5): 626-632. doi: 10.3969/j.issn.0258-2724.2008.05.014LIU Xin, QIU Yuanying, SHENG Ying, et al. Optimization of comprehensive performance of planar redundant parallel manipulator[J]. Journal of Southwest Jiaotong University, 2008, 43(5): 626-632. doi: 10.3969/j.issn.0258-2724.2008.05.014 [4] YIN G Q, HE F Y, LI Z F, et al. Workspace description and simulation of a backhoe device for hydraulic excavators[J]. Automation in Construction, 2020, 119: 103325.1-103325.8. [5] 东辉,杜志江. 基于工作空间密度函数的平面冗余机器人的逆运动学求解算法[J]. 机械工程学报,2015,51(17): 8-14. doi: 10.3901/JME.2015.17.008DONG Hui, DU Zhijiang. Inverse kinematics of planar redundant manipulators based on workspace density function[J]. Journal of Mechanical Engineering, 2015, 51(17): 8-14. doi: 10.3901/JME.2015.17.008 [6] XU Z T, ZHAO Y H, XIAN L W, et al. Workspace solution and space trajectory planning of 5-DOF manipulator[J]. Journal of Physics: Conference Series, 2022, 2239(1): 012015.1-012015.5. [7] 赵智远,徐振邦,何俊培,等. 基于工作空间分析的9自由度超冗余串联机械臂构型优化[J]. 机械工程学报,2019,55(21): 51-63.ZHAO Zhiyuan, XU Zhenbang, HE Junpei, et al. Configuration optimization of nine degree of freedom super-redundant serial manipulator based on workspace analysis[J]. Journal of Mechanical Engineering, 2019, 55(21): 51-63. [8] CAO Y, LU K, LI X J, et al. Accurate numerical methods for computing 2D and 3D robot workspace[J]. International Journal of Advanced Robotic Systems, 2011, 8(6): 76.1-76.13. [9] 吴虎,李鑫宁,杨先海. 基于网格划分理论连杆机器人工作空间的研究[J]. 济南大学学报(自然科学版),2022,36(4): 476-483.WU Hu, LI Xinning, YANG Xianhai. Research on workspace for multi-linkages robots based on grid partition theory[J]. Journal of University of Jinan (Science and Technology), 2022, 36(4): 476-483. [10] 李钊,樊桂菊,梁昭,等. 基于D-H法的果园作业平台工作空间分析与试验[J]. 农业工程学报,2020,36(16): 25-34. doi: 10.11975/j.issn.1002-6819.2020.16.004LI Zhao, FAN Guiju, LIANG Zhao, et al. Workspace analysis and experiments of orchard platform based on D-H method[J]. Transactions of the Chinese Society of Agricultural Engineering, 2020, 36(16): 25-34. doi: 10.11975/j.issn.1002-6819.2020.16.004 [11] 王春,韩秋实. 六自由度串联机械臂运动学及其工作空间研究[J]. 组合机床与自动化加工技术,2020(6): 32-36. doi: 10.13462/j.cnki.mmtamt.2020.06.008WANG Chun, HAN Qiushi. Kinematics of six-degree-of-freedom series manipulator and its working space[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2020(6): 32-36. doi: 10.13462/j.cnki.mmtamt.2020.06.008 [12] 田海波,马宏伟,魏娟. 串联机器人机械臂工作空间与结构参数研究[J]. 农业机械学报,2013,44(4): 196-201. doi: 10.6041/j.issn.1000-1298.2013.04.034TIAN Haibo, MA Hongwei, WEI Juan. Workspace and structural parameters analysis for manipulator of serial robot[J]. Transactions of the Chinese Society for Agricultural Machinery, 2013, 44(4): 196-201. doi: 10.6041/j.issn.1000-1298.2013.04.034 [13] PEIDRÓ A, REINOSO Ó, 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 [14] HE B, ZHU X R, ZHANG D. Boundary encryption-based Monte Carlo learning method for workspace modeling[J]. Journal of Computing and Information Science in Engineering, 2020, 20(3): 034502.1-034502.6. [15] 刘志忠,柳洪义,罗忠,等. 机器人工作空间求解的蒙特卡洛法改进[J]. 农业机械学报,2013,44(1): 230-235. doi: 10.6041/j.issn.1000-1298.2013.01.043LIU Zhizhong, LIU Hongyi, LUO Zhong, 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. doi: 10.6041/j.issn.1000-1298.2013.01.043 [16] 徐振邦,赵智远,贺帅,等. 机器人工作空间求解的蒙特卡洛法改进和体积求取[J]. 光学 精密工程,2018,26(11): 2703-2713. doi: 10.3788/OPE.20182611.2703XU Zhenbang, ZHAO Zhiyuan, HE Shuai, et al. Improvement of Monte Carlo method for robot workspace solution and volume calculation[J]. Optics and Precision Engineering, 2018, 26(11): 2703-2713. doi: 10.3788/OPE.20182611.2703 [17] ZHAO Z Y, HE S, ZHAO Y P, et al. Workspace analysis for a 9-DOF hyper-redundant manipulator based on an improved Monte Carlo method and voxel algorithm[C]//2018 IEEE International Conference on Mechatronics and Automation (ICMA). Changchun: IEEE, 2018: 637-642. [18] DOU R T, YU S B, LI W Y, et al. Inverse kinematics for a 7-DOF humanoid robotic arm with joint limit and end pose coupling[J]. Mechanism and Machine Theory, 2022, 169: 104637.1-104637.23. [19] LI W Y, CHEN P, BAI D C, et al. Modularization of 2- and 3-DOF coupled tendon-driven joints[J]. IEEE Transactions on Robotics, 2021, 37(3): 905-917. doi: 10.1109/TRO.2020.3038687 [20] 肖正涛,高健,吴东庆,等. 面向三维点云识别的体素网格降采样[J]. 组合机床与自动化加工技术,2021(11): 43-47. doi: 10.13462/j.cnki.mmtamt.2021.11.011XIAO Zhengtao, GAO Jian, WU Dongqing, et al. Voxel grid downsampling for 3D point cloud recognition[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2021(11): 43-47. doi: 10.13462/j.cnki.mmtamt.2021.11.011 期刊类型引用(1)
1. 刘一帆,李莉,王点正,张祥坤,李昀佶. 人形机器人双臂工作空间分析方法研究. 微特电机. 2024(10): 61-67+76 . 百度学术
其他类型引用(11)
-