本文章收录在黑鲸智能系统知识库-黑鲸智能系统知识库成立于2021年,致力于建立一个完整的智能系统知识库体系。我们的工作:收集和整理世界范围内的学习资源,系统地建立一个内容全面、结构合理的知识库。
作者博客:途中的树
为什么需要全身自校准
- 导航和操纵需要准确的机器人模型,例如,前向/反向移动、传感器姿势调整等。
- 运动学结构通常是已知的,但往往容易出错或不完全知道
- 关节偏移
- 相机的外因和内因
- 想法:机器人利用自我观察自我校准自动优化所有参数
- 机器人的结构是很复杂的如果不能相对准确的对自身结构建模,在执行命令时就会出问题
- 下图展示了Nao机器人的结构
自校准参数(以Nao机器人为例)
- 从Nao机器人的结构图中我们可以看出,想要对机器人的姿态进行校准,就要对机器人身体结构中的各个结点校准,所以要确定结点的真实位置。
结点位置偏差参数
- 真实位置: q = q ^ + q o f f q=\hat q + q^{off} q=q^+qoff 其中 q ^ \hat q q^ 就是encoder reading位置,可以理解为机器人系统中默认的位置,与实际位置的偏差是 q o f f q^{off} qoff
- 测量出的全部偏差为 q o f f = ( q 1 o f f q 2 o f f . . . q n o f f ) \mathrm{q}^{off}=\begin{pmatrix} q^{off}_1 \\ q^{off}_2 \\ .\\.\\.\\q^{off}_n \end{pmatrix} qoff=⎝⎜⎜⎜⎜⎜⎜⎛q1offq2off...qnoff⎠⎟⎟⎟⎟⎟⎟⎞
相机参数
- 如果用相机校准的话,需要用到的参数如下
-
相机外部参数: R , t R,t R,t 旋转和位移
-
相机内部参数: f x , f y , x H , y H , κ f_x,f_y,x_H,y_H,\kappa fx,fy,xH,yH,κ(扭曲参数)
-
回忆一下一般的相机校准矩阵
- a K ( x , q ) = a H s ( x , q ) K = [ c 0 x H + Δ x ( x , q ) 0 c ( 1 + m ) y H + Δ y ( x , q ) 0 0 1 ] ^a\mathrm{K}(x,q)=^a\mathrm{H}_s(x,q)\mathrm{K}=\begin{bmatrix} c & 0 & x_{\mathrm{H}}+\Delta x(x,q)\\0 & c(1+m) & y_{\mathrm{H}}+\Delta y(x,q)\\0 & 0 & 1\\\end{bmatrix} aK(x,q)=a</
-