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

计算原理

角度计算

  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

相关推荐
ysa0510305 小时前
动态规划-逆向
c++·笔记·算法
燃于AC之乐5 小时前
我的算法修炼之路--7—— 手撕多重背包、贪心+差分,DFS,从数学建模到路径DP
c++·算法·数学建模·深度优先·动态规划(多重背包)·贪心 + 差分
闻缺陷则喜何志丹5 小时前
【BFS 动态规划】P12382 [蓝桥杯 2023 省 Python B] 树上选点|普及+
c++·蓝桥杯·动态规划·宽度优先·洛谷
福楠7 小时前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
Sarvartha7 小时前
二分查找学习笔记
数据结构·c++·算法
daidaidaiyu8 小时前
一文入门 Android NDK 开发
c++
Ethernet_Comm8 小时前
从 C 转向 C++ 的过程
c语言·开发语言·c++
难得的我们8 小时前
C++与区块链智能合约
开发语言·c++·算法
diediedei8 小时前
C++编译期正则表达式
开发语言·c++·算法
Tianwen_Burning9 小时前
c++ release下的debug
c++