本发明涉及机器人控制领域,尤其是一种机器人视觉控制系统。
背景技术:
随着技术发展和生产需要,机器人被使用越来越广泛。在现代生产过程中,机器人主要被运用于自动化生产线中,不仅可以实现不断重复工作和劳动,不知疲劳,不怕危险,而且抓举力量比人手力大,同时还可以减少人工作业,更全面实现机械自动化生产作业。
但是随着在生产过程中使用,对于机器人的智能化程度要求越来越高,特别是在某些高危场合,不适合人工作业的时候,需要有机器视觉并能自动作业的智能机器人,操作员需要远程监控。
例如公开号为CN103111535A,公开日为2013年5月22日的中国专利文献《一种基于视觉系统的机器人柔性冲压工件搬运系统》,公开了的视觉定位系统对置于所述定位平台的所述冲压件的位置进行拍照和坐标分析,且将最终的坐标数据传送至所述机器人控制系统,所述机器人控制系统控制所述机械人手臂动作,以使所述夹具快速准确地夹取所述冲压件至所述冲压设备中进行冲压,冲压结束后,所述机器人控制系统控制所述机械人手臂动作,以使所述夹具夹取冲压成型后的所述冲压件至所述下料平台,整个搬运过程借由所述搬运机器人完成,而实现搬运自动化。该方案采用视觉系统获取工件的二维坐标位置,作为搬运系统的输入,实现初步的智能化,但仍然没有达到依靠机器视觉的自动作业能力。
再例如公开号为CN105583857A,公开日为2016年5月18日的中国专利文献《一种机器人视觉系统》,公开的机器人视觉系统包括相机、机器人控制柜、机器人RC控制器、视觉处理器和交换机,所述机器人RC控制器、视觉处理器和交换机均设置于机器人控制柜中,所述相机及机器人RC控制器均通过交换机与视觉处理器网络连接,但是采用的专用视觉处理器,不仅增加了成本,而且视觉处理器和机器人控制柜之间采用私有协议,无法兼容市场上第三方的机器人,兼容性较差。
技术实现要素:
本发明的目的是提供一种机器人视觉控制系统,在工控PC机上通过专门的视觉控制单元控制机器人进行作业,可以有效适应各个环境的远程操控,从而更智能化。
本发明的技术方案如下:
一种机器人视觉控制系统,其特征在于:包括工业相机、工控机和PLC(可编程逻辑控制器)模块,所述工业相机、工控机和PLC模块通过以太网连接进行通信;
所述工控机设置有视觉控制单元,视觉控制单元通过以太网配置工业相机,周期性地从工业相机获取当前工具头末端的图像,收到图像后进行处理,实时获取有用信息;根据获取到的当前机器人的运动状态和姿态,发送运动指令到PLC模块,PLC模块通过KUKA机器人控制柜控制机器人进行相应操作。
所述视觉控制单元至少包括:
图像采集模块,用于采集工业相机的图像;
视觉算法模块,用于把采集到的图像信息、机器人位置姿态信息和倾角仪的倾角信息进行融合处理;
TCP/IP通信模块,用于视觉控制单元的网络通信,主要是处理和PLC和工业相机之间的以太网通信;
RS485通信模块,用于从倾角仪获取当前机器人手臂末端的倾角数据,用于视觉算法模块进行融合处理;
机器人运动控制模块,用于和PLC模块进行网络通信,然后根据自定义的协议,获取当前机器人的位置、姿态和运动信息;同时在视觉算法模块得到结果需要移动机器人的时候,通过运动控制模块发送运动或者作业指令到PLC模块,最终通过机器人控制柜,操纵机器人作业。
所述图像采集模块,主要包括工业相机驱动模块、工业相机配置模块和图像获取模块;工业相机驱动模块用于实现工控机与工业相机的通信连接;工业相机配置模块,用于配置以太网相机的局域网IP地址、子网掩码和网关等网络参数;图像获取模块用于配置工业相机的参数和抓取图像帧,按照设定的参数配置工业相机之后,抓取一帧帧的图像到内存中。
所述视觉控制单元还可以包括运行日志模块,主要是记录机器人视觉控制软件的运行记录以及机器人的位置、姿态和运动信息供维护保养人员运行保障和故障诊断。
所述机器人视觉控制系统的工作主要过程是:通过采集机器人末端工具头上工业相机的图像,在工控机上进行处理,同时通过PLC模块获取当前机器人的运动状态以及姿态。工控机通过控制协议,发送运动控制指令到PLC模块,PLC模块控制KUKA机器人运动到预先设定的位置、姿态或者进行对应的操作。
本发明的有益效果如下:
本发明通过将视觉控制单元与机器人控制柜分离开来,应用较为方便,可以兼容目前市场上大部分的工业机械人,在产品实施过程中,灵活性和经济性具有较大优势;同时视觉控制单元运行于工控机上,不用采购专用的视觉处理器,有利于降低成本,系统可靠性也有保证。
附图说明
图1为本发明的架构示意图;
图2为本发明的控制流程示意图。
具体实施方式
如图1所示,一种机器人视觉控制系统,包括工业相机、工控机和PLC模块,所述工业相机、工控机和PLC模块通过以太网连接进行通信;
所述工控机设置有视觉控制单元,通过周期性地从工业相机获取当前工具头末端的图像,收到图像后进行处理,实时获取有用信息;根据获取到的当前机器人的运动状态和姿态,发送运动指令到PLC模块,PLC模块通过KUKA机器人控制柜控制机器人进行相应操作。
该视觉控制系统的具体硬件包括:两台千兆以太网工业相机、双轴倾角传感器、具有三个以上千兆以太网接口的x86工控机、PLC模块、KUKA机器人控制柜和KUKA机器人。工业相机固定安装于KUKA机器人的手臂末端,PLC模块与KUKA机器人控制柜通过ProfibusDP连接,PLC模块、工业相机和X86工控机都通过以太网连接到同一个千兆交换机上,处于同一个局域网中。X86工控机运行机器人视觉控制软件。双轴倾角传感器也安装于机器人手臂末端,通过RS485连接到工控机上。
所述工业相机,采用Basler acA1600-20gc GigE千兆以太网相机,相机配有 Sony ICX274 CCD 感光芯片,每秒 20 帧图像,200 万像素分辨率并且提供不同平台下开发包,适合进行二次开发,深度集成到机器人视觉控制单元中。
所述X86工控机,采用工业PC不仅可以适应恶劣的工况,而且长时间作业的可靠性高。X86工控机安装有Windows操作系统,主要运行机器人视觉控制软件,并且具有两个监视器,可以观察两个工业相机的情况以及当前机器人的运动控制状态。
所述视觉控制单元至少包括图像采集模块、视觉算法模块、TCP/IP通信模块、RS485通信模块和机器人运动控制模块。
所述图像采集模块,用于采集工业相机的图像。
所述视觉算法模块,主要是把从图像采集模块、机器人运动控制模块和RS485模块采集到的图像信息、机器人位置姿态信息和倾角仪的倾角信息进行融合处理。
所述TCP/IP通信模块,用于视觉控制单元的网络通信,主要是处理和PLC和工业相机之间的以太网通信。
所述RS485通信模块,用于从双轴倾角传感器获取当前机器人手臂末端的倾角数据,用于视觉算法模块进行融合处理。
所述机器人运动控制模块,用于和PLC模块进行网络通信,然后根据自定义的协议,获取当前机器人的位置、姿态和运动信息;同时在视觉算法模块得到结果需要移动机器人的时候,通过运动控制模块发送运动或者作业指令到PLC模块,最终通过机器人控制柜,操纵机器人作业。
所述视觉控制单元还可以包括运行日志模块,主要是用于记录机器人视觉控制软件的运行记录以及机器人的位置、姿态和运动信息供维护保养人员运行保障和故障诊断。
所述图像采集模块,主要包括工业相机驱动模块、工业相机配置模块和图像获取模块。所述工业相机驱动模块,集成Basler acA1600-20gc GigE千兆以太网相机驱动程序,用于实现工控机与工业相机的通信连接。所述工业相机配置模块,配置以太网相机的局域网IP地址、子网掩码和网关等网络参数。所述图像获取模块相机参数配置和图像帧抓取,按照设定的参数配置相机之后,抓取一帧帧的图像到内存中。
如图2所示,为本发明实施工作的流程之一。
当机器人视觉控制系统启动之后,首先从工业相机上获取图像信息,判断目前的十字标志和工具搁架的辅助对准标识是否重合,同时获取倾角仪的角度信息,判断当前机械手末端快换工具头在XY方向的角度。获取当前机器人手臂位姿信息,发送运动指令到PLC,控制机器人手臂运动到XY方向成零角度(水平方向)。发送运动指令到PLC,控制机器人手臂工业相机图像中心和工具头搁架的辅助对准标识十字标志重合,判断方式是通过图像处理镜像目标识别,使工业相机中心完成对准完成后,发送装载或者卸放指令,进行工具头的安装和卸放作业。
步骤如下:
1、获取图像信息。Basler acA1600-20gc GigE千兆以太网相机带有SDK开发包,使用其SDK,在工控机运行Window系统上开发.NET程序,调用固定的API就可以获取到相机的图像,等待后续处理。
2、获取机械手当前姿态,判断是否限位。获取倾角仪角度信息,如果其XY方向不是零角度,工控机之上的视觉控制单元发送运动指令到PLC,其控制指令定义如表1和表2所示。控制PLC移动机械手,在移动过程中,不断检测倾角信息,如果为零之后,停止移动机械手。
视觉控制单元发送的运动指令定义如下:
表1 六轴机械臂运动控制协议字段划分
表2 六轴机械臂运动控制协议字段定义
3、在当前图像的中心使用GDI绘制十字标志,采用Canny边缘检测算子和霍夫变换,获取辅助对准标识十字的位置。对比十字标志和辅助标识的位置,获取其偏移角度,如果角度不为零,则发送指令转动机械手末端的Torque_A6轴,使十字标志和辅助对准标识完全对齐。
4、发送运动指令,在Z轴方向进行移动,把工具条放置回搁架或者装载搁架上的工具条。