6-PUS/UPU并联机构开放式控制系统的研究

2014-11-30 07:48梁顺攀窦玉超赵永生
计算机工程与设计 2014年1期
关键词:视图并联分支

梁顺攀,窦玉超,赵永生+

(1.燕山大学 信息科学与工程学院,河北 秦皇岛066004;2.燕山大学 机械工程学院,河北 秦皇岛066004)

0 引 言

与串联机构不同,并联机构的动平台在笛卡尔坐标系中的运动与各运动分支之间是复杂的非线性映射关系,控制模型复杂。因此通用的控制系统不适用于在并联机构上直接应用,必须针对并联机构的具体情况进行开发。目前国内外并联机构的控制系统大多数都存在功能过于集中、耦合度高、可扩展性差、维护困难等缺点。采用开放式体系结构的控制系统是新一代控制器的发展趋势。目前国内外较著名的开放式控制系统有欧共体提出的OSACA,美国提出的OMAC计划,日本的OSEC,清华的OCSIA等等[1]。但这些系统在其功能实现和系统建模方面仍有很多不足。为了满足6-PUS/UPU冗余驱动并联机构面向多用户、多用途、高柔性的任务需求,结合面向服务的思想以及模型-视图-控制的开发模式,提出了一种基于SOA/MVC的开放式控制系统架构。并根据该架构开发了6-PUS/UPU并联机构控制系统,增强了控制系统的柔性和开放性。该框架是一个具有灵活扩展、按需定制、易于整合的技术平台。

1 SOA/MVC控制系统架构

1.1 6-PUS/UPU并联机构简介

6-PUS/UPU 是一种新型冗余驱动 并联机构[2-4]。如图1所示,该机构由定平台、动平台、6个驱动分支PUS和一个约束分支UPU组成。由于中间UPU约束分支约束了动平台的一个自由度,因此动平台只能实现5个自由度的运动,但是该机器人共有6个驱动,此时该机器人是冗余驱动的。该机构的6个PUS分支均依次由1个P副 (移动副),1个U副 (虎克铰),1个S副 (球副)连接而成,中间UPU约束分支则由2个U副和1个P副组成。中间分支与动平台连接的虎克铰,是由一个球铰 (S副)和一个固定轴承盖组合而成。当拆除这个固定用的轴承盖,则中间支路为UPS,此时中间支路对动平台不起约束作用,该并联机构成为一个6自由度的Stewart并联机构。

图1 6-PUS/UPU并联机构

该机构通过中间约束分支的变换实现冗余和非冗余模式的切换,在冗余驱动模式下,该机构还具有变自由度的特点。该机构为研究空间冗余驱动并联机器人提供了很好的平台,也可作为多任务、多构型的空间并联机构的测控理论研究和实验平台。

1.2 控制系统需求分析

从功能需求分析的角度看,6-PUS/UPU机器人主要作为一个机电一体化多功能测控平台,机械本体可以衍变成多种构型有:一般并联机构 (如6-PUS),少自由度机构(如5-PUS/UPU)和冗余驱动机构 (如6-PUS/UPU)等;机构的工作任务多变,主要的研究任务包括:冗余驱动、少自由度、完全自由度、力/位混合控制、曲面跟踪、网络控制研究等等。

从使用的人员来看,不同的用户以及不同的任务都带来个性化的需求。比如基于个人智能终端的网络控制应用中,用户则希望在客户端能提供简单、便捷的配置,并希望能在原系统中添加一些新功能。这都需要在系统架构的设计过程中,充分考虑用户的现在需求、预计其未来的需求,从而提高软件的可配置性、灵活性。

此外,传统基于网络应用的开发模式采用B/S/D三层结构。在这种模式中,核心层是处在中间的服务器,无论是用户交互的界面,对数据进行逻辑处理的功能模块,对数据库进行数据访问的模块均集成在服务器端。这导致服务器端过度膨大,模块之间耦合性高,导致系统性能降低、代码维护困难、安全性差等缺点的出现。同时,也不利于系统的扩展。

从数据需求分析的角度来看,系统中的数据主要包括:实时性强的控制信号、PMAC的运动控制程序、各部件的设置参数、传感器的实时反馈数据、用户信息、用户指令和日志记录信息等。这些数据有些需要进行保存,有些则只用于过程控制或显示;数据的大小变化幅度大;数据的实时性需求也不同。

如按照传统的定制模式进行数控系统开发,则该系统将非常膨大、部署复杂、耦合度高不易扩展,且难以实现和维护,无法满足教学、研究和应用需求。随着并联机构研究的深入、应用领域的拓展,这种开发已经成为制约并联机构广泛应用的瓶颈之一。

1.3 控制系统架构设计

根据上述设计要求和设计目标,提出了一种基于组件技术,将组件技术的独立性和灵活性、SOA的可重构性、MVC的逻辑与显示的隔离性应用于控制系统架构的设计,可开发出更开放的、高柔性的控制系统。控制系统的整体架构如图2所示。

控制系统主要由下面三部分组成:视图层、控制层、模型层。系统可以划分为5个子层:应用子层、服务总线子层、服务模块子层、驱动子层、设备子层。

参考一些经典构架方案[5-7],在设计模型层时,将其分为驱动子层和设备子层。当硬件设备进行更新或者替换时,只需要在驱动器子层按照相应的驱动程序,并且让驱动管理器进行重新加载即可,避免了对上一层的影响。控制层则划分为服务总线子层和服务模块子层。各个封装好的功能模块作为组件放置在服务模块子层,而服务总线子层则负责服务模块的管理和注册,并向上一层提供服务。根据SOA的观点,可把模型层视作底层服务的 “提供者”,控制层调用这些底层服务以便上层的视图层提供更高层次逻辑的功能,而视图层则向用户提供服务。

2 开放式的模型层

图2 控制系统总体架构

模型层包含了驱动子层、设备子层。模型层是控制系统的主要被控制对象,向上层提供了服务的接口。设备子层主要包括了被控制的各种物理对象、虚拟样机以及相关数据。驱动子层负责各种被控对象的驱动程序及对其的管理。

根据开放式控制系统的主要思想和特征[8],为了保证6-PUS/UPU并联机构的硬件具有互换性、模块化、可扩展性等特点,设备子层必须是开放的;同时为了向上一层提供服务,需要利用驱动子层来封装底层的设备的多样性。

2.1 驱动子层

驱动子层主要有下面三部分组成:服务接口、驱动管理器和各种驱动程序。

驱动管理器是驱动子层的管理层,作用于服务接口和驱动程序之间,其跟踪可用的驱动程序,并在样机、数据库等各种设备和相应驱动程序之间建立连接。

模型层通过服务接口向上一层提供服务。上一层通过服务接口操作机器人、虚拟样机和数据库。

驱动程序包括运动控制卡、各种接口卡;联合仿真软件所需的接口设置参数和调用指令;各种数据库的驱动程序等。驱动程序将自身加载到驱动管理器中去,并处理相应的请求并建立与相应设备的连接。

2.2 设备子层

设备子层和具体设备相关。根据任务需要不同、应用场合不同,可以添加所需的传感器、PLC设备、伺服设备等多种类型设备。本系统将样机、虚拟样机和数据库都看成是被控制的对象同处在设备子层。虚拟样机在ADAMS和MATLAB仿真软件里建立;数据库则由数据库管理系统负责管理,数据库存放用户信息、系统参数、日志信息等内容,其中最核心的是样机。其硬件结构采用 “IPC+运动控制卡”控制模式,如图3所示。

在 “IPC+运动控制卡”模式中,工控机为上位机,负责轨迹规划、插补、任务调度等,是数控系统的核心部分;运动控制卡内部包含位置控制器、速度控制器,力矩控制器等,负责各个电机精细运动指令生成、各个电机运动的协调等;电气部分主要有驱动器、电机、继电器等,该部分将运动控制卡生成的指令转为电机的转动,同时由电机的光电编码器测得的位置信息、转速信息等反馈给运动控制卡;机械传动部分采用高精密滚珠丝杠,通过丝杠上滑块的运动带动各个分支的运动;在每个滚轴丝杠基座上安装光栅尺,滑块安装读写头,通过读写头将每个分支的位置信息、速度信息反馈到运动控制卡,再通过运动控制卡反馈到工控机上。

因此,“IPC+运动控制卡”方案既可以利用工控机的高性能来实施多种复杂的控制及解决各分支的同步协调问题,又可利用PMAC的高实时性来实现运动的精确控制。

3 模块化的控制层

控制层主要包括服务总线子层和服务模块子层。在整个控制系统中,控制层处在中间,是整个系统的枢纽部分,控制层负责向视图层提供服务,同时控制层也要使用模型层的服务。其中服务总线子层负责整个系统任务的调度,服务模块子层则由完成具体任务的功能模块所组成。

该开发模式能有效降低功能模块与模块调度等管理逻辑之间的耦合程度,使得开发人员可以在已建成的核心模块基础上根据新的任务需求迅速地添加新的功能模块,从而实现系统的功能定制和扩展,满足不同用户的不同需求。

3.1 服务总线子层

图3 控制系统硬件结构框架

服务总线子层是整个系统的中心构件。在SOA架构中,服务总线子层是整个架构的控制枢纽。通过服务总线子层屏蔽了各服务模块的细节、管理和调用关系,对外提供了更高逻辑层面的服务。

服务总线子层负责接收上一层的服务请求,自动完成服务流程的处理,并将这些服务请求进行解耦;负责注册、登记各服务模块的相关信息,并对其进行管理;将解耦的服务请求和已登记的服务模块进行匹配,在匹配的两者间建立连接通道,并监控服务的状态。服务总线子层的核心模块包括业务逻辑处理模块、服务调度模块、服务状态管理模块、总线管理模块与服务接口模块等。

(1)业务逻辑处理模块,它是服务总线子层中最核心的功能模块。负责解耦服务请求;匹配服务请求和服务提供方;负责服务逻辑业务的组织;负责各个服务模块之间通信和数据转发。该模块实现了服务请求方与服务提供者之间的屏蔽,将服务请求者从具体繁琐的任务执行过程中解脱出来,一切中间过程均交给了服务总线子层自动完成。

(2)服务调度模块,根据服务请求方的具体任务需求,实时调用服务模块子层中的服务模块。此外,该模块还负责为服务模块的运行分配所需的CPU、内存等资源,以保证服务请求在允许的时间内完成,从而提供服务的质量。

(3)服务状态管理模块,负责监控、管理系统中正在被调用的各个服务组件的状态。服务组件的状态主要有启动、报错、等待、终止等。服务组件在服务状态管理模块监管下,根据服务流程和服务需要在上述的状态间进行转换。

(4)总线管理模块,其主要根据各个服务任务的优先级调度任务运行;控制指令的验证及执行;总线对各服务的检错容错;总线的自我检错和容错等等。

(5)服务接口模块,包括三类服务接口:服务接口、外部服务接口、内部服务接口。利用服务接口使用模型层所提供的服务。内部服务接口向视图层提供本地控制的服务。外部服务接口向视图层提供网络访问控制的服务。

3.2 服务模块子层

服务模块子层提供了完成具体逻辑任务的各模块。各模块是松耦合的,各模块均由服务总线子层负责调用。各服务模块可以根据任务的需要进行扩展,下面对系统的部分核心模块进行了设计。

3.2.1 控制对象选择模块

不同的被控对象具有不同的特性,需要进行分类控制。当控制系统添加了新的控制对象后,只要访问该被控对象的接口负责制定的规范,则无需修改系统其它模块的代码,只需添加该被控对象的驱动程序、添加所需的功能模块,即可实现功能的扩充。本模块主要实现了包括对6-PUS/UPU样机、虚拟样机及数据库这些被控对象的选择及初始化。

3.2.2 控制模式选择模块

该模块主要是根据用户的请求,提供被控对象在不同的控制模式下进行切换的功能,并设置相关的参数。不同的控制模式对被控对象的参数设置、各种资源的操作方式、操作权限等均有所不同。为了满足教学与科研的需要,6-PUS/UPU并联机构的控制系统应支持本地控制和网络控制两种方式。

3.2.3 样机构型选择模块

由于样机自身特点,可衍变成多种构型。每种构型的运动学模型会有所差别,因此根据构型来配置控制系统。本文目前主要定义了如下构型:6-PUS、6-PUS/UPU。

3.2.4 操作模式选择模块

本模块主要实现两种操作模式:一是通过下载运动程序到PMAC卡,在运动程序控制下的自动控制模式;二是在用户在线发送运动指令模式下的手动控制模式。自动控制模式一般用于已知末端执行器的运动轨迹情况下所采用;而手动控制模式一般用在定点位置控制情况下,此时需要实时调用反解模块进行运动反解。

3.2.5 控制策略选择模块

该模块主要对各种控制模式进行分别控制,只要符合相应的接口范围,即可以在不改动其它模块的情况下改变被控制对象的控制策略。本模块主要的控制策略有:基于关节空间的PID控制、与环境非接触的力/位混合控制、带同步器的力/位混合控制、与环境接触的力/位混合控制等等。

3.2.6 样机参数设置模块

样机在加工装配后,由于各个部件的制造、装配误差,导致并联机构的理论结构参数与实际参数之间存在误差,为了提高运动精度,需要对样机进行标定,标定后需要对相关的样机结构参数进行补偿。此外,在长时间运行后,或某些情况下,也需要对系统的结构参数进行重新补偿。该模块提供了对样机的结构参数进行设置。

3.2.7 轴控制设置模块

轴控制设置模块主要是设置每个驱动分支的控制模式,主要包括每个驱动轴的反馈方式的设置、驱动电机的控制模式的设置这两部分内容。

每一驱动分支均可以单独进行相应控制参数的设置。在控制方式选择中,根据反馈方式的不同,有以下两种模式可供选择:半闭环、全闭环方式。半闭环方式:位置反馈信号与速度反馈信号均由电机编码器产生;全闭环方式:位置反馈信号由光栅尺测得,而速度反馈信息则由电机编码器反馈实现。当选取不同的控制方式,需要修改PMAC卡相对应的I变量。

每个伺服电机都有3种控制模式:位置控制、速度控制和转矩控制。在选择完反馈模式后,可以设置伺服电机的控制模式。当选取不同的轴控制方式时,从PMAC发出的指令则通过8E卡的不同通道发送到各电机驱动器的相应输入端口。位置控制与速度控制方式转换,PMAC卡的响应I变量取值需要做相应的调整。

3.2.8 运动学算法模块

运动学模块主要实现的功能:参照样机构型选择模块的参数,选取与构型匹配的运动反解模型,结合轨迹规划中所规划的速度、运动时间等信息,将经过插补处理模块处理后的离散线段反解为任务空间上且符合PMAC运动程序格式要求的各个驱动轴的伺服指令。

3.2.9 插补处理模块

插补处理模块首先对运动程序进行编译处理,包括运动程序进行词法、语法检查,无误后,将编译过的运动程序轨迹段进行粗插补。再将运动程序中的控制代码转化为控制系统内部的运动控制程序文件格式。本系统的插补处理模块目前只提供直线插补方式。各分支运动轨迹的插补由粗、精两次插补完成,其中粗插补的计算量大,这部分由上位机来完成,插补周期则由低层PMAC控制器的采样频率决定,精插补由PMAC完成。本模块,主要即完成粗插补功能。

3.2.10 回零控制模块

本模块分别提供了非冗余驱动下的回零和冗余驱动下的回零两种回零方式。

在非冗余驱动下,本系统让所有的驱动分支沿同一个方向运动,当光栅尺读数头经过光栅尺上参考零位时被触发,然后驱动分支再反向移动到距离参考点某一位置的零点,该位置即为零点,也是坐标系的原点。为了兼顾灵活、速度,本模块分别实现包括6个驱动分支的单独回零、同时回零功能。

冗余分支采用随动控制模式。在随动控制模式下,安装在冗余驱动分支上的传感器受到的拉压力。所采用的回零策略分三步骤:当机器人需要回零时,控制系统将冗余分支的控制模式改为随动控制模式,此时,冗余分支的驱动器处于力控制模式,并且发送输入力为零的命令,冗余分支会跟随动平台的运动而运动;其它分支首先调整动平台的位置,让各分支的回零行程基本相同的情况下,再实施各分支独立自主地回零;最后,冗余分支再次修改控制模式,改回为冗余控制模式。基于上述的回零策略,准确性和效率都比较好。

3.2.11 位置正解计算模块

在显示动平台位姿、动力学控制模式下,都需进行位置求解。本模块利用Matcom文件翻译器将求正解的MATLAB程序转化成VC,程序运行时,调用Matrix的C++数学库,实时进行正解计算来完成显示功能。

3.2.12 状态显示模块

为了让样机操作人及时了解样机的运行动态,需要将主要运动部件的状态信息实时地在屏幕上显示出来。这些信息主要包括:动平台的位置信息、各驱动分支的位置和速度信息等等。

3.2.13 信息管理模块

包括用户管理子模块、日志管理子模块。

用户管理子功能模块实现账号注册、登陆验证等。当某用户试图登陆控制系统时,控制管理中心把该用户的信息传给用户管理子功能模块,该模块调用保存在数据库中的注册用户信息来核实该账户的合法性。

日志管理子功能模块在程序运行后负责机器人整个工作过程中状态信息记录和保存。日志管理子功能模块能对监控模块的分析结果提取异常情况,以不同颜色提示用户。且可通过 “日志查询”命令对以往的日志进行查询分析。通过对记录下的数据定期进行对比分析,可以对系统的各零部件性能进行监控评价、预测和优化。

3.2.14 安全监控模块

为了保证系统能连续、安全地运行,在软件系统设计了安全监控模块。为了让各驱动分支不超出其工作行程,本系统分支杆设计了从里向外三层安全保护:第一级安全保护是通过软件查询判断的方式进行;第二级安全保护是通过光栅尺上的读写头经过光栅尺两端的限位时产生信号发生跳变,PMAC运动控制器通过中断方式捕捉信号上升沿,伺服系统立即启动减速急停;第三级安全保护,采用了行程开关。

4 面向任务型的视图层

由于SOA/MVC架构的开放性,以及视图与模型的分离,其视图层上的各种交互界面可以独立开发,互不干扰。可以根据不同的应用需求,不同的任务类型,不同的用户类比开发出不同的交互界面,以满足不同的需求。所有的视图均通过模型层的模型获取数据,只要模型的数据发生变更,各视图就能获取最新的数据进行更新显示。

对应控制层的服务接口,本系统的视图层提供界面主要有两大类:一类是基于本地机的内部界面;一类是在远程主机上运行的外部界面。可细化为:网络终端界面、Web界面、本地终端界面、任务型控制界面等。

4.1 控制系统本地终端开发

友好的界面设计可提高人机交互的效率及降低误操作的概率,6-PUS/UPU冗余驱动并联机构控制系统的本地控制终端人机交互界面如图4所示。

本地控制终端人机界面主要包括下面的部分:功能菜单、代码编译区、指令位姿显示区、驱动分支滑块位置和速度显示区、快捷按钮区、状态显示灯、控制面板部分以及扩展模块区等。

4.2 基于局域网的网络终端开发

本系统目前只实现了基于客户端的网络控制,服务器端和客户端通过局域网进行连接。此外为了避免操作人员的不适应度,服务器端和终端的人机交互界面是一致的。

图4 控制系统人机界面

此外,作为一个多功能测试实验平台,其硬件及控制软件都应具有良好的开放性。为了验证上海65m射电望远镜副面调整机构[9]控制系统的有效性和可行性,本样机作为验证机提供了实验的平台,基于SOA/MVC架构开发出了基于局域网的测试系统,其控制界面如图5所示。

图5 上海65米望远镜副面控制系统人机界面

其界面主要添加了包括网络设置,副面位置显示,副面调整方式选择、安全等级选择、日志管理、点动调整等与副面进行控制的功能模块、交互按钮和信息显示框。

4.3 柔顺装配实验控制系统终端开发

为了进行柔顺装配实验[10],基于本控制系统开发了柔顺装配控制系统。柔顺装配控制系统的人机界面如图6所示。

为了及时观察采集卡各测量通道的电压、预紧电压和六维力传感器的测力信息等内容,该界面在原有并联机器人控制系统功能上加入了六维力采集、处理和显示以及并联机器人力控制的部分,实现并联机器人的运动操控、系统运行状态显示以及六维力传感器的相应的控制功能;传感器状态监测部分,用于显示并联机器人动平台受力情况。

5 结束语

图6 柔顺装配控制系统人机界面

本文根据6-PUS/UPU冗余驱动并联机构的特点及任务需求,开发了其控制系统。首先针对6-PUS/UPU进行需求分析,进而提出基于SOA/MVC的开放式控制系统架构,然后分别设计完成开放式的模型层、模块化的控制层和面向任务型的视图层。该控制系统功能完善,模块化程度高,可扩展性强,稳定性高,完全满足机电一体化多功能测控平台的多任务需求。控制系统的实现证明了SOA/MVC架构可大大增强控制系统的柔性和开放性。

[1]LAI Yuliang.Realization of software bus and scheduling of open control system [D].Guangzhou:South China University of Technology,2011:5-8 (in Chinese).[赖宇亮.开放式控制系统软件总线及调度的实现 [D].广州:华南理工大学计算机应用学科硕士学位论文,2011:5-8.]

[2]LIANG Shunpan,DUAN Yanbin,ZHENG Kuijing,et al.Kinematics control of a new 6PUS-UPS/UPU parallel manipulator with variable mobility [C]//International Conference on Mechanic Automation and Control Engineering,2010:6330-6334.

[3]DUAN Yanbin,LIANG Shunpan,ZENG Daxing,et al.Kinematics and workspace analysis of 6-PUS/UPU parallel manipulator[J].Journal of Machine Design,2011,28 (3):36-40(in Chinese).[段艳宾,梁顺攀,曾达幸,等.6-PUS/UPU并联机器人运动学及工作空间分析 [J].机械设计,2011,28(3):36-40.]

[4]LIANG Shunpan,GAO Sihui,HAN Xing,et al.Dynamics modeling and simulation of 6-PUS/UPU parallel manipulator

[J].Journal of System Simulaiton,2012,24 (9):1839-1843 (in Chinese).[梁顺攀,高思慧,韩兴,等.6-PUS/UPU并联机器人动力学建模及仿真 [J].系统仿真学报,2012,24(9):1839-1843.]

[5]WU Shanyu,ZHANG Ping,LI Fang.Research of SOA-based logistics controlling system [J].Computer Engineering and Design,2012,33 (2):561-565 (in Chinese).[吴善玉,张平,李方.基于SOA的机器人物流系统架构研究 [J].计算机工程与设计,2012,33 (2):561-565.]

[6]ZHAO Bin,XIA Hongxia,ZHANG Hao,et al.Novel design of remote control system architecture based on the technology of plug-in framework and script language [J].Journal of Wuhan University of Technology,2009,31 (11):109-112 (in Chinese).[赵斌,夏红霞,张皓,等.一种新的基于插件和脚本的远程控制架构设计 [J].武汉理工大学学报,2009,31(11):109-112.]

[7]ZHANG Qiuyu,CHI Ning,LIU Ye.Network control system of mobile robot based on MVC [J].Computer Engineering and Design,2007,28 (2):3097-3010 (in Chinese).[张秋余,迟宁,刘晔.基于MVC的移动机器人网络控制系统 [J].计算机工程与设计,2007,28 (2):3097-3010.]

[8]LUO Shaoqi.The research of trajectory planning and control on the open architecture control system based on light serviceoriented architecture[D].Guangzhou:South China University of Technology,2012:1-2 (in Chinese).[罗少奇.LSOA开放式控制系统的轨迹规划及控制的研究 [D].广州:华南理工大学计算机应用学科硕士学位论文,2012:1-2.]

[9]DOU Yuchao,YAO Jiantao,HOU Yulei,et al.Orientation precision monitoring and homing strategy of the subreflector adjusting system for 65meters radio telescope [J].Robot,2012,34 (4):399-405 (in Chinese).[窦玉超,姚建涛,侯雨雷,等.65米射电望远镜副面调整系统姿态精度监测与回零策略 [J].机器人,2012,34 (4):399-404.]

[10]WU Yao.Theory and experiment research of compliance assemble based on six-component force sensor [D].Qinhuangdao:Yanshan University,2012:32-48 (in Chinese).[吴遥.基于六维力传感器的柔顺装配理论与实验研究 [D].秦皇岛:燕山大学机械电子工程学科硕士学位论文,2012:32-48.]

猜你喜欢
视图并联分支
一类离散时间反馈控制系统Hopf分支研究
识别串、并联电路的方法
巧分支与枝
5.3 视图与投影
视图
Apparent diffusion coefficient by diffusion-weighted magnetic resonance imaging as a sole biomarker for staging and prognosis of gastric cancer
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
审批由“串联”改“并联”好在哪里?
并联型APF中SVPWM的零矢量分配