正在加载图片...
246 工程科学学报,第44卷,第2期 从运动关节轴所对应的序号是动态变化的,既使 Ts(qm)=Kpsou(es(qm),ap,6p)+Kasou(es'(qm).ad.6a) 是同一段机器人运动轨迹描述的指令代码中,主 (3) 运动轴、从运动轴的关系,也有可能随时间或者位 其中,Kso和Kaso是系统的初始非线性PD控制增 姿的变化而发生变化:而且在任意时刻,所有从动 益矩阵,是恒定值的从动轴的比例增益和微分增 轴的位置,都要实时表达为主动轴位置的函数.这 益对角矩阵;y是三元非线性函数;而ap,6p,aa, 就是为什么位置域控制算法在多关节机器人控制 6a则是定义非线性函数的附加参数 中,难以实际应用的症结所在 三元非线性函数山的一般表达式定义如下叫 如图1所示为位置域PD控制原理框图阁,首 Ixlsign(x).>6 先根据理论轮廓运用逆运动学分析,获得时间域 山(x,,0)= 1-6 (4) 中某段轮廓轨迹中各个关节轴的期望位置,并分 析在该段轨迹运动中,哪个关节轴的运动位置增 从公式(4)可以看出,α为非线性函数中的幂指数 量最大,则将哪个关节轴指定为主运动关节轴,其 部分,而δ则为线性与非线性分界的阈值.在阈值范 他的关节轴为从运动关节轴.然后通过轨迹规划 围内,函数表现为线性:当超过该阈值时,函数表现为 非线性:此时非线性函数的数学属性由参数α决定 方法,获得在位置域中表示的从运动轴的、以主动 轴位置q1为自变量的从动轴期望位置qsd(q1)和期 在位置域PD控制中,参考位置qm是类似时域中时间 望位置相对导数qd(q1)(此处假设与关节轴1相 1的自变量.e,(gm)和e,(gm)是自变量qm的函数 将公式(4)代入公式(3)中,该控制律也可以 对应的运动为主运动),最后通过位置域PD控制, 采用式(5)表示: 实现从运动相对于主运动位置的实时跟随控制, 以提高整个机器人末端件空间运动轨迹的精度. Ts(qm)=Kps(es(9m).Qp.6p)es(qm)+ Kas(es(qm),ad.6d)es(qm) (5) Main 4491).9391) 9 其中,该控制律的增益系数定义如下: movement Trajectory planning OSlave movement Kpsoles (gm)p-,les(gm)>6p Position-domain Kps(es(qm),ap,6p)= Inverse kinematics NPD control Kpsoopap-1.les(gm)s6p (6) Desired profile 以及 图1位置域PD控制原理框图 Fig.1 Schematic of PD control in the position domain Kds(e,(qm),ad,dd) Kasoles(qm)es(qm)>6a 综上所述,位置域PD控制,从控制规律上可看 Kasood-l,eg(qm≤6a 7) 作是一种通用的空间同步的位置和速度控制,其 其中,Ks和Ks表示位置域非线性PD控制的与系 中从运动根据轨迹轮廓要求,相对于主运动的位置、 统误差e,(qm)和e,(gm)有关的增益矩阵 速度,在位置和速度上进行跟随控制,使得主运动 公式(5)至公式(7)表明,位置域非线性PD控制 和从运动之间综合的运动轨迹尽可能地精确 器可视为变增益的控制器,其增益为系统误差的函数 另外,从实现上来说,位置域PD控制其实是 以时间域控制和位置域控制的混合控制的形式进 2 基于LinuxCNC系统的位置域控制系统 行的920主运动在时域中受到公式(1)所示控制 设计 律的控制,同时从运动则在位置域中受到公式(2) LinuxCNC系统具有以下优点: 所示控制律的控制.应当注意的是,主运动在时间 (I)开源:LinuxCNC系统的源码完全公开,用 域的控制过程中必须满足单调递增或递减的条 户可以方便地获得其源码并进行有针对性的开发; 件,以便形成从时间域到位置域的映射是一对一 (2)实时性:LinuxCNC系统具有实时性,支持 的,才能使得主动轴因时间域控制所产生的位置 EtherCAT现场总线及Ims的插补周期,可以满足 误差,折算到从动轴的位置误差为减少的 机器人运动控制对实时性的要求: 更进一步地,采用非线性函数替换公式(2)中 (3)可扩展性:LinuxCNC系统的硬件抽象层 的误差信号e(qm)、es'(qm),形成一种基于多自由 提供了内核模块接口,用户可以根据自身需要灵 度机器人的位置域非线性PD控制律.该控制律用 活设计内核实时运行的HAL组件,以实现特定的 以下形式表示: 实时插补控制功能,如位置域控制功能从运动关节轴所对应的序号是动态变化的,既使 是同一段机器人运动轨迹描述的指令代码中,主 运动轴、从运动轴的关系,也有可能随时间或者位 姿的变化而发生变化;而且在任意时刻,所有从动 轴的位置,都要实时表达为主动轴位置的函数. 这 就是为什么位置域控制算法在多关节机器人控制 中,难以实际应用的症结所在. q1 qsd (q1) qsd ′ (q1) 如图 1 所示为位置域 PD 控制原理框图[18] ,首 先根据理论轮廓运用逆运动学分析,获得时间域 中某段轮廓轨迹中各个关节轴的期望位置,并分 析在该段轨迹运动中,哪个关节轴的运动位置增 量最大,则将哪个关节轴指定为主运动关节轴,其 他的关节轴为从运动关节轴. 然后通过轨迹规划 方法,获得在位置域中表示的从运动轴的、以主动 轴位置 为自变量的从动轴期望位置 和期 望位置相对导数 (此处假设与关节轴 1 相 对应的运动为主运动),最后通过位置域 PD 控制, 实现从运动相对于主运动位置的实时跟随控制, 以提高整个机器人末端件空间运动轨迹的精度. Main movement Trajectory planning Slave movement Inverse kinematics Desired profile q1 + − Position-domain NPD control qsd(q1 ), q′ sd(q1 ) qs (q1 ) 图 1    位置域 PD 控制原理框图 Fig.1    Schematic of PD control in the position domain 综上所述,位置域 PD 控制,从控制规律上可看 作是一种通用的空间同步的位置和速度控制,其 中从运动根据轨迹轮廓要求,相对于主运动的位置、 速度,在位置和速度上进行跟随控制,使得主运动 和从运动之间综合的运动轨迹尽可能地精确. 另外,从实现上来说,位置域 PD 控制其实是 以时间域控制和位置域控制的混合控制的形式进 行的[19−20] . 主运动在时域中受到公式(1)所示控制 律的控制,同时从运动则在位置域中受到公式(2) 所示控制律的控制. 应当注意的是,主运动在时间 域的控制过程中必须满足单调递增或递减的条 件,以便形成从时间域到位置域的映射是一对一 的,才能使得主动轴因时间域控制所产生的位置 误差,折算到从动轴的位置误差为减少的. es (qm) es ′ (qm) 更进一步地,采用非线性函数替换公式(2)中 的误差信号 、 ,形成一种基于多自由 度机器人的位置域非线性 PD 控制律. 该控制律用 以下形式表示: τs (qm) = Kps0ψ ( es (qm),αp,δp ) + Kds0ψ ( es ′ (qm),αd,δd ) (3) Kps0 Kds0 αp δp αd δd 其中, 和 是系统的初始非线性 PD 控制增 益矩阵,是恒定值的从动轴的比例增益和微分增 益对角矩阵;ψ 是三元非线性函数;而 , , , 则是定义非线性函数的附加参数. 三元非线性函数 ψ 的一般表达式定义如下[21] : ψ(x,α,δ) =    |x| α sign(x),|x| > δ x δ 1−α ,|x| ⩽ δ (4) qm es (qm) e ′ s (qm) qm 从公式(4)可以看出,α 为非线性函数中的幂指数 部分,而 δ 则为线性与非线性分界的阈值. 在阈值范 围内,函数表现为线性;当超过该阈值时,函数表现为 非线性;此时非线性函数的数学属性由参数 α 决定. 在位置域 PD 控制中,参考位置 是类似时域中时间 t 的自变量. 和 是自变量 的函数. 将公式(4)代入公式(3)中,该控制律也可以 采用式(5)表示: τs (qm) = Kps ( es (qm),αp,δp ) es (qm)+ Kds ( e ′ s (qm),αd,δd ) e ′ s (qm) (5) 其中,该控制律的增益系数定义如下: Kps ( es (qm),αp,δp ) =    Kps0|es (qm)| αp−1 ,|es (qm)| > δp Kps0δp αp−1 ,|es (qm)| ⩽ δp (6) 以及 Kds ( e ′ s (qm),αd,δd ) =    Kds0 e ′ s (qm) αd−1 , e ′ s (qm) > δd Kds0δd αd−1 , e ′ s (qm) ⩽ δd (7) Kps Kds es (qm) e ′ s (qm) 其中, 和 表示位置域非线性 PD 控制的与系 统误差 和 有关的增益矩阵. 公式(5)至公式(7)表明,位置域非线性 PD 控制 器可视为变增益的控制器,其增益为系统误差的函数. 2    基于 LinuxCNC 系统的位置域控制系统 设计 LinuxCNC 系统具有以下优点: (1)开源:LinuxCNC 系统的源码完全公开,用 户可以方便地获得其源码并进行有针对性的开发; (2)实时性:LinuxCNC 系统具有实时性,支持 EtherCAT 现场总线及 1 ms 的插补周期,可以满足 机器人运动控制对实时性的要求; (3)可扩展性:LinuxCNC 系统的硬件抽象层 提供了内核模块接口,用户可以根据自身需要灵 活设计内核实时运行的 HAL 组件,以实现特定的 实时插补控制功能,如位置域控制功能. · 246 · 工程科学学报,第 44 卷,第 2 期
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有