一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种工业机器人运动学模型几何参数的获取方法与流程

2022-02-20 01:06:46 来源:中国专利 TAG:


1.本发明涉及工业机器人技术领域,特别是一种工业机器人运动学模型几何参数的获取方法。


背景技术:

2.机器人运动学参数的获取是机器人技术实用化的关键技术之一。一般情况下,工业机器人重复定位精度较高,但是绝对定位精度较低,影响绝对定位精度的因素主要有加工因素、装配因素、环境因素等。研究和实际应用结果表明,工业机器人绝对精度的误差主要由机器人运动学模型几何参数误差造成,所以获得正确的机器人运动学模型几何参数,可以显著的提升机器人绝对定位精度。
3.机器人运动学模型几何参数的获取目前主要是应用先进的测量手段或者几何约束等基于机器人运动学模型求解出准确的模型几何参数,在实际的求解过程中,目前的主流方法是采用高精度测量系统进行测量标定,配合已知的机器人运动学模型理论参数,建立误差模型,求得实际参数和理论参数之间的误差,进行补偿。测量手段一般采取高精度测的激光跟踪仪,价格昂贵,同时整个测量标定流程复杂,对操作者技能有很高的要求。对于国内很大一部分进行工业机器人研发、配套的中小企业,若投资引进高精度的激光跟踪仪设备,会带来较大的资金压力,若采用租赁或测量标定服务外包等方式,标定费用也要占据单台工业机器人成本费用的10%左右。其成本高、测量过程复杂,并且必须依赖于工业机器人已知的运动学模型理论几何参数是这些测量系统存在的共性问题。


技术实现要素:

4.本发明要解决的技术问题是针对上述现有技术的不足,而提供一种工业机器人运动学模型几何参数的获取方法,该工业机器人运动学模型几何参数的获取方法能够方便快捷的提升工业机器人绝对定位精度,且实用、操作简单、低成本、高效,并且不依赖于机器人几何模型理论参数。
5.为解决上述技术问题,本发明采用的技术方案是:
6.一种工业机器人运动学模型几何参数的获取方法,包括如下步骤:
7.步骤1、建立机器人连杆变换矩阵:工业机器人为m轴机器人,具有m个关节和m根连杆;利用运动学模型的四个几何参数,建立m轴机器人第i根连杆的连杆变换矩阵其中,1≤i≤m;四个几何参数分别为关节角度θ、连杆扭曲特征角度α、连杆长度a、连杆偏置d;当m确定时,连杆扭曲特征角度α为给定值;m根连杆对应的连杆变换矩阵分别为:确定时,连杆扭曲特征角度α为给定值;m根连杆对应的连杆变换矩阵分别为:每个连杆变换矩阵均为四行四列矩阵。
8.步骤2、求解最终位姿变换矩阵具体求解公式为:
[0009][0010]
步骤3、建立机器人末端位置分量p
x
求解模型:以末端第m根连杆中心轴线所在直
线为x轴,则末端位置分量p
x
为机器人末端在x轴的位置分量;假设步骤2得到的最终位姿变换矩阵中第一行第四列的值为v,则建立p
x
的求解模型p
x
=v;其中,v为关于关节角度θ、连杆长度a和连杆偏置d三个自变量的因变量;关节角度θ为中间自变量,连杆长度a和连杆偏置d为待求解自变量。
[0011]
步骤4、建立系数组模型r:对步骤3建立的p
x
求解模型,进行因式分解,得到每个待求解自变量的系数组成的系数组模型r;此时,系数组模型r为仅包括中间自变量θ。
[0012]
步骤5、布设参考点:在机器人运动范围空间内布设一个基准参考点p0和n个参考点,其中,n不小于待求解自变量的个数;n个参考点分别为p1、p2、p3、

、pn;且p0、p1、p2、p3、

、pn的横纵坐标依次增大;参考点p1、p2、p3、

、pn至基准参考点p0的x向距离分别为d1、d2、d3、

、dn。
[0013]
步骤6、建立系数矩阵r,具体表达式为:
[0014]
r=[r1、r2、r3、

、rn]
t
[0015]
r1=r
1-r0[0016]
r2=r
2-r0[0017]
r3=r
3-r0[0018]rn
=r
n-r0[0019]
式中,r1、r2、r3、

、rn分别为参考点p1、p2、p3、

、pn的相对系数组;r0为基准参考点p0的系数组,称为基准系数组;r1、r2、r3、

、rn分别为参考点p1、p2、p3、

、pn的系数组。
[0020]
步骤7、求解系数矩阵r,具体求解方法,包括如下步骤。
[0021]
步骤71、求解基准系数组r0,具体包括如下步骤。
[0022]
步骤71a、将机器人的末端尖点移动至基准参考点p0。
[0023]
步骤71b、获取关节角度变量j0:通过内置在每个关节中的关节编码器,获取在基准参考点p0时机器人的关节角度变量j0;关节角度变量j0包括在基准参考点p0时m-1个关节的关节角度θ。
[0024]
步骤71c、求解基准系数组r0:将获取关节角度变量j0代入步骤4建立的系数组模型r中,得到基准系数组r0。
[0025]
步骤72、求解r1、r2、r3、

、rn:将机器人的末端尖点分别移动至参考点p1、p2、p3、

、pn;重复步骤71,求解得到r1、r2、r3、

、rn。
[0026]
步骤73、求解系数矩阵r:将步骤71得到的r0和步骤72得到的r1、r2、r3、

、rn,代入步骤6建立的系数矩阵r中,得到均为已知量的系数矩阵r。
[0027]
步骤8、建立标定方程,具体为:
[0028]
rx=d
[0029]
d=[d1、d2、d3、

、dn]
t
[0030]
式中,x为所有待求解自变量连杆长度a和连杆偏置d的列向量。
[0031]
步骤9、求解连杆长度a和连杆偏置d:将步骤7求解的系数矩阵r和步骤5得到的d1、d2、d3、

、dn;依次代入步骤8建立的标定方程中,并分别求解,进而得到所有连杆长度a和连杆偏置d。
[0032]
工业机器人为m=6轴构型机器人,具有6个关节和6根连杆;6根连杆的连杆长度a分别为a0、a1、a2、a3、a4、a5,且a0=a4=a5=0,故而只需求解a1、a2、a3;6根连杆的连杆d分别为
d1、d2、d3、d4、d5、d6,且d1=d2=d3=d5=0,故而只需求解d4和d6,总待求解自变量分别为a1、a2、a3、d4、d6;5个关节的关节角度θ分别为θ1、θ2、θ3、θ4、θ5、θ6。
[0033]
6根连杆的连杆扭曲特征角度α分别为α0、α1、α2、α3、α4、α5,则:
[0034][0035]
6根连杆对应的连杆变换矩阵分别为:和其中,的表达式为:
[0036][0037]
式中,1≤i≤6。
[0038]
步骤3中,p
x
的求解模型为:
[0039]
p
x
=v=(-cosθ1sinθ2cosθ
3-cosθ1cosθ2cosθ3)(cosθ4sinθ5d6 a3)
[0040]
ꢀꢀꢀꢀꢀꢀ
(cosθ1sinθ2sinθ
3-cosθ
1 cosθ2cosθ3)(
‑‑
cosθ5d
6-d4)
[0041]
ꢀꢀꢀꢀꢀꢀ‑
sinθ1sinθ4sinθ5d
6-cosθ1sinθ2a2 cosθ1a1。
[0042]
步骤4中,求解模型p
x
因式分解后的表达式为:
[0043]
p
x
=cosθ1a
1-cosθ1sinθ2a
2-a3(cosθ1sinθ2cosθ3 cosθ1cosθ2sinθ3)
[0044]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
d4(cosθ1cosθ2cosθ
3-cosθ1sinθ2sinθ3)
[0045]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
d6(cosθ1cosθ2cosθ3cosθ
5-cosθ1sinθ2sinθ3cosθ5[0046]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ‑
cosθ1sinθ2cosθ3cosθ4sinθ
5-cosθ1cosθ2sinθ3cosθ4sinθ5[0047]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ‑
sinθ1sinθ4sinθ5)
[0048]
假设系数组模型r=[ra、rb、rc、rd、re];其中,ra、rb、rc、rd、re分别为总待求解自变量a1、a2、a3、d4、d6的系数;则:
[0049]
ra=cosθ1[0050]
rb=-cosθ1sinθ2[0051]
rc=-(cosθ1sinθ2cosθ3 cosθ1cosθ2sinθ3)
[0052]
rd=cosθ
1 cosθ
2 cosθ
3-cosθ
1 sinθ2sinθ3[0053]
re=cosθ1cosθ2cosθ
3 cosθ
5-cosθ
1 sinθ2sinθ3cosθ
5-cosθ1sinθ2cosθ3cosθ4sinθ
5-cosθ1cosθ2sinθ
3 cosθ4sinθ
5-sinθ1sinθ4sinθ5。
[0054]
步骤71中,求解得到的基准系数组r0为:
[0055]
r0=[ra0,rb0,rc0,rd0,re0]
[0056]
步骤72中,求解得到的r1、r2、r3、

、rn为:
[0057]
r1=[ra1,rb1,rc1,rd1,re1]
[0058]
r2=[ra2,rb2,rc2,rd2,re2]
[0059]rn
=[ran,rbn,rcn,rdn,ren]
[0060]
式中:ra0,rb0,rc0,rd0,re0分别为基准参考点p0处a1、a2、a3、d4、d6的系数。
[0061]
ra1,rb1,rc1,rd1,re1分别为参考点p1处a1、a2、a3、d4、d6的系数。
[0062]
ra2,rb2,rc2,rd2,re2分别为参考点p2处a1、a2、a3、d4、d6的系数。
[0063]
ran,rbn,rcn,rdn,ren分别为参考点pn处a1、a2、a3、d4、d6的系数。
[0064]
则:
[0065]
r1=r
1-r0=[ra
1-ra0,rb
1-rb0,rc
1-rc0,rd
1-rd0,re
1-re0]
[0066]
r2=r
2-r0=[ra
2-ra0,rb
2-rb0,rc
2-rc0,rd
2-rd0,re
2-re0]
[0067]rn
=r
n-r0=[ra
n-ra0,rb
n-rb0,rc
n-rc0,rd
n-rd0,re
n-re0]。
[0068]
步骤71中,步骤7中,求解得到的系数矩阵r的表达式为:
[0069][0070]
步骤71中,步骤8中建立的标定方程的表达式为:
[0071][0072]
本发明具有如下有益效果:
[0073]
(1)、成本低:相对于昂贵的激光跟踪仪等测量工具,本发明不会对使用者带来经济压力。
[0074]
(2)、操作简便:整个求解过程包含数据采样过程简单,操作步骤少,对使用者没有较高的技能要求。
[0075]
(3)、适用性强:本发明提供的求解方法,适用于所有串联六轴机器人、七轴机器人,也适用于四轴scara机器人,同时对测量环境不作苛刻要求,适用于工业机器人应用的大多数工业现场。
[0076]
(4)、误差产生环节少:目前大多数机器人运动学参数辨识方法是在原有模型理论参数的基础上,根据连杆变换矩阵通过机器人运动学正解提取机器人末端位置分量,利用位置分量的全微分形式计算误差传递矩阵,这一过程,需要进行多个测量坐标系转换,容易带来系统误差和随机误差,本发明整个求解与测量过程无需对测量坐标系和机器人坐标系之间进行相互转换,误差产生环节少,可以可靠的保障机器人绝对定位精度的实现。
[0077]
(5)、不依赖理论参数就可以直接获得实际参数。在一些应用场合,我们没法得知机器人本体的运动学模型理论几何参数,通过其他依赖于已知理论参数的标定方法就不具备完成测量标定的条件。本发明提供方法的几何约束之间是相对并且精确的关系,通过求解可以直接获得实际几何参数,完成对机器人的运动学标定。
[0078]
(6)、本发明通过对超定方程的求解,将解得的实际几何参数(a1,a2,a3,d4,d6)替换理论参数,通过运动学模型几何参数的准确获取从而实现机器人绝对定位精度的提升。
附图说明
[0079]
图1显示了本发明一种工业机器人包含待求解自变量的示意图。
[0080]
图2显示了参考点的布设位置示意图。
[0081]
其中有:
[0082]
10.机器人;11.第一关节旋转中心;12.第二关节旋转中心;13.第三关节旋转中心;14.第四关节旋转中心;15.第五关节旋转中心;16.末端尖点。
具体实施方式
[0083]
下面结合附图和具体较佳实施方式对本发明作进一步详细的说明。
[0084]
本发明的描述中,需要理解的是,术语“左侧”、“右侧”、“上部”、“下部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,“第一”、“第二”等并不表示零部件的重要程度,因此不能理解为对本发明的限制。本实施例中采用的具体尺寸只是为了举例说明技术方案,并不限制本发明的保护范围。
[0085]
工业机器人为m轴机器人,具有m-1个关节和m根连杆。本实施例中,如图1所示,机器人10优选为m=6轴机器人,具有6个关节和6根连杆。
[0086]
5个关节的关节中心分别为第一关节旋转中心11、第二关节旋转中心12、第三关节旋转中心13第四关节旋转中心14、第五关节旋转中心15。
[0087]
6根连杆分别为依次相连接的第1根连杆、第2根连杆、第3根连杆、第4根连杆、第5根连杆和第6根连杆。第1根连杆安装在基座上,第6根连杆的末端为末端尖点16。
[0088]
机器人运动学模型具有四个几何参数,分别为关节角度θ、连杆扭曲特征角度α、连杆长度a、连杆偏置d。
[0089]
当m确定时,连杆扭曲特征角度α为给定值,在本实施例中,m=6时,6根连杆的连杆扭曲特征角度α,从第1根连杆至第6根连杆分别为α0、α1、α2、α3、α4、α5,则:
[0090][0091]
6根连杆的连杆长度a,从第1根连杆至第6根连杆,分别为a0、a1、a2、a3、a4、a5,且a0=a4=a5=0,故而只需求解a1、a2、a3。
[0092]
6根连杆的连杆d,从第1根连杆至第6根连杆,分别为d1、d2、d3、d4、d5、d6,且d1=d2=d3=d5=0,故而只需求解d4和d6,总待求解自变量分别为a1、a2、a3、d4、d6。
[0093]
5个关节的关节角度θ,从第1关节至第5关节,分别为θ1、θ2、θ3、θ4、θ5、θ6。由于末端关节,也即第6关节,对连杆长度和连杆偏置不产生联系,故而不将θ6作为计算因子,只需考虑θ1、θ2、θ3、θ4、θ5。
[0094]
一种工业机器人运动学模型几何参数的获取方法,包括如下步骤。
[0095]
步骤1、建立机器人连杆变换矩阵
[0096]
利用运动学模型的四个几何参数,建立m轴机器人第i根连杆的连杆变换矩阵m根连杆对应的连杆变换矩阵分别为:每个连杆变换矩阵均为四行四列矩阵。其中,的具体表达式为:
[0097][0098]
式中,1≤i≤m,在本实施例中,1≤i≤6。
[0099]
在本实施例中,6根连杆对应的连杆变换矩阵分别为:和根据α0、α1、α2、α3、α4、α5值,本实施例工业机器人第一连杆至机器人基座的变换矩阵为:
[0100][0101]
同理,第二连杆相对于第一连杆变换矩阵为:
[0102][0103]
第三连杆相对于第二连杆变换矩阵为:
[0104][0105]
第四连杆相对于第三连杆变换矩阵为:
[0106][0107]
第五连杆相对于第四连杆变换矩阵为:
[0108][0109]
第六连杆相对于第五连杆变换矩阵为:
[0110][0111]
步骤2、求解最终位姿变换矩阵具体求解公式为:
[0112][0113]
在本实施例中,
[0114][0115]
在实际计算时,先将转化为和的乘积,也即先求出和则:
[0116]
[0117]
其中表示的是机器人末端在世界坐标系下的位姿角度状态的矩阵,具体各字母含义为现有技术,这里不再逐一解释;p
x
,py,pz分别表示机器人末端在世界坐标系下的笛卡尔坐标值。
[0118]
在本实施例中,世界坐标系xoy的建立方法为:以机器人各关节为零位时末端第m根连杆中心轴线所在直线为x轴,以背离末端尖点的x轴上某点为原点o,过原点o且垂直于x轴的第m根连杆左侧向或右侧向为y轴,具体如图2所示,且以末端尖点的前进方向为x轴正方向。
[0119]
步骤3、建立机器人末端位置分量p
x
求解模型
[0120]
以末端第m根连杆中心轴线所在直线为x轴,则末端位置分量p
x
为机器人末端在x轴的位置分量。
[0121]
假设步骤2得到的最终位姿变换矩阵中第一行第四列的值为v,则建立p
x
的求解模型p
x
=v;其中,v为关于关节角度θ、连杆长度a和连杆偏置d三个自变量的因变量;关节角度θ为中间自变量,连杆长度a和连杆偏置d为待求解自变量。
[0122]
在本实施中,p
x
的求解模型为:
[0123]
p
x
=v=(-cosθ
1 sinθ
2 cosθ
3-cosθ
1 cosθ
2 cosθ3)(cosθ4sinθ
5 d6 a3)
[0124]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(cosθ1sinθ2sinθ
3-cosθ
1 cosθ2cosθ3)(-cosθ5d
6-d4)
[0125]
ꢀꢀꢀꢀꢀꢀꢀꢀ‑
sinθ1sinθ4sinθ
5 d
6-cosθ1sinθ
2 a2 cosθ
1 a1。
[0126]
步骤4、建立系数组模型r
[0127]
对步骤3建立的p
x
求解模型,进行因式分解,得到每个待求解自变量的系数组成的系数组模型r;此时,系数组模型r为仅包括中间自变量θ。
[0128]
在本实施例中,求解模型p
x
因式分解后的表达式为:
[0129]
p
x
=cosθ1a
1-cosθ
1 sinθ2a
2-a3(cosθ1sinθ
2 cosθ3 cosθ
1 cosθ2sinθ3)
[0130]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
d4(cosθ1cosθ2cosθ
3-cosθ1sinθ2sinθ3)
[0131]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
d6(cosθ1cosθ2cosθ3cosθ
5-cosθ1sinθ2sinθ3cosθ5[0132]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ‑
cosθ1sinθ2cosθ3cosθ4sinθ
5-cosθ1cosθ2sinθ3cosθ4sinθ5[0133]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ‑
sinθ1sinθ4sinθ5)
[0134]
假设系数组模型r=[ra、rb、rc、rd、re];其中,ra、rb、rc、rd、re分别为总待求解自变量a1、a2、a3、d4、d6的系数;则:
[0135]
ra=cosθ1[0136]
rb=-cosθ1sinθ2[0137]
rc=一(cosθ1sinθ
2 cosθ3 cosθ
1 cosθ
2 sinθ3)
[0138]
rd=cosθ
1 cosθ
2 cosθ
3-cosθ
1 sinθ
2 sinθ3[0139]
re=cosθ1cosθ2cosθ
3 cosθ
5-cosθ
1 sinθ2sinθ3cosθ
5-cosθ1sinθ2cosθ3cosθ4sinθ
5-cosθ1cosθ2sinθ
3 cosθ4sinθ
5-sinθ1sinθ4sinθ5。
[0140]
步骤5、布设参考点
[0141]
在机器人运动范围空间内布设一个基准参考点p0和n个参考点,其中,n不小于待求解自变量的个数,在本实施例中,n>5。
[0142]
n个参考点分别为p1、p2、p3、

、pn;且p0、p1、p2、p3、

、pn的横纵坐标依次增大,具体如图2所示,参考点p1、p2、p3、

、pn至基准参考点p0的x向距离分别为d1、d2、d3、

、dn。
[0143]
步骤6、建立系数矩阵r,具体表达式为:
[0144]
r=[r1、r2、r3、

、rn]
t
[0145]
r1=r
1-r0[0146]
r2=r
2-r0[0147]
r3=r
3-r0[0148]rn
=r
n-r0[0149]
式中,r1、r2、r3、

、rn分别为参考点p1、p2、p3、

、pn的相对系数组;r0为基准参考点p0的系数组,称为基准系数组;r1、r2、r3、

、rn分别为参考点p1、p2、p3、

、pn的系数组。
[0150]
步骤7、求解系数矩阵r,具体求解方法,包括如下步骤。
[0151]
步骤71、求解基准系数组r0,具体包括如下步骤。
[0152]
步骤71a、将机器人的末端尖点移动至基准参考点p0。
[0153]
步骤71b、获取关节角度变量j0:通过内置在每个关节中的关节编码器,获取在基准参考点p0时机器人的关节角度变量j0;关节角度变量j0包括在基准参考点p0时m-1个关节的关节角度θ。
[0154]
在本实施例中,
[0155]
j0=[θ1,θ2,θ3,θ4,θ5]
[0156]
步骤71c、求解基准系数组r0:将获取关节角度变量j0代入步骤4建立的系数组模型r中,得到基准系数组r0:
[0157]
r0=[ra0,rb0,rc0,rd0,re0]
[0158]
步骤72、求解r1、r2、r3、

、rn:将机器人的末端尖点分别移动至参考点p1、p2、p3、

、pn;重复步骤71,求解得到r1、r2、r3、

、rn:
[0159]
r1=[ra1,rb1,rc1,rd1,re1]
[0160]
r2=[ra2,rb2,rc2,rd2,re2]
[0161]
r3=[ra3,rb3,rc3,rd3,re3]
[0162]rn
=[ran,rbn,rcn,rdn,ren]
[0163]
式中:ra0,rb0,rc0,rd0,re0分别为基准参考点p0处a1、a2、a3、d4、d6的系数。
[0164]
ra1,rb1,rc1,rd1,re1分别为参考点p1处a1、a2、a3、d4、d6的系数。
[0165]
ra2,rb2,rc2,rd2,re2分别为参考点p2处a1、a2、a3、d4、d6的系数。
[0166]
ra3,rb3,rc3,rd3,re3分别为参考点p3处a1、a2、a3、d4、d6的系数。
[0167]
ran,rbn,rcn,rdn,ren分别为参考点pn处a1、a2、a3、d4、d6的系数。
[0168]
步骤73、求解系数矩阵r:将步骤71得到的r0和步骤72得到的r1、r2、r3、

、rn,代入步骤6建立的系数矩阵r中,得到均为已知量的系数矩阵r,也即r1、r2、

、rn的具体表达式分别为:
[0169]
r1=r
1-r0=[ra
1-ra0,rb
1-rb0,rc
1-rc0,rd
1-rd0,re
1-re0]
[0170]
r2=r
2-r0=[ra
2-ra0,rb
2-rb0,rc
2-rc0,rd
2-rd0,re
2-re0]
[0171]rn
=r
n-r0=[ra
n-ra0,rb
n-rb0,rc
n-rc0,rd
n-rd0,re
n-re0]。
[0172]
因而,求解得到的系数矩阵r的表达式为:
[0173][0174]
步骤8、建立标定方程,具体为:
[0175]
rx=d
[0176]
d=[d1、d2、d3、

、dn]
t
[0177]
式中,x为所有待求解自变量连杆长度a和连杆偏置d的列向量。
[0178]
在本实施例中,建立的标定方程的表达式为:
[0179][0180]
步骤9、求解连杆长度a和连杆偏置d:将步骤7求解的系数矩阵r和步骤5得到的d1、d2、d3、

、dn;依次代入步骤8建立的标定方程中,并分别求解,进而得到所有连杆长度a和连杆偏置d,也即为机器人运动学模型的几何参数实际值。
[0181]
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献