王 博,邓鹏程,刘国英,冯 超,毛利民
(1.北京航天发射技术研究所,北京 100076)
(2.航天系统部装备部军代局驻北京地区第二军代室,北京 100076)
机械臂具备高精度、多输入多输出、非线性、强耦合等特点,其工作模式具有一定的不确定性,针对不同的工作,必须考虑机械臂关节空间的运动轨迹,使其形成最终的姿态[1]。机械臂包括模块化机械臂和灵巧手两部分,由于机械臂可以模拟人手完成危险性高、难度大的任务,具有操作灵活特性,因此被广泛应用于机械生产、安全防爆、海洋探测、航空航天等领域。
在航天事业不断发展的大背景下,受到技术条件和恶劣环境的限制,还有很多无法完成的任务,因此有必要设计并开发专用于航天领域的航天特种机械臂。航天特种机械手臂在陆基装配中的应用是无可取代的,与工作人员相比,航天特种机械臂对环境有着更好的适应能力。航天特种机械臂的工作主要是大型地面设备的组装等,使用航天特种机械臂可以大大缩短时间,增加安全性。
在考虑环境因素的情况下,对机械臂的可靠性、安全性的要求非常高。因此,在进行航天特征机械臂的设计与分析时,往往要把它作为优先考虑的对象。由于航天特种机械臂载重量大,这为机械臂在特殊环境中的工作与控制带来较大挑战。目前相关领域学者针对航天特种机械臂进行了研究。文献[2]设计了一种面向航天需求的仿生柔性机械臂。其包括8个柔性关节,每一个柔性关节都有3个自由度,构建仿生柔性机械臂运动学模型,并对仿生柔性机械臂运动学模型进行分析。该该机械臂结构具有一定的有效性。文献[3]设计了一种月面巡视器车载机械臂采样方案。构建末端与月壤接触力模型,并对机械臂末端采样入土角和速度对末端采样接触力作用的影响进行了分析。依据月面机器人表取采样任务需求,对满足末端接触力最小的优化采样方案进行设计。该方案能够确保机械臂的安全性。然而航天特种机械臂要实现复杂的运动,需要各个部件之间的配合,如果控制系统太过集中,一个环节出错,就会导致整个系统的性能下降,严重时会产生全系统失控的故障,为此引入CAN总线控制系统。
CAN总线是一种串行通信网络,它可以实现点对点、点对多、全局广播等多种形式的数据传送,每个帧8个有效字节,能够有效地满足实时通信要求,且具有连接方便、便于扩展等特点。而CAN总线控制系统就是利用CAN总线串行通信网络对控制器进行调度与控制的系统。将CAN总线控制系统应用到航天特种机械臂的设计工作中,通过组装航天特种机械臂结构元件,装设航天特种机械臂控制器并加设串行通信接口,将其连接到CAN总线控制系统中,配置通信协议。在此基础上,采用航天特种机械臂中传感器设备,检测实时位姿,补偿重力负载。利用CAN总线控制系统,规划移动轨迹,协同运行控制任务,通过控制量的计算与通信,实现航天特种机械臂的控制功能。以期能够实现机械臂运行性能,为航天事业的发展提供技术支持。
此次航天特种机械臂的设计大致分为两个部分,首先对机械臂的基本组成结构进行设计,在此基础上,利用CAN总线控制系统,并通过控制设备、控制程序与机械臂运行程序的融合,得出航天特种机械臂设计结果。
1.1.1 机械臂关节和连杆
航天特种机械臂由3个关节和大臂、小臂、腕部3个连杆组成,关节和连杆的连接结构如图1所示。
图1 航天特种机械臂关节和连杆连接结构图
图1中航天特种机械臂的第一个关节位于机械臂的基部,它的主要作用是驱动机械臂的大臂和小臂,该关节为腰关节。第二个与腰关节轴向关联的关节叫做肩关节,其功能是推动大臂上下摆动。第三节在空间上与肩关节的法向量平行,定义为肘关节,它的功能是使前臂做上下摆动。第四关节与肘部呈垂直交叉的空间,其作用是推动前臂的转动[4]。第五个关节平行于第四个关节,以垂直于第六个关节的法向量带动第六个关节转动。取四、五、六关节法向量的交叉点定义为腕关节。每个模块化的关节具有相同的结构,并依据每个铰链的转矩大小来决定其外形尺寸。每一个关节由驱动电机、制动器编码器、连接齿轮和机械外壳构成[5]。每一个关节都使用同样的架构,区别只在于设备的模型参数。按照航天特种机械臂的空间位置关系,连接关节和连杆,并设置各个关节的自由度范围。另外为了满足不同环境的工作任务,要求机械臂连杆具有伸缩性能,伸缩原理是驱动源顺时针方向带动圆柱形转子旋转,使横向螺旋板带沿螺距垂直方向垂直延伸,水平螺旋板条带在旋转时,平滑地切入螺旋件的沟槽,形成了一根连续等截面的杆件。
1.1.2 机械臂驱动电机
航天特种机械臂的驱动器是通过控制器输出控制信号,然后通过控制器的电路板对其进行稳压放大,从而实现对DC-DC减速器的控制。电机驱动板是由L298N芯片组成的,它是一个基于I/O电平来实现DC电动机正反转、转速大小和停止运行的驱动模块。L298N采用四路逻辑驱动,采用单相或四相驱动方式,可以实现两台单相或四相同步驱动。L298N模组电机驱动板内置了两个H桥型的双全桥驱动电路,它接收标准TTL逻辑电平[6-7]。电动机的驱动面板有3种接口:电源接口、信号接口和驱动接口。该电源接口与12 VDC供电,为该驱动电机提供驱动电压;该信号接口与单片机的I/O管脚相连,并根据管脚的输出占空比来控制驱动电机的速度,使其速度达到最大,可配置管脚为推挽输出。一台电机驱动盘与两台驱动电机相连,通过减速器减速器的减速器,带动相连接的螺杆旋转,从而实现电机驱动器的设计。
1.1.3 锁紧制动器设计
由于机械臂在运动过程中,内外臂杆不能有相对运动,锁紧块的相对位置也保持不变,此时锁紧电机位置保持不变,整个锁紧机构需要有较好的自锁能力,在电机后设计一个锁紧制动器能够保证电机转子固定。制动器也可以用于减弱电机带动的运动部件在运动停止后的残余运动。也可防止在机械臂杆伸缩过程中内外机械臂杆的相对转动,造成锁紧块与锁紧凸台形成干涉,在一定程度上起到保护锁紧位置的作用[8]。制动器的基体采用不锈钢2Cr13,采用喷涂的工艺将Gr2O3陶瓷材料喷涂在摩擦片基体上。机械臂杆伸长缩短时,制动器处于制动状态,当机械臂杆伸长缩短到达锁紧位置时,电机带动锁紧块转动,直到锁紧块与锁紧凸台完全配合,锁紧电机断电,制动器制动,保持当前锁紧位置[9]。
除上述组成元件外,还需要在航天特种机械臂的关节位置上安装位置传感器和角度传感器,用来采集实时航天特种机械臂的位姿数据[10]。为了保证航天特种机械臂与CAN总线控制系统之间的适配度,还需要加设一个CAN-USB转接器。
采用DSPTMS320LF2407型号的控制器,其时钟频率达到40 MHz,运算速度快,芯片内资源丰富[11]。利用JTAG接口,可以实现DSP在系统中的全速调试。TMS320LF2407具有3.3 V的供电电压,具有很好的抗干扰性。航天特种机械臂控制器的内部结构如图2所示。
图2 航天特种机械臂控制器内部结构图
利用DSPTMS320LF2407对电机进行位置环和姿态角环的控制,有效改善控制系统的动态特性。两个闭环均能实现积分分离PID控制,零位霍尔逼近开关是在系统通电时比较粗糙地判断电机的绝对位置。将机械臂的工作要求输入到工控机中,通过轨迹规划得到的目标位置,再将其转换为增量编码光盘的脉冲数量,发送给关节控制器[12]。采用积分分离PID方法,对位置环进行控制。将位置环控制器的控制量设定为姿态角环,并将其与转速反馈进行比较,然后采用PID积分分解法求出姿态角环的控制量,得到具有不同工作周期的PWM,然后由电机驱动完成控制。为实现CAN总线的统一控制,需要在控制器中嵌入一个串行通信接口和电路,电路中采用了SP3232芯片对其进行电平转换,SP3232芯片采用的是两驱动器和两接收器的构造。
航天特种机械臂与主控机之间的控制器通过CAN总线通信模块传输,CAN总线通信连接方式如图3所示。
图3 CAN总线连接示意图
图3表示的CAN总线采用USBCAN网关,它与CAN的收发器相结合,满足机械臂的通信要求。CAN总线通常由CAN_H和CAN_L两条线路构成,在总线处于闲置状态时,CAN_H与CAN_L总线电平是一样的,都是2.5 V。CAN包没有源地址,也没有目的地址,仅有每个包的ID号码,并且该ID号码是唯一的。ID号不仅可以显示出每个消息的唯一标识,还可以在总线碰撞时根据ID编号进行仲裁[13]。ID标识符表示消息的优先级,优先级高的消息将优先处理总线。CAN总线采用CANopen协议,CANopen协议为CAN总线的应用升级提供了统一的规范,为伺服系统等控制设备提供了通信子协议,从而增强了系统的兼容性。CANopen协议中使用了CSMA/CD媒体存取控制协议,所以在总线繁忙的情况下,各节点都会监听总线,等待总线处于闲置状态。在存在多个节点的情况下,利用IDID判决的方式来分配传输次序,从而解决了总线的冲突问题。
在航天特种机械臂硬件结构设计的基础上,检测航天特种机械臂实时位姿,补偿航天特种机械臂重力负载。利用CAN总线控制系统,规划航天特种机械臂移动轨迹,协同运行控制任务,实现航天特种机械臂的控制功能。
利用航天特种机械臂中的传感器设备,检测当前航天特种机械臂末端执行器的位置坐标以及各个关节的姿态角,由此确定机械臂的实时位姿状态[14]。安装在关节上的位置传感器分别向水平和竖直两个方向上发射定位信号,得出传感器与末端执行器之间的距离,测距结果可以表示为:
(1)
式中,vsignal为传感器发送定位信号在太空环境中的传输速度,Δτij表示的是定位信号从传感器i发出到达末端执行器j后返回至传感器的传输时间[15]。由此可以得出特种机械臂末端执行器位置的检测结果,可以量化表示为:
(2)
其中:(xi,yi)表示的是位置传感器的位置坐标,ϑ为传感器与末端执行器之间的夹角。航天特种机械臂上任意关节姿态角的检测结果可以表示为:
(3)
式中,μx和μy分别为角度传感器在两个方向上的测量值,g为重力加速度,计算结果φ和φ为机械臂关节的俯仰角和横滚角[16]。按照上述方式可以得出航天特种机械臂中所有关节和连杆的位置信息以及角度信息,从而确定当前机械臂的位姿。由于航天特种机械臂处于动态工作状态,因此设置传感器的数据采集时间间隔为10 s,即每十秒钟更新一次航天特种机械臂位姿状态。
航天特种机械臂在执行工作任务时,若作用对象重力过大,机械臂基座就可能发生倾斜或移动,不仅影响机械臂的工作效率,还可能破坏机械臂的结构,为此有必要对机械臂的重力负载进行补偿[17]。根据航天特种机械臂的动能和势能建立机械臂的动力学模型如下:
(4)
式中,W和R分别表示的是机械臂的动能和势能,ωi和θi分别表示的是关节的角速度和姿态角,计算结果Mi即为关节i的输出力矩。其中机械臂势能的计算公式如下:
Ri=-migMinb
(5)
其中:Min为输入力矩,mi和b分别表示的是机械臂的质量及其重心位置。在机械臂的重力负载补偿时,首先判断在作业环境中作用负载与机械臂重力之间的关系,若作用负载高于机械臂重力,则需要执行补偿程序,补偿量可以表示为:
ΔR=mg-R
(6)
式中,m为作用物体的质量,g的具体取值由空间环境决定[18]。在负载任务执行过程中,将式(8)的计算结果作用在机械臂的基座上,完成重力负载补偿控制。若在重力关系判断过程中,发现负载量低于机械臂重力,则无需进行重力补偿。
为保证航天特种机械臂每个关节移动的平稳度,设置机械臂移动轨迹规划的约束条件如下:
(7)
式中,θ(0)和θ(t)分别为初始时刻和工作过程中任意时刻机械臂的关节角,θ0为机械臂关节的初始姿态角,θmax为关节姿态角的最大值,该参数的取值由关节分配的自由度决定[19]。在已知机械臂最终作用位置的情况下,得出机械臂关节由初始位置到目标位置的移动轨迹为:
(8)
其中:βx和βy分别为机械臂关节在水平和竖直两个方向上的移动步长[20]。在实际的机械臂移动过程中,按照初始规划的轨迹移动,若在移动过程中出现不满足约束条件或关节自由度时,需要以当前位姿为初始数据重新规划移动轨迹。
在此基础上,按照航天特种机械臂CAN总线控制流程,实现机械臂的CAN总线控制功能,如图4所示。
图4 航天特种机械臂CAN总线控制流程图
利用CAN总线获取移动轨迹的规划结果与实时位姿的检测结果,计算机械臂的位置、姿态角控制量,计算结果可以表示为:
(9)
式中,(xtarget,ytarget)为规划移动轨迹坐标数据,θcurrent和θtarget分别为当前姿态角和目标姿态角[21]。将公式(9)的计算结果代入到装设的航天特种机械臂控制器中,输出控制指令,控制器的输出结果可以量化表示为:
(10)
式中,γI、γp和γD分别为积分系数、比例系数和微分调节系数,Δ(t)为输入的控制量计算结果。将生成的控制指令直接作用在航天特种机械臂的目标位置上[22]。若需要同时执行位置、姿态角、重力补偿等多个控制任务,利用CAN总线,将控制指令分配给多个控制器,实现控制任务的协同运行,实时反馈航天特种机械臂的状态数据,直到完成目标任务为止。
根据航天特种机械臂的设计结构,准备相关连杆和关节元件,并利用材料元件进行机械臂的组装。在机械臂组成元件的制备过程中,需要对元件材料进行质量检测,保证机械臂材质与设计目标一致,而在实际的样机拼装过程中需要明确两个相邻元件之间的位置关系,校核并分析连接点的位置坐标,拼装航空特种机械臂样机。
航天特种机械臂中肩关节设置的自由度为[-45°,135°],肘关节和腕关节的自由度分别为[-45°,90°]和[-135°,135°]。航天特种机械臂基座的质量为3.5 kg,4个连杆的长度分别为10 m、50 m、50 m和20 m,末端执行器采用Robotiq二指夹手。在航天特种机械臂样机内部加设控制器、驱动电机等元件,在机械臂样机通过与主控测试PC机端建立连接后,发送自定义协议数据包,并对航天特种机械臂样机进行初始化操作。最终将航天特种机械臂连接到航空飞行器上,完成航天特种机械臂样机的制备与安装。
为了给航天特种机械臂性能测试提供充足的数据样本,分别从位置移动、关节角度变化等方面设置机械臂的工作任务,其中编号为P01的工作任务生成结果如图5所示。
图5 航天特种机械臂工作任务移动路径
实验共设置10组执行任务,标记各个工作任务中的控制目标数据,结合航天特种机械臂样机的初始状态,生成机械臂的任务控制指令。
由于设计的航天特种机械臂内置了CAN总线控制系统,因此需要对该控制系统进行配置与调试。选择机械臂上安装的控制器和传感器作为系统的控制目标,采用多主竞争式总线结构形成控制系统上的通信链路,只有在CAN总线通信正常的基础上,才可以执行系统控制任务。因此在实验开始之前需要对CAN总线通信的收发进行测试,如果发送的指令命令收到相应的回应,则表示通信正常,否则认为当前CAN总线通信异常,需要对通信异常的CAN总线进行重新配置。为保证CAN总线控制系统运行的稳定性,要求CAN总线传输报文的最大帧数为80,并将总线负载率控制在区间[20%,30%]内。
在CAN总线控制系统和航天特种机械臂样机均调试成功的情况下,将准备的机械臂工作任务输入到控制系统中,作为航天特种机械臂的控制目标。将航天特种机械臂样机调整至工作状态,启动CAN总线控制程序,完成机械臂的工作任务。航天特种机械臂样机执行P01号任务时的控制运行结果如图6所示。
图6 航天特种机械臂CAN总线控制系统运行界面
按照上述方式可以得出实验中所有工作任务的执行结果与控制数据。
此次实验分别从航天特种机械臂的控制性能和抗压性能两个方面进行测试,设置末端执行器位置控制误差和关节姿态角控制误差作为控制性能的量化测试指标,其数值结果可以表示为:
(11)
式中,(xActuator,yActuator)为机械臂末端执行器的实际位置,θi,actual和θi,target分别表示机械臂上第i个关节姿态角的实际值和目标值。另外设置形变量作为机械臂抗压性能的测试指标,其数值结果如下:
(12)
式中,Sk表示第k个变形点的形变面积,ndef表示机械臂样机任务执行完成后发生形变的位置数量。为保证航天特种机械臂在实际航天工作中的应用价值,要求位置控制误差不得高于5 m,关节姿态角控制误差不得高于0.5°,形变量不得高于5.0 m。
为了验证航天特种机械臂的控制性能和抗压性能,采用所提方法、文献[2]方法和文献[3]方法进行对比,通过相关数据的统计,得出不同方法的航天特种机械臂控制性能的测试结果,如表1所示。
表1 不同方法的航天特种机械臂控制性能测试数据表
根据表1中的数据可知,文献[2]方法和文献[3]方法的末端执行器位置控制误差和关节姿态角控制误差均高于预设值。而所提方法设计航天特种机械臂的平均位置控制误差和关节姿态角控制误差分别为1.47 m和0.29°,均低于预设值。由此可知,所提方法的航天特种机械臂控制性能较好。
另外,得到不同方法的航天特种机械臂抗压性能的测试结果如表2所示。
表2 不同方法的航天特种机械臂抗压性能测试数据表
根据表1中的数据可知,文献[2]方法和文献[3]方法的机械臂实际形变量均高于预设值。而所提方法设计航天特种机械臂的平均实际形变量仅为2.64 m,低于预设值。由此可知,所提方法的航天特种机械臂抗压性能较好。
从航天特种机械臂控制的实际需求出发,针对航天特种机械臂在地面航天设备装配特殊环境中的工作任务,设计一种基于CAN总线控制系统的航天特种机械臂。设计的机械臂在CAN总线控制系统的基础上,通过对控制指令的分析规划具体的移动轨迹和位姿数据,利用CAN总线反馈实时运行数据,为控制指令的传输提供了技术支持,间接保证对航天特种机械臂的有效控制。从实验结果中可以看出,设计的航天特种机械臂能够在实验环境中精准完成指定任务,且任务执行过程中产生的形变量在允许范围内。然而由于性能测试实验中设置的工作任务数量较少,因此得出的测试结果存在一定的偶然性和局限性,需要在后续研究中进一步补充和优化。