发明名称 一种机器人线结构光视觉测量系统的手眼标定方法
摘要 本发明公开了一种机器人线结构光视觉测量系统的手眼标定方法。本发明根据机器人运动特点,将机器人的运动关系通过坐标系的建立展现出来。通过控制机器人末端的移动,并结合齐次变换矩阵原理,获得机器人移动前后摄像机的运动量,进而根据手眼关系模型获得最终手眼关系矩阵。本发明将现有技术中的圆替换标准球作为靶标,仅需提取结构光直线特征即可,减小了计算量。
申请公布号 CN105021139A 申请公布日期 2015.11.04
申请号 CN201510419925.4 申请日期 2015.07.16
申请人 北京理工大学 发明人 王庆林;李原;刘艳
分类号 G01B11/25(2006.01)I 主分类号 G01B11/25(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 仇蕾安;高燕燕
主权项 一种机器人线结构光视觉测量系统的手眼标定方法,其特征在于,该方法包括:以机器人基座中心位置为原点O<sub>o</sub>,建立机器人基座坐标系O<sub>o</sub>‑X<sub>o</sub>Y<sub>o</sub>Z<sub>o</sub>;以机器人末端法兰盘中心位置为原点O<sub>e</sub>,建立第一机器人末端坐标系O<sub>e</sub>‑X<sub>e</sub>Y<sub>e</sub>Z<sub>e</sub>;以与机器人末端相连的摄像机光心为原点O<sub>c</sub>,建立第一摄像机坐标系O<sub>c</sub>‑X<sub>c</sub>Y<sub>c</sub>Z<sub>c</sub>;其中,第一摄像机坐标系中X<sub>c</sub>轴和Y<sub>c</sub>轴分别平行于摄像机成像平面的u轴和v轴,Z<sub>c</sub>轴由右手定则确定;以一个具有一组正交直径AB、CD的圆为靶标,靶标圆心为原点O<sub>w</sub>,建立靶标坐标系O<sub>w</sub>‑X<sub>w</sub>Y<sub>w</sub>Z<sub>w</sub>;靶标坐标系中靶标的直径AB所在直线从A到B的方向为靶标坐标系的X<sub>w</sub>轴,CD所在直线从C到D的方向为靶标坐标系的Y<sub>w</sub>轴,Z<sub>w</sub>轴由右手定则确定;步骤一、通过机器人控制器获得机器人在初始状态下第一机器人末端坐标系相对于机器人基座坐标系的变换矩阵A<sub>oe</sub>;将线结构光投射器与摄像机刚性连接在机器人末端;线结构光投射器向靶标投射一光条纹,且该光条纹穿过靶标圆心位置处,利用光条纹所穿靶标圆心处的光平面方程和摄像机成像原理获得第一摄像机坐标系相对于靶标坐标系的第一平移量t<sub>cw</sub>;利用调和共轭理论,获得直径AB相对于第一摄像机坐标系的消隐点p和直径CD相对于第一摄像机坐标系的消隐点q,并结合已知的摄像机内参数和罗德里格旋转公式获得第一摄像机坐标系相对于靶标坐标系的第一旋转矩阵R<sub>cw</sub>;步骤二、根据步骤一中获得的第一平移量t<sub>cw</sub>和第一旋转矩阵R<sub>cw</sub>,根据齐次变换矩阵定义,获得第一摄像机外参数<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>B</mi><mrow><mi>c</mi><mi>w</mi></mrow></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>R</mi><mrow><mi>c</mi><mi>w</mi></mrow></msub></mtd><mtd><msub><mi>t</mi><mrow><mi>c</mi><mi>w</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000761243490000011.GIF" wi="317" he="155" /></maths>步骤三、机器人末端进行第一次移动,并以机器人末端第一次移动后末端法兰盘中心位置为原点O<sub>e′</sub>,建立第二机器人末端坐标系O<sub>e′</sub>‑X<sub>e′</sub>Y<sub>e′</sub>Z<sub>e′</sub>;以第一次移动后摄像机光心为原点O<sub>c′</sub>,建立第二摄像机坐标系O<sub>c′</sub>‑X<sub>c′</sub>Y<sub>c′</sub>Z<sub>c′</sub>;通过机器人控制器获得末端第一次移动后第二机器人末端坐标系相对于机器人基座坐标系的变换矩阵A<sub>oe′</sub>,并根据A<sub>ee′</sub>=(A<sub>oe′</sub>)<sup>‑1</sup>A<sub>oe</sub>,获得末端第一次移动前后的机器人末端运动量A<sub>ee′</sub>;步骤四、按照步骤一的方式,获取末端第一次移动后第二摄像机坐标系相对于靶标坐标系的第二平移量t′<sub>c′w</sub>和第二旋转矩阵R′<sub>c′w</sub>;步骤五、根据步骤四中获得的第二平移量t′<sub>c′w</sub>和第二旋转矩阵R′<sub>c′w</sub>,根据齐次变换矩阵定义,获得第二摄像机外参数<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>B</mi><mrow><msup><mi>c</mi><mo>&prime;</mo></msup><mi>w</mi></mrow></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><msup><mi>R</mi><mo>&prime;</mo></msup><mrow><msup><mi>c</mi><mo>&prime;</mo></msup><mi>w</mi></mrow></msub></mrow></mtd><mtd><mrow><msub><msup><mi>t</mi><mo>&prime;</mo></msup><mrow><msup><mi>c</mi><mo>&prime;</mo></msup><mi>w</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000761243490000021.GIF" wi="472" he="190" /></maths>步骤六、根据齐次线性变换理论,利用步骤二中获得的第一摄像机外参数B<sub>cw</sub>和步骤五中获得的第二摄像机外参数B<sub>c′w</sub>,获得末端第一次移动前后的摄像机运动量B<sub>cc′</sub>=B<sub>c′w</sub>×(B<sub>cw</sub>)<sup>‑1</sup>;步骤七、机器人末端进行第二次移动,以第一次移动后的位置作为初始位置,按照步骤三到步骤六的方法,以机器人末端第二次移动后末端法兰盘中心位置为原点O<sub>e″</sub>,建立第三机器人末端坐标系O<sub>e″</sub>‑X<sub>e″</sub>Y<sub>e″</sub>Z<sub>e″</sub>;以第二次移动后摄像机光心为原点O<sub>c″</sub>,建立第三摄像机坐标系O<sub>c″</sub>‑X<sub>c″</sub>Y<sub>c″</sub>Z<sub>c″</sub>;获得第二次移动前后的机器人末端运动量A<sub>e′e″</sub>以及末端第二次移动后的第三摄像机坐标系相对于靶标坐标系的第三平移量t″<sub>c″w</sub>和第三旋转矩阵R″<sub>c″w</sub>;进而获得第三摄像机外参数<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>B</mi><mrow><msup><mi>c</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mi>w</mi></mrow></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><msup><mi>R</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mrow><msup><mi>c</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mi>w</mi></mrow></msub></mrow></mtd><mtd><mrow><msub><msup><mi>t</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mrow><msup><mi>c</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mi>w</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000761243490000022.GIF" wi="501" he="187" /></maths>并根据第三摄像机外参数B<sub>c″w</sub>以及步骤五中获得的第二摄像机外参数B<sub>c′w</sub>,获得末端第二次移动前后的摄像机运动量B<sub>c′c″</sub>=B<sub>c″w</sub>×(B<sub>c′w</sub>)<sup>‑1</sup>;步骤八、利用运动量和手眼关系模型AX=XB,根据步骤三和步骤六中获得的机器人末端运动量A<sub>ee′</sub>和摄像机运动量B<sub>cc′</sub>,建立第一次移动机器人末端前后的第一约束方程A<sub>ee′</sub>X=XB<sub>cc′</sub>;根据步骤七中获得的机器人末端运动量A<sub>e′e″</sub>和摄像机运动量B<sub>c′c″</sub>,建立第二次移动机器人末端前后的第二约束方程A<sub>e′e″</sub>X=XB<sub>c′c″</sub>;联立第一约束方程和第二约束方程,获得手眼标定矩阵X。
地址 100081 北京市海淀区中关村南大街5号