基于力/力矩传感器的直接示教系统研究

2016-01-17 19:41陈庆盈李世中
自动化与仪表 2016年5期
关键词:采集卡通讯力矩

刘 昆 ,陈庆盈 ,李世中

(1.中国科学院 宁波材料技术与工程研究所,宁波 315201;2.中北大学 机电工程学院,太原 030000;3.浙江省机器人与智能制造装备技术重点实验室,宁波 315201)

目前,大多数的工业机器人只能通过示教板或者离线编程来使其实现特定的轨迹运动。其中,示教板示教需要操作者具有一定的操作经验并且要特别熟悉机器人操作系统,示教效率很低。而离线编程示教需要操作者熟悉机器人开发商所提供的编程软件,除此之外,由于机器人存在组装误差、自重变形与工件摆放误差等因素,无法完成高定位精度的要求,使得生产率无法提高。由此引发了研究学者对于机器人的人机互动兴趣,产生了一种新的示教形式,能够使人和机器人在同一空间内进行人机互动,降低对操作者的要求,并且使机器人快速准确地到达指定位置,即直接示教技术[1-7]。

直接示教即操作者直接与机器人接触,通过牵引机器人末端来实现机器人运动,过程中可以记录机器人运动轨迹然后实现重复运动。因此,毫无经验的操作者也可以操作机器人来达到期望的目标,实现某一运动轨迹,这样便提高了机器人示教编程效率。

目前,国外的研究者已经开发了不同的直接示教装置,其中有些已经应用于实际生产。文献[8]研发了以电阻模型控制表面接触力的直接示教模型用于抛光机器人。文献[9]研制直接示教装置夹于机器手末端,通过2个六维传感器来控制机器人运动,调整机器人的位姿,完成去毛刺工作中的示教任务。文献[10]介绍了2种应用于硬表面接触的示教装置,一种是应用于感应淬火的示教装置,通过滑动机构和位置传感器,在PC机中处理之后,使工具轴线方向的位移得到补偿。在工具末端通过控制移动开关来保证示教的安全性,由内插值法保证等速淬火。而另一种则是应用于幕墙玻璃的装配。而国内的机器人技术起步较晚,直接示教的研究也落后于其他国家,并没有直接示教机器人用于实际生产应用中。

上述提到的国外研发者虽然将直接示教都应用于了实际生产中,但是只是适用于他们自己的机器人系统,对于目前大多数机器人并不适用。鉴于此,本文提出一种直接示教系统的研究,可应用于传统的工业机器人来实现直接示教。机器人的操作系统一般不对外开放,在其操作系统是封闭的前提下,提出通过借助力/力矩传感器作为媒介实现力与速度(位置)的转化来实现直接示教。

1 系统硬件部分

系统的硬件主要由以下7部分构成:

1)示教手柄:操作者用来示教机器人的把手,连接于力/力矩传感器之上,将操作者的示教力/力矩传输到传感器,同时用来触发记录示教点以及playback信号。

2)Modbus拓展模块:用来拓展机械臂I/O口,是实现示教手柄与机械臂控制器的通讯桥梁,用户通过示教手柄发出的记录位置点以及playback命令通过该模块传输给控制器。

3)传感器:感知部分,用来感知操作者施加于示教手柄的示教力/力矩,并将其转换成模拟电压信号,传输给数据采集卡。

4)数据采集卡:信号采集部分,主要用于采集力/力矩传感器感知的力/力矩模拟电压信号并将其传输给PC。

5)上位机(PC):接收来自于采集卡以及机器人控制器的数据并进行处理与储存。

6)UR控制器:机械臂的控制系统主要集成部分,接收来自上位机的用户命令(或者是用户通过示教板直接给出的命令),转化成机械臂关节力矩电机的控制信号,从而控制机械臂到达用户指定轨迹点。

7)工业机器人:执行部分,接收来自于控制器的命令,完成一系列的示教动作。

系统硬件构成如图1所示。

图1 基于力/力矩传感器的示教系统的硬件构成Fig.1 Direct teaching system based on F/T sensor hardware configuration

1.1 示教手柄

示教手柄是施教者进行示教的牵引装置。同时在手柄上有记录示教点的按钮,当示教者在示教时需要记录某一个示教点,只要触发示教点记录按钮即可。而另外一个按钮是示教者在完成示教,需要机器人重复刚才的示教轨迹点时,则需要按playback按钮。2个按钮都是与数字输入模块相连接用来给UR10机器人传递输入信号,以此作为实现示教点记录以及playback功能实现的触发信号。

1.2 Modbus拓展模块

Modbus拓展模块使用的是Beckoff公司的产品,主要包括2部分:

(1)BK9050总线耦合器,用来拓展总线端子模块以实现外部输入以及与UR10控制器通过以太网连接实现Modbus通讯。

(2)KL1408数字量输入模块,拓展输入接口。通过外部输入接口与示教手柄的按钮连接用来实现记录示教路径点以及playback功能的触发信号。

1.3 传感器

采用ATI公司的六轴力/力矩传感器,型号为Delta SI-330-30,采用DAQ F/T系统采集操作者示教时x,y,z方向的力与力矩的模拟信号,传感器的主要参数如表1所示。

表1 ATI六轴力/力矩传感器量程与分辨率Tab.1 ATI six-axis F/T sensor range and resolution

1.4 数据采集卡

采用阿尔泰科技的USB2852数据采集卡,通讯方式采用TCP/IP通讯,采样信道至少要6个,采用连续异步的方式分别采集 Fx,Fy,Fz,Tx,Ty,Tz6 个通道的模拟电压,采样频率为31 Hz~250 kHz。

1.5 UR控制器

UR控制器是工业机器人的控制部件,主要是控制系统与电气输入输出的集成。UR控制器连接有一个触控示教板,可供用户直接通过触控板给控制器发送指令,同时也有各种电气输入输出接口,可以实现控制器与上位机等外部设备进行通讯,支持的通讯方式为TCP/IP Socket连接,以及Modbus TCP连接。

1.6 工业机器人

采用优傲公司UR10六关节机械臂,负载重量为10 kg,自重为28.9 kg,工作半径为1300 mm。

2 系统软件部分

2.1 通讯

通讯示意图如图2所示,该系统的通讯方式主要有2种,以太网通讯以及Modbus通讯。以太网通讯提高了数据的传输速率,能够加快系统响应速度。Modbus通讯拓展了UR10机器人的I/O端口。

图2 通讯连接示意Fig.2 Communication connection diagram

上位机与下位机之间是通过Socket TCP进行数据传输,通信时PC作为服务器,而UR10控制器作为客户端。数据采集卡与PC之间的数据传输也是通过以太网进行,以太网通讯能够使采集卡采集的传感器信息迅速传到PC端进行处理进而反馈给机器人,减小延迟时间,使示教更加顺畅。

2.2 数据处理

2.2.1 源码数据转换模拟电压

数据采集卡AD端口首先采集到的是源码数据,所以首先要将其转化为模拟电压信号。

式(1)是源码与模拟电压转换式,电压范围为5000 mV,数据采集卡的精度为16位,其中ADBuffer[n]为数据采集卡AD端口的源码值,n的值代表0~5 6个采集通道。

2.2.2 模拟电压转换力/力矩

直接用模拟电压当作标志位判断力矩会受温度等因素影响使数据波动较大,误差会加大。因此将模拟电压转化成力/力矩同时加上温度补偿作为判断标志位则大大减小了误差,降低温度等干扰因素影响。

式(2)为基于温度补偿的模拟电压转力/力矩公式,其中 R 为 1×6 力/力矩输出,即(Fx,Fy,Fz,Tx,Ty,Tz)。式(3)、式(4)为测量的温度补偿电压 VC与初始校正温度补偿电压VC0:

式中:BS为偏置斜率向量;GS为增益斜率向量;是 传感器 温 度 补 偿 校 正 值 ,BS=(7.71569×10-31.88744×10-2-6.46388×10-39.615131×10-32.33153×10-21.82687×10-2);GS=(1.04166×10-34.46070×10-34.96998×10-4-2.46547×10-32.2237×10-33.98426×10-3);V0为传感器补偿估计值,V0=(-0.2102 0.0189-0.2076 0.0058-0.2098-0.0133);VT0为温度补偿估计值,为-2.8748 V;V为当前估计值,V=(-0.3464 0.3158-0.3019-0.0697-0.3522 0.0817);VT为当前温度估计值,为-2.968 V;C为ATI公司提供的传感器6×6校准矩阵,是一个常量矩阵,根据不同传感器校准矩阵也不同,与传感器型号有关;CT为C的转置矩阵。

2.2.3 传感器的重力补偿

当将传感器安装到机械臂末端时,由于传感器的自重会在z轴方向产生一个力,所以会影响示教力的判断,因此需要进行重力补偿,补偿的重力值为 3 N,即 z-3 N。

2.2.4 Socket通讯字符串转换成浮点数据

UR机器人向PC发送的TCP点坐标只能是以字符串形式发送,而接收时只能识别数值型数据,如图3所示。所以PC接收的数据首先要转换成浮点数据,存储到一个缓冲数组中,便于之后发送给UR 机器人。 而坐标为 p(x,y,z,Rx,Ry,Rz)形式,所以要将 x,y,z,Rx,Ry,Rz从中提取出来并存储到一个浮点数组中。

如下代码使用sscanf函数,运用正则表达式将recvbuf中接收的数据转换成浮点数据存储到databuf中。

sscanf(recvbuf,“%*[^09]%f%*[,]%f%*[,]%f%*[,]%f%*[,]%f%*[,]%f”,&databuf[6*i],&databuf[6*i+1],&databuf[6*i+2],&databuf[6*i+3,&databuf[6*i+4],&databuf[6*i+5])。

2.3 程序编写

整个示教系统的运行理论首先是六轴力/力矩传感器用来感知示教者的示教力/力矩,并且将其转化成模拟电压信号,并用数据采集卡来采集这些模拟电压信号,将其上传到PC。由于模拟电压信号受温度等干扰因素影响波动大,所以在PC端将模拟电压信号转变成力/力矩,并进行温度补偿。在机械臂末端加作用力,就会有相应的位移,但是机械臂处于静止状态时各个关节都是锁住状态,要使机械臂产生位移需要很大的推动力,这样直接示教也就没有意义了。本文提出的系统,不需要进行复杂的动力学换算,而是以转换的力/力矩信号作为标志位判断操作者在哪个方向施加了力/力矩,然后通过客户端不断地循环给该方向加单位速度(m/s),从而转化成了该方向的位移,实现直接示教。根据以上系统运行理论,直接示教系统的程序主要分为服务器 (PC)端程序和客户端(UR10机器人)程序两大部分。

2.3.1 服务器端程序编写

服务器端主要进行力/力矩传感器的模拟电压信号与力/力矩信号转化、数据处理以及示教轨迹点的存储。首先要配置数据采集卡,设置采样频率为20000 Hz,采样通道数为 6,分别采集 x,y,z,Rx,Ry,Rz 6个通道的数据上传到PC。PC将接收到的数据进行处理,转换成力/力矩存储到一个浮点数据组当中,而服务器与客户端之间是通过Socket TCP进行通信的,所以在发送数据之前首先是建立两者之间的连接。同时,服务器还要接收来自客户端传来的示教轨迹点并且存储到一个浮点数组中。当playback信号发出后,服务器会重新将这些数据6个为1组发送给客户端,实现playback。服务器端程序是在VC6.0环境中编写完成,服务器端程序运行流程如图4所示。

2.3.2 客户端程序编写

图4 服务器端程序运行流程Fig.4 Running flow chart of server program

客户端程序包含了示教手柄功能实现程序以及直接示教执行程序。示教实现流程主要是先判断从服务器发送来的标志数据,即 x,y,z,Rx,Ry,Rz 6个方向的数据。首先是最基本的x,y,z方向,当x位的数据大于4时,循环给x方向加单位速度,但是这样会出现一个问题,机械臂会出现运动卡顿的情况。所以经过多次实验将单位速度设为0.012 m/s,对应的力为4 N,机器人运动会更加流畅。当力增大时,需要加快速度,体现出示教力增大,机械臂移动速度加快。式(5)即为x方向的步长增量公式:

以此类推,设置完y和z方向。然后当力施加于x,y,z夹角方向时,就需要两两进行判断,同时2个方向上进行位移处理。而在进行力/力矩判断的同时,通过Modbus模块拓展了2个输入,1个输入作为示教标志位,1个输入作为playback标志位。当标志位1处于高电平时,接收来自PC的示教轨迹点,完成playback。而标志位2处于低电平时,完成直接示教。程序编写主要是根据URScript的语法以及函数在UR10示教板编写完成,程序流程如图5所示。

图5 示教手柄功能实现程序流程Fig.5 Flow chart of teach handle

客户端程序是按照2个线程进行的,一个线程用来实现直接示教的运动轨迹点执行,一个线程用来记录示教点,将轨迹点发送到PC储存。

当操作者对机器人示教完之后,需要机器人重复执行刚才的示教轨迹,这就是直接示教的重复执行过程。服务器会将每个记录位点的坐标重新发送给客户端,然后客户端会依次执行movej指令,从而实现直接示教的重复执行。

图6 URScript movej指令Fig.6 URScript movej order

如图7所示为以一个正方形工件轮廓作为示教轨迹进行示教,选取特征点进行记录,图8为对示教轨迹的playback过程。

图7 沿工件轮廓进行直接示教Fig.7 Direct teaching along the contour of the workpiece

图8 示教轨迹的playbackFig.8 Playback process of the teaching trajectory

3 结语

本文介绍的直接示教系统,借助于一个六轴力/力矩传感器作为媒介,能够在传统的非直接示教机械臂上实现直接示教,通过上位机的数据处理将传感器的模拟电压信号转化为力/力矩信号作为示教力/力矩的判断标志,客户端通过标志位的变化来实现机器人的移动,进而实现直接示教。然而,由于传感器感知的信号没有进行处理,所以信号存在较大的干扰,加上人的示教力波动较大,所以在示教过程中会存在一定的位置偏移,同时,在进行x,y,z夹角方向判断时不够精确,示教精度没有那么高,该系统没有设计到机器人系统,是在外环的间接变量转换,会稍微有一点延迟,所以本系统有待进一步的优化,使示教更加流畅,精度更高。

[1]Gil M S ,Kang M S,Yu S N.Proposal of intuitive manipulation device for heavy construction material handling based on human-robot cooperation[C]//12th Symposium on Construction Robotics,Japan,2010:128-130.

[2]LiC J,LeeS H,Kim D H.Proposal for the automated robotic deburring for SME using direct teaching and playback method[C]//International Conference on Mechatronics and information Technology,2009:145-147.

[3]Fukuda T,Nakaoka M,Ueyama T,et al.Direct teaching and error recovery method for assembly task basedon a transition process of a constraint condition[C]//International Conf.on Robotics&Automation,2001:1518-1523.

[4]Flood S J,Burks T F.Studies in the optimization of harvesting motion mechanics using a 7-DOF manipulator and a 6-axis Force/Torque Sensor[C]//American Society of Agricultural and Biological Engineers,2006:63-83.

[5]Albu-Schäffer A,Haddadin S.The DLR lightweight robot:design and control concepts for robots in human environments[J].The IndustrialRobot,2007,34(5):376-385.

[6]Choi T Y,Park C H,Do H M,et al.Feature based direct teaching trajectory correction[C]//International Symposium on Power Electronics,Electrical Drives,Automation and Motion,2012:1193-1198.

[7]Park D I,Park C H,Kyung J H.Design and analysis of direct teaching robot for human-robot cooperation[C]//IEEE International Symposium on Assembly and Manufacturing,2009:220-224.

[8]ChoiM H,LeeW W.Quantitative evaluation of an intuitive teaching method for industrial robot using a force/moment direction sensor[J].International Journal of Control,Automation and Systems,2003,1(3):395-400.

[9]Lee S H,Li C J,Kyung J H.The direct teaching and playback method for robotic deburring system using the adaptive force-control[C]//IEEE International Symposium on Assembly and Manufacturing,2009:235-240.

[10]Lee S C,Song C Y,Kim K H.Design of robot direct-teaching tools in contact with hard surface[C]//IEEE International Symposium on Assembly and Manufacturing,2009:231-234.

猜你喜欢
采集卡通讯力矩
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
一种制动器力矩测量系统的研制及应用
高精度AD采集卡性能测试及评价方法研究
血液采集卡存储装置的设计与应用
面向数控机床的多通道传感数据采集卡设计
发动机阻力矩计算和起动机介绍
脉冲采集卡的开发
弹性负载力矩下舵偏转角度的测量方法