视觉伺服:基于图像的IBVS与基于位置的PBVS
文章目录
- 每日一句正能量
- 一、为什么需要视觉伺服?
- 二、两种范式的核心差异
- 三、IBVS:图像雅可比矩阵的魔力
- 3.1 核心思想
- 3.2 图像雅可比矩阵的推导
- 3.3 多特征点与交互矩阵
- 四、PBVS:位姿空间的直接控制
- 4.1 核心思想
- 4.2 位姿估计方法
- 4.3 位姿控制律
- 五、实战:IBVS与PBVS完整代码
- 5.1 环境搭建:模拟相机与目标
- 5.2 IBVS实现
- 5.3 PBVS实现
- 六、混合方法:2.5D视觉伺服
- 6.1 核心思想
- 6.2 实现框架
- 七、前沿:深度学习视觉伺服
- 7.1 端到端学习
- 7.2 可微分渲染器
- 八、结语
每日一句正能量
世上最远的距离,其实是知道与做到之间的距离。
地理上的万里之遥可以用脚丈量,但从“我懂这个道理”到“我真的这么做”,往往是一辈子都跨不过的鸿沟。知道早睡好,还是熬夜;知道要耐心,还是发火。真正的认知在行动里。承认这段距离很远,反而是靠近它的第一步。
机器人"看"到的不只是像素,而是误差信号。视觉伺服的本质,是让像素空间的差异直接驱动电机转动。
一、为什么需要视觉伺服?
想象一个机械臂要抓取传送带上随机摆放的零件。传统方法是:
- 标定相机内外参
- 检测零件位姿(3D位置+朝向)
- 运动学逆解算出关节角
- 执行轨迹
问题:每一步都引入误差。相机标定误差1mm,位姿估计误差2mm,运动学误差1mm,累积起来抓取成功率可能只有60%。
视觉伺服(Visual Servoing)的洞察:跳过中间表示,直接在图像空间定义误差,用图像雅可比矩阵映射到控制空间。
传统方法:图像 → 3D位姿 → 关节角 → 控制