一种由电机驱动的旋转扫描装置的手眼标定方法

文档序号:32532132发布日期:2022-12-13 22:29阅读:148来源:国知局
一种由电机驱动的旋转扫描装置的手眼标定方法

1.本文涉及计算机视觉领域,提出了一种由电机驱动的旋转扫描装置的手眼标定方法。


背景技术:

2.随着机器人技术不断深入工业和生活场景,针对不同场景的使用需求,像机械臂、agv小车和arm等各式单体机器人生产与使用技术也日趋成熟。这些单体机器人作为一个执行器,能够很好的代替人完成一些货箱运输、物流分拣和机械装配等危险性高、重复性强和工作强度大的工作。但机器人作为终端执行器,往往不具备感知能力。3d相机能够获取物体的三维信息,具备感知物体空间位置和姿态的能力。在多数工作场景中,机器人往往需要3d视觉配合提供指引,共同完成一些智能化的工作。3d视觉与机器人做个各自独立的功能模块,手眼标定方法就是为两者之间建立联系;将3d视觉识别到的物体位置信息转化为机器人能够理解的坐标值,引导机器人到目标位置完成相应的工作。
3.手眼标定主要是为了建立相机坐标系与机器人坐标系的转换关系,当前手眼标定方法主要的研究工作都在机械臂与3d相机的手眼标定,用于引导机械臂进行零件上下料和物流拆码垛等工作。现有的eye-in-hand手眼标定技术主要是借助标定板工具进行手眼标定,简要描述即通过相机在机械手不同位置拍摄到的标定板的图像信息得到标定板相对于相机坐标系的位姿,同时机械装置基坐标系和机械手的位置关系为已知,通过基坐标系、相机坐标系、手坐标系、标定板坐标系的转换关系,得到一个类似于ax=xb形式的方程,方程可以由机器人手眼标定的经典方法tsai-lenz两步法求解。现有技术主要应用于六自由度机械臂上,因此限制了机器人需要按照特定的方式做空间旋转运动和平移运动。现有研究者提出的手眼标定方法要么需要对机器人进行示教,操作繁琐且因为引入了机器人的运动误差,精度较低,要么需要机器人进行较大幅度的运动,且标定板与基坐标系的标定也会引入误差。因此十分需要提出一种标定误差更小的方法。
4.同时目前的三维重建领域广泛的用到了icp(迭代最近点)算法,该算法主要是通过迭代使得两组点云之间的误差函数收敛到最小来完成两组点云之间位姿的解算,但是该算法在应用于较快速移动场景下,即两帧变换位姿过大时往往难以收敛,因此若能为icp算法提出一个较优的初始值再进行迭代,算法的收敛效果会大大增强。当获得电机旋转角度变换时即可通过电机和相机之间的位姿转换关系来计算出相机的运动,一次作为icp算法的初始值,将大大改进算法的收敛效率。


技术实现要素:

5.针对现有技术中存在的不足,本发明提出一种由电机驱动的旋转扫描装置的手眼标定方法(装置以附图3为例)。通过处理由rgb-d相机得到的彩色、深度图像,使用icp解算得到相机两帧之间的位姿变换,同时通过对电机位置编码信息进行处理得到对应于相机两帧之间电机的旋转角度,以此来生成电机坐标系在相机两帧间的位姿变换。进而推导相机
位姿变换与电机位姿变换的对应关系,通过求解手眼标定方程来解算得到相机坐标系和电机坐标系的位姿变换。
6.一种由电机驱动的旋转扫描装置的手眼标定方法,步骤如下:
7.s1、彩色、深度图像和电机位置编码数据的同步获取和保存;
8.s2、使用得到的彩色、深度图进行icp位姿解算;
9.s3、将电机位置编码数据转换成电机的旋转角度;
10.s4、解算位姿关系方程得到手眼位姿变换。
11.本发明有益效果如下:
12.本发明对使用标定板进行手眼标定的传统方法进行了改进,进行相机定位时可以不依赖标定板灵活地在很多场景下进行相机的鲁棒定位,在简化标定计算过程的同时,避免了传统标定方法中多组相机-标定板、手坐标系-基坐标系位姿关系的误差累积。
附图说明
13.图1为本发明实施例方法的实例化系统框图;
14.图2为用于手眼标定的系统示意图;
15.图3为由电机驱动的相机旋转数据采集结构示例。
16.具体实施步骤
17.以下结合附图与实施例对本发明技术方案进行进一步描述。
18.如图1所示,一种由电机驱动的旋转扫描装置的手眼标定方法,步骤如下:
19.s1、图像、位置编码数据的同步获取和保存;
20.s11、图像数据的获取。
21.使用rgbd相机拍摄场景的彩色图像和深度图像,采集频率为15hz。在获得第一帧图像时记录下当前图像的时间戳,以此来作为数据采集的起点。将每一对彩色、深度图像使用标定得到的内参信息进行去畸变处理,使用彩色和深度相机之间已知的位姿变换关系将深度图对齐到彩色图下,方便后期icp解算过程。将得到的彩色、深度图分别按照其对应的时间戳命名,并将图像数据及其时间戳信息保存下来。
22.s12、位置编码数据的获取。
23.旋转扫描装置的通过嵌入式芯片(stm32)完成对驱动装置旋转的电机进行控制与数据通讯任务,电机通过can总线将位置传感器测量得到的位置编码数据传输到嵌入式芯片,数据采集的频率为200hz,通过电机的位置编码数据的时间戳来得到电机和相机时间上的对应关系,同时将电机的位置编码数据和对应的时间戳保存下来。
24.图3为由电机驱动的相机旋转数据采集结构示例。
25.s2、使用得到的彩色、深度图进行icp位姿解算;
26.s21、对于每对相邻两帧图像,生成3层图像金字塔,并对深度图进行滤波,点云配准以coarse-to-fine的方式进行。
27.s22、在给定深度图像内参情况下,计算深度相机所采集的图像中每个点的三维坐标(用于点云的配准和融合),对于滤波后的深度图像也计算三维点云坐标(用于计算法向量)。
28.s23、确定当前帧相机位姿的初始预测值,迭代求解相机位姿。开始迭代的预测值
设定为上一帧的最优位姿,若当前帧为第一帧则设置为单位阵;迭代过程中的预测值设置为上一次迭代得到的最优位姿。使用该预测值变换对应帧中三维点的坐标。
29.s24、对于两幅点云根据投影算法计算匹配点。
30.s25、对于匹配点极小化点到平面距离计算位姿,误差函数定义如下:
[0031][0032]
s26、目标函数误差小于设定阈值时,或者到达设置的迭代次数停止迭代,否则回到步骤s23。
[0033]
s27、迭代直到到达设置的迭代次数,或者通过非线性优化使得上述目标函数小于设定阈值时。记录下相邻两帧之间的位姿变换。
[0034]
s28得到每一帧相对于第一帧的位姿变换,与该帧的时间戳一同保存为txt文件。
[0035]
s3、角度转换。将得到的电机位置编码数据转换成角度数据,0-8191的编码对应着0-360度,角度数据和对应时间戳保存为txt文件。
[0036]
s4、解算位姿关系方程得到手眼位姿变换。
[0037]
s41、读取s3步骤中所记录下的带时间戳的电机旋转角度数据,读取s28步骤中得到的相机的每一帧相对于起始帧的位姿变换与对应的时间戳。由于电机的采样频率高于相机的采样频率,故可以通过电机时间戳和相机时间戳的对应关系来确定相机两帧的旋转,即统计相机两帧之间的角度数据来得到电机在两帧之间的旋转角度。
[0038]
s42、基于eye in hand标定模型确定待求解的位姿变换方程;
[0039]
eye in hand标定模型需要确定四个坐标系:相机坐标系、手坐标系、标定板坐标系、基坐标系。使用
bese
t
end2
表示相机第i+1帧手坐标系对于基坐标系的位姿变换,使用
end2
t
cam2
表示相机第i+1帧相机坐标系对于手坐标系的位姿变换,使用
cam2
t
object
表示标定板坐标系对于相机第i+1帧坐标系的位姿变换,由此得到可以得到相机第i+1帧与上一帧第i帧的位姿变换关系如下:
[0040]
base
t
end2
×
end2
t
cam2
×
cam2
t
object
[0041]

base
t
end1
×
edn1
t
cam1
×
cam1
t
object
[0042]
对上述式子进行简化处理得到:
[0043]
end1
t
end2
×
end2
t
cam2

end1
t
cam1
×
cam1
t
cam2
[0044]
式中
end1
t
end2
为手坐标系第i+1帧向第i帧的转换关系,设定手坐标系y轴为竖直方向,旋转为正方向,根据两帧间电机旋转角度θ生成绕y轴旋转θ的位姿变换矩阵:
[0045][0046]
式中
cam1
t
cam2
为相机的第i+1帧向第i帧的转换关系,通过步骤s41得到的电机在相机两帧之间的旋转角度计算得到位姿变换矩阵。
[0047]
图2为用于手眼标定的系统示意图;
[0048]
s43使用tsai-lenz方法求解位姿变换方程得到相机-电机位姿变换;
[0049]
为简化说明并不失普遍性,使用g表示手,c表示相机,i、j表示相机的第i、j帧。按照下述步骤来解算位姿变换方程。
[0050]

使用罗德里格斯公式将旋转矩阵转换为旋转向量;
[0051][0052]rgij
和r
cij
分别为手坐标系和相机坐标系第i、j帧的位姿变换矩阵的旋转变换部分,r
gij
、r
cij
为对应的旋转向量。
[0053]

将旋转向量做归一化处理;
[0054][0055]
θ
gij
、θ
cij
表示手坐标系和相机坐标系对应i、j坐标系的旋转角,n表示归一化的旋转向量。
[0056]

使用修正的罗德里格斯参数表示姿态变换;
[0057]
p
gij
=2sin(θ
gij
/2)n
rgij
[0058]
p
cij
=2sin(θ
cij
/2)n
rcij
[0059]
p
gij
、p
cij
分别表示第i、j帧手坐标系和相机坐标系间的旋转变换的旋转轴。
[0060]

计算p'
cg

[0061]
使用p
cg
表示相机坐标系和手坐标系间的旋转矩阵p
cg
的旋转轴,
[0062]
假定一个p'
cg
,有如下关系:
[0063][0064]

求解下述方程:
[0065]
skew(p
gij
+p
cij
)p

cg
=p
cij-p
gij
[0066]
其中skew表示变换为反对称矩阵,由于p
gij
、p
cij
为已知,因此该式相当于一个ax=xb形式的的求解问题,如果有多组数据则可以求得最优解。
[0067]

计算p
cg

[0068][0069]

使用罗德里格斯公式得到相机坐标系和手坐标系间的旋转矩阵r
cg

[0070][0071]

计算平移向量t
cg

[0072]
(r
gij-i)=r
cg
t
cij-t
gij
[0073]
上述的r
cg
、t
cg
即为标定而来的电机-相机手眼位姿。
[0074]
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。
[0075]
本发明未详细说明部分属于本领域技术人员公知技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1