【发布时间】:2018-07-15 09:09:12
【问题描述】:
我正在尝试使用 MATLAB 自动化机械臂。所以问题是,摄像头将安装在机械臂的底座上。它将捕获相机帧的快照并对其进行图像处理,它将检测目标(对象)并为其找到像素坐标。完成后,这个像素坐标应该映射到真实世界的 x-y-z 度量坐标?,这个真实世界的坐标(x,y,z)将作为逆运动学函数的参数,它会给出值θ 以便伺服系统可以移动。
我被困在这里,这个像素坐标应该映射到现实世界的 x-y-z 公制坐标?我不知道该怎么做。没有任何想法,如何进行? 谁有线索,请分享!!
PS 你们中的任何人都认为对于机械臂的自动化,我应该使用 MATLAB 还是其他东西?因为所有代码都将使用 ROS 环境上传到树莓派 3 上。
最好的问候
hitesh 库马尔
【问题讨论】:
-
@seralouk 我见过他们,但有些人说你需要估计相机内在参数、外在参数和镜头失真参数。
-
这更像是一个数学问题而不是编码问题?您正在寻找的是一种将 2D 坐标转换为 3D 的算法。在软件方面,MATLAB 不能安装在 RPi 上,但您可以通过 MATLAB 控制和获取 RPi 中的数据(见documentation)。你也可以试试Octave,这是一个MATLAB克隆,免费使用。
-
没有更多信息的单个图像不足以获得3D信息。如果您有更多知识,例如关于目标的大小或 AR 标记,则可以使用单个图像来执行此操作。或者如果可以左右移动相机,假设相关环境是静态的,基本上可以得到立体图,特征检测后使用三角测量。
标签: matlab image-processing computer-vision camera-calibration robotics