基于PC+DSP+FPGA的机器人控制系统开发

2015-02-05 07:53邹海鑫邹湘军
深圳信息职业技术学院学报 2015年1期
关键词:PC机机械手差分

邹海鑫,邹湘军

(1.深圳信息职业技术学院交通与环境学院,广东 深圳 518172;2.华南农业大学工程学院,广东 广州 510640)

基于PC+DSP+FPGA的机器人控制系统开发

邹海鑫1,2,邹湘军2

(1.深圳信息职业技术学院交通与环境学院,广东 深圳 518172;2.华南农业大学工程学院,广东 广州 510640)

控制系统是相当于机器人的大脑,是根据外部传感器和内部指令等信息控制机器人动作的装置,是不可或缺的重要组成部分。本文在4自由度机器人样机的基础上,提出应用基于PC + DSP + FPGA的控制系统,完成硬件和软件的开发,实现机器人的运动控制系统。

PC+DSP+FPGA;机器人;控制系统

从硬件上来看,控制系统结构形式主要如表1所示[1-6]

表1 各控制结构特点Tab.1 The features of different control system

虽然多DSP系统有很多优点,但舍弃PC机的丰富软硬件资源,使其存在局限性。如当需要采集和存储大量信息的时候,PC机的硬盘和数据库等能提供足够空间,为产品信息化管理提供所有数据,因此,PC机将在机器人的开发中成为必不可少的重要组成部分。另外,采用基于DSP与FPGA的运动控制结构方式能够实时完成复杂的轨迹运算,利用DSP的高速数字信号处理功能和FPGA功耗低、主频高的优点,能充分显示该运动控制器的优点。

图1 自主开发的机器人样机Fig.1 The Prototype of the robot

综合比较并考虑到开发周期和成本,本文采用基于PC为上位机、DSP运动控制和FPGA外设控制模式实现机器人的控制系统。所述4自由度机器人样机如图1所示,包括底座,大臂,小臂和末端执行器4个关节。

1 控制系统硬件模块组成

1.1 DSP模块

DSP模块总体结构如图2,选用的是TI公司的TMS320C6713型芯片,该芯片是具有高性能32位高速浮点型的DSP。

DSP模块主要的功能是运动控制计算,完成与上位机的通讯和对FPGA控制信号的发送。其中Power电路用于提供DSP所需的电源,Reset电路用于复位,SDRAM(容量为4M*32bit)电路用于存储动态数据,FLASH(2M*8bit)电路用于保存永久程序,JTAG电路用于仿真器仿真 调试,接口电路用于与FPGA,PC上位机等的连接。

图2 DSP总体模块总体结构图Fig.2 Structure Chart of the DSP module

1.2 FPGA模块

FPGA模块芯片选用Pro ASIC3 Flash的家族成员A3P060和A3P400芯片。

该FPGA模块总体设计如图3所示。

图3 FPGA模块总体结构Fig.3 Structure Chart of the FGPA module

FPGA模块的主要功能是高速传输数据,控制伺服控制器和各个外围的输入输出电路,并且与DSP和PC进行通讯。芯片在整个硬件系统设计完毕后还可以通过JTAG接口对硬件进行重配置,增加了系统设计的灵活性。其中,A3P060的功能主要是管理输入输出口和485通讯接口,而A3P400的功能主要是负责发送4路控制信号到4台伺服驱动上,并且产生DSP的外部中断信号。

图4 输入输出电路图Fig.4 The circuit diagram of output and input

1.3 其他模块

输入输出模块:为减小外部噪声的干扰,采用光电隔离电路的方法。输入的信号主要包括8路限位信号,伺服警报信号等。输出信号主要有伺服使能信号等。

输出控制脉冲电路设计:输出控制脉冲信号是伺服电机的4路脉冲控制输出信号。由于本控制系统使用的是位置控制模式,采用“方向+脉冲”的指令模式。输出控制信号由FPGA输出,由于电机接收的脉冲和方向需要差分信号,因此需要经过差分处理。本文应用差分驱动器AM26LS31芯片实现信号差分处理后,再输入到伺服驱动器。如图5所示,FPGA输出控制信号,经AM26LS31芯片差分处理后输出到电机的伺服驱动中。

反馈脉冲处理电路设计:伺服电机编码器信号直接接入伺服驱动器里,控制器可以通过三对正负差分信号来获取电机的转向以及脉冲反馈信息,分别是A+和A-,B+和B-,Z+和Z-;其中A+,A-,B+和B-信号可以给出转向等信息,而Z+和Z-信号可以给出是否转过一圈的信息,也就是每转过一圈给出一个Z的差分信号。利用AM26LS32芯片,把上述三对差分信 号转化为单路信号A、B、Z输出,然后让FPGA读取,获得反馈信息,其电路如图6所示。

通讯电路设计:上位PC机与A3P060的通讯是通过485通讯模块来完成,电路设计如图7所示,两者间形成两线制的半双工通讯网络。

图5 机器人四路伺服电机控制电路Fig.5 The servo control of the 4 DOF robot

图6 差分信号控制电路Fig.6 The differential signal of the control circuit

图7 485通讯模块电路图Fig.7 The circuit diagram of the 485 communication module

除了上述模块,本系统还包括了上位PC机模块和双目视觉模块,其中PC机模块的主要功能是提供人机交互界面、进行图像处理、对DSP和FPGA仿真调试等功能;双目视觉模块主要用于环境的图像信息获取等。

2 软件模块设计

根据机器人硬件系统的特点,其软件系统总体结构设计如图8所示。软件总体结构分为三层:PC层,DSP层和FPGA层。PC层是最高级的层,主要的功能包括提供人机界面进行接收用户命令,通讯;完成视觉系统的数据采集与处理;完成路径规划,为DSP层提供路径点信息等。DSP层主要完成机械手的运动控制计算,包括轨迹规划等,把电机控制参数发送到FPGA层。FPGA层主要接收DSP层控制参数数据,完成对电机的驱动,并发送电机参数信息给DSP层。

图8 软件系统总体结构Fig.8 The overall structure of the software system

2.1 DSP层控制模块程序的设计

DSP层的编译是在TI公司提供的集成开发环境Code Composer Studio (CCS)中完成,使用的实时操作系统是DSP/BIOS。DSP/BIOS是CCS中集成的一个简易的嵌入式实时操作系统,其功能包括任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。在DSP/BIOS中,本文主要设置了一个系统周期为2ms的主函数和一个中断服务程序,DSP层的程序在初始化完成后即进入2ms循环运行,首先检测外围设备的开关信号量,主要检测限位开关的触碰状态;然后与PC机进行通讯,接收数据包,如果PC机没有发送任何 数据,则检测机械手当前状态并反馈信息如位移量和末端执行器位置等,如果有数据包传送下来,则分解数据包并提取信息;然后按照数据包的内容执行相应的子程序;子程序执行完毕后把电机的控制参数写入缓冲区,然后检测机械手当前状态并反馈信息给上位机。中断程序由FPGA段触发,当缓冲区有数据且电机Over信号有效时进入中断程序,取出缓冲区的电机控制参数,送到伺服电机控制器中,然后返回到主程序。

PC发送一次信息到DSP并得到一次应答表示完成一次通讯,包含固定的65个字节的内容。下位机DSP对数据的读取并应答,也包含共65个字节的内容,其数据表具体含义如表2所示。最后PC对应答的数据进行解析,获取有用的反馈信息。此时,一次通讯完毕,接着重复上述过程进行下一次通讯。

表2 PC与DSP之间的通讯数据包定义Tab.2 The definition of the communication data between PC and DSP

2.2 人机界面设计

图9 上位机控制通讯界面Fig.9 The interface of the control software

与DSP层连接的人机界面如图9所示,主要包括机器人虚拟仿真窗口和机器人通讯窗口。前者是接收目标点的三维坐标位置和进行运动仿真;后者把目标点的三维坐标位置转换为机器人各关节相应的关节变量,然后通过通讯接口传送到机器人控制系统的DSP层。

人机界面主要由以下部分构成:1,信息反馈窗口;2,操作框;3,串口设定窗口;4,信息反馈窗口;5,仿真窗口。

界面操作流程如下:首先在串口设定框处设定和DSP层通讯的串口参数,按下“打开串口”按钮建立通讯,然后按下“SERVO ON”给电机发送就绪信号,松开电机抱闸,若按下“SERVO OFF”则启动抱闸,锁紧电机,机械手处于停止状态;其次,在操作框处选择运动模式,如选择“Run”模式,则机械手按照给定的参数进行PTP运动。反馈信息框用于显示运动过程中机械手的相关参数,如运行速度,位移等;信息反馈框的作用在于显示机械手运行状态,当出现错误时给出错误代码。仿真窗口主要用于虚拟机器人在虚拟场景下根据操作窗口给出的关节运动参数进行运动,用于演示。

3 小结

本文提出了基于PC+DSP+FPGA的采摘机器人控制系统,在广州市某数控公司提供的DSP+FPGA等核心硬件的基础上进行二次开发,完成了DSP控制程序和定义了相关的通讯协议;从硬件和软件出发,对所设计的控制系统各个模块进行了设计与说明,实现了机械手的基本运动控制功能。

References)

[1]王燕.黄瓜采摘机器人运动规划与控制系统研究[D].浙江:浙江工业大学,2010.WANG Yan.Research on motion planning and control system of the cucumber picking robot [D].Zhejiang:Zhejiang University of Technology,2010.(in Chinese)

[2]武传宇.基于 PC+ DSP 模式的开放式机器人控制系统及其应用研究 [D].杭州:浙江大学,2002.WU Chuanyu.Study of the PC+DSP based open architecture control system of robotic manipula tor and its applications [D].Hangzhou:Zhejiang University,2002.(in Chinese)

[3]聂磊.基于 CAN 总线的机器人嵌入式控制系统设计[D].哈尔滨:哈尔滨工程大学,2006.NIE Lei.Embedded control system design of the robot based on CAN bus [D].Harbin:Harbin Engineering University,2006.(in Chinese)

[4]张晓宇.基于 PC 和双 DSP 的噪声分布控制系统的设计[J].测控技术,2013,32(1):76-79.Zhang Xiaoyu.Design of multi-channel active noise decentralized control system based on PC and Dual-DSP [J].Measuremeng &Control Technology,2013,32(1):76-79.(in Chinese)

[5]Monmasson E,Cirstea M N.FPGA design methodology for industrial control systems—a review[J].Industrial Electronics,IEEE Transactions on,2007,54(4):1824-1842.

[6]Shao X,Sun D.Development of an FPGA-based motion control ASIC for robotic manipulators[C]//Intelligent Control and Automation,2006.WCICA 2006.The Sixth World Congress on.IEEE,2006,2:8221-8225.

Development of the robot control system based on PC+DSP+FPGA

ZOU Haixin1,2,ZOU Xiangjun2
(1.School of traffic and environment,Shenzhen Institute of Information Technology,Shenzhen 518172,P.R.China;2.College of Engineering,South China Agricultural University,Guangzhou 510640,P.R.China)

The control system presented at this paper is the brain of robots,which is the indispensable device that works based on the external sensors and internal instructions.This paper has developed a robot control system based on PC + DSP + FPGA,and its hardware and software system is described in details.Finally,with the control system,the motion control of the 4 DOF robot was realized.

PC+DSP+FPGA;robot;control system

TP242

A

1672-6332(2015)01-0079-04

【责任编辑:杨立衡】

2015-02-10

国家自然科学基金(31171547,51175189);华南农业大学合生珠江教育基金博士生科技创新计划(出国培植)(H2011004)

邹海鑫(1984-),男(汉),广东丰顺人,讲师,博士,主要研究方向:机器人控制、汽车底盘电控技术。E-mail:zouhaixin123@163.com

猜你喜欢
PC机机械手差分
数列与差分
TRIZ与情景分解法在换刀机械手设计中的应用
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
基于粒子群迭代的一种冗余机械手逆解算法
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
搬运机械手PLC控制系统设计
基于差分隐私的大数据隐私保护
VIVID3彩色超声仪结构原理及维修
相对差分单项测距△DOR