基于DSP和FPGA的欠驱动灵巧手控制系统设计

2015-04-26 08:24孙恺张劼何广平陆震
机床与液压 2015年3期
关键词:多指指端伺服电机

孙恺,张劼,何广平,陆震

(1.北方工业大学机电工程学院,北京 100144;2.北京航空航天大学自动化科学与电气工程学院,北京 100191)

0 前言

欠驱动多指灵巧手是一类典型的新型仿人手,它在结构设计上采用了欠驱动原理,使其驱动单元数目少于机构自由度数目,它相对于全驱动灵巧手具有成本低廉、结构简单、控制相对较易、体积较小、质量较轻等优势,而且这类机器人手操作灵活,自适应能力较强,能够完全包络被抓取物,抓持性能良好[1-2]。目前,许多结构和功能各异的欠驱动灵巧手已被逐渐广泛应用于残疾人假肢、航空航天等相关领域,具有较好的应用前景。

为了保证欠驱动灵巧手在操作和抓持各类物体时的运动特点和功能要求,解决其轨迹规划非完全可控[3]等问题,欠驱动灵巧手控制系统应具备足够的自动化程度,针对被抓持物体的不同类别和特点,可以准确协调多指抓持过程的运动特性,快速反馈抓持过程中的具体复杂信息,具有较为灵敏的手指感知功能,能够实时地进行精确高效的控制,确保抓持和操作物体的可靠性和稳定性[4-6]。以往基于欠驱动原理设计的灵巧手控制系统在实现的技术手段上具有一定的局限性,存在一定程度的能量耗散和系统运行不稳定。针对以上相关问题,结合所研制的欠驱动多指灵巧手样机的运动特性和任务要求,提出了基于DSP和FPGA主从结构的复合式递阶控制系统,并探索了基于遗传算法的最优抓持运动规划问题,软件部分采用模块化思想设计,最后进行了相关实验验证,保证了控制系统的可靠性、稳定性和响应快速性。

1 欠驱动灵巧手机械结构

欠驱动多指灵巧手机械结构包括腱、手指、掌部和内部传动等部分,如图1所示。灵巧手手指均采用腱和滑轮的结构传递运动和动力,每只手指均分别由一个电机独立驱动,从而使3个关节依次耦合运动,同时通过对多个电机的有效协调控制和手指压力信息的采集,最终完成整手的稳定弯曲和伸展动作,形成自适应包络抓持、操作各类不同物体。

图1 欠驱动多指灵巧手

2 控制系统总体结构设计

欠驱动多指灵巧手由于其运动特性和任务要求,除了需要对各个被动关节有效的控制之外,还需要对各手指的力/位置和整手多指的协调运动进行实时准确控制,为了满足上述要求,控制系统采用了主从控制和自主控制相结合的复合式递阶控制体系结构,整个系统由3个分层构成,依次是上位机终端决策层、多指协调运动层和底层控制层,如图2所示。上位机终端决策层通过USB总线与多指协调运动层交互通信,实时获取采集到的灵巧手运动、传感器信号等信息,同时远程监控灵巧手运行状态,并根据所获取的各类信息完成对灵巧手运动轨迹的规划和自动调整。多指协调运动层负责整体协同工作和信息的反馈。底层控制层主要针对被动关节的运动控制和手指压力信息采集,该层接受来自上层的运动指令完成对电机的伺服控制,精度较高,具体负责控制器底层行为。

图2 控制系统总体结构框图

3 控制系统硬件设计

上位终端决策层主要用于抓持运动整体规划和自动调整,它负责发出各类单指或多指运动的控制指令,能够显示各种状态信号的监控,包括:单指和多指的运行状态、伺服系统运动参数(目标速度、绝对位置、位置偏差、电流),压力传感器信息、各类报警情况等,同时还可以设置相关参数(如指端压力阈值、位置零位等),以及调试运行和紧急制动。

由于多指协调运动层直接控制底层设备,它负责协调具体的抓持、操作运动,往往需要有较高可靠性、实时性和灵活性,因此该层采用了DSP和FPGA相结合的主从结构模式,硬件结构如图3所示。

图3 多指协调运动层硬件结构图

微处理器选用的是某公司的TMS320F28335,其增加了浮点运算内核,内部资源丰富,主频可达150 MHz,具有更强大的数据处理能力,同时提供了丰富的片内外设资源和各类接口,如增强型ePWM、A/D等,能够为控制器算法的实现提供可行的硬件基础,特别是适合于底层电机控制,满足抓持任务要求。FPGA由于其强大的逻辑处理和并行数据处理能力,能够较好地满足设计任务要求,该控制系统选用的是CycloneⅣ系列的EP4CE6E22C8,其内部具有丰富的逻辑资源。在设计中,FPGA用来实现DSP外围的译码电路和位置信息保存,其内部设计了正交解码(QEP)鉴相和计数电路,DSP可通过外部存储器总线EMIF与FPGA进行通信,读取FPGA对电机编码器脉冲信号处理完成后所获得的计数器数据,可用于伺服电机运动信息的获取,便于协调控制。

该层还外扩了SRAM和Flash,用于大容量存储数据,USB接口用于与上位终端层通信,232串口和485串口分别用于软件调试和预留接口,JTAG用于程序下载和仿真,蜂鸣器用于错误信息的报警。

底层控制层是整个控制系统设计中最为基础和关键的部分,其主要用于灵巧手手指关节驱动和指端压力信号的采集,完成稳定地抓持、操作各类物体,如图4所示。对于伺服电机控制,微处理器DSP具有增强型PWM(ePWM)模块,该模块中的每个完整的PWM通道都是由两个PWM输出组成,并配有硬件扩展模块HRPWM(高精度脉冲宽度调制器),因而能够产生足够的PWM信号控制直流伺服电机。为了提高控制系统的稳定性和可靠性,伺服电机驱动芯片采用某公司的LP6206PD芯片,同时在处理器和电机驱动芯片之间采取了光耦隔离和整形,提高了抗干扰能力。直流伺服电机集成了光电编码器,编码器信号随着电机的转动输出三对差分信号,通过芯片AM26LS32的信号处理,三对差分信号变为三路脉冲信号(即A信号、B信号、C信号),这三路脉冲信号输入至FPGA内部单元设计的解码电路(QEP)中,完成伺服电机转速信息的采集工作,并把结果保存在FPGA内部寄存器中,DSP再由EMIF总线与FPGA进行通信,读取寄存器数据。在设计中,还对伺服电机电流进行了采样,最终完成对电机电流环的有效控制。对于指端压力信息采样,使用了高精度的压阻式传感器FSR系列,该传感器增强了指端对抓取物体压力的感知能力,压力信号通过钳位、运放等调理电路和RC滤波后被采样,由DSP内部的A/D转换器转换为数字信号,提供给微处理器,实现对指端压力信息的实时控制,使指端压力不超过设定的阈值。

图4 底层控制层硬件结构图

控制系统的通信模块主要用于上位终端层与多指协调运动层间的指令传输和信息反馈,根据欠驱动灵巧手仿人抓持物体的实际工作环境和较多的控制信息,采用了USB总线协议作为通信标准,USB总线具有较高的传输效率,提高了灵巧手工作的可靠性。芯片采用的是FT245RL,DSP输出使能信号和读写信号(由片选信号通过74HC1G02GV处理得到),同时在设计中也使用了NUP2105L防ESD干扰。

4 控制系统软件及算法设计

控制系统软件部分采用了模块化设计思想,其关键在于底层运动控制部分,电机的运动状态和指端压力信息的反馈直接影响欠驱动灵巧手能否稳定抓持物体,控制系统各层软件的设计采用自底向上的原则。根据抓持任务,底层软件可具体划分为位置信息保存(包括初始零位信息)、USB和串口通信、电机运动PID控制、抓持、放松回零、抓持力控制等主要功能模块,空间任意位置均可设置为指节初始零位,电机电流环的错误处理单元能有效地避免指节的“弹射”现象所产生的抓持失效和电机堵转,数字式PID可较好地实现关节位置的闭环控制,力控制模块能有效地监测指端压力阈值。上位机软件负责与下层交互通信,获取运动状态、传感器压力反馈信息,完成系统监控和运动规划的软件调整。图5所示为底层运动具体的软件控制流程。

图5 底层运动控制软件流程图

灵活有效的抓持规划算法是决定整个系统是否稳定的关键因素,抓持的目的在于通过接触点将外部的力与运动传递给被抓持物体,使物体受力平衡,能够实现相关预期操作。文中所述的欠驱动灵巧手采用腱式结构设计,可实现对被抓持物体的包络抓取,该问题可抽象为一个特殊的车间作业调度问题(JSSP),因此可采用基于遗传算法(GA)来对欠驱动灵巧手进行近似的最优抓持运动规划[7]。

车间作业调度问题是一类满足任务配置和顺序约束要求的资源分配问题[8],也是约束组合优化和典型NP难问题。文中所提出的特殊车间作业调度问题可以用以下数学模型描述:

设有M台设备,N个工件,每个工件包含一道或者多道工序,工件的工序顺序预先确定,所有的工件均有相同的加工顺序,每台设备只能加工一个工序,不同的设备对不同的工序加工性能和时间不一致,加工一旦开始无法中断,工件间具有相同的优先级,使得在满足性能指标的情况下,能够确定每个工序合适的加工设备和最短的全部工件加工时间。

结合具体的欠驱动灵巧手抓持运动特性,即:手指各个关节依次运动,各指节依次接触被抓物表面的适宜点,从而实现包络抓持,文中所提出特殊的车间作业调度问题和欠驱动灵巧手抓持运动特性的映射关系如表1所示。

表1 映射关系

其中,上表所述的适宜接触点需在考虑具体的操作任务的情况下,借用文献[9]相关算法来实现,文献[9]给出了在考虑实际被抓物体的重力和惯性等因素下,能够进行稳定抓持的指尖接触点所满足的条件;抓持稳定则可通过力封闭和最短的抓持运动时间等指标进行评价。

在欠驱动包络抓持规划算法设计上,采用了遗传算法(GA)寻求该问题的最优近似解,主要的遗传操作包括:复制、交配、变异。针对文中所提出基于实际灵巧手工作特性的特殊JSP问题,首先要解决染色体编码问题,可将工件(灵巧手手指)的工序(手指关节)作为基因元素,从而得到编码空间的染色体。选择算子采用轮盘赌选择方法,在交叉操作中采用文献[10]所提出的单点顺序交叉算子,变异算子采用逆序变异的方法,适应度函数的变换式为F(x)=Cmax-f(x),f(x)表示作业加工最短时间,最后再进行抓持稳定性(力平衡)准则判断。相关仿真参数设置为:种群规模m=30,交叉概率Pc=0.75,变异概率Pm=0.05,进化代数为150,模拟的结果表明:该算法能够趋近欠驱动灵巧手的近似最优抓持运动规划,且算法能够较好地收敛。

5 控制系统抓持测试实验

根据欠驱动灵巧手抓持运动性能的要求,搭建了系统硬件平台进行抓持测试实验,测试过程如下:上位机终端设定测试初值,协调层接收控制命令,驱动底层电机的具体运动,同时反馈给上位机终端实时显示,完成对系统的控制和监测,测试结果表明:底层控制层能够较好地完成运动指令,响应迅速,欠驱动灵巧手能够稳定地完成抓持各类物体。上位机界面如图6所示,部分抓持效果如图7所示。

图6 上位机界面

图7 抓持效果实验

6 结论

基于欠驱动原理设计的灵巧手系统具有明显的优势,根据抓持运动特性设计的复合式阶梯控制系统具有工作稳定、响应迅速、可靠性高等特点,该系统充分利用了处理器性能和外设资源,软件采用了模块化思想,近似最优抓持规划问题应用了遗传算法,降低了系统复杂度,有效提高了灵巧手指节运动效率。通过相关抓持物体测试实验,说明了该系统能够满足欠驱动灵巧手抓持运动的控制要求。

[1]KRAGTEN Gert A,HERDER JUST L.The Ability of Underactuated Hands to Grasp and Hold Objects[J].Mechanism and Machine Theory,2010,45(3):408-425.

[2]PETKOVIC'D,PAVLOVIC'N D,C'OJBAŠIC'Ž,et al.Adaptive Neuro Fuzzy Estimation of Underactuated Robotic Gripper Contact Forces[J].Expert Systems with Application,2013,40(1):281-286.

[3]栾楠,明爱国,赵锡芳,等.欠驱动机器人的最优轨道生成与实现[J].上海交通大学学报,2002,36(10):1442-1425.

[4]MATRONE G C,CIPRIANI C,SECCO E L,et al.Principal Components Analysis Based Control of a Multi-dof Underactuated Prosthetic Hand[J].Journal of Neuro Engineering and Rehabilitation,2010,7(1):16.

[5]ZOLLOL,ROCCELLA S,GUGLIELMELLI E,et al.Biomechatronic Design and Control of an Anthropomorphic Artificial Hand for Prosthetic and Robotic Applications[J].IEEE/ASME Transactions on Mechatronics,2007,12(4):418-429.

[6]YANG Dapeng,LIU Hong,GV Y,et al.An Anthropomorphic Robot Hand Developed Based on Underactuated Mechanism and Controlled by EMG Signals[J].Journal of Bionic Engineering,2009,6(3):255-263.

[7]刘庆波,余跃庆,王浩.基于遗传算法的欠驱动机器人运动规划[J].控制工程,2008,15(1):64-67.

[8]王书锋,邹益仁.车间作业调度(JSSP)技术问题简明综述[J].系统工程理论与实践,2003(1):49-55.

[9]LIPPIELLO V,SICILIANO B,VILLANI L.Multi-fingered Grasp Synthesis Based on the Object Dynamic Properties[J].Robotics and Autonomous Systems,2013,61(6):626-636.

[10]谢胜利,黄强,董金.求解JSP的遗传算法中不可行调度的方案[J].计算机集成制造系统,2002(11):902-906.

猜你喜欢
多指指端伺服电机
专利名称:一种适应压铸环境的伺服电机
生产线中的伺服电机定位控制
伺服电机控制技术的应用及发展趋向分析
今非昔比
抓取柔软织物多指灵巧手的建模与仿真
浅说伺服电机位置控制下的定位问题
手指带蒂皮瓣逆行转移修复指端缺损的临床观察
同指近、中节指背筋膜蒂皮瓣修复指端缺损
指端损伤创面的临床治疗进展
多指离断手指移位再植拇指25例