最近公司接到一个案子,使用移动机械臂抓取圆盘上下料,目前我们的移动机器人定位精度在两厘米左右,因此需要视觉辅助定位来提高夹取的精度。
这个项目本身不是我做,出于对是视觉的兴趣,学习了一下如何使用OpenCv提取零件的坐标。
臂大概是这样的,平台是我司开发的300kg负载全向轮系列,臂为ABB的IRB1200(话说n年前我也参与了这款臂的研发.....):
实际使用的时候,应该是按以下流程操作:移动机器人先到目标位置
然后使用视觉拍摄标定点位置,获得机器人当前准确坐标
然后根据标定点计算处目标零件位置
使用移动平台上的机械臂进行夹取
下面是学习过程 :
环境:
我自己做学习用所以拍照用的是手机拍照:iPhone5S深空灰国行移动定制版
软件:python2.7,OpenCv2
OpenCv的安装:
1.1安装Python2.7
1.2安装numpy: pip install numpy
1.3下载安装opencv2.4x
1.4把OpenCV安装目录下的 “\\OpenCV\opencv\build\python\2.7”的 cv2.pyd复制到Python目录
".\Program Files\Python27\Lib\site-packages"下
具体思路如下:获取图片
提取黑色的区域
将黑色区域进行二值化处理
获取中心区域轮廓及坐标
获取坐标中心点位置
绘