通过旋转机械臂,将机械臂上相机拍摄图像的任意点移动至图像中心的方法

计算原理

角度计算

  1. 相机CCD大小固定,即相机成像平面大小固定,相机视场角(FOV)仅由相机焦距F决定;

    • 因此,定焦相机的FOV大小固定,通过上图可以看出相机视场角的计算公式为:

    FOV = 2*atan(w/2f)

    • 注意,这里w/2f代表的是w/2除以f;
  2. 因此,要想获取图像上任意点(x0,x0)到图像中心的旋转角度,只需求出任意点在成像画面中与图像中心(x1,x2)在x、y方向上的距离差作为新的w即可,但需注意x轴方向的差对应的是y轴的旋转角度,其余类似,如下式:

α_y=2*atan((x_1-x_0)/2f_x) α_x=2*atan((y_1-y_0)/2f_x)

机械臂位姿计算

  1. 已知两个旋转角度,将其转化为旋转矩阵R_x、R_y;
  2. 左乘机械臂当前位姿矩阵,即可获取机械臂到达中心点的机械臂位姿即:

targetPose = currPose * R_x * R_y

相关推荐
带土18 分钟前
2. C++ private、protected、public
开发语言·c++
星火开发设计1 小时前
二维数组:矩阵存储与多维数组的内存布局
开发语言·c++·人工智能·算法·矩阵·函数·知识
夜勤月1 小时前
彻底终结内存泄漏与悬挂指针:深度实战 C++ 智能指针底层原理与自定义内存池,打造稳如泰山的系统基石
开发语言·c++
Fcy6482 小时前
⽤哈希表封装unordered_map和unordered_set(C++模拟实现)
数据结构·c++·散列表
CSDN_RTKLIB2 小时前
右值引用一个误区
c++
一分之二~2 小时前
二叉树--层序遍历(迭代和递归)
数据结构·c++·算法·leetcode
zhooyu3 小时前
OpenGL 与 C++:深入理解与实现 Transform 组件
开发语言·c++
东方轧线3 小时前
突破锁竞争的性能枷锁:深度剖析 C++ 内存模型与无锁编程在超大规模并行 AI 系统中的极致应用实践
java·c++·人工智能
Word码3 小时前
[C++语法]-string类(用法详解及实现)
开发语言·c++
CSDN_RTKLIB4 小时前
临时对象产生与值类别范畴
c++