CN109079777A - 一种机械臂手眼协调作业系统 - Google Patents
一种机械臂手眼协调作业系统 Download PDFInfo
- Publication number
- CN109079777A CN109079777A CN201810865741.4A CN201810865741A CN109079777A CN 109079777 A CN109079777 A CN 109079777A CN 201810865741 A CN201810865741 A CN 201810865741A CN 109079777 A CN109079777 A CN 109079777A
- Authority
- CN
- China
- Prior art keywords
- target workpiece
- workpiece
- module
- mechanical arm
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 31
- 230000000007 visual effect Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 27
- 238000012549 training Methods 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000007613 environmental effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims 1
- 230000036544 posture Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 206010034719 Personality change Diseases 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种机械臂手眼协调作业系统,能够提高机械臂的智能性。所述系统包括:摄像装置、与所述摄像装置相连的上位机和与所述上位机相连的机械臂;其中,所述摄像装置,用于捕捉目标工件所处环境的视野图像和目标工件的姿态图像;所述上位机,用于获取所述摄像装置捕捉的环境视野图像和目标工件姿态图像进行目标检测,确定目标工件的位置和姿态,根据确定的目标工件的位置和姿态进行运动规划,生成运动消息队列控制所述机械臂进行作业。本发明涉及机械臂技术领域。
Description
技术领域
本发明涉及机械臂技术领域,特别是指一种机械臂手眼协调作业系统。
背景技术
在机器人领域中,机械臂是使用最广泛的自动操作装置,它可以模仿人手臂的某些动作功能,按固定程序抓取、搬运物件或操作工具。尤其是多自由度机械臂,在制造、汽车、半导体、医疗、服务等多个领域有着广泛的应用前景。
第一代机械臂,在机械臂控制器的控制下,按事先示教的位置和姿态进行重复的动作的机械。它也简称为示教/再现方式的机械臂或是T/P方式的机械臂。这种工作方式只能按照事先示教的位置和姿态进行那个重复的动作而对周围环境毫无感觉的功能,智能性低,其应用范围受到一定的限制,主要应用于材料的搬运、喷漆、电焊等工作。
发明内容
本发明要解决的技术问题是提供一种机械臂手眼协调作业系统,以解决现有技术所存在的第一代机械臂智能性低的问题。
为解决上述技术问题,本发明实施例提供一种机械臂手眼协调作业系统,包括:摄像装置、与所述摄像装置相连的上位机和与所述上位机相连的机械臂;其中,
所述摄像装置,用于捕捉目标工件所处环境的视野图像和目标工件的姿态图像;
所述上位机,用于获取所述摄像装置捕捉的环境视野图像和目标工件姿态图像进行目标检测,确定目标工件的位置和姿态,根据确定的目标工件的位置和姿态进行运动规划,生成运动消息队列控制所述机械臂进行作业。
进一步地,所述摄像装置包括:深度摄像机和单目摄像机;
所述深度摄像机,用于捕捉目标工件所处环境视野的彩色图像和深度图像;
所述单目摄像机,用于捕捉目标工件的姿态图像。
进一步地,所述上位机包括:视觉伺服控制模块和通信话题模块;
所述视觉伺服控制模块,用于对捕捉的环境视野的彩色图像和深度图像进行处理,根据处理结果,利用预先训练好的工件分类器进行目标检测,若检测到目标工件的像素坐标,则获取目标工件处的深度信息,若深度信息未超出预设的深度约束范围,则将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布到通信话题模块。
进一步地,所述视觉伺服控制模块,用于对捕捉的环境视野的深度图像进行处理,获取深度图像中包含目标工件的感兴趣区域,对感兴趣区域对应的彩色图像进行预处理并利用预先训练好的工件分类器进行工件检测,若检测到目标工件的像素坐标,则获取目标工件处的深度信息,若深度信息未超出预设的深度约束范围,则将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布到通信话题模块;
其中,所述预处理包括:灰度化处理、二值化处理和直方图均衡处理。
进一步地,所述视觉伺服控制模块,还用于获取捕捉的目标工件的姿态图像,根据获取的目标工件的姿态图像,确定目标工件姿态并发布到通信话题模块。
进一步地,所述上位机还包括:机械臂运动控制模块;
所述机械臂运动控制模块,用于订阅通信话题模块并获取目标工件的世界坐标,根据获取的目标工件的世界坐标进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,读取目标工件的姿态信息,根据读取的目标工件的姿态信息进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
进一步地,所述机械臂运动控制模块,用于读取目标工件的世界坐标,根据读取的目标工件的世界坐标判断目标工件的当前坐标信息与上一次坐标信息有无变化,若无变化,则返回继续执行读取目标工件的世界坐标的步骤,若有变化,则根据坐标变化量进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,读取目标工件的姿态信息,根据读取的目标工件的姿态信息判断目标工件的当前姿态与上一次姿态有无变化,若无变化,则返回继续执行读取目标工件的姿态信息的步骤,若有变化,则根据姿态变化量进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
进一步地,所述机械臂运动控制模块,还用于读取机械臂建模文件、配置机械臂碰撞检测功能、配置机械臂各个关节组模块控制器,初始化机械臂的位姿信息。
进一步地,所述系统还包括:训练工件分类器的离线训练模块;所述离线训练模块包括:
创建模块,用于创建样本,所述样本包括:正样本和负样本,正样本为只包含工件的图像,负样本为不包含工件的图像;
处理模块,用于将正负样本的尺寸进行归一化,并将正负样本转为灰度图,其中,负样本尺寸比正样本的尺寸大,正样本的尺寸为多种;
第一生成模块,用于将正样本生成正样本集合文件格式,并生成正样本描述文件格式;
第二生成模块,用于将负样本生成负样本集合文件格式;
训练模块,用于基于生成的正样本描述文件格式和负样本集合文件格式,采用不同的特征类型对进行训练,得到多种不同的工件分类器,所述工件分类器,用于工件检测。
进一步地,不同的特性类型包括:Haar特征、LBP特征和HOG特征。
本发明的上述技术方案的有益效果如下:
上述方案中,通过摄像装置捕捉目标工件所处环境的视野图像和目标工件的姿态图像;上位机获取所述摄像装置捕捉的环境视野图像和目标工件姿态图像进行目标检测,确定目标工件的位置和姿态,根据确定的目标工件的位置和姿态进行运动规划,生成运动消息队列控制所述机械臂进行作业,从而提高机械臂的智能性,增大机械臂应用范围。
附图说明
图1为本发明实施例提供的机械臂手眼协调作业系统的流程示意图;
图2为本发明实施例提供的机械臂手眼协调作业系统的结构示意图;
图3为本发明实施例提供的机械臂手眼协调作业系统的详细流程示意图;
图4为本发明实施例提供的工件分类器训练流程示意图;
图5为本发明实施例提供的工件分类器检测流程示意图;
图6为本发明实施例提供的ROS系统下机械臂基础控制结构示意图;
图7为本发明实施例提供的手眼协调控制策略示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的第一代机械臂智能性低的问题,提供一种机械臂手眼协调作业系统。
如图1所示,本发明实施例提供的机械臂手眼协调作业系统,包括:摄像装置11、与所述摄像装置11相连的上位机12和与所述上位机12相连的机械臂13;其中,
所述摄像装置11,用于捕捉目标工件所处环境的视野图像和目标工件的姿态图像;
所述上位机12,用于获取所述摄像装置捕捉的环境视野图像和目标工件姿态图像进行目标检测,确定目标工件的位置和姿态,根据确定的目标工件的位置和姿态进行运动规划,生成运动消息队列控制所述机械臂13进行作业。
本发明实施例所述的机械臂手眼协调作业系统,通过摄像装置捕捉目标工件所处环境的视野图像和目标工件的姿态图像;上位机获取所述摄像装置捕捉的环境视野图像和目标工件姿态图像进行目标检测,确定目标工件的位置和姿态,根据确定的目标工件的位置和姿态进行运动规划,生成运动消息队列控制所述机械臂进行作业,从而提高机械臂的智能性,增大机械臂应用范围。
如图2所示,本发明实施例所述的机械臂手眼协调作业系统主要包括以下三部分:
第一部分是实体装置,可以包括但不限于:机械臂(例如,七自由度机械臂模块)、摄像装置、无驱动四轮底座支架、usb转can通信模块、上位机(例如,Linux系统pc主机)、win系统pc主机;
本实施例中,所述usb转can通信模块,用于机械臂与上位机之间的通信,从而实现上位机对机械臂各个关节的控制。
本实施例中,所述win系统pc主机,用于实现第二部分的工件分类器训练。
本实施例中,所述Linux系统pc主机,用于实现第三部分的上位机软件系统。
第二部分是目标工件检测算法,主要通过离线训练和在线检测训练并验证完整的工件分类器,所述工件分类器,用于第三部分的视觉伺服控制模块中的图像检测模块;
第三部分是上位机软件系统,所述上位机软件系统是基于Linux系统的机器人操作系统(Robot Operating System,ROS)系统,用于结合实体装置实现基于ROS和机器视觉的七自由度机械臂自主作业;主要包括:视觉伺服控制模块、机械臂运动控制模块和通信话题模块。
本实施例中,ROS是机器人软件平台,能为异质计算机集群提供用于机器人的次级操作系统。ROS提供一系列程序库和工具以帮助软件开发者创建机器人应用软件,它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能,目的是让代码自由分享、复用甚至是扩展,可以更好的创建、扩展机器人的应用。
本发明实施例所述的机械臂手眼协调作业系统基于ROS平台系统,利用ROS诸多特性,能够减少机械臂运动规划的实现难度,降低机械臂应用的门槛。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述摄像装置包括:深度摄像机和单目摄像机;
所述深度摄像机,用于捕捉目标工件所处环境视野的彩色图像和深度图像;
所述单目摄像机,用于捕捉目标工件的姿态图像。
所述视觉伺服控制模块包括两部分:eye-on-hand和eye-in-hand;其中,eye-on-hand部分用于上位机获取深度摄像机图像,并处理获得目标工件位置。eye-in-hand部分用于上位机获取单目摄像机图像,并处理获得工件姿态,精准调节机械臂末端位姿。
本实施例中,所述深度摄像机可以同时获取彩色(RGB)图像和深度图像,适合室内近距离图像获取,主要用于视觉伺服控制模块,实现对环境的感知,进而获取目标工件位置。所述单目摄像机是一款近距离USB网络摄像头,也主要用于视觉伺服控制模块。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述上位机包括:视觉伺服控制模块和通信话题模块;
所述视觉伺服控制模块,用于对捕捉的环境视野的彩色图像和深度图像进行处理,根据处理结果,利用预先训练好的工件分类器进行目标检测,若检测到目标工件的像素坐标,则获取目标工件处的深度信息,若深度信息未超出预设的深度约束范围,则将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布到通信话题模块。
本实施例中,安装相机驱动后,所述视觉伺服控制模块读取彩色图像与深度图像,接着利用第二部分训练好的工件分类器检测目标,并确定目标工件的世界坐标位置,将目标工件的世界坐标位置发布到通信话题模块。
所述视觉伺服控制模块,用于上位机获取摄像机图像,并处理获得目标工件位姿。
本实施例中,所述视觉伺服控制模块可以包括:相机驱动模块、图像采集模块、图像检测模块、目标定位模块、相机标定模块;其中,
所述相机驱动模块,是一个跨平台库(linux,windows,Mac)的驱动,通过它可以获取等摄像机的原始数据,并且可以支持多台摄像机工作。
所述图像采集模块,用于获取摄像头彩色图像数据流和深度图像数据流,从而获取图像深度数据。
所述图像检测模块,用于对捕捉的环境视野的深度图像进行处理,获取深度图像包含目标工件的感兴趣区域(region of interest,ROI),对感兴趣区域对应的彩色图像进行预处理并利用预先训练好的工件分类器进行工件检测,若检测到目标工件的像素坐标,则获取目标工件处的深度信息,若深度信息未超出预设的深度约束范围,则所述目标定位模块将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布到通信话题模块;这样,通过深度图像获取感兴趣区域,并对感兴趣区域对应的彩色图像通过预先训练好的工件分类器进行工件检测,可以降低工件分类器检测的计算量和耗时,并且提升目标工件的识别正确率。
本实施例中,感兴趣区域是从图像中选择的一个图像区域,这个区域是图像处理所关注的重点,圈定该区域以便进行进一步处理,使用感兴趣区域圈定目标,可以减少处理时间,增加精度。
本实施例中,所述预处理包括:灰度化处理、二值化处理和直方图均衡处理。
本实施例中,计算世界坐标主要有三部分,将目标工件的像素坐标转换为物理坐标,物理坐标转换为相机坐标,相机坐标转换为世界坐标。
所述相机标定模块,是通过采用张正友标定法对相机进行标定,获取内外参数,用于目标定位模块。
本实施例中,所述通信话题模块,主要用于监听视觉伺服控制模块发布的目标工件的世界坐标信息,并提供给机械臂运动控制模块;即:视觉伺服控制模块将目标工件的世界坐标信息发布到此通信话题模块,机械臂运动控制模块通过此通信话题模块订阅目标工件的世界坐标,从而实现视觉伺服控制模块和机械臂运动控制模块之间的通信。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述视觉伺服控制模块,还用于获取捕捉的目标工件的姿态图像,根据获取的目标工件的姿态图像,确定目标工件姿态并发布到通信话题模块。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述上位机还包括:机械臂运动控制模块;
所述机械臂运动控制模块,用于订阅通信话题模块并获取目标工件的世界坐标,根据获取的目标工件的世界坐标进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,读取目标工件的姿态信息,根据读取的目标工件的姿态信息进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
本实施例中,在订阅通信话题模块并获取目标工件的世界坐标之前,需先启动机械臂运动规划程序接口、机械臂各关节控制模块以及可视化工具,然后再执行订阅通信话题模块并获取目标工件的世界坐标的步骤。
本实施例中,所述上位机还包括:运动规划程序模块,所述运动规划程序模块是针对机器人进行移动操作的一套工具。这个库包含一个快速的逆运动学解算器、先进的操作算法、三维感知抓握、运动学、控制和导航等功能。最主要的功能是,它提供了框架和接口使用户可以通过将自己设计的逆运动学解算器和运动规划算法用于ROS体系。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述机械臂运动控制模块,用于读取目标工件的世界坐标,根据读取的目标工件的世界坐标判断目标工件的当前坐标信息与上一次坐标信息有无变化,若无变化,则返回继续执行读取目标工件的世界坐标的步骤,若有变化,则根据坐标变化量进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,读取目标工件的姿态信息,根据读取的目标工件的姿态信息判断目标工件的当前姿态与上一次姿态有无变化,若无变化,则返回继续执行读取目标工件的姿态信息的步骤,若有变化,则根据姿态变化量进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述机械臂运动控制模块,还用于读取机械臂建模文件、配置机械臂碰撞检测功能、配置机械臂各个关节组模块控制器,初始化机械臂的位姿信息。
本实施例中,所述机械臂运动控制模块,用于实现对机械臂的运动规划和运动控制,从而精准调节机械臂末端位姿。所述机械臂运动控制模块主要包括:can总线驱动模块、机械臂建模模块、碰撞检测配置模块、关节组配置模块、运动规划模块、关节控制器模块、硬件接口模块、关节状态发布模块、机械臂状态发布模块;其中,
所述can总线驱动模块,用于通过相应驱动库操作can总线实现数据发送、读取,按照机械臂控制器的数据格式要求,即可实现对机械臂各关节组模块的驱动,用于上位机与实体装置的通信与控制。
所述机械臂建模模块,是一种统一机器人描述格式,是一种XML格式描述的机器人模型。
所述碰撞检测配置模块,用于配置机械臂碰撞检测功能。
所述关节组配置模块,用于配置各个关节组模块控制器。
所述运动规划模块,用于实现对机械臂的运动规划。
所述关节控制器模块,用于控制各个关节运动。
所述硬件接口模块,用于底层硬件接口。
所述关节状态发布模块,用于接收发布各关节实时状态。
所述机械臂状态发布模块,用于接收发布整个机械臂实时状态。
如图3所示,上位机、摄像装置与机械臂之间的工作流程包括:
A11,启动相关ROS节点进入工作状态;
A12,启动eye-on-hand深度摄像机读取RGB图像与深度图像,读取RGB图像和深度图像,进行目标检测,若没有检测到目标工件的像素坐标,则返回到RGB图像和深度图像读取,若检测到目标工件的像素坐标,则获取检测目标点处的深度信息,若深度信息超出预设的深度约束范围,则返回到RGB图像和深度图像读取,否则,则将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布,发布后继续返回到RGB图像和深度图像读取,一直循环;与此同时,所述机械臂运动控制模块首先读取机械臂建模文件,然后读取碰撞检测与运动规划关节组配置,再初始化位姿信息,接着读取目标工件的世界坐标,根据读取的目标工件的世界坐标判断目标工件的当前坐标信息与上一次坐标信息有无变化,若无变化,则返回继续执行读取目标工件的世界坐标的步骤,若有变化,则根据坐标变化量进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,启动eye-in-hand摄像头,读取目标工件的姿态信息,根据读取的目标工件的姿态信息判断目标工件的当前姿态与上一次姿态有无变化,若无变化,则返回继续执行读取目标工件的姿态信息的步骤,若有变化,则根据姿态变化量进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
在前述机械臂手眼协调作业系统的具体实施方式中,进一步地,所述系统还包括:训练工件分类器的离线训练模块;所述离线训练模块包括:
创建模块,用于创建样本,所述样本包括:正样本和负样本,正样本为只包含工件的图像,负样本为不包含工件的图像;
处理模块,用于将正负样本的尺寸进行归一化,并将正负样本转为灰度图,其中,负样本尺寸比正样本的尺寸大,正样本的尺寸为多种;
第一生成模块,用于将正样本生成正样本集合文件格式,并生成正样本描述文件格式;
第二生成模块,用于将负样本生成负样本集合文件格式;
训练模块,用于基于生成的正样本描述文件格式和负样本集合文件格式,采用不同的特征类型对进行训练,得到多种不同的工件分类器,所述工件分类器,用于工件检测。
本实施例中,第二部分目标工件检测算法的生成包括:离线训练模块和在线检测模块两部分。
对于离线训练,如图4所示,首先要创建样本,样本分为正样本与负样本,正样本为只包含工件的bmp图像,负样本为一定不包含工件的bmp图像,正样本与负样本比例约为1:3,样本数量至少1000以上,然后正负样本都需要预处理,将尺寸进行归一化,并转为灰度图,负样本尺寸一定要比正样本大,每个正样本建立三种不同的尺寸,20*20、24*24与64*64,然后为正负样本分别生成集合文件格式,正样本还需要再生成正样本描述文件格式;接着,开始训练样本,样本训练有三种方案,分别基于不同的特征类型,Haar特征、局部二值模式(Local Binary Pattern,LBP)特征和方向梯度直方图(Histogram of OrientedGradient,HOG)特征,都采用Adaboost机器学习算法训练,最终生成三个不同的工件分类器。
本实施中,针对不同尺寸的正样本,20*20的正样本用于Haar特征类型训练,24*24用于LBP特征训练,64*64用于HOG特征训练,建议训练分类器的级数为15,每个强分类器的阈值为0.9999,每个弱分类器的最大虚警率为0.5,从而获取到三个不同的工件分类器,都可以应用于工件检测;最后对分类器进行评估,若评估结果不够满意,重新调节参数直至检测效果精确,以便获取正确检测结果。
本实施例中,训练结果评估用于测试训练好的工件分类器特性,如漏检率、误检率等,包括工件测试样本准备及标注、分类器质量评估程序。
本实施例中,所述工件分类器的训练可以是基于windows系统的C++软件平台开发。
本实施例中,所述在线检测模块,是对目标工件的识别检测程序,充分利用深度摄像机的特性,将深度图像与彩色图像相结合进行图像处理,利用上述训练的工件分类器,成功检测到样本以内的工件。
图5工件识别算法流程图。深度摄像机在获得彩色图像的同时还可以获得深度图像,深度图像不显示背景信息,包括目标工件在内的前景信息为灰白色。所以可以通过深度图像获取感兴趣区域,并对感兴趣区域对应的彩色图像通过工件分类器识别,这样可以分类器检测的计算量和耗时,并且提升目标工件的识别正确率。由于深度图像前后景黑白分明,所以使用基于HSV颜色空间的图像分割方式最合适。首先将RGB图像转为HSV图像,要分割的是灰色和白色,色调通道H的范围是[0,180],饱和度通道S的范围是[0,43],明度通道V的范围是[100,255],可以较为准确地分割出理想区域;其次,初次分割的区域比较散乱,为了提取一个完整的感兴趣区域,最适合通过形态学滤波中的闭运算进行处理,即先膨胀后腐蚀,排除黑洞,整合所有白色区块;最后需要对分割区域进行轮廓拟合获取感兴趣区域。获得深度图像的感兴趣区域后,将其应用于彩色图像,并且对其按照感兴趣区域进行裁剪以用于工件分类器检测。在进行工件分类器检测之前,需要先对感兴趣区域进行预处理,即灰度化、尺寸缩小和直方图均衡,以加快检测速度。
图6为ROS系统下机械臂控制结构原理图。这是机械臂进行运动规划时机械臂在ROS系统下的控制结构,如图6所示,主要涉及四个命名空间、五个节点以及六种消息类型。mra7a主要是对机械臂各关节的控制模块;robot_state_publisher用于接收机械臂实时关节状态并处理发布tf信息;joint_state_publisher用于接收机械臂实时关节状态并处理发布joint_states信息;move_group是ROS系统机械臂运动规划模块体系结构的核心单元。
图7为手眼协调控制策略图。使用动态反馈方式来满足快速响应,即视觉检测与机械臂控制同时进行;主要以位置、姿态作为反馈方式进行控制,并且是基于特征点的视觉伺服;分为内环的关节控制系统和外环的视觉控制系统,设计为双闭环系统。结合eye-in-hand与eye-on-hand两种视觉安装方案,深度摄像机用于捕捉环境视野,初步获取目标工件位置,使得末端靠近目标工件;单目摄像机用于精准操作,通过图像处理获取目标工件姿态,控制夹具准确抓取目标工件。
综上,本发明实施例提供的机械臂手眼协调作业系统,是针对机械臂的目标检测、图像处理、手眼协调以及运动规划等给出一整套解决方案,其具有以下优点:
1)将深度摄像机作为机械臂核心传感器件可以大大提高机械臂的环境适应能力;
2)基于ROS操作系统的,充分利用ROS系统的软件包,实现机械臂运动规划的快速配置,有助于机械臂的运动规划,大大降低了机械臂控制的门槛,可以有效解决机械臂环境适应性差、开发使用难度高等问题。
3)采用分布式的系统框架,并将上位机与下位机(例如,机械臂)分开,可有效利用上位机超高图像处理能力和计算能力强的优点,又容易实现机械臂及上位机的布局和机械臂协调作业,从而有利于下位机的实时性;
4)不仅训练出用于准确检测工件的工件分类器,而且提出了一种针对深度摄像机的结合深度图像的彩色图像工件检测算法流程,可应用于各领域对工件的识别,可应用于机械臂对工件的抓取、移动等;
5)提出的针对深度摄像机的坐标转换方案可以应用于使用深度摄像机对目标进行定位的场景;
6)本发明实施例提供的机械臂手眼协调作业系统,可以轻松的实现机械臂的布局,方便拓展,降低使用成本,应用前景广泛。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种机械臂手眼协调作业系统,其特征在于,包括:摄像装置、与所述摄像装置相连的上位机和与所述上位机相连的机械臂;其中,
所述摄像装置,用于捕捉目标工件所处环境的视野图像和目标工件的姿态图像;
所述上位机,用于获取所述摄像装置捕捉的环境视野图像和目标工件姿态图像进行目标检测,确定目标工件的位置和姿态,根据确定的目标工件的位置和姿态进行运动规划,生成运动消息队列控制所述机械臂进行作业。
2.根据权利要求1所述的机械臂手眼协调作业系统,其特征在于,所述摄像装置包括:深度摄像机和单目摄像机;
所述深度摄像机,用于捕捉目标工件所处环境视野的彩色图像和深度图像;
所述单目摄像机,用于捕捉目标工件的姿态图像。
3.根据权利要求1所述的机械臂手眼协调作业系统,其特征在于,所述上位机包括:视觉伺服控制模块和通信话题模块;
所述视觉伺服控制模块,用于对捕捉的环境视野的彩色图像和深度图像进行处理,根据处理结果,利用预先训练好的工件分类器进行目标检测,若检测到目标工件的像素坐标,则获取目标工件处的深度信息,若深度信息未超出预设的深度约束范围,则将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布到通信话题模块。
4.根据权利要求3所述的机械臂手眼协调作业系统,其特征在于,所述视觉伺服控制模块,用于对捕捉的环境视野的深度图像进行处理,获取深度图像中包含目标工件的感兴趣区域,对感兴趣区域对应的彩色图像进行预处理并利用预先训练好的工件分类器进行工件检测,若检测到目标工件的像素坐标,则获取目标工件处的深度信息,若深度信息未超出预设的深度约束范围,则将目标工件的像素坐标进行坐标转换,得到目标工件的世界坐标并发布到通信话题模块;
其中,所述预处理包括:灰度化处理、二值化处理和直方图均衡处理。
5.根据权利要求3所述的机械臂手眼协调作业系统,其特征在于,所述视觉伺服控制模块,还用于获取捕捉的目标工件的姿态图像,根据获取的目标工件的姿态图像,确定目标工件姿态并发布到通信话题模块。
6.根据权利要求5所述的机械臂手眼协调作业系统,其特征在于,所述上位机还包括:机械臂运动控制模块;
所述机械臂运动控制模块,用于订阅通信话题模块并获取目标工件的世界坐标,根据获取的目标工件的世界坐标进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,读取目标工件的姿态信息,根据读取的目标工件的姿态信息进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
7.根据权利要求6所述的机械臂手眼协调作业系统,其特征在于,所述机械臂运动控制模块,用于读取目标工件的世界坐标,根据读取的目标工件的世界坐标判断目标工件的当前坐标信息与上一次坐标信息有无变化,若无变化,则返回继续执行读取目标工件的世界坐标的步骤,若有变化,则根据坐标变化量进行运动规划,生成运动消息队列并发布,机械臂根据发布的运动消息队列执行完一次规划后,读取目标工件的姿态信息,根据读取的目标工件的姿态信息判断目标工件的当前姿态与上一次姿态有无变化,若无变化,则返回继续执行读取目标工件的姿态信息的步骤,若有变化,则根据姿态变化量进行运动规划,生成运动消息队列并发布,以精准调节机械臂末端位姿。
8.根据权利要求6所述的机械臂手眼协调作业系统,其特征在于,所述机械臂运动控制模块,还用于读取机械臂建模文件、配置机械臂碰撞检测功能、配置机械臂各个关节组模块控制器,初始化机械臂的位姿信息。
9.根据权利要求1所述的机械臂手眼协调作业系统,其特征在于,所述系统还包括:训练工件分类器的离线训练模块;所述离线训练模块包括:
创建模块,用于创建样本,所述样本包括:正样本和负样本,正样本为只包含工件的图像,负样本为不包含工件的图像;
处理模块,用于将正负样本的尺寸进行归一化,并将正负样本转为灰度图,其中,负样本尺寸比正样本的尺寸大,正样本的尺寸为多种;
第一生成模块,用于将正样本生成正样本集合文件格式,并生成正样本描述文件格式;
第二生成模块,用于将负样本生成负样本集合文件格式;
训练模块,用于基于生成的正样本描述文件格式和负样本集合文件格式,采用不同的特征类型对进行训练,得到多种不同的工件分类器,所述工件分类器,用于工件检测。
10.根据权利要求9所述的机械臂手眼协调作业系统,其特征在于,不同的特性类型包括:Haar特征、LBP特征和HOG特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810865741.4A CN109079777B (zh) | 2018-08-01 | 2018-08-01 | 一种机械臂手眼协调作业系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810865741.4A CN109079777B (zh) | 2018-08-01 | 2018-08-01 | 一种机械臂手眼协调作业系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109079777A true CN109079777A (zh) | 2018-12-25 |
CN109079777B CN109079777B (zh) | 2021-09-10 |
Family
ID=64833553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810865741.4A Active CN109079777B (zh) | 2018-08-01 | 2018-08-01 | 一种机械臂手眼协调作业系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109079777B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110216674A (zh) * | 2019-06-20 | 2019-09-10 | 北京科技大学 | 一种冗余自由度机械臂视觉伺服避障系统 |
CN110605714A (zh) * | 2019-08-06 | 2019-12-24 | 华中科技大学 | 一种基于人眼凝视点的手眼协调抓取方法 |
CN110772651A (zh) * | 2019-11-19 | 2020-02-11 | 武汉纺织大学 | 基于机器视觉的鞋内紫外定向杀菌的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102514002A (zh) * | 2011-12-29 | 2012-06-27 | 江苏大学 | 一种数控车床单目视觉上下料机器人系统及方法 |
CN204585232U (zh) * | 2015-03-26 | 2015-08-26 | 华南理工大学 | 抓取在线工件的机器人位姿及运动轨迹定位系统 |
CN105082161A (zh) * | 2015-09-09 | 2015-11-25 | 新疆医科大学第一附属医院 | 双目立体摄像机机器人视觉伺服控制装置及其使用方法 |
CN106041927A (zh) * | 2016-06-22 | 2016-10-26 | 西安交通大学 | 结合eye‑to‑hand和eye‑in‑hand结构的混合视觉伺服系统及方法 |
DE102016114337A1 (de) * | 2015-08-06 | 2017-02-09 | Cognex Corporation | System und verfahren zum verknüpfen von koordinatenräumen maschinellen sehens in einer umgebung angeleiteten zusammenbaus |
CN106826815A (zh) * | 2016-12-21 | 2017-06-13 | 江苏物联网研究发展中心 | 基于彩色图像与深度图像的目标物体识别与定位的方法 |
CN106927079A (zh) * | 2017-03-21 | 2017-07-07 | 长春理工大学 | 一种基于机器视觉的工业雷管抓取和装箱系统及方法 |
CN108098761A (zh) * | 2016-11-24 | 2018-06-01 | 广州映博智能科技有限公司 | 一种新型机器人抓取目标的臂手装置及方法 |
-
2018
- 2018-08-01 CN CN201810865741.4A patent/CN109079777B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102514002A (zh) * | 2011-12-29 | 2012-06-27 | 江苏大学 | 一种数控车床单目视觉上下料机器人系统及方法 |
CN204585232U (zh) * | 2015-03-26 | 2015-08-26 | 华南理工大学 | 抓取在线工件的机器人位姿及运动轨迹定位系统 |
DE102016114337A1 (de) * | 2015-08-06 | 2017-02-09 | Cognex Corporation | System und verfahren zum verknüpfen von koordinatenräumen maschinellen sehens in einer umgebung angeleiteten zusammenbaus |
CN105082161A (zh) * | 2015-09-09 | 2015-11-25 | 新疆医科大学第一附属医院 | 双目立体摄像机机器人视觉伺服控制装置及其使用方法 |
CN106041927A (zh) * | 2016-06-22 | 2016-10-26 | 西安交通大学 | 结合eye‑to‑hand和eye‑in‑hand结构的混合视觉伺服系统及方法 |
CN108098761A (zh) * | 2016-11-24 | 2018-06-01 | 广州映博智能科技有限公司 | 一种新型机器人抓取目标的臂手装置及方法 |
CN106826815A (zh) * | 2016-12-21 | 2017-06-13 | 江苏物联网研究发展中心 | 基于彩色图像与深度图像的目标物体识别与定位的方法 |
CN106927079A (zh) * | 2017-03-21 | 2017-07-07 | 长春理工大学 | 一种基于机器视觉的工业雷管抓取和装箱系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110216674A (zh) * | 2019-06-20 | 2019-09-10 | 北京科技大学 | 一种冗余自由度机械臂视觉伺服避障系统 |
CN110605714A (zh) * | 2019-08-06 | 2019-12-24 | 华中科技大学 | 一种基于人眼凝视点的手眼协调抓取方法 |
CN110605714B (zh) * | 2019-08-06 | 2021-08-03 | 华中科技大学 | 一种基于人眼凝视点的手眼协调抓取方法 |
CN110772651A (zh) * | 2019-11-19 | 2020-02-11 | 武汉纺织大学 | 基于机器视觉的鞋内紫外定向杀菌的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109079777B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111055281B (zh) | 一种基于ros的自主移动抓取系统与方法 | |
CN114080583B (zh) | 视觉教导和重复移动操纵系统 | |
CN111421539A (zh) | 一种基于计算机视觉的工业零件智能识别与分拣系统 | |
CN109079777B (zh) | 一种机械臂手眼协调作业系统 | |
US20220161422A1 (en) | Robot Teaching System Based On Image Segmentation And Surface Electromyography And Robot Teaching Method Thereof | |
CN115070781B (zh) | 一种物体抓取方法及双机械臂协作系统 | |
CN116673962B (zh) | 一种基于Faster R-CNN和GRCNN的机械臂智能抓取方法及系统 | |
CN107527368A (zh) | 基于二维码的三维空间姿态定位方法与装置 | |
CN114630734A (zh) | 具有专用硬件加速的支持机器学习的视觉伺服 | |
CN117325170A (zh) | 基于深度视觉导引机械臂抓取硬盘架的方法 | |
CN117340929A (zh) | 一种基于三维点云数据的柔性夹爪抓取处置装置及方法 | |
CN114187312A (zh) | 目标物的抓取方法、装置、系统、存储介质及设备 | |
JP2021108091A (ja) | 2d画像のラベリング情報に基づく3d画像ラベリング方法及び3d画像ラベリング装置 | |
KR102452315B1 (ko) | 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법 | |
CN109934155B (zh) | 一种基于深度视觉的协作机器人手势识别方法及装置 | |
Kijdech et al. | Pick-and-place application using a dual arm collaborative robot and an RGB-D camera with YOLOv5 | |
CN118331282B (zh) | 用于沙漠植树机器人的障碍物避障方法、装置及系统 | |
CN114419451B (zh) | 电梯内外识别方法、装置、电子设备及存储介质 | |
WO2023100282A1 (ja) | データ生成システム、モデル生成システム、推定システム、学習済みモデルの製造方法、ロボット制御システム、データ生成方法、およびデータ生成プログラム | |
CN114140607A (zh) | 用于上臂假肢控制的机器视觉定位方法和系统 | |
Jin et al. | Determination of defects for dynamic objects using instance segmentation | |
Liu et al. | Research on Accurate Grasping Method of Steel Shaft Parts Based on Depth Camera | |
Tian et al. | Design of a man-machine interaction robot based on visual servo system | |
Kumawat et al. | Robot Navigation Control with Contact Less Hand Gesture Recognition | |
FILTER | REAL TIME MOTION DETECTION AND TRACKING SYS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |