基于 LabVIEW 的四自由度机械臂运动控制系统设计
作者: 万志成 陶俊 张伟军
单位: 上海交通大学机器人研究所
应用领域:控制设计
系 统的设计要求能够对于机械臂最
和齿轮减速器等额外负载放置在机械
终的末端 位置能够准确地进行反馈
臂基座部分,从而减轻了对其他关节驱
挑战: 短期内实现 4 自由度机械臂(3 台交
控制。
动元件的要求及机械臂整体的功耗,降
流伺服电机、1 台微型直流电机)的 变参数同
本系统以 PCI-7344 为基础,通过
低了机械臂自身重量,增加了其对外做
步运动控制,为钢丝传动机构的控制提供应用
NI 公司最新的 LabVIEW8.2 为开发平台
功的能力和效率。
解决方案。
对 3 台伺服电机实行位置伺服和编码器
反馈,对直流电机利用线性电位器反馈
应用方案: 方案采用 NI 公司的 LabVIEW8.2
电压的方式实现了角度的反馈控制。借
作为开发平台,通过 NI PCI-7344 四轴运动控
助 LabVIEW8.2 的强大功能,我们得以
制卡和多功能数据采集卡来实现对于机械臂四
在短时间内完成了控制系统的开发,同
个自由度的驱动控制,同时利用 LabVIEW8.2
时保证了机械臂的运动精度与负载能
中新增 Project 文件管理功能和控制设计工具
力。
包实现控制软件的快速开发与发布。
四自由度机械臂机械系统
本文讨论的四自由度机械臂面向
中小型物流系统应用。其基本的设计要
求为:实用、有相对大的作业空间、抓
取重量不小于 2.5kg、具有不大于 10mm
的重复定位精度、自重轻、外观整洁。
图 1 机械臂整体结构示意图
出于操作便捷实用的考虑,设计
腰部回转、大臂俯仰、小臂俯仰、腕部
回转 4 个自由度,整体采用重力方向折
图 2 钢丝传动机构原理图
该机械臂不仅实现重量轻、对外做
功能力大等性能指标要求,而且具有制
造简单造价低等优点有利于工业推广
普及。通过新型内嵌式钢丝绳张紧装置
可以轻松简便的对张紧力进行现场调
节,解决了钢丝绳传动存在的各种问
题,有效的提高了机械臂的重复定位精
度,自重与负载能力比达到 4:1,可以
广泛的应用到以中小型物流系统为代
表的工业环境中,也可作为教学科研演
示设备进行推广。
角度 1
角度 2
角度 3
角度 4
≥280°
(-140°~140°)
≥150°
(-10°~140°)
≥180°
(30°~210°)
≥300°
L1,L2,
(-150°~150°)
64mm,
L3 的长度
伸展长度
350mm, 350mm
700mm
总重
负载
12kg
3kg
使用产品:
LabVIEW 8.20
NI PCI-7344 四轴运动控制卡
介绍
尽管对于机械操作臂的研究已不是一个
全新的课题,但是,如何在保证机械手臂高
的位置精度的条件尽可能地降低制造成本和
缩短制造周期,这仍然是值得我们不断探索
的问题。
传统工业机械臂,其设计方法多为串联
形式,即通过将驱动与传动元件如电机、减
速器等直接安装在转动副附近,这样的设计
虽然简单直接但是由于驱动件自身成为了机
械臂负载,所以大大减少了机械臂的有效载
荷,同时也会产生振动等不良影响降低机械
臂定位精度。在本课题中我们提出了利用钢
丝传动机构来实现驱动件到末端负载的动力
传递,这样的设计可以最大程度的减小了驱
动件本身对于机械臂负载能力的影响,同时
由于钢丝本身的弹性也使得机械臂具有一定
柔性,实现一定的自适应功能。由
于传动件的位置调整,所以在控制
叠展开型结构,大臂俯仰与小臂俯仰为
表 1 各项参数范围及取值
一组平面自由度。机械手臂主要通过钢
丝绳传动机构,把小臂俯仰关节的电机
图 3 四自由度机械臂样机 图 4 钢丝传动机构示意图
控制系统设计
加工、控制系统软硬件设计等进度,这
机械臂的技术要求后,主要功能大致可
些也是我们优先选择 LabVIEW 作为系统
以分为以下几类:系统硬件信息反馈、
在综合考虑了项目的机械结构
开发平台的重要原因。
运动参数设置、手动及自动运动控制、
要求、功能目标、开发周期等因素
图 5 显示了控制系统构成的整体框
机械臂空间位置的捕捉与再现、文件操
后,我们对于控制系统的设计定下
图。
作等。这几者之间的相互关系可以通过
如下的方案:
1. 对于底盘(腰部)、大臂俯仰、
小臂俯仰这三个自由度,利用
伺服电机驱动和编码器反馈来
构成闭环控制系统,由于本项
目对于定位精度的要求,伺服
电机控制方式选为位置控制
(即脉冲控制)。因此我们选用
了 NI PCI-7344 作为伺服电机
的运动控制器。
2. 对于手腕旋转自由度以及抓取
手爪吸合张开的控制,考虑到
这部分机构主要处于靠近末端
负载,要求体积尺寸小等原因,
我们选择采用了直流电机配齿
轮减速器并通过线性电位计的
电压值来间接测量角度值的方
案。
3. LabVIEW 本身带有大量的数字
信号处理 vi,可以十分有效地
解决控制系统中常会遇到的信
号干扰及滤波等问题。利用
LabVIEW 更可以大幅缩短项目
的开发周期,在短短 3 个月内
我们迅速完成了从机械设计、材料
软件设计
如下的软件流程图来表示。
控制系统软件设计在考虑了整个
手动
禁止输入
指令输入
否
是
是
否
程序启动
初始化设置
伺服电机上电复
位到原点
复位完成
是
控制方式
自动
否
是
是
否
否
位置检测
指令输入
禁止输入
运动完成
运动完成
单轴运动
位置检测
允许输入
否
否
文件操作
结束控制
是
结束程序
是
退出
图 6 机械臂控制软件流程图
读取点坐标
多轴同步运动
位置检测
允许输入
需要说明的是对于伺服电机位
subvi 的管理不善(如文件丢失等情
库(dll)和屏蔽了源代码的 vi(Block
置的检测主要是通过对相应伺服电
况),整个软件系统的工作会受到较大
Diagram 不可见)。
机编码器的读取来获得实际位置的
影响。在 LabVIEW 推出的 8.0 及 8.2 版
此外,在利用板卡采集直流电机电
反馈,在极限位置处我们借助霍尔
中,Project 开发方式的推出给这一问
位器输入电压时我们遇到了交流干扰
传感器向 PCI-7344 传递触发信号,
题的解决带来了希望。
信号的影响,借助 LabVIEW 自带的信号
实现极限位置的检测并通过定时读
通过 Project Explorer 我们在开
处理函数可以有效地抑制干扰信号对
取 IO 寄存器的值来实现机械臂运
发过程不仅可以有效对于各个功能(如
于程序判断逻辑的影响(在现场无法快
动状态的反馈。而直流电机的位置
伺服驱动器工作状态反馈、直流电机位
速需得物理滤波器时,可以考虑利用
检测则是通过固结在齿轮减速器上
置测量、直流电机位置控制等)进行独
LabVIEW 的软件滤波)。
的线性电位机的电压来间接测量出
立开发,更可以保证主 vi 中调用的功
直流电机的转角。
能与 subvi 的一致,而不用像低版本中
文件操作
软件的主界面如下图所示:
那样,一旦 subvi 有变化,主 vi 需要
在程序的开发过程中我们时常会
开发过程
图 7 机械臂控制软件前面板
逐个去手动更新。
遇到需要对一些数据进行添加、保存、
在 LabVIEW8.0 之前的版本
使用 Project Explorer 的另一个
删除、读取等功能的场合,在例如 VC
中,许多在主程序中需要多次复用
好处在于程序封装发布的便利。如图 8
或者 VB 等开发平台中,文档的操作由
的功能都是通过 subvi 封装来进行
所示,通过 build specification 中的
于涉及了文档模版结构的设计、文件指
调用的。当这样的 subvi 数量多的
不同选择,可以将源程序封装成 exe 文
针操作及消息影射等,文件操作的实现
时候,对于这些文件的管理会成为
件,或者是带 LabVIEW Runtime Engine
显得较为复杂。
不小的工作量。甚至,因为某些
的 Installer 安装文件,以及动态链接
而在 LabVIEW 中借助 write to
spreadsheet、read from
spreadsheet 等文件操作 vi 和表格
控件、数组操作 vi 及自定义空间等
就可以轻松实现常用的 txt、xls 等
数据文件格式的读写等功能 (如图
9 所示)。
结论
借助 LabVIEW,我们在课题中
能够快速地将开发和调试过程有机
地结合在一起,利用 LabVIEW 开发
出能够有效将机械臂所需要的电机
驱动器、位置编码器、极限位置传
感器和数字 IO 口等硬件资源整合
的控制系统设计和相应软件,并且
保证了机构的精度和开发时间的进
度要求。
参考文献
[1] 雷振山.LabVIEW 7 EXPRESS 实
用技术教程.中国铁道出版社.2004
[2] 杨乐平.LabVIEW 高级程序设计.
清华大学出版社.2003
[3] Jianjun Yuan, Weijun Zhang,
"Research on Novel Wire Driving
Robot Manipulator for Local
Industrial Production Line",
Proc. of the IEEE Int. Conf. on
Mechatronics and Automation,
2007
[4] 宫金良,赵现朝,高峰.基于
LabVIEW 和 PXI-7538 多轴运动控制
卡的地震模拟振动台控制系统设计.
美国国家仪器中国有限公司 2006
年优秀论文合订本
图 8 LabVIEW 中 Project 功能
图 9 文件操作程序示例