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

计算原理

角度计算

  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

相关推荐
YYYing.7 分钟前
【Linux/C++进阶篇 (一)】man手册、gdb调试、静态库与动态库
linux·运维·c++
孞㐑¥8 分钟前
算法—模拟
c++·经验分享·笔记·算法
一起养小猫9 分钟前
Flutter for OpenHarmony多媒体功能开发完全指南
数码相机·flutter
2401_8914504611 分钟前
C++中的职责链模式实战
开发语言·c++·算法
m0_7088309613 分钟前
C++中的原型模式变体
开发语言·c++·算法
Trouvaille ~17 分钟前
【Linux】Linux线程概念与控制(四):glibc源码剖析与实现原理
linux·运维·服务器·c++·操作系统·glibc·线程控制
热爱编程的小刘17 分钟前
Lesson02---类与对象(上篇)
开发语言·c++
王老师青少年编程20 分钟前
2025信奥赛C++提高组csp-s复赛真题及题解:社团招新
c++·真题·csp·信奥赛·csp-s·提高组·复赛
橘子师兄25 分钟前
C++AI大模型接入SDK—Ollama本地接入Deepseek
c++·人工智能·后端
程序猿编码28 分钟前
深入浅出Linux内核级防火墙:IP/端口黑白名单的高性能实现
linux·c语言·c++·tcp/ip·内核