(1)机器人力反馈控制过程是一个数据实时传输的过程,此时需要有良好的通信作为控制基础,而以太网正是具有高传输速率的优势,目前可达100 Mb/s,能够很好地进行数据传输,减少控制误差,提高机器人反应能力。
(2)以太网作为当今最普遍的计算机局域网技术,容纳性比较高,很多产品都具有相同的通信协议,Ethernet和TCP/IP很容易实现集成连接,和机器人控制系统连接的可靠性比较高,安全控制系数大大提高。
(3)目前比较流行的工业以太网协议就是建立在以太网和TCP/IP协议之上,能够很好地协调传输实时数据,还可以资源共享,通过网页浏览器就能监控设备运行情况,减少人员支出,节约生产成本。这和机器人“低成本、高收益”的生产理念相一致。
智能化机器人控制必然与网络密切相关,示教是一个独立的控制系统,并不能够实现对机械臂的直接控制,真正驱动机械臂运动的是机器人主控制器,为了控制端能够响应示教命令,两者之间必须建立一个通信连接。上位机与下位机的通信连接需要同属一个网络,机器人IP地址的前三段要与PC端保持一致,最后一段要与PC端有所不同,子网掩码和网关应该与PC端保持一致。
为保证示教系统与控制器之间能够有序、稳定的传输数据,必须在两者中间建立它们的通信协议。在PC端c#中调用套接字来建立通信服务器,实现PC端与机器人通信的程序如下:
通过创建SocketConnect,完成PC端与机器人的通信连接,此处主要用于向机器人控制系统反馈由力传感器检测到的力/力矩信息,通过控制算法求得机器人末端执行工具的位置,发送到机器人自身的编程环境,使用RAPID语言完成轨迹编程,实现机器人的力觉示教功能。
RAPID语言的程序数据的存储类型有三种:变量VAR、可变量PERS、常量CONST。每种存储类型都有自己的特点,根据不同场合选用合适的存储,其中程序正在运行过程中或者程序中途暂停时,VAR能够保持存储值不变,但如果程序光标复位或者机器人控制器重启,变量数值就会丢失当前值,恢复为初始赋予值;PERS型数据的最大特点是无论程序指针如何变动,总会保留最后所赋予的值;常量型数据是在编程阶段人为赋予的值,一经确定,便无法在程序运行中进行修改。
RAPID程序语言根据不同的数据用途,定义了不同的程序数据,主要有基本数据、组合数据。
1)基本数据
基本数据是编程语言中的基础单元,通用性很强,往往都是不可拆分的一个整体,应用很广泛。主要分为以下三种:
(1)数值数据num:和其他编程语言中的数值型数据的表达几乎一致,是对具体数字的一种编辑存储方式,能够组合成多功能的复合型数据。
(2)逻辑值数据bool:bool数据多用于逻辑判断场合,是对程序语句“真”或“假”的一种判定方式,常用的表达符号是“false”和 “true”。
(3)字符串型数据string:字符串型数据顾名思义是对具体字符的一种表达,主要用来进行程序注释或者程序名称的书写。对字符长度有限制,不能超过80个字节,同时必须有双引号(“”)括弧字符内容,否则程序被认定错误编辑。(www.daowen.com)
2)组合数据
组合数据则是根据不同应用场合由基本数据组合而来,种类繁多,功能强大,能够满足各种操作,兼容性比较强,这里介绍几款机器人常用组合数据:
(1)位置数据robtarget:用于存储工业机器人和附加轴的位置数据。
(2)速度数据speeddata:用于存储工业机器人和附加轴的速度数据,包括工具中心点速度、工具重定位速度、外轴旋转速度。
(3)转角区域数据zonedata:用于一个位置的结束方式,也就是在开始下一个移动之前,如何尽可能接近编程位置。
RAPID编程语言的程序与其他计算机语言的编程规则大同小异,都是按照一定的先后顺序逐条执行。在执行程序过程中也会调用其他子程序,存在优先级,当子程序执行完毕会返回到主程序继续往下执行。机器人智能运动主要靠这些基础的程序编程指令完成具体的轨迹控制,其中最常用的控制指令有运动和条件逻辑判断两种指令。
1)运动指令
关节运动(MoveJ):该指令适用于机器人大范围运动,只对运动的起点和终点位置进行控制,能够快速到达目标点位置,中间的路径具有不确定性,可用于对路径精度要求不高的场合。由于各关节自动配置驱动,只为到达目标点,不用考虑轨迹路线问题,故也不会出现机械死点情况,多用于快速进/退刀。
TCP线性运动(MoveL):机器人TCP点在执行MoveL命令时,其轨迹运动是呈线性的。起点与终点之间的路径始终保持直线,运动轨迹确定,一般用于焊接、胶涂等对路径轨迹要求不高的场合。
TCP圆弧运动(MoveC):面对有弧度的轨迹路线,机器人需要执行MoveC命令,根据三点画圆的原理确定三个坐标点(起点、终点和曲率点),实现圆弧轨迹运动,该指令能够用于精确轨迹的控制。
绝对位置运动(MoveAbsJ):绝对位置控制属于精确控制指令,通过机器人的6个轴和外轴的具体转动角度锁定目标点位置。
2)条件逻辑判断指令
逻辑判断指令包括紧凑型条件判断指令(Compact IF)、IF条件判断指令、重复执行判断指令(FOR)、WHILE条件判断指令。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。