APP下载

基于六维鼠标的机器人位姿控制研究

2022-09-20祝润泽黄昕高燕

机床与液压 2022年9期
关键词:坐标系轨迹按键

祝润泽,黄昕,高燕

(广州机械科学研究院有限公司中央研究所,广东广州 510700)

0 前言

随着制造业转型升级,工业机器人逐渐演变成普通工业消费品,大量中小企业在长尾行业开始引入机器人来替代人工。在如今不断追求短平快的市场环境下,产品换线频率逐渐升高,固定单品的净生产时间逐渐下降,这使得机器人的程序示教时间在整体机器人应用时间中的占比逐渐上升,高昂的维护时间成本成了阻碍机器人应用的主要因素。机器人的示教编程主要分为示教器按键示教和直接示教。不同于示教器按键示教中对物理按键的点击操作,在直接示教中,操作人员可通过直接拖拽机器人本体的方式移动机器人末端以实现示教目的。当通过按键操作时,操作人员坐标系与机器人工作坐标系相互独立。在直接示教的方式中,由于操作人员直接与机器人互动,操作坐标系与机器人工作坐标系融合,对机器人的控制更加直观。由于这种差异,直接示教的方式在降低对操作人员水平要求的同时也大大提高了示教效率。CHOI和LEE对80名无经验操作人员进行了实验,发现直接示教的方式相对于示教器按键操作,其示教时间成本降低1/2,同一任务直接示教的方式在初次操作时所需的时间与按键操作经过多次练习后相当。由此可见,直接示教是降低示教时间的关键。

1 相关工作

机器人的直接示教可以通过多种方式实现。针对一些不具备直接示教功能的封闭机器人系统,直接示教通常通过增加外部设备实现。刘昆等人通过增加外部力/力矩传感器,收集使用者施加在机器人上的力信号,实现对机器人位姿的控制。通过力控的方式虽然可以实现直接示教,但是受限于力控的带宽限制,示教时通常存在响应慢的问题,并且六维力传感器价格昂贵,整机成本缺少竞争力。CHOI和KIM设计了一种简单的采集力/力矩方向信号的装置,通过安装于机器人末端实现对机器人的直接操作。由于此设备在每个空间维度仅能提供on-off信号,很难对机器人的位置进行连续精细控制。除了在末端增加设备之外,通过对机器人各个关节的力矩进行检测也可以实现对关节的拖动示教。在各个关节增加力矩传感器可以实现较好的拖动效果,但是成本高昂,在目前的国内市场非常不适用。基于动力学模型辨识实现的机器人零力控制不需要增加任何外部传感器,是实现拖动示教的首选方式。在应用时,首先需要对机器人的动力学模型进行辨识,在运动过程中对重力以及摩擦力进行补偿后,构建机器人各轴的期望力矩,从而实现零力控制。由于机器人结构影响,实际进行拖动机器人末端时,受限于机器人各轴不等长的力臂,作用在机器人末端的控制力很难实现对机器人各轴的均匀拖动。以六轴机器人为例,离基座更近的一、二、三轴在拖动时往往比腕关节的3个轴更加敏感,在实际使用中同样存在很难对末端位置进行精准控制的问题。为使操作坐标系与工作坐标系统一,SUGITA和ITAYA设计了一种示教外设,操作者直接手动操作此外设在加工表面进行示教,用直接操作其他设备的方式取代直接操作机器人,所有示教点位均由该设备记录,机器人仅作为后端加工执行单元。

在实际应用中,直接示教的方法还需要工作轨迹规划的支持。陈宇鹏等通过非均匀B样条曲线对直接示教的轨迹进行拟合,从而实现平顺的直接示教轨迹再现。

本文作者提出的基于六维鼠标的机器人位姿控制在成本上相较于力传感器更低,相对于运动学拖动示教可以更加直观地控制机器人末端位姿,在实际运动时轨迹由专用控制器生成,更有利于获得均匀平顺的离散点位,更适合直接示教的执行复现。

2 六维鼠标

图1所示为此方案中使用的六维鼠标,是来自3Dconnexion公司的SpaceMouse compact产品,该产品已被广泛应用于CAD建模。六维鼠标输出六个维度的移动量信号。在方向提供±1.5 mm的检测位移量,在方向提供±6°的旋转量。该产品通过USB进行连接,交互数据包大小为7 B,其中第一字节指明了当前数据包的数据类型,其有效值为1、2、3,分别对应移动数据、旋转数据以及按键数据,如表1—表4所示。移动数据包和旋转数据包均包含6 B有效数据,由3个INT_16类型数据构成。对于按键数据,数据包有效数据仅1 B,通过两位数据表述实际硬件中的2个按键状态。

图 1 3Dconnexion SpaceMouse

表1 移动数据

表2 旋转数据

表3 按键数据1

表4 按键数据2

3 系统结构

基于六维鼠标的位姿控制主要由以下系统结构构成。主要流程包含鼠标内部的传感器数据获取、机器人控制器对鼠标数据的处理、坐标系转换、轨迹控制以及到关节空间的转换、伺服电机控制。其中,鼠标的传感器数据获取由鼠标产品提供,通过USB进行数据对接;伺服控制采用通用商业伺服,采用位置控制模式进行开环控制。本文作者着重进行机器人控制器端的设计与架构。图2所示为完整的系统结构流程。

图2 系统结构

其中,为鼠标原始数据,其结构为

=[]

为笛卡尔空间下的控制轨迹目标点:

=[]

式中:、、为遵循--原则的欧拉角;为关节角度,表示为

4 坐标系转换

坐标系转换是使用六维鼠标数据控制机器人的必要流程之一。六维鼠标产品在出厂时已通过内部传感器校准等方式确定产品信号坐标系,其坐标系定义如图3所示。当产品被安装于机器人末端并用于控制机器人工具末端运动时,信号坐标系便与控制坐标系存在差异,两者间的关系定义如下:

图3 装于机器人末端的鼠标

通过增加装配结构校准钉的方式,可获得:

经计算,得:

5 轨迹控制

为保证机器人的平顺运行,经过转换的六维鼠标数据需要经过控制器内部规划,生成满足机器人关节加加速度、加速度以及速度限制的运动轨迹。在轨迹控制方面,采用一种改型3层PID运动控制器实现,该控制器包含加速度环、速度环以及位置控制环。每层控制器均采用完整PID进行控制,且在每层控制环的输入端增加极值限制,通过限制输入的方式保证输出的加加速度、加速度以及速度均在允许范围之内。该控制器意在借助PID控制器生成连续平顺的轨迹,所以在最内环加加速度环,控制系统被设置为直接控制系统,即系统的系数为,在后续测试中,=1。

图4所示为该控制器的基本结构,在3层运动学PID控制器的基础上,调整位置环输入以及速度环极值限制,实现基于六维鼠标数据的机器人速度控制。来自六维鼠标的数据首先通过一个极值过滤,将连续的控制数据根据正负转换成为Bang-Bang控制的信号,控制信号为一个位置上的极大值,极大值通过系数调整。在位置环采用Bang-Bang控制信号,主要实现调整运动方向的功能。在输入位置控制环的同时,六维鼠标的原始数据取绝对值以获取移动量的矢量信息,结合当前系统允许的最大速度,其乘积作为系数传入,再调整符号,结合设置的最大速度和当前六维鼠标大小的信号降作为系统中新的最大速度和最小速度限制,确保速度环的输入在控制速度范围内。

图4 轨迹控制结构

6 机器人逆解

经过上述规划控制器转换后,其控制结果处于笛卡尔空间中。此时所有笛卡尔坐标系中的点位需经过机器人逆解计算,将获得的对应的关节位置作为机器人各轴的目标点位使用。通过对不同机械机构建立逆解算法,结合六维鼠标的位姿控制,可以轻松适配不同机器人机型,降低算法应用的复杂度。

以通用六轴机器人为例,笛卡尔坐标至关节空间的转换可以通过几何法实现。由于机器人末端腕关节4、5、6轴的旋转轴在结构上十字相交,当法兰盘的笛卡尔位置已知时,可通过沿末端轴方向反算腕关节交点位置。交点位置仅受1、2、3轴影响,此时根据交点位置与坐标系原点在平面上的投影即可获得1轴角度,通过2、3轴连杆长度和交点与坐标系原点的距离可以计算出2、3轴的角度。根据计算所获的前三轴数据,通过正解可获得在腕关节处4轴的旋转轴方向,结合法兰盘位置,即可计算4、5、6轴关节的角度。

7 上机实验

该项目控制结构使用国机智能SR07L机器人进行上机应用实验。算法部署基于国机智能自行研发的机器人控制器,采用经过裁剪的Linux系统,借助系统原生的工具校准算法以及机器人正逆解实现。如图5所示,六维鼠标通过3D打印的连接器安装于机器人末端,通过在机器人法兰盘位置的法兰进一步固定操作工具。

图5 SR07L机器人

图6所示为基于六维鼠标的控制效果。图中纵坐标为归一化后的鼠标位移量以及机器人笛卡尔空间内的速度,可知机器人位置实现了对六维鼠标指令的跟踪,速度可随鼠标指令量调整。

图6 实验结果

8 结束语

针对更加直观的机器人示教方式,本文作者提出了一种基于六维鼠标的机器人位姿控制方式,涵盖了从鼠标数据获取、坐标系转换、轨迹控制到机器人逆解直至伺服控制的全部流程。在实际上机实验中,利用该控制流程控制机器人末端位姿,实现了对鼠标指令的有效跟踪。这种直接示教的方法使用了独立外部

设备对位姿进行直接控制,因此可以通过替换机器人逆解直接对不同种类的机器人进行适配。因为不依赖于任何动力学模型,在实际装机使用时可省去动力学模型辨识的流程。从成本上考虑,六维鼠标的物料成本远低于六维力传感器。尽管相较于无传感器的动力学,拖动示教成本有所增加,但考虑直接对末端进行精准位姿控制,基于六维鼠标的方式依然比动力学拖动示教有更好的效果,且其直接示教部署难度更低、速度更快,在实际量产使用中有着更好的应用前景。

猜你喜欢

坐标系轨迹按键
浅谈求轨迹方程中的增解与漏解
极坐标系中的奇妙曲线
无从知晓
非触勿动 秒治键盘误触
三角函数的坐标系模型
求坐标系内三角形的面积
捕捉物体运动轨迹
未来的笔
例谈坐标系与参数方程常考题型
其实真的很简单教你轻松关闭WP8.1手机按键灯