视觉伺服 二、IBVS原理

视觉伺服 二、IBVS原理

前言

本篇记录IBVS基于图像的视觉伺服原理,后续可能会添加实现代码。

图像雅可比

视觉伺服的目标误差变化速度与末端相机移动速度的关系为:
e ˙ = L e v c \dot{\bf e}={\bf L_ev_c} e˙=Levc
因此,计算 L e \bf L_e Le是视觉伺服中的一个核心问题。IBVS中的 L e \bf L_e Le被称为图像雅可比,表示了图像中的2D点坐标与相机速度的关系。下面来推导图像雅可比形式。

首先通过相机内参把像素坐标逆投影到归一化相机坐标平面下:
x = X Z = u − c u f y = Y Z = v − c v f x = \frac{X}{Z} = \frac {u - c_u}{f} \\ y = \frac{Y}{Z} = \frac {v - c_v}{f} \\ x=ZX=fucuy=ZY=fvcv
归一化相机坐标速度可表示为:
x ˙ = X ˙ Z − X Z ˙ Z 2 = ( X ˙ Z − x Z ˙ Z ) y ˙ = Y ˙ Z − Y Z ˙ Z 2 = ( Y ˙ Z − y Z ˙ Z ) \dot x = \frac {\dot XZ - X\dot Z}{Z^2} = (\frac {\dot X}{Z} - \frac {x\dot Z}{Z} ) \\ \dot y = \frac {\dot YZ - Y\dot Z}{Z^2} = (\frac {\dot Y}{Z} - \frac {y\dot Z}{Z} ) \\ x˙=Z2X˙ZXZ˙=(ZX˙ZxZ˙)y˙=Z2Y˙ZYZ˙=(ZY˙ZyZ˙)
相机末端各轴的移动速度 x ˙ , y ˙ , z ˙ \dot x,\dot y, \dot z x˙,y˙,z˙与旋转速度 w w w、平移速度 t t t的关系可表示为:
X ˙ = Z w y − Y w z + t x Y ˙ = X w z − Z w x + t y Z ˙ = Y w x − X w y + t z \dot X = Zw_y - Yw_z + t_x \\ \dot Y = Xw_z - Zw_x + t_y \\ \dot Z = Yw_x - Xw_y + t_z \\ X˙=ZwyYwz+txY˙=XwzZwx+tyZ˙=YwxXwy+tz
代入归一化坐标速度:
x ˙ = w y − Y Z w z + 1 Z t x − Y Z x w x + X Z x w y − 1 Z x t z = 1 Z t x + 0 t y − x Z t z − x y w x + ( 1 + x 2 ) w y − y w z y ˙ = x w z − w x + 1 Z t y − y 2 w x + x y w y − y Z t z = 0 t x + 1 Z t y − y Z t z − ( 1 + y 2 ) w x + x y w y + x w z \dot x = w_y- \frac {Y}{Z}w_z + \frac{1}{Z}t_x - \frac{Y}{Z}xw_x + \frac{X}{Z}xw_y - \frac{1}{Z}xt_z \\ \quad \\ = \frac{1}{Z} t_x + 0t_y - \frac{x}{Z}t_z -xyw_x + (1 + x^2) w_y - yw_z \\ \quad \\ \dot y = xw_z - w_x + \frac{1}{Z}t_y - y^2w_x + xyw_y - \frac{y}{Z}t_z \\ \quad \\ = 0t_x + \frac{1}{Z}t_y -\frac{y}{Z}t_z - (1+y^2)w_x +xyw_y +xw_z x˙=wyZYwz+Z1txZYxwx+ZXxwyZ1xtz=Z1tx+0tyZxtzxywx+(1+x2)wyywzy˙=xwzwx+Z1tyy2wx+xywyZytz=0tx+Z1tyZytz(1+y2)wx+xywy+xwz
写成矩阵形式,就得到了归一化平面点速度与相机移动速度的关系
[ x ˙ y ˙ ] = [ 1 Z 0 − x Z − x y ( 1 + x 2 ) − y 0 1 Z − y Z − ( 1 + y 2 ) x y x ] [ t x t y t z w x w y w z ] i . e . e ˙ = L e v c \begin{bmatrix} \dot x \\ \dot y \\ \end{bmatrix} = \begin{bmatrix} \frac {1}{Z} & 0 & -\frac{x}{Z} & -xy & (1+x^2) & -y \\ 0 & \frac{1}{Z} & -\frac{y}{Z} & -(1+y^2) & xy & x \\ \end{bmatrix} \begin{bmatrix} t_x \\ t_y \\ t_z \\ w_x \\ w_y \\ w_z \\ \end{bmatrix} \\ i.e. \quad \dot{\bf e}={\bf L_ev_c} [x˙y˙]=[Z100Z1ZxZyxy(1+y2)(1+x2)xyyx]txtytzwxwywzi.e.e˙=Levc

进一步代入像素投影方程:
x ˙ = u ˙ f y ˙ = v ˙ f \dot x = \frac{\dot u}{f} \\ \dot y = \frac{\dot v}{f} \\ x˙=fu˙y˙=fv˙
就可以得到像素速度与相机移动速度的关系,这里就不多写了。

图像雅可比矩阵:
[ 1 Z 0 − x Z − x y ( 1 + x 2 ) − y 0 1 Z − y Z − ( 1 + y 2 ) x y x ] \begin{bmatrix} \frac {1}{Z} & 0 & -\frac{x}{Z} & -xy & (1+x^2) & -y \\ 0 & \frac{1}{Z} & -\frac{y}{Z} & -(1+y^2) & xy & x \\ \end{bmatrix} [Z100Z1ZxZyxy(1+y2)(1+x2)xyyx]
可以看到这个矩阵包含未知深度 Z Z Z,因此在使用RGB相机做IBVS时,通常需要估计使用的图像特征点的深度,这就给系统带来了不确定性。

并且每个特征点为图像雅可比提供两个方程,而相机速度 v c \bf v_c vc有六个未知量,因此至少要三个点才能获得方程的解,并可能出现奇异矩阵的情况。因此实际需要多于三个特征点。

后记

本篇主要就是IBVS中的图像雅可比矩阵推导。下篇会从图像雅可比的估计,以及IBVS的稳定性估计入手。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
IBVS是嵌入式视觉系统(Image-Based Visual Servoing)的缩写,是一种机器视觉技术。而MATLAB(Matrix Laboratory)是一种用于算法开发、数据可视化和数值计算的高级技术计算软件。 IBVS是一种通过实时图像信息进行控制的视觉伺服技术。其基本原理是通过对机器人视觉系统采集到的图像信息进行处理和分析,实时提取特征信息,并与预先设定的目标特征进行比较,从而实现对机器人运动的实时控制。这种控制方式可以使机器人对环境变化做出快速反应,并实现对目标位置的精确控制。 MATLAB则是一种功能强大的科学计算软件平台,具有丰富的工具箱和函数库,可用于各种科学计算、数据处理和模型设计等任务。其强大的矩阵计算功能和丰富的数据可视化能力使其成为进行机器视觉算法开发和图像处理的理想工具。 对于IBVS,MATLAB可以作为一种常用的开发平台。MATLAB提供了丰富的图像处理和计算机视觉工具箱,可以方便地对图像进行处理、特征提取和目标跟踪等操作。同时,MATLAB还提供了强大的数值计算和算法开发功能,可以方便地进行控制算法的设计和仿真。通过与其他传感器和执行器的集成,可以在MATLAB环境中实现完整的IBVS系统。 总之,IBVS是一种基于图像信息的实时控制技术,而MATLAB是一种用于算法开发和数据处理的高级计算软件。在进行IBVS的算法设计和图像处理任务时,MATLAB可以作为一种常用的开发平台,提供丰富的工具和函数库,方便地进行算法开发、仿真和数据可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值