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

计算原理

角度计算

  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

相关推荐
@宁兰几秒前
算法实现总结 - C/C++
c语言·c++·算法
乌萨奇也要立志学C++13 分钟前
【Linux】进程间通信(三)System V 共享内存完全指南:原理、系统调用与 C++ 封装实现
linux·c++
雪域迷影14 分钟前
C++ 11 中的move赋值运算符
开发语言·c++·move
jf加菲猫22 分钟前
第2章 Hello World
开发语言·c++·qt·ui
yolo_guo39 分钟前
opencv 学习: QA_01 什么是图像锐化
linux·c++·opencv·计算机视觉
AI浩39 分钟前
SMamba: 基于稀疏Mamba的事件相机目标检测
人工智能·数码相机·目标检测
_OP_CHEN44 分钟前
算法基础篇:(六)基础算法之双指针 —— 从暴力到高效的优化艺术
c++·算法·acm·优化算法·双指针·oj题·算法蓝桥杯
oioihoii2 小时前
C++中有双向映射数据结构吗?Key和Value能否双向查找?
数据结构·c++·算法
_OP_CHEN2 小时前
算法基础篇:(八)贪心算法之简单贪心:从直觉到逻辑的实战指南
c++·算法·贪心算法·蓝桥杯·算法竞赛·acm/icpc·简单贪心
小欣加油2 小时前
leetcode 2536 子矩阵元素加1
数据结构·c++·算法·leetcode·矩阵