发明名称 一种基于可编程控制器的工业机器人直线插补方法
摘要 本发明涉及一种基于可编程控制器的工业机器人直线插补方法,该插补方法是根据所需的插补路径,按照等时间间隔插补的方式确定轮廓,然后根据工业机器人的逆运动学方程获取各关节在一个插补步长内的位移,进一步将其换算到各关节每走一步对应的脉冲数和脉冲频率,进而根据脉冲数和频率制作定位数据表,同步运行各关节,实现直线插补。本发明所提出的工业机器人直线插补方法,实现了工业机器人在运动过程中,插补轴数不受限制,插补比例系数是时变的;并且该直线插补方法对可编程控制器PLC硬件的要求较低,只需要提供运动控制最基本的高速脉冲通道以及数据表的运行方式,此外,还可以在任意结构形式的工业机器人上实现任意轴数的直线插补。
申请公布号 CN104133424B 申请公布日期 2017.01.18
申请号 CN201410408063.0 申请日期 2014.08.19
申请人 福州大学 发明人 吴海彬;李实懿;施方圆;叶婷婷;陈建鹏;姚立纲
分类号 G05B19/41(2006.01)I 主分类号 G05B19/41(2006.01)I
代理机构 福州元创专利商标代理有限公司 35100 代理人 蔡学俊
主权项 一种基于可编程控制器的工业机器人直线插补方法,提供一工业机器人系统,该工业机器人系统包括至少M个关节,其中M为大于等二的整数;每个关节均由任意实现圆周运动或直线运动的传动机构传动;由带高速脉冲输出通道且支持数据表运行方式的可编程控制器PLC控制所述每个关节的定位运动;其特征在于,按照以下步骤实现:S01:在笛卡尔坐标下,通过示教手段,根据工业机器人正运动学方程获得待插补直线运动的插补起点A及插补终点B的工具中心点TCP坐标,且将所述插补起点A的坐标表示为(x<sub>1</sub>,y<sub>1</sub>,z<sub>1</sub>),将所述插补终点B的坐标表示为(x<sub>2</sub>,y<sub>2</sub>,z<sub>2</sub>),同时得到所述插补起点A和所述插补终点B两点间的距离S:<img file="FDA0001115261060000011.GIF" wi="790" he="79" />S02:将所述工具中心点TCP在所述笛卡尔坐标系下的运动速度表示为V,并得到插补运行的总时间T:<img file="FDA0001115261060000012.GIF" wi="157" he="118" />将所需的插补时间步长表示为ΔT,从所述插补起点A到所述插补终点B所需的理论插补步数为N<sub>0</sub>:<img file="FDA0001115261060000013.GIF" wi="208" he="118" />且将所得结果进行四舍五入后作为N<sub>0</sub>的值;由于存在机械臂的惯量以及高速脉冲输出口对初始脉冲频率的限制,在插补过程的首尾分别设置加速段和减速段,令加速段和减速段的时间相等,且均表示为T<sub>0</sub>,从而得到笛卡尔坐标系下的加速度a:<img file="FDA0001115261060000014.GIF" wi="165" he="127" />加减速段所需的插补步数N<sub>a</sub>:<img file="FDA0001115261060000015.GIF" wi="214" he="111" />且将所得结果进行四舍五入后作为N<sub>a</sub>的值,则实际插补步数应为N:N=N<sub>0</sub>+N<sub>a</sub>;其中,从第0步到第N<sub>a</sub>步为加速段,从第N<sub>a</sub>+1步到第N<sub>0</sub>步为恒速段,从第N<sub>0</sub>+1到第N步为减速段;S03:根据所述步骤S02中加减速特性相关参数计算每一插补点N<sub>i</sub>(i=0~N)与所述插补起点A的距离S<sub>i</sub>:<img file="FDA0001115261060000016.GIF" wi="1078" he="398" />其中,所述插补点N<sub>i</sub>为第i个插补点,也即插补过程第i步插补;S04:以所述插补起点A的坐标(x<sub>1</sub>,y<sub>1</sub>,z<sub>1</sub>)开始,在插补线段AB上的任一插补点N<sub>i</sub>(i=0~N)在笛卡尔坐标系下的坐标(x<sub>i</sub>,y<sub>i</sub>,z<sub>i</sub>),为<img file="FDA0001115261060000021.GIF" wi="366" he="119" /><img file="FDA0001115261060000022.GIF" wi="732" he="127" />其中ΔX=x<sub>2</sub>‑x<sub>1</sub>,ΔY=y<sub>2</sub>‑y<sub>1</sub>,ΔZ=z<sub>2</sub>‑z<sub>1</sub>;S05:确定每个关节的脉冲当量δ<sub>m</sub>,其中m为关节编号,表示第m个关节,其中0<m≤M;并根据工业机器人逆运动学方程,分别求出每一插补点N<sub>i</sub>(i=0~N)坐标(x<sub>i</sub>,y<sub>i</sub>,z<sub>i</sub>)对应的每个关节的角位移θ<sub>m,i</sub>或线位移L<sub>m,i</sub>;且基于该位移量,求出每个关节对应的高速脉冲通道的目标脉冲数P<sub>m,i</sub>:<img file="FDA0001115261060000023.GIF" wi="202" he="134" />或<img file="FDA0001115261060000024.GIF" wi="230" he="134" />且对P<sub>m,i</sub>取整后作为目标脉冲;将各高速脉冲通道中当前插补点的目标脉冲数P<sub>m,i</sub>与上一插补点的目标脉冲数P<sub>m,i‑1</sub>的相减,得到各通道每插补一步需要输出的脉冲增量ΔP<sub>m,i</sub>:ΔP<sub>m,i</sub>=P<sub>m,i</sub>‑P<sub>m,i‑1</sub>;由于是等时间间隔插补,即每一步都是在ΔT内完成的,进一步得到每插补一步对应关节的脉冲频率F:<img file="FDA0001115261060000025.GIF" wi="260" he="134" />S06:由于可编程控制器PLC在硬件上存在限制的最低脉冲频率F<sub>min</sub>,则以最低频率F<sub>min</sub>插补一步的最小脉冲量ΔP<sub>min</sub>为:ΔP<sub>min</sub>=F<sub>min</sub>×ΔT;若插补过程中单步的脉冲增量小于最小脉冲量ΔP<sub>min</sub>,则对目标脉冲数P<sub>m,i</sub>进行补偿,即每次计算完脉冲增量ΔP<sub>m,i</sub>,都与最小脉冲量ΔP<sub>min</sub>进行比较,若出现满足0<|ΔP<sub>m,i</sub>|<ΔP<sub>min</sub>的插补点,则对目标脉冲数P<sub>m,i</sub>进行补偿,补偿为最小脉冲量ΔP<sub>min</sub>,并记录补偿次数;直到遇到|ΔP<sub>m,i</sub>|≥2ΔP<sub>min</sub>的插补点,开始对目标脉冲数P<sub>m,i</sub>进行反向补偿,以抵消之前增加的脉冲数;S07:每完成一个插补点,通过插补点指针i判断插补计算是否完成;若完成插补计算,跳转步骤S08,若未完成则跳转所述步骤S03,计算下一插补点;S08:定位数据表包括控制代码、脉冲频率和目标脉冲数三部分,根据不同的可编程控制器PLC数据表指令,将对应计算出来的脉冲频率和目标脉冲值按照顺序提取出来,并确定控制代码,分别生成特定格式的定位数据表,以控制各高速脉冲通道按照各自的定位数据表同步输出高速脉冲,实现直线插补。
地址 350108 福建省福州市闽侯县上街镇大学城学园路2号福州大学新区
您可能感兴趣的专利