在基于图像的视觉伺服(IBVS)中的图像雅可比矩阵的学习和理解

主要参考了这两篇论文中有关IBVS中的内容,有刚入门视觉伺服研究的小伙伴们可以去看看这两篇论文:
1、Chaumette F, Hutchinson S. Visual servo control. I. Basic approaches[J]. IEEE Robotics & Automation Magazine, 2006, 13(4): 82-90.
2、Hutchinson S, Hager G D, Corke P I. A tutorial on visual servo control[J]. IEEE transactions on robotics and automation, 1996, 12(5): 651-670.

一、第一篇论文:Visual Servo Control Part I: Basic Approaches

一个点在相机坐标系下的3D点坐标为:X=(X,Y,Z)\textbf{X}=(X,Y,Z)X=(X,Y,Z) ,

其在图像坐标系下的2D坐标为:x=(x,y)\textbf{x}=(x,y)x=(x,y)

根据相机透视模型(论文A Tutorial on Visual Servo Control中的图):

(Note:坐标表达字母不同)

[xy]=fZ[XY](1)\begin{bmatrix} x \\ y\end{bmatrix}=\frac{f}{Z} \begin{bmatrix} X\\Y \end{bmatrix} (1)[xy​]=Zf​[XY​](1)

f是焦距。这个式子就将图像坐标系与相机坐标系下的点联系了起来。那如何将图像点的移动速度与相机的移动速度联系起来呢?就需要以下两步:

1、当一个3D点固定不动的时候,相机移动了,那3D点也会相对的移动。此处讨论的是eye-in-hand方式,相机的移动速度也就是末端执行机构的移动速度为[ωxωyωzvxvyvz]T\begin{bmatrix} \omega_x &\omega_y &\omega_z &v_x &v_y &v_z\end{bmatrix}^T[ωx​​ωy​​ωz​​vx​​vy​​vz​​]T,那么就可以根据下面的式子计算3D点的移动速度:

2、(这个式子可以这样理解:x方向上的角速度会引起y和z方向上的速度),由相机的移动速度就得到了3D点的移动速度,再将式(1)代入到式子中就得到了相机的移动速度与2D点的移动速度的关系:(这里默认f=1了)

代入得到:

二、在这篇论文中A Tutorial on Visual Servo Control

2D坐标为:(u,v)(u,v)(u,v),3D点坐标为:(x,y,z)(x,y,z)(x,y,z) ,与上述表达的字母不同,可以看上面的相机同透视模型图。

在第V部分的基于图像的视觉伺服讲解中,B部分是eye-to-hand方式,相机被固定在一个位置,点P为末端执行机构上的一个点,P在相机坐标系下的移动速度也就是末端执行机构在相机坐标系下的移动速度为:[ωxωyωzTxTyTz]T\begin{bmatrix} \omega_x &\omega_y &\omega_z &T_x &T_y &T_z\end{bmatrix}^T[ωx​​ωy​​ωz​​Tx​​Ty​​Tz​​]T ,根据下面的式子求P点在x,y,z方向上的速度,因为这里是P点动,相机固定;而上面那篇论文是相机动,3D点固定,所以下面的这个式子跟上面论文中的式子正负号是相反的 。并且这里将焦距代入了进来。但计算的流程都是一样的:


得到平面点的速度与点在相机坐标系下的速度之间的相对关系:

经过这两篇论文的学习,到这里,我们的图像雅可比矩阵就完全明白了。

视觉伺服:图像雅可比矩阵的理解相关推荐

  1. 机械手基础知识(3)之基于图像的视觉伺服与基于位置的视觉伺服

    ** 基于图像的视觉伺服与基于位置的视觉伺服 ** 有关于机械手位姿问题的理解,可以去看我关于机械手正逆运动学分析的文章 首先说,基于图像的视觉伺服与基于位置的视觉伺服主要表现形式在于图像雅可比矩阵的 ...

  2. Visp_ros学习笔记(三):对于视觉伺服过程中关键函数的理解

    开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1   在上一篇博客中介绍了使用Pionner3dx移动机器人完成视觉伺服任务的例程,收到篇幅限制,对于 ...

  3. 六轴机械臂与单目相机的标定和视觉伺服的理解

    参考: 六轴机械手与相机的手眼标定https://blog.csdn.net/Isaac320/article/details/80078579 最详细.最完整的相机标定讲解https://blog. ...

  4. ViSP学习笔记(二十五):基于图像的视觉伺服

    开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...

  5. 视觉伺服研究学习——2021年10月

    一.基础学习课程 深度学习 计算机视觉 机器学习 约定: 黄色高亮表示关键词,不认识的知识点: 绿色下划线:重要的思想观点,精髓的理解. 二.论文学习 1.室内动态视觉SLAM算法研究         ...

  6. 视觉伺服控制完整解析

    视觉伺服控制完整解析 视觉伺服控制简介 相关符号及概念的说明 坐标变换 刚体运动 相机模型 视觉伺服控制理论 基于位置的视觉伺服控制 基于图像的视觉伺服控制 参考文献 视觉伺服控制简介 视觉伺服控制( ...

  7. 面向高精度领域的视觉伺服算法汇总

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉工坊 前言 视觉伺服是工业上很重要的一个领域, ...

  8. 视觉伺服控制工具Visual Servoing Platform---VISP(7)----vpServo这个看懂了就会用VISP了,很简单

    看好了,基本上我们实现真实的机械臂控制的所有方法需要用到的类都可以在这个博客中找到. 这个类是整个VISP的核心部分了,因为其他的部分可以用现有的所有算法替换,但是这个vpServo和另一个姿态估计类 ...

  9. 视觉伺服 二、IBVS原理

    视觉伺服 二.IBVS原理 前言 图像雅可比 后记 前言 本篇记录IBVS基于图像的视觉伺服原理,后续可能会添加实现代码. 图像雅可比 视觉伺服的目标误差变化速度与末端相机移动速度的关系为: e ˙ ...

最新文章

  1. 《HBase企业应用开发实战》—— 第3章 数 据 模 型
  2. centos6.5 install mongodb
  3. mysql的binary、char、varchar区别
  4. 【教程分享】Jmeter入门教程
  5. 分区创建 linux_在 Intel NUC 上安装 Linux
  6. python从列表中随机选择一个元素
  7. pytorch dropout代码解读
  8. 天正电气lisp是什么文件_LSP文件扩展名 - 什么是.lsp以及如何打开? - ReviverSoft...
  9. 极通首次为中小企业量身定制EWEBS极速版
  10. Lottie动画的优劣及原理
  11. markdown写公众号
  12. 旅游评论文本数据,bert分类,加完整的论文
  13. javaSE探赜索隐之二<第二篇博客,磕磕绊绊,收货满满!加油>
  14. 《智能路由器开发指南》核心笔记(全)
  15. Berkeley DB
  16. 【零基础】MT4量化入门一:跑一个简单的boll
  17. 最小点权覆盖集最大点权独立集
  18. 【CJY学习笔记】Linux防火墙基本操作(基于centos7)
  19. 地表温度LST计算教程
  20. 献给初学iOS的小盆友们——微博app项目开发之七第一次获取微博数据

热门文章

  1. spirng4.0-@Conditional 按条件注册bean、@Import导入组件bean、@FactoryBean spring的bean工厂注册bean
  2. [DAQmx]任务及通道学习笔记
  3. Navicat SQL查询语句有中文查询结果乱码
  4. Excel函数大全-02兼容性函数
  5. vulfocus——discuz命令执行(wooyun-2010-080723)
  6. G-Research:ICML 2022论文推荐
  7. 印度的软件工业(建议程序员必读)
  8. 朗强科技:4K画面HDMI分割拼接器基础知识
  9. 世界php占比,我国2017年GDP占世界比重15% 稳居世界第二
  10. Vue 第五讲(v-for 属性)