邢印强
(柳州市自动化科学研究所,广西 柳州 545001)
多臂空间机器人工作在无过载、微重力的空间环境中,其上部机构通常采用软细长杆结构,是典型的柔性多体系统;同时,反力和力矩的移动会改变人体的姿态,即,存在运动和动态机械手与人体的耦合关系,导致地面固定平台控制技术不能直接用于多空间机器人[1]。常规控制方法是根据远端反馈信息不断地调整操作臂的位置,因为遥控臂控制中的传输延时很大,要使机器人到达目标位置所需的控制量最小化。以手势识别为基础,添加了位置识别为控制手段[2]。在此基础上,通过换算腕部空间坐标,得到机器人手臂末端空间位置 A的坐标[3]。根据运动学方程,通过计算 A点和各关节所需的旋转角度,可以实现机器人手臂的运动端移动到 A点,此过程仅需要本地系统与远程系统之间的一次通信。机械手移动到 A点后,通过设定的固定动作微调操作机构,该控制方法虽然能有效地提高机械手的控制效率,但系统存在整体延迟问题。为了解决当前协作机器人控制系统资源匮乏、价格高、工作不稳定的问题,设计了一种基于FuzzyP的多臂机器人机械臂控制系统设计,以满足中小型企业的控制需求。
把模糊控制和模糊控制结合起来,既有模糊控制的自适应性,又有模糊控制精度高的特点。使用了一种模糊控制策略,其结构见图1。
图1 基于FuzzyP的机械臂控制系统整体结构
如图1所示,控制系统整体结构包括姿态识别子系统,操作手控制演示界面,以及仿真子系统。其中,姿态识别子系统负责采集及处理姿态信息[4]。加工模块负责姿态角、腕位的计算、姿态的确定;机械臂控制演示与仿真系统主要包括姿态信息校正、运动分析计算两部分。姿态信息标定与运动学分析计算模块主要完成人体腕位的计算,虚拟机械手端位的标定,运动学信息的求解与轨迹规划[5]。该系统能够实现各个关节的数据显示和语音控制,机械手人机交互控制系统中基于姿态识别的各子系统之间采用串行通信方式进行通信。
设计模糊控制器时,在原PID控制参数的基础上,只需对参数进行额外调整[6]。它由常规积分控制、微分控制和模糊逻辑控制构成,FuzzyP控制器具有结构简单,设计方便等特点;通过引入模糊控制,有效地提高了系统的鲁棒性和自适应性[7]。采用模糊控制在线调节比例系数,克服了传统 PID控制的局限性,有效地解决了复杂时变参数及其它不利因素对系统速度与稳定性的影响[8]。
基于FuzzyP的多臂机器人机械臂控制系统,共有18个自由度。每个手臂都是空间开链结构,各个关节的运动是相互独立的,各关节均设有独立的关节控制器,采用现场总线技术实现了多臂机器人的控制。该系统具有高度的开放性,便于多臂机器人与多个厂商设备的连接,并可集成扩展[9]。全数位高速通讯的特性为主控计算机实现多关节的运动控制提供了可靠的保证,也为实现机器人三臂之间实时避碰所需的大量数据交换奠定了基础[10]。其总线结构使联合控制器的连接大大减少,这样既能降低硬件成本,又能简化系统结构,大大提高系统连接的可靠性、操作性和可维护性。图2中显示系统硬件结构。
图2 系统硬件结构
控制系统的结构图见图2,该系统由主控计算机、CAN主站通信卡和联合控制驱动器与 CAN现场总线相连组成[11]。主控制计算机和 CAN主站通讯卡之间采用 PCI总线连接,控制系统通过 CAN接口电路与 CAN总线相连。
机械臂的电机驱动电路是整个研究的基础,它具有良好的起动和调速性能,因此其稳定控制成为研究重点。
2.1.1 电机选型
对电机选择,有刷直流电机具有比无刷直流电机更好启动调速性能,且控制简单,价格低廉。常用于对启动、调速有较高要求的场合,如精密机床、工业机器人装配等[12]。
2.1.2 电机位置传感器选用
对电机位置传感器选用,有增量型编码器和绝对型编码器2种。递增编码器是用来测量前期基点角测量位移的递增编码器。测角精度低,测角精度大,误差累积;完全编码器测量的是工作时的角度位移。小角测量不精确,大角测量没有累积误差。针对机械手转角不大的特点,确定采用增量式编码器,以减少小角度的测量误差[13]。
2.1.3 电机控制电路设计
通过一个 H桥电路和一个 MOSFET功率开关装置,4 H桥和一台电动机的横梁 H。另外,两个IR2106S驱动芯片作为自举式电路的驱动芯片,为上桥臂提供开关控制的两个[14]。因为单片机的 PWM信号输出力不足以驱动IR2106S,需要与芯片的驱动增强电路74ACT244配合,才能将 PWM信号输出增强,然后再引入到IR2106S的输入端。图3中显示驱动电路。
图3 驱动电路
多臂机器人机械手的模糊控制系统要求操作者在相机能够接受的范围内,对环境的要求较高,同时图像信号干扰会造成较大的识别误差[15]。针对工程环境的特殊性和对耐磨性的要求,提出了一种基于模糊控制器的多臂机器人机械手控制方法。该方法使用方便,受环境影响小,可在有效范围内随时随地进行远程控制。姿态信息采集处理模块硬件结构如图4所示。
图4 姿态信息处理模块硬件结构
依据图4所示结构,单片计算机能够精准计算姿态角及位置,实现对各个模块的控制。通过NRF24L01获取操作人员的运动信息,NRF24L01能够完成与 PC机通信的无线。求解姿态角时,人体固有的抖动噪声、随机噪声会对速度信号造成较大干扰,易引起信号误差。这个系统将姿势传感器连接到肩、肘、腕3个关节,通过以上方法获得关节角。采用肩坐标作为参考坐标,可根据各关节的角度信息确定手腕的位置;以此信息为粗调控制信息,确定机械手的手臂动作,确定固定姿态,完成机械手的精调。
由于液压关节伺服系统严重的非线性和时变特性,传统的 PID调节参数无法在线改变,很难达到理想的控制效果。结合FuzzyP控制的思想,可提高系统的可控性。设计 FuzzyP+ ID控制器时,在原 PID控制参数的基础上,只需调整一个附加参数,即有死区补偿参数。它由常规积分控制、微分控制和模糊逻辑控制构成,引入模糊控制,能够提升系统鲁棒性及自适应性。
根据传统的 PID控制经验,当比例系数较大时,静态误差减小,但很容易造成闭环系统的振荡,甚至造成闭环系统的不稳定;K太小,系统的快速性无法满足要求。通过对比例系数的在线模糊控制调整,克服了关节位置控制系统固有的不新颖性和参数时变的影响,使系统在快速与稳定之间找到了平衡点。整体控制能消除静态误差,但响应速度较慢。微分控制可以加速控制过程,不但能够及时地响应偏差,而且能够响应偏差的变化。在抑制扰动方面,采用4点中心差分方法实现微分项近似算法对扰动不太敏感,参考以往和当前采样次数的偏差均值,即:
(1)
公式(1)中:ek、ek-1、ek-2、ek-3分别表示4个采样中心点。
该系统中的多臂机器人属于关节型机器人,关节式机器人的本质是一个连杆系统,由多个旋转关节和运动关节相连。在此基础上,建立了各关节的坐标系,并利用坐标系间的关系描述关节间的位置与姿态关系。
两个原始坐标系之间的关系可描述为规格不符齐次矩阵A。用A来表示第一个链接的构成相对于参考坐标系{0},以此来表示表示第二个链接的构成,然后用公式(2)来表示第二个链接的构成关系:
T2=A1A2
(2)
多臂机操作机械手从手端到参考坐标系的总位姿关系可表示为以下3种形式:
T6=A1A2A3A4A5A6
(3)
对单关节机械手,移除第一连杆、第一连杆、1-1连杆和1-1连杆,讨建立了连杆i和连杆i-1的参考坐标系分析两者之间的位姿关系。
图5显示了连杆坐标系的示意图。
图5 连杆坐标系示意图
从图5可以看出,建立坐标系{i}的方法是:将关节i-1的公法线与关节i的轴和关节i的轴的交点作为原点;zi轴沿关节i的轴向上;xi轴沿关节i和关节i+1的轴指向关节i+1;yi轴和xi轴;zi轴遵循右手法则。{i-1}和{i+1}坐标系也可同样获得。在图5中,hi表示连接i-1公法线与zi轴上连杆i之间的距离,而li表示连接i轴上连接i+1关节之间的距离;βi为xi-1轴变换到xi轴需绕Zi轴旋转的角度;αi为关节i与关节i+1的轴线在垂直与αi的平面内的夹角。可以通过以下步骤从坐标系{i-1}转换到坐标系{i}:
1)将坐标系{i-1}绕Zi轴旋转βi,使得xi-1与xi位于同一直线上;
2)将坐标系{i-1}沿Zi移动hi,使得xi-1与xi位于同一高度上;
3)将坐标系{i-1}沿xi平移li-1,此时坐标系{i-1}原点位于Zi上;
4)将坐标系{i-1}绕xi轴旋转αi-1,坐标系重合。
在基于FuzzyP的多臂机器人机械臂控制系统设计实验中,选取机器人运动空间内的重复点进行位置运动位置精度测量,采用POLARIS光学导航仪作为测量工具,图6为多臂机器人机械臂实验图。
图6 多臂机器人机械臂实验图
将定位支架固定在多臂机器人机械臂末端,将导航仪位置作为机械臂末端测量点实际位置。
1)控制机械臂,使其运动到一个合适位置,保证导航仪对定位支架定位在0.01 mm误差范围内,以此作为实验给定值,记录此时定位支架下坐标值。
2)控制机械臂运动一段距离后,主控计算机控制机械臂回到原始位置,记录到此时位置信息后,定位导航仪下坐标值。
3)重复上述步骤,获取多测量坐标值,并进行数据处理。
演示界面的通信模块完成了界面与操作者实际操作手之间的通信。上行链路信息为腕部姿态信息,下位显示界面为真实机械手传递指令信息,演示界面为串行通信。机械手控制器接收相应关节的控制指令,给出各关节的位置信息。
该系统的驱动方式是保证每个关节相应地增加相应的度数,并以每个关节在控制指令中的位置作为变量来完成实际机械手各关节角度的变化。
为了方便实验分析,以非模态对话框作为显示窗口,如表1所示。
表1 显示窗口数据
显示窗口将实时显示每次机械臂末端坐标和目的坐标,保证发送的控制指令能够全部被执行。
在实验对象腕部、肘部和肩部固定传感器后,移动其手臂由位置A到位置B,分别使用基于姿态识别控制系统、基于位置识别控制系统和基于FuzzyP控制系统对机械臂运动轨迹控制精度展开对比分析,结果如图7所示。
图7 3种系统机械臂运动轨迹控制精度对比分析
由图7可知:使用基于姿态识别控制系统从A到B坐标变换与预期轨迹差别较大,整个轨迹运行路线较短;基于位置识别控制系统从A到B坐标变换与预期轨迹差别较大,尤其是在坐标点为(820,23,345)时,差别最大;使用基于FuzzyP控制系统与预期轨迹基本一致,由此可知使用该系统机器人机械臂轨迹控制精度较高。
基于FuzzyP的多臂机器人机械臂控制系统是可行的,可以满足中小型协同机器人对机械手的控制要求,并且具有控制精确,动作灵活等优点。通过添加H桥电路,可以实时检测出机械手的力矩,达到力矩限制的目的,实现机械手的零力控制。该机械臂在力矩超过设定值时停止工作,避免对工作人员造成意外伤害。在此基础上,完成了机械手姿态控制及系统演示界面的开发,并在研究多臂机械手控制系统时实现了模糊控制器的功能。
该研究还有很多地方需要改进,例如还可以深入探讨机械臂各部件的三维建模方法,以提高控制精度。未来也将以这一方向为研究目标,进一步完善多臂机器人机械臂控制系统。