机器人课程设计自动化.pdf
提交日期2022年7月25日
桌面级机械臂颜色分拣系统
一、实验目的
根据已经提供的ROS平台和Dobot机器人技术,结合HSV颜色空间下图像处理方
法,设计基于ROS的桌面级机械臂颜色分拣系统,在ROS下进行分拣系统进行设计,
主要的任务分别是:相机和机械臂的标定,建立相机坐标系、世界坐标系和机械臂基座
坐标系的相对关系;在HSV颜色空间下使用OpenCV对USB头的图像进行
处理,提取有色物块像素点坐标;在像素点坐标转换到机械臂坐标系后,调用Dobot
自带的Api,实现机械臂的抓取和分拣。
二、实验内容
(1)相机标定。在相机标定上,采用棋盘格标定法标定内参,采用Aruco
获得其内置的RT矩阵从而进行相机外参的标定;机械臂标定,虽然机械臂拥有
固定笛的卡尔坐标系,且现实中世界笛卡尔坐标系和机械臂笛卡尔坐标系具有可测性,
最终通过人工测量的方式实现机械臂的标定。
(2)完成图像像素的计算。设计一种基于OpenCV的有像计算方法:
使用HSV颜色空间,通过本研究在OpenCV和ROS下对图像进行并对符合预设
颜色
的物象进行二值化处理,使用最小矩形抓取轮廓的方法,找到图像轮廓,最终根据图像
轮廓的左上角和右下角坐标的平均值可得物块得像素点坐标。
(3)实现机械臂分拣操作。通过坐标变换,将像素坐标系下的坐标转移到相
机坐标系下,相机坐标系已发布在TF树,对该坐标系进行TF空间中的坐标变换,
实现有色物块坐标从像素坐标系到机械臂基座坐标系的坐标变换,获得机械臂基座
坐标系下的物件坐标。
通过调用DobotApi的方式控制机械臂,实现机械臂末端吸盘对有色物件抓取,
再将物件根据预设的分类划分到初始设定的颜域之中。
对上述给出的设计方案进行演示验证,实现机械臂能够准确快速的完成有色物块的
分拣任务,能够待机准备任何时间出现在视野内的物块分拣。
三、实验过程
1.使用USB_CAM打开USB单目相机
ROS对许多传感器诸如:游戏杆,游戏手柄,IMU,激光测距仪,Kinect(RGBD)
传感器,USB视觉相机等都提供了支持,本设计中只探讨USB相机的使用方式包括:ROS下USB相机
驱动安装,相机节点编译执行,单目相机标定方式。ROS对于图像处理和计算机视觉提供了机标定
过程,畸变矫色,等其他一些底层操作,更加复杂的图像处理任务可以借助OpenCV,
cv_bridge和Image_transport库通过建立连接,订阅和发布图像进行交互,另外还提供了物体识
别,增强现实,视觉里程计等算能包。
1.1weneedtoknow
1)USB单目相机
外接电脑的相机(设备),外接电脑时可产生设备端,用户可以通过该设备号
使用此相机。
2)usb_cam功能包
src/usb_cam.cpp最终产生libusb_cam.so,它使用V4L2接口相机,并提供一
些必要的格式转换工具。
nodes/usb_cam_node.cpp最终产生usb_cam_node。它初始化ROS,利用libu