基于机器人与视觉的激光雷达芯片组装设备技术研究*
2023-12-13梁华轩冼业荣沈大财杨楚歆麦丽菊
梁华轩,冼业荣,沈大财,阮 毅,杨楚歆,麦丽菊
(广东省机械研究所有限公司,广州 510799)
0 引言
最近几年,借助国内智能电动汽车崛起与自动驾驶的火热,激光雷达成为是汽车产业链的热点,中国已经成为自动驾驶[1]和激光雷达应用比较活跃的市场。
日前,国家商务部拟将激光雷达系统列入《中国禁止出口限制出口技术目录》,作为禁止或限制出口品类,由此可见国家对于激光雷达技术的重视程度。技术出口限制在客观上为国内激光雷达企业提供了更好的生存环境,但仍面临产能提升与制造成本的极大挑战。形成技术迭代、量产、降低成本的正向循环,是未来国内激光雷达企业的重点考虑方向。
2022年四季度以来,海外激光雷达行业正经历暴力洗牌,激光雷达的先驱公司如Ibeo、Quanergy先后破产。由于国外车企的系统性开发模式,决定了一个新技术、新产品的开发周期相对更长,导致产品迟迟无法量产。这也为我国的激光雷达发展提供了超越的机会。目前国内外激光雷达企业都不约而同地选择推动激光雷达加速量产,而国外的产业“空心化”愈演愈烈,设备制造业以及配套的供应链往东南亚转移,欧美传统的设备制造能力遭到了大幅度削弱。国外激光雷达企业曾经的先发技术优势,在国内强大的设备研发制造能力面前被消耗殆尽。
国内的设备供应商从产品结构、工艺验证等方面与激光雷达企业展开深度合作,通过快速量产、关键技术迭代,市场份额逐渐取得绝对领先地位。在量产能力和产品性能上,国内企业更胜一筹。
在激光雷达生产的芯片组装[2-3]等核心环节,自动化程度仍然有极大的提升空间。随着“中国制造2025”的提出,生产制造环节大量引入机器人、视觉系统等,国内的智能制造设备厂商如虎添翼,往智能化、信息化方向高速发展。
车规级别的元器件种类繁多价格昂贵,组装采用自动化设备,相比起人工作业,能够降低人工成本、提高组装精度、保障性能稳定以及缩短交货周期等。针对产能与降本的实际痛点,设备结合企业的实际工艺需求,设计一种自动化组装芯片及视觉检测的设备。上位机软件作为控制核心,采用C#语言,Winform作为界面开发框架。系统可对设备进行工单下发、数据上传,集中控制等。西门子S7-1200系列PLC做为主要控制单元,驱动电缸、点胶、锁付等执行单元,而视觉系统、光电传感器等作为检测单元,实现整个控制系统的智能化、自动化。极大提升激光雷达芯片组装环节的自动化与智能化水平。
1 设备的工作原理及总体组成
1.1 整体布局以及功能模块
结合产品组装的工艺要求、胶水特性以及目前点胶技术情况,设计一种可以实现组装、点胶以及检测功能的设备。如图1 所示,整体布局大致概括为7 大模块,分别是产品流转线、组装机器人、点胶机器人、组装定位治具、上料模块、称胶检测模块、视觉系统。
图1 设备整体布局
1.2 机械结构设计
1.2.1 SCARA机器人
SCARA机器人主要功能实现产品零配件的自动化组装,通过SCARA机器人配备多功能手爪以及视觉定位引导系统,实现产品抓取、定位、组装功能,如图2 所示。SCARA机器人配备视觉拍照系统[4],使得设备柔性功能进一步提升,即使在来料方向不确定的情况下,通过视觉的拍照识别,反向结合机器人行走姿态,也能把零件准确地组装到工件里,完成无序组装。
图2 组装机械手
1.2.2 点胶机器人
点胶机器人由IAI 伺服电缸组成。根据产品工艺要求,点胶机器人主要负责实现产品的点胶工艺,如图3所示。点胶阀根据胶水物理性质结合产品工艺要求,选择采用螺杆式点胶阀;同时为实现多点位、复杂轨迹的点胶[5]效果,设计了一种可多轴联动的XYZ机器人;通过点胶阀控制点胶量以及点胶精度,结合XYZ机器人带动点胶阀,以完成复杂轨迹、高精度的点胶效果。并且配备检测视觉系统,对点胶效果进行检测跟踪。如图3所示。
图3 点胶机器人
1.2.3 产品流转线
产品流转是自动化生产线必要的功能,实现的方式也有多种,本次设计为了实现产线的柔性化、设备间快速对接,采用了“输送线+过站顶升”相结合的形式,如图4 所示。制作定制的流转载具,可把产品的零部件放置在流转载具上,通过输送线把流转载具输送到每一台设备。过站顶升机构除了能实现流转载盘的定位、顶升等通用功能外,还配备流转载盘转接手抓,通过转接手抓把流转载盘脱离顶升板,夹紧定位在输送线上部,使得后面的流转载具可以从顶升处输送线流转,从而达到前后载盘流转互不干扰,同时可实现同功能设备的多工位的同步作业,提高生产效率。
图4 产品流转线
经过对产品组装的工艺、胶水特性等进行实验分析验证,结合当前的自动化芯片组装和自动化点胶等相关技术,同时把智能制造、柔性制造[6]等概念贯穿到整体的设备上,使得该设备既能满足实际的生产需求,又能实现产线的柔性化对接,帮助产线快速的升级迭代。
2 控制系统的硬件设计
整个控制系统包含的硬件有触控工业显示屏、工控机、PLC控制器、视觉系统、SCARA 机器人、点胶机器人等。在满足性能的前提下,需要对硬件进一步选型,合理降低成本,同时保留足够的扩展冗余。如图5 所示。
图5 硬件结构
2.1 触控工业显示屏
上位机系统需要对机器人控制、视觉系统、PLC 交互、数据追溯等进行二次开发,整个控制系统复杂,集成度高。因此,摈弃传统的触摸屏,采用了21 英寸带触控功能的工业显示屏,不仅可以直接点击显示屏进行控制操作,还可以对整个设备的全部状态进行监控。
2.2 工控机
采用研华工控机,由于上位机软件具备视觉图像处理、机器人控制、PLC 信号交互、数据上传等功能。主机的CPU 性能、内存容量、网口数量,甚至固态硬盘速度都有严苛要求。经反复测试比较,CPU i7-7700,16 GB内存,256 GB 固态硬盘,6 个千兆网口的配置,满足软件的流畅运行。
2.3 PLC控制器
SIMATIC S7-1200 具有集成PROFINET 接口、强大的集成工艺功能和灵活的可扩展性等特点,为各种工艺任务提供了简单的通信和有效的解决方案,尤其满足多种应用中完全不同的自动化需求。
设备共有2 套PN型V90 伺服驱动,4 路串口,1 路Modbus-TCP通信。综合IO 开关量数量、网络通信、运算能力、程序容量等因素,选择S7-1215 作为主控制器。同时预留30%点数作为后期扩展。
2.4 视觉系统
视觉系统共有3 个工业面阵相机,综合检测产品的精度要求、运动速度、动态检测、静态检测等因素,确定相机参数;根据机器人活动空间及视野大小、焦距、景深等,对镜头进行匹配;前期对样品进行打光,获取特征明显清晰的图像,兼顾光源颜色对操作人员的视觉刺激,确定光源的颜色和尺寸。经过反复测试比对,得出整套视觉的硬件配置表,如表1 所示。相机采用海康CE系列工业面阵相机,像素覆盖面30 万到2 000 万像素,以卷帘曝光为主。提供千兆网和USB 3.0 数据接口,可以满足多种工业需求。如表1 所示。
表1 视觉硬件配置
2.5 SCARA机器人
发那科SR-6iA 是兼有智能、高速和高精度的SCARA机器人。手腕可搬运负载质量达6 kg,重复定位精度为0.01,满足抓取、组装芯片的精度要求,同时配备Modbus TCP通信插件与上位机进行通讯。
2.6 点胶机器人
点胶机器人由IAI 伺服电缸模组搭建。在点胶场合应该非常广泛,搭配XSEL 控制器,对于形状复杂的工作、运动轨迹进行均匀涂覆盖和高精度填充,从而优化了周期时间,提高了质量。示教完所有轨迹后,由于需要PLC调用模组的程序号,需要选配Profinet 通信单元。根据负载、精度要求以及节拍,确定电缸和控制器的选型。如表2 所示。
表2 IAI伺服电缸型号
3 控制系统程序设计
经过工艺流程分解及机械3D 模拟后,满足节拍的前提下,需要对整个设备的控制框架、交互形式进行梳理分析。如图6 所示,经过分析可得如下结论。
图6 控制系统框架
(1)本工序产品加工完毕,把过程参数上传至车间追溯系统,同时生产过程中,也需要查询上一工序的加工信息,而追溯系统往往通过http超文本协议与设备进行数据交互,常规PLC、传统触摸屏不支持此通讯协议。因此与追溯系统通讯的功能只能通过设备的上位机软件来实现。
(2)PLC接受来自上位机软件的生产指令,从而驱动相应的机构如机器人、电缸等;由于机器人自带的硬件I/O无法满足控制要求,需要通过Modbus TCP协议进行扩展信号,从而完成PLC对多个PNS子程序的调用。
(3)工业相机与工控机的千兆网卡相连,上位机通过TCP触发相机,PLC负责光源启停。采集的图像存放到硬盘,由上位机软件进行图像分析处理,再引导机器人动作。
3.1 上位机界面设计及功能开发
由于大量数据需要通过上位机软件进行中转分发,上位机软件是整个设备的指挥中枢,而PLC 控制器作为主要控制元件负责接收传感器信号及驱动机器人、伺服电机等。另外需要对海康VM 算法平台进行二次处理,故采用基于C#高级语言的Winform[7-9]界面框架进行开发。上位机系统包含如图7 所示的主要功能模块。
图7 上位机软件功能框架
本软件按两层架构进行开发,即显示层和数据访问层。可以很好地满足软件需求,解决方案里的各模块说明如表3 所示。
表3 上位机软件各模块说明
(1)Vision.UI为显示层,展现给用户的界面,主要实现与用户的交互,响应用户请求或展示用户请求的数据结果。
(2)Vision.DAL为数据访问层,包含各种数据读写方法。如SQL、XML读取类。根据业务需求,构建参数,调用帮助类等。通过Vision. Models 实体类,获取结果,主要负责与数据打交道,将业务逻辑转换成相应的方法对数据进行操作。
(3)Vision.Models为实体类,是数据传递的载体。包含大量的私有字段,而属性一般供外部类访问,通过对属性的读写限制,从而有效保护私有字段不被外部程序破坏。
(4)Vision.Utility 为工具类,主要存放各种静态方法,通过类调用,不必浪费内存去实例化工具类对象,包含如PLC 通信、机器人通信、图像处理、字符截取、浮点转换等方法。
(5)Vision.ExtControls为扩展控件库,开发过程中,原有控件功能无法满足需求或不够美观时,需要对控件进行二次开发,技术要点是自定义属性和编写自定义事件处理方法。
对解决方案进行分层,完成整个软件的架构搭建后,首先需要引用相关的类库与控件:Sharp7 用于上位机与西门子PLC[10]的通信;FRRJIF、FRRobotIFLib 用于上位机与发那科SCARA机器人通信;引用VM二次开发所需要的dll文件及控件,完成开发环境的配置。部分代码展示如图8 ~11 所示。
图8 实例化PLC对象并创建连接
图9 实例化机器人所需的对象
图10 加载视觉算法
图11 获取坐标偏移量用以引导机器人
深刻理解客户的需求和工艺流程后,抽象出所分析的功能、模块,从下往上,完成Models 类的字段定义,按照详细的设计步骤进行各个方法、类代码的编写,测试局部功能;达到预期效果后,进行集成测试,把各个模块、单元组装后,进行软件和硬件的集成调试,检查软件与硬件的交互功能是否完善,确保软件的可靠性、安全性和可扩展性。修复Bug 及完善功能,是一个发现问题、纠正问题的过程,确保软件的良好效果。
3.2 PLC程序设计
主要由初始化程序、运行选择、视觉控制、机器人程序、电缸程序、报警异常等模块组成。运行选择模块包含手动、自动、单步、暂停、过栈、空循环6 种运动方式。自动运动模式是整个PLC[11]程序设计的重点。整个自动流程相对复杂,设备动作流程如图12 所示。交互的数据较多,本文仅对关键步骤进行分析。初始化完成,所有机构处于等待状态。自动流程开始,载具检测到有物料,调用机器人程序把物料搬运到治具,机器人搭载的相机进行拍照。待上位机的视觉算法处理完毕后返回OK信号,机器人重新抓取物料,移至扫码相机进行扫码,条码信息由上位机发送至追溯系统进行查询是否符合批次。追溯系统返回查询结果至上位机后,上位机通知PLC调用机器人程序,把物料放置到点胶位。点胶相机拍照完成,上位机返回坐标信息到PLC,经过偏移量计算,引导电缸进行点胶。如图13 所示。
图12 设备动作流程
图13 视觉引导电缸的偏移量计算
点胶结束后,机器人把物料取出放回载具,流到后续工序进行螺丝锁付及质量检测。每个步骤发生异常时,都有对应的处理流程,异常产品由伺服驱动的输送线转送至NG等待位。此处不展开叙述。至此整个自动流程结束等待下一次循环的开始。
3.3 视觉算法设计
采用海康视觉算法平台VM,它提供了千余个完全自主研发的图像处理算子与多种交互式开发工具,支持多种图像采集设备,能够满足机器视觉领域中定位、测量、识别、检测等需求[12]。
通过使用VM算法开发平台提供的控制和数据获取接口来完成自定义开发,将算子包装成为独特的视觉工具,融入用户自定义的检测流程中,极大简化调试难度,降低使用门槛。
整机共有3 个工业相机,包含采图、扫码、引导机器人定位、胶路检测等功能。
以芯片抓取流程为例,开发思路及简要步骤如下。首先设置图像源,可以选择本地图片或相机,由于前期已经采集图像保存在硬盘,选择本地图片,设备运行时图像源切换回相机。由于图像特征点较少,且边缘对比度低。因此选择高精度匹配工具,能抵抗匹配对象发生扭曲变形,且支持异步缩放,缺点是计算时间稍长。特征模板参数里创建矩形掩膜。运行参数里选择考虑极性。图14 所示为视觉引导算法流程。
图14 视觉引导算法流程
在位置修正工具里创建基准坐标,找到直线与竖线做为位置识别点,经过偏移计算,最终得出绝对位置从而引导机器人进行抓取。视觉实际计算结果如图15 所示。经实际验证,搭载视觉系统,设备的综合精度约为0.063 mm,完全满足需求。
图15 视觉实际计算结果
3.4 机器人控制程序设计
发那科SCARA机器人可通过示教器或浏览器进行编程,进入通信设置页面。机器人与PLC进行通讯时,机器人一般作为服务器,PLC 作为客户端。在机器人需要加装Modbus TCP 通信插件,安装后在IO 选项中会出现相关选项[13]。
设置端口IP 地址、连接数量、超时报警等参数。Modbus TCP方式分配给工业机器人的数字量I/O只可设置机架号为96,槽位号为1。进入“I/O Modbus”配置页面,如图16 所示。
图16 SCARA机器人Modbu TCP通信设置
机器人与PLC 进行Modbus TCP 通信交互的数据量为6 个字。部分IO 的定义如表4所示,主要用于PNS子程序的调用及调用结果反馈。
表4 PLC与机器人部分交互信号定义
由于机器人自带硬件I/O 数量不多,更多被用于控制气动手爪、连接安全光栅、急停等,在手动示教时,无需PLC 或外部给信号,可由示教器直接驱动气动手爪。而PLC调用PNS子程序的信号,则由Modus TPC[14]协议来传输。从而大大提高了机器人程序编写的灵活性。如图17 ~19 所示。
图17 SCARA机器人Modbus TCP数字输入配置
图18 SCARA机器人Modbus TCP数字输出配置
图19 SCARA机器人主程序运行效果
3.5 点胶机器人程序设计
由IAI 伺服电缸搭建的多轴联动XYZ 点胶机器人[15],可精确控制胶路轨迹,点胶工艺性和精确性,直接影响芯片组装的品质。根据IAI 控制器自上而下的扫描的特点,程序分为主程序和子程序。主程序是控制器一启动运行时就一直在线循环执行的程序块,所有的子程序都在主程序中被调用,如图20 所示。
图20 点胶机器人程序结构
子程序是针对设备各个不同的程序功能进行模块化编辑,主要包括对针寻参、偏移计算,称胶、点胶、换胶和视觉检测等功能程序。
在设备点胶功能要求中,点胶机器人的对针寻参和偏移计算是最为关键的功能,因为此项寻参精度将直接影响整个设备点胶精度从而决定产品的质量高低。因此,在寻参程序中,首先使用一根基准针进行寻参,取TCP传感器XYZ 的入光上升沿作为参考点,设置XYZ偏移数据均为0,同时使用此针的各个点位数据为基准点位数据。生产时更换的生产针头在安装好之后均要进行寻参并和原基准针的基准参数进行XYZ 轴数据比较,得到的偏移数据就是生产针头在进行点胶工艺生产中在原基准点数据要进行加减计算的数据。经过多批量和长时间的反复验证,此种寻参方式的误差为±0.02 mm。程序如图21所示。
图21 点胶机器人对针寻参子程序
根据设备工作方式电缸分为手动、自动和初始化3种模式,工作方式之间进行互锁,防止误操作。手动模式是设备在手动模式下进行的人工操作,如电缸轨迹示教、位置对点、参数修改等都在此模式进行。自动模式是设备在进行自动生产状态,在自动工作过程中,为了更好地进行人工手动介入,实现对工艺调整和质量把关,增加了暂停功能,但是为了避免胶水在产品上堆积而造成产品不良,在点胶工艺过程中屏蔽暂定功能。初始化模式是设备在急停或者断电后重新启动时设备的回原功能,初始化模式在手动模式下进行。
4 测试验证与结果分析
设备测试验证主要分为程序功能测试验证以及设备重复定位精度验证。
程序功能测试验证主要测试设备动作合理性以及生产节拍是否满足。通过设备试车,反复调试、测试验证整体功能与生产效果,并记录设备运行情况。根据记录的情况分析,设备运行位置与设定位置吻合,视觉引导机器人正常,检测功能正常,各类安全功能正常。
由于产品的工艺要求较高,设备能否精准到位与点胶量是否准确是生产优良产品的必要条件,因此设备重复定位精度与点胶量的精度就显得格外重要。通过千分表对各项运动精度指标测试,点胶精度采用采用精度为0.1 mg电子秤进行检测,经过反复测试,结果如表5 所示。通过生产试车与测量表明,设备各项指标均高于产品生产需求,满足生产产品工艺要求,整个控制系统安全稳定。
表5 设备测试结果
5 结束语
本文从企业的实际需求出发,针对激光雷达组装的核心工艺,有效提高了组装环节的点胶、芯片组装、螺丝锁付及品质检测的稳定性,同时减少企业的人员投入和劳动强度,真正做到了降本增效。
经实际验证,该设备通过C#开发的上位机软件取代传统工业触摸屏作为指挥中枢,灵活性和集成度高,把对位操作、机器人通信、视觉系统、数据自动上传等功能融入上位机,极大简化了调试流程;SCARA机器人和点胶机器人负责上下料、组装和点胶,提高了精度和效率,完全满足生产节拍与工艺要求;设备运行过程中无需人员值守,操作简单、稳定可靠,为激光雷达的大规模量产提供了设计思路和参考方向。