APP下载

工业机器人嵌入式示教盒设计

2011-11-14赵凤申李爱芹吴文祥

电焊机 2011年12期
关键词:人机界面按键语句

赵凤申,李爱芹,吴文祥

(1.南通航运职业技术学院 机电系,江苏 南通 226010;2.浙江大学 流体传动及控制国家重点实验室,浙江 杭州 310027)

工业机器人嵌入式示教盒设计

赵凤申1,李爱芹1,吴文祥2

(1.南通航运职业技术学院 机电系,江苏 南通 226010;2.浙江大学 流体传动及控制国家重点实验室,浙江 杭州 310027)

设计了一种便携式工业机器人示教盒。在分析示教盒的便携性要求和人机界面影响因素的基础上,提出采用ARM7TDMI内核和嵌入式实时操作系统的设计方案;充分利用PS/2键盘的特点实现便捷的程序输入和机器人控制;搭载μ C/GUI和LWIP模块实现图形用户界面和网络通信;通过分析编程语言语法结构并结合Nand-Flash的读写特点实现示教文件的本地存储和传输;并根据语法、词法结构设计PC端程序解释器,完成编程语言向执行代码的转换。实践应用表明,该示教盒人机界面友好、运行稳定,具有较强的实用性和一定的扩充能力,能够显著提高在线示教的作业效率。

机器人;示教盒;实时操作系统

0 前言

不同的工业机器人编程方式对生产效率影响明显。其一是离线编程,该方式多与虚拟仿真相结合,对工作环境三维建模,由软件自动生成程序代码并经由网络下载后执行,实现无人值守,但该方式需要精确的三维模型、高技能的操作人员以及完善的自动化生产线,并对机器人的绝对定位精度要求较高,但是其受到末端负载质量等多因素影响,很难保证精度。而在线示教则由示教盒带动机器人到关键点,记录下该点的坐标和运动模式等信息,最后以指定运动模式复现运动轨迹。在线示教方式需要占用作业时间,但其只要求机器人具有较高的重复定位精度,易于实现。

为提高钱江一号工业机器人在线示教效率,设计了一种基于网络通信的、人机界面友好的嵌入式式示教盒。

1 示教盒功能定位和方案规划

示教盒作为人机交互的关键接口,其操作界面的友好程度直接影响作业效率。一般来说,示教盒主要功能分为两部分:一是机器人参数设定和读取,如切换坐标系统、设置焊接参数、工具参数校正、关节位置设定等;二是示教文件的生成、读取、保存和传输。为提高人机交互的便利性,示教盒应具备可视面积较大的液晶显示屏、丰富的图文信息显示和状态提示、较多的操作按键、指示灯等辅助提示功能;同时,应具有便携性,重心适中,降低人员的手部负担,并采用容错性好的高速通信协议等。

2 系统硬件设计

传统MCS-51单片机系统小巧、价格低廉,但是片内资源和运行频率受限,无法加载优秀软件平台和人机界面,而嵌入式工控主板性能强劲,但体积、功耗偏大,功能冗余。在此采用ARM主控方案,该处理器采用高效的精简指令集,片载资源丰富,扩充能力强,能够植入多种嵌入式操作系统,方便加载图形用户界面和网络协议栈等,具有较强的定制开发能力。

显示屏作为人机交互的关键界面,其交互性、易读性和提示性将直接影响人机交互的效率。当前,各厂商示教盒大多采用色彩、图形、文字等要素作为人机交互引导媒介,大多整合了触摸屏。本设计中采用640×480点阵256色LCD,内部自带刷新电路,屏幕附载电阻式触摸屏,通过SPI总线将触摸点的相关信息发送至主控制器,根据需要将液晶屏幕划分系统状态提示区、紧急状态提示区、主菜单区、公用显示区(实现次级菜单显示、程序编辑显示、运行过程提示等),不同区域使用不同的背景色加以区分,提高视觉辨识度。

键盘是人机交互的另一重要途径。在示教盒上,主要完成以下功能:程序编辑与数字录入、关节控制与速度切换、外部设备控制、急停等。键位分布遵循易用、安全的原则,对于同功能区的常用键左右对称分布,实现双手操作,提高输入效率;外部设备控制、运转测试等功能键必须双手双键操作,避免误触按键引起安全问题,部分辅助按键与触屏点击功能相同,实现对LCD功能区域间和区域内的切换,提高人机界面的友好性。

示教盒总计需要按键60个以上,传统矩阵式键盘占用较多的I/O口和扫描时间,尽管8279最多能扩充至64个按键,但也略显不足。本示教盒采用计算机用PS/2键盘芯片82K628A,最多可扩充至128个按键,使用PS/2协议与处理器通信,只需占用两个I/O口。本设计中采用第三套编码,它能够设定单个按键只发送“通码”(Make Code,按键按下)、“断码”(Break Code,按键弹起)或机打码(Typematic,按键按住后周期性发送编码),由于机打码周期性发送,对于关节连续运转、速度调节、方向控制按键来说十分方便,否则必须由操作人员反复按键或由处理器判断键盘通断时间,实现连续可调。而部分功能性按键(如坐标切换)则只需要设定通码即可。

为保障人员、设备安全,在示教盒、机柜上设置有急停按钮,而机器人末端的碰撞传感器、安全护栏信号同样作为急停信号处理,急停信号采用硬件直连。由于焊接过程干扰较大,急停按钮距离控制柜较远,因而对于急停开关信号采用电流环变送至主控制器,经或门运算后直接驱动伺服电机继电器使伺服电机断电,并将该信号送至主控制器外部中端口,主控制器进入外部中断服务程序,通过I/O口读入8-3译码器(74LS148)输出,进而判断何处出现故障,并将故障信息采用网络方式发送至示教盒,提示用户操作。急停控制电路如图1所示。

图1 急停按钮电路结构

示教盒与主控制器之间采用以太网通信,该通信方式效率高、速度快、实时性强,便于控制命令和程序文件的传输。同时,以太网扩展性强,加入路由等网络设备即可通过示教盒实现多机器人控制,或由远程控制中心实现离线编程等功能。

示教盒采用Nand-Flash存储程序代码和用户示教程序,使用Nor-Flash存储系统程序代码,配备SRAM作为系统运行内存,以太网芯片RTL8019AS完成网络通信,以上芯片采用总线的方式与处理器相连接。图2为系统硬件原理框图,图3为示教盒实物图。

图2 示教盒硬件结构框图

图3 示教盒实物

3 系统软件设计

机器人示教盒需要多个任务同时运行,如屏幕显示、网络传输、示教文件读写、键盘响应等,为了提高其实时响应性能,使用实时操作系统完成任务切换和优先级管理。而为提高系统的人机交互性能,充分利用系统硬件资源,则需要开发合适的图形用户界面(GUI)。

本示教盒移植μ C/OS-II实时操作系统,并在其上移植μ C/GUI和LWIP协议栈,用以完成人机界面设计和以太网通信。

3.1 μ C/OS-Ⅱ操作系统的移植

μ C/OS-Ⅱ是一个轻量级占先式实时操作系统,其内核小巧,实时性强,源码开放移植方便,易于开发维护,最多能够管理56个用户任务,利于扩展。

μ C/OS-Ⅱ在S3C44B0X上的移植已经比较成熟[1],经过移植后,采用OSTaskCreate()函数完成任务的创建。

3.2 μ C/GUI的移植

μ C/GUI是广泛应用于嵌入式系统中的图形界面系统,包括丰富的二维绘图库、多字体、位图、彩色和灰度显示功能,并具备Windows风格对话框和各种控件(按钮、编辑框、滑动条等)以及与触摸屏设备的接口,其轻量级的特性十分适合在示教盒中使用。其移植主要通过修改配置文件等,使之与具体硬件平台匹配[2],用户通过调用μ C/GUI系统层提供的API,实现图形界面的绘制。

3.3 LWIP功能模块的移植

LWIP是由瑞士计算机科学院的Adam Dunkels等开发的一套轻量级TCP/IP协议栈,ROM和RAM占用较低,示教盒采用该协议栈完成与主控制器的通信与控制。通过修改在/src/arch目录下的文件既可以完成协议栈的移植[3]。

4 解释器设计

由于工业机器人的操作人员多为一线工人,要求机器人编程语言简洁易学,直观易读,而机器人工作流程相对固定,因而编程语言多采用面向任务的描述性语言,如VAL、VAL-II语言等,该类语言上下文语句的关联耦合较弱,代码长度有限,语句结构多采用“操作方法+操作数据”的结构形式:

MOVJ VJ=25 PL=1

上述语句含义为以关节插补方式,以全速25%的速度运转到目标点,位置接近等级为1,目标点的数据包含在语句中,但为视图简洁并未显示。用户输入过程中,屏幕提示该语句的语法结构,由用户切换可选的操作方法和操作数据,完成语句的格式化输入,因而该种编程方式极少出现语法、词法方面的错误。综合该语言的以上特点,并且限于嵌入式系统的性能,示教文件由示教盒端输入和存储,而由主控制器完成解释和运动规划,并且简化解释器的词法、语法结构分析功能[4-5]。

4.1 示教文件的结构与存储

本示教盒的示教文件主要存储于Nand-Flash (K9F5608)中,可经网络发送和接收。该Nand-Flash总计2 048块(block),每块32页(page),每页512字节(bytes),由于示教文件一般语句不多,每个语句占用24字节(见表4),而Nand-Flash按页读写、按块擦除,为操作方便,每块存储一个示教文件(其中包含文件名等信息)程序语句最大约680行,基本能够满足实际生产需要。Nand-Flash的第一块用作索引区,记录哪些块被占用,便于检索时识别。

表4 示教语句的存储结构

由于示教文件执行添加、删除等编辑操作,使得同一示教文件的存储关系和语句顺序打乱,因而示教文件内前后语句的关联关系采用链表链接,链表结构为:

删除、修改、添加语句操作对应的都是链表节点的回收和变更,如果MotionType代码为0x00则表示程序结束,该链表结构同样适用于其他功能语句,如起弧ARCON等。

4.2 程序解释器的实现流程

示教程序的解释工作主要由主控制器的工控机完成,在其上利用Embedded Visual C++编写解释程序,完成示教文件的网络接收,利用正向运动学计算目标点坐标,按照指定的运动模式完成路径轨迹规划,再利用逆向运动学生成关节脉冲数,经过多轴控制器驱动电机运动或驱动外部设备。

示教解释器的工作流程采用有限状态机(FSM)实现,通过读取示教文件的关键字代码(如0x10代表MOVJ)作为状态切换触发信号,该状态内的动作为对数据进行处理;而对于关联性语句(如四个MOVC语句描述一个封闭圆)进行预读,再次使用其内部的条件语句完成语句解析。具体程序实现上采用C语言中的switch-case语句完成状态切换。

5 实物运行效果及结论

图4为在经由示教盒输入程序完成的圆弧和直线轨迹的焊接,实际焊接效果良好,证实了示教盒方案的适用性。

图4 实际焊接效果

大量使用证明,示教盒运行稳定可靠,人机界面友好,尤其是屏幕、触摸屏、键盘配合极大地提高了输入效率,便携性好,系统实时性强,能够快速响应输入命令,在本机上实现了示教文件的读写。并且,通过示教盒与机器人控制器联网通信,完成了本体关节、外部设备控制,系统状态读取,示教文件的发送、接收、本地存储和列表显示,控制器端的解释器能够完成示教文件的解释并最终机器人代码。网络通络通讯稳定可靠。控制柜、示教盒、机器人本体上的紧急信号能够快速汇总显示示教盒上。

[1]韩志耕,王 健.实时内核uC/OS-II在S3C44B0X上移植的研究与实现[J].计算机工程与设计,2006,27(5):828-830.

[2]徐宝国,宋爱国.基于UCOS和UCGUI的嵌入式数字示波器[J].测控技术,2007,26(7):7-8.

[3]曾繁冲,罗代升,苏 毅.基于UC/OS-II的UCGUI和LWIP资源整合的研究[J].成都信息工程学院学报,2007,22(5):614-617.

[4]陈 英.编译原理[M].北京:北京理工大学出版社,2001.

[5]王 浩,谢存禧.开放式机器人解释器的研究[J].机械设计与制造,2010(8):167-168.

Design of embedded teaching-programming pendant for industrial robot

ZHAO Feng-shen1,LI Ai-qin1,WU Wen-xiang2
(1.Department of Mechanical Engineering,Nantong Shipping College,Nantong 226010,China;2.State Key Lab of Fluid Power Transmission and Control,Zhejiang University,Hangzhou 310027,China)

A teaching-programming pendant of portability and rapid input for industrial robot is designed.By analyzing the influencing factor of portability and user-friendly interface,a scheme is advanced based on ARM7TDMI and embedded real-time operation system,which makes the best of PS/2 keyboard for program input and robot remote control,and transplants μ C/GUI and LWIP to realize graph user interface and Ethernet communication.A program interpreter and local storage methods of program files is raised in consideration of the syntactic structure of programming language and read-write processes of Nand-Flash,then the robot can go into operation by the codes generated from the interpreter.Practices proves that this teaching pendant is user-friendly,efficient,practical,stable,and of strong expandability.

robot;teaching-programming pendant;RTOS

TG409

B

1001-2303(2011)12-0009-04

2011-08-24

南通市应用研究计划资助项目(K2010033)

赵凤申(1982—),男,河南商水人,讲师,硕士,主要从事机器人应用技术的研究工作。

猜你喜欢

人机界面按键语句
基于有限状态机的按键检测程序设计
重点:语句衔接
按键消抖在单片机和FPGA实验教学中的应用
一种多方向导光按键结构设计
CBTC系统车载人机界面的设计与实现
基于PLC与人机界面的经编机电子横移控制系统研究
CTCS-3级列控车载人机界面的系统设计与实现
达人机界面DOP-B10VS511
如何搞定语句衔接题
B超机按键的替换与维护