- 前言
- 基础概念
- 定义
- 分类
- 相机位置
- 伺服目标
- 后记
本篇开始学习视觉伺服内容。
基础概念 定义所谓视觉伺服,就是通过摄像头输入的图像信息,控制机器人运动的过程。
分类IBVS (Image-based visual servoing) :基于图像的视觉伺服控制。直接应用2D图像平面信息。
PBVS (Position-based visual servoing) :基于位置的视觉伺服控制。需要把图像信息投影到3D空间中。
相机位置eye-in-hand 相机在臂末端 eye-to-hand 相机位置与臂位置固定
伺服目标经典的视觉伺服目标误差函数为: e ( t ) = s ( m ( t ) , a ) − s ∗ {\bf e}(t)={\bf s}({\bf{m}}(t), {\bf a}) - \bf{ s*} e(t)=s(m(t),a)−s∗ 其中, m ( t ) {\bf m}(t) m(t)表示特定的图像信息, a \bf{a} a表示系统参数,如相机内参等, s , s ∗ \bf s, s* s,s∗分别表示当前和期望的图像特征,如位置等。
IBVS中的 s \bf s s就是图像中的某些2D像素点信息,PBVS则是空间中的3D信息。
把上面的式子对时间求导: e ˙ = s ˙ \dot {\bf e}=\dot {\bf s} e˙=s˙ 而 s \bf s s又和相机的位置有关: s ˙ = L s v c , L s = L e \dot {\bf s} = \bf L_s v_c,L_s=L_e s˙=Lsvc,Ls=Le 其中, L s , v c \bf L_s,v_c Ls,vc分别表示相机位置与图像特征的关系矩阵(雅可比矩阵),以及相机(比如机械臂末端)的线速度和角速度。
于是最终就得到了经典的相机速度和伺服误差的关系: e ˙ = L e v c \dot {\bf e} = \bf L_e v_c e˙=Levc
如果要使伺服误差指数级下降,就可以通过雅可比矩阵的伪逆,把控制律设置为: v c = − λ L e + e {\bf v_c} = -\lambda {\bf L_e^+ e} vc=−λLe+e
后记本篇是视觉伺服的最基础底层内容,后续会完成IBVS,PBVS,HYBRID算法的理论学习和代码实践。