机器人视觉引导运动控制虚拟仿真平台设计

2023-09-04 14:36张小刚王耀南
计算机仿真 2023年7期
关键词:运动学编程定位

李 哲,张小刚,王耀南,方 遒

(湖南大学电气与信息工程学院,湖南 长沙 410082)

1 引言

随着人工智能、机器人、智能制造等新技术的飞速发展,工科专业新型技术创新人才需求的压力也日益增大[1-4]。教育部于2017年推行新工科建设,创建了一批新型工科专业,并对传统工科专业进行改革升级,着力培养工科学生的实践综合能力和解决复杂工程问题的能力[5-8]。机器人在现代工业中起到越来越重要的作用,其技术具有知识难度大、综合性强等特点,为了培养新工科人才的综合设计能力,基于机器人视觉感知与控制技术国家工程实验室中真实的电子制造产线设备,设计了一套“机器人视觉引导运动控制虚拟仿真平台”,用于开展自动化、机器人工程等专业的综合设计课程,同时也对相关课程的仿真环节进行支撑。

课程以一套面向手机壳的机器人装配电子产线为工艺对象,利用Unity3D、3D Studio Max等软件技术,在高保真度虚拟环境中,通过完成仿真操作与编程调试,实现机器人视觉引导手机上料的功能。通过仿真教学,培养与训练机器视觉识别与定位(眼)、机械臂运动学求解(手)、视觉引导控制算法集成创新与应用(脑)等专业知识和实践创新能力。

2 虚拟仿真环境

2.1 虚拟仿真平台组成

仿真环境中的设备均与实际场景一一对应,具有较高的保真度(图1)。其系统设备主要由视觉相机与图像处理上位机、UR10工业机器人、工控柜、传送带及手机物料架等组成。视觉相机安装在机械臂末端,用于采集物料图像,并上传至上位机进行图像识别定位,将生成坐标发送至工业机器人,引导其完成抓取手机上料的过程;UR10机器人为六自由度工业机器人,按照设定轨迹抓取手机壳完成上料任务;工控柜中包含可编程逻辑控制器(PLC)、变频器、开关等电控设备,控制整条产线的逻辑和节拍动作;被抓取的手机被放至传送带上运送至末端,通过位置传感器检测是否完成上料过程。通过实现该过程,可学习掌握工控系统“感知-控制-执行”的知识闭环,培养解决实际复杂工程问题的能力。

图1 真实系统与虚拟设备对应图

2.2 仿真算法开发环境

仿真软件除了具有自身参数设置和仿真功能外,还提供了外部软件接口,能够与Visual Studio和SIEMENS Portal进行通讯,根据不同的难度要求完成算法设计及仿真任务。实验任务及对应的软件需求如图2所示。利用虚拟仿真软件本身可以完成机器人视觉引导控制的核心知识仿真;配合Visual Studio并利用C#语言编程可实现高级视觉及运动算法的自主编程;通过SIEMENS Portal利用梯形图编程可完成虚拟产线系统的综合控制与虚拟调试。

图2 实验任务与相关软件

3 仿真教学任务

依托所设计的虚拟仿真软件,设计了三个层次的实验内容,分别学习机器视觉识别与定位、机器人运动学求解与控制、以及视觉引导控制的知识内容。

3.1 视觉识别与定位实验

1)配置虚拟设备:连接虚拟仿真环境中的视觉相机、UR10机器人、图像处理上位机等设备,完成数据连通;

2)视觉坐标系标定:目标识别算法的原理是通过图像的分析和处理,识别并定位目标在图像中的像素位置,其过程涉及世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的变换。在实验环境中,通过正确配置相机坐标轴参数,完成视觉相机的标定及参数设定;

3)图像采集及坐标识别:在虚拟仿真环境中,首先在合适位置处对目标拍照并生成模板图像,之后用C#自主编程实现基于模板匹配的视觉定位算法并确定其坐标。在编程时,已知模板图片数据和相机拍摄图像数据,利用视觉算法确定其中一个手机壳左上角的坐标,并赋值给相应变量(xpos, ypos),再对拍摄图像进行处理,识别出四个手机壳,通过尺寸数据计算标出各中心点坐标,生成最终结果(图3)。

图3 视觉识别定位实验结果

3.2 机器人运动学求解与控制

1)运动轨迹设置:首先利用点动示教或关节示教来确定机器人上料过程的参考轨迹点,如拍照点、预抓取点、放料点、归位点等,再利用插补进给的方式来实现机械臂的运动;

2)运动示教指令编程:在机器人指令输入窗口中,根据指令格式编写机器人示教控制指令,来实现机器人运动控制。该部分的运动是基于设定的轨迹参考点来完成的,遵循插补的直线或圆弧等轨迹运动,以测试预设轨迹是否能够完成上料任务;

3)机器人正运动学求解:机器人运动学主要研究机器人本身的位姿描述与控制,其包括机器人某关节或末端执行器的位置和姿态。正运动学指当各关节的旋转角度给定时,求解机器人末端执行器在空间坐标系下的坐标。根据实验程序框架,在Visual Studio环境下可实时读取当前机器人各轴角度值,并定义了待发送数据变量及格式。利用相关计算函数和齐次变换矩阵变量,通过自主编程计算机器人末端姿态矩阵,实现正运动学求解。通讯成功并运行程序后,调节机器人关节示教,若计算结果与机器人末端位姿一致,则说明结果正确;

4)机器人逆运动学求解:若已知机器人末端位姿,通过计算求得机器人到该位姿时各关节转角变量的过程即为机器人逆运动学分析。逆运动学求解会产生多重解,需要通过约束关系来选取最符合要求的一组作为逆解。在实验中给定机器人模型的D-H参数(表1),可实时读取目标姿态矩阵值,根据运动学逆解原理编程可求出8组逆解,并从中选出最优的一组解,赋值给相应结果变量。最后同样通过仿真软件的点动示教比较结果来验证程序的正确性。正逆运动学自主编程求解操作如图4所示。

表1 UR10 机器人D-H模型参数

图4 正逆运动学自主编程过程示意图

3.3 视觉引导控制上料流程实现

根据前面的机器人视觉识别定位和机器人运动控制的实现方法,结合上料工艺流程和匹配的生产线控制时序、节拍等,可实现基于视觉引导的机器人上料过程,其综合控制流程如图5所示。在基础实验任务中,为了实现各设备的综合调试,仿真软件提供了一个“外部通讯程序”来模拟现实中的PLC功能,实现生产线各设备的时序和节拍控制。在该通讯程序中,各设备的I/O点和对应关系已确定,根据图5的控制流程及视觉定位反馈坐标结果,综合前面的机器人运动控制方案,最终实现完整的机器人视觉引导上料流程(图6)。

图5 电子产线系统机器人视觉引导控制流程

图6 机器人上料完整工艺效果演示

4 虚拟仿真教学项目的创新性

4.1 可灵活拓展的仿真环境

该仿真平台在完成机器人视觉引导控制的核心功能基础上,还提供了与专业工控软件的接口功能,能够实现创新拓展实验任务[13,14]。在上料工位的基础上,可利用仿真平台内置的设备模型库自主设计搭建新工位(如下料工位等),利用相应控制方案进行仿真。仿真平台可以与SIEMENS Portal进行通讯联合调试,基于虚拟设备对应的I/O端口,编写梯形图程序,控制生产线各工位的节拍与时序,完成虚拟调试的任务。通过该过程引导学生进行自主设计与调试,探索实践不同的方案,利用已有知识和能力进行创新拓展。

4.2 科教融合的仿真平台

该仿真平台基于实验室真实的科研平台,依托数字孪生技术理念进行了虚拟化,并将其应用于教学过程。因此可将前沿的科研和技术内容进行简化和提炼,将其中的知识和理论融入到教学过程中,并在仿真平台中实现[15,16]。例如,实际工业环境中的光照条件对视觉识别与定位的结果会造成影响,虚拟仿真软件中具有选择光照开关的功能。在打开光照的条件下,用传统的模板匹配算法仿真将无法实现准确的视觉识别与定位,因此可利用基于伽玛校正(Gamma Correction)的光照补偿方法进行算法设计及编程,再将程序与仿真环境连通进行目标的成功识别。在此过程中,可将科研和实际工程中应用的知识和算法融入教学过程中,激发学生对于科研工作的热情,实现科教融合理念。

4.3 虚实结合的教学实践过程

课程依托国家级工程实验室平台展开,采用由浅入深、虚实结合的方法引导学生进行学习,教学环节施行“现场认知—理论授课—仿真实验—实操验证—报告考核”的学习过程。实验由实际系统设备认知过渡到虚拟仿真,再通过虚拟调试改进设计方案并利用实际设备操作进行验证,实现虚实结合的实验教学方案。在较低的改造成本下,充分利用了现有科研与教学资源,开展具有创新性和综合性的仿真教学。

5 结语

面向教育部新工科建设需求,充分发挥虚拟仿真技术的优势,基于实验室的真实科研设备,开发了一套机器人视觉引导控制虚拟仿真平台,并设计了“虚实结合,科教融合”的虚拟仿真教学方案。虚拟仿真软件具有较高的保真度和开放性,能够综合训练学生机器视觉识别与定位、机器人运动学求解、视觉引导运动控制的核心知识与实践方法,同时还可利用其丰富的接口与其它软件配合实现工控系统设计与虚拟调试等功能,培养学生解决复杂工程问题和创新性设计与实践能力,探索利用虚拟仿真技术培养新工科创新型人才的新模式。

猜你喜欢
运动学编程定位
编程,是一种态度
元征X-431实测:奔驰发动机编程
《导航定位与授时》征稿简则
编程小能手
基于MATLAB的6R机器人逆运动学求解分析
纺织机上诞生的编程
Smartrail4.0定位和控制
基于D-H法的5-DOF串并联机床运动学分析
找准定位 砥砺前行
基于运动学原理的LBI解模糊算法