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

计算原理

角度计算

  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

相关推荐
van叶~1 小时前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
knighthood20011 小时前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
半盏茶香1 小时前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
小堇不是码农2 小时前
在VScode中配置C_C++环境
c语言·c++·vscode
Jack黄从零学c++2 小时前
C++ 的异常处理详解
c++·经验分享
捕鲸叉7 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer7 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq7 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
青花瓷9 小时前
C++__XCode工程中Debug版本库向Release版本库的切换
c++·xcode
幺零九零零10 小时前
【C++】socket套接字编程
linux·服务器·网络·c++