一种基于SCARA机械手的运动轨迹规划方法及系统.pdf

上传人:a2 文档编号:68794 上传时间:2018-01-22 格式:PDF 页数:25 大小:5.67MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410427532.3

申请日:

2014.08.27

公开号:

CN104191428A

公开日:

2014.12.10

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):B25J 9/16申请日:20140827|||公开

IPC分类号:

B25J9/16

主分类号:

B25J9/16

申请人:

深圳科瑞技术股份有限公司

发明人:

丁昭继; 管成亮

地址:

518000 广东省深圳市南山区科技园麻雀岭7栋1楼

优先权:

专利代理机构:

深圳市君胜知识产权代理事务所 44268

代理人:

王永文;刘文求

PDF下载: PDF下载
内容摘要

本发明所提供的一种基于SCARA机械手的运动轨迹规划方法及系统,方法包括:上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将轨迹规划方式和运动参数发送至SCARA机械手的运动控制器;运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;SCARA机械手接收实际运动轨迹信息,并根据实际运动轨迹信息进行运动。本发明具有直线插补,圆弧插补,飞行捕捉三种不同运动轨迹算法,具有响应快,精度高特点。

权利要求书

1.  一种基于SCARA机械手的运动轨迹规划方法,其特征在于,所述方法包括步骤:
A、上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;
B、所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;
C、所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。

2.
  根据权利要求1所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤A中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。

3.
  根据权利要求2所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤A中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。

4.
  根据权利要求3所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤B中具体包括:
B1、当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得 到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;
B2、当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;
B3、当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;
B4、所述DSP将所述多个插补点的物理坐标转化为相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;
B5、所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动。

5.
  根据权利要求4所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤B1具体包括:
B11、所述DSP获取所述运动参数中的起点坐标(X0,Y0)、终点坐标(Xe,Ye)及插补精度值ΔL,并分别根据ΔX=Xe-X0和ΔY=Ye-Y0得到终点坐标与起点坐标的横向间距ΔX及纵向间距ΔY;
B12、判断|ΔX|是否大于或等于|ΔY|,当大于或等于时则执行步骤B13,当小于时则执行步骤B14;
B13、根据n1=floor(|ΔX|/ΔL+1)计算第一插补次数n1,并根据ΔLN1=ΔX/n1计算当前第一插补精度ΔLN1,并根据ΔXi=ΔLN1确定第一横向增量ΔXi,根据ΔYi=ΔLN1*ΔY/ΔX确定第一纵向增量ΔYi,根据Xi=Xi-1+ΔXi确定实际运动轨迹中n1个插补点的横坐标,根据Yi=Yi-1+ΔYi确定实际运动轨迹中n1个插补点的纵坐标;其中,floor函数为向下取整函数,i为取值范围 为[1,n1]的正整数;
B14、根据n2=floor(|ΔY|/ΔL+1)计算第二插补次数n2,并根据ΔLN2=ΔY/n2计算当前第二插补精度ΔLN2,并根据ΔXj=ΔLN2*ΔX/ΔY确定第二横向增量ΔXj,根据ΔYj=ΔLN2确定第二纵向增量ΔYj,根据Xj=Xj-1+ΔXj确定实际运动轨迹中n2个插补点的横坐标,根据Yj=Yj-1+ΔYj确定实际运动轨迹中n2个插补点的纵坐标;其中,floor函数为向下取整函数,j为取值范围为[1,n2]的正整数。

6.
  根据权利要求4所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤B2具体包括:
B21、所述DSP获取所述运动参数中的起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)、圆弧插补精度值dfstep及圆弧插补方向;
B22、根据起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)及圆弧插补方向确定半径R、起点角度终点角度及终点角度与起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度Dfstep,根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,floor函数为向下取整函数,m为取值范围为[1,N]的正整数。

7.
  一种基于SCARA机械手的运动轨迹规划系统,其特征在于,包括:
设置模块,用于上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;
轨迹获取及发送模块,用于所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;
接收及运动模块,用于所述SCARA机械手接收所述实际运动轨迹信 息,并根据所述实际运动轨迹信息进行运动。

8.
  根据权利要求7所述基于SCARA机械手的运动轨迹规划系统,其特征在于,所述设置模块中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。

9.
  根据权利要求8所述基于SCARA机械手的运动轨迹规划系统,其特征在于,所述轨迹获取及发送模块中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。

10.
  根据权利要求9所述基于SCARA机械手的运动轨迹规划系统,其特征在于,所述轨迹获取及发送模块具体包括直线插补单元、圆弧插补单元、飞行捕获平滑单元、转角速度获取单元和发送单元,其中:
所述直线插补单元,用于当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;
所述圆弧插补单元,用于当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;
所述飞行捕获平滑单元,用于当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;
所述转角速度获取单元,用于所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;
所述发送单元,用于所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据SCARA机械手大小臂的转角及速度控制SCARA机械手运动。

说明书

一种基于SCARA机械手的运动轨迹规划方法及系统
技术领域
本发明涉及机械手控制技术领域,尤其涉及的是一种基于SCARA机械手的运动轨迹规划方法及系统。
背景技术
当前,SCARA机械手广泛应用于电子、汽车、塑料、食品等工业领域,其主要职能是完成搬运和装配工作。随着加工工艺的复杂性与精确性不断提升,SCARA机械手在流水线上经常需要与其他工业设备协同作业,难免会出现与障碍物发生碰撞的危险。因此,对工作范围内存在障碍物的SCARA机械手的运动轨迹进行规划便显得尤为重要。
轨迹规划(Path Planning)是指给定环境的障碍物条件,以及起始点和目标点位置,要求选择一条从起始点到目标点的路径,使SCARA机械手能安全、无碰撞地通过所有的障碍物。现有的普通SCARA机械手的轨迹精度平均为0.3mm,可见其轨迹精度并不高,而且轨迹规划的耗时也较长。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于SCARA机械手的运动轨迹规划方法及系统,可有效解决采用现有技术SCARA机械手的轨迹精度不高,规划时间耗时长的缺陷。
本发明解决技术问题所采用的技术方案如下:
一种基于SCARA机械手的运动轨迹规划方法,其中,所述方法包括步骤:
A、上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;
B、所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;
C、所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。
所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤A中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。
所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤A中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。
所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤B中具体包括:
B1、当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;
B2、当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得 到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;
B3、当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;
B4、所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;
B5、所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动。
所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤B1具体包括:
B11、所述DSP获取所述运动参数中的起点坐标(X0,Y0)、终点坐标(Xe,Ye)及插补精度值ΔL,并分别根据ΔX=Xe-X0和ΔY=Ye-Y0得到终点坐标与起点坐标的横向间距ΔX及纵向间距ΔY;
B12、判断|ΔX|是否大于或等于|ΔY|,当大于或等于时则执行步骤B13,当小于时则执行步骤B14;
B13、根据n1=floor(|ΔX|/ΔL+1)计算第一插补次数n1,并根据ΔLN1=ΔX/n1计算当前第一插补精度ΔLN1,并根据ΔXi=ΔLN1确定第一横向增量ΔXi,根据ΔYi=ΔLN1*ΔY/ΔX确定第一纵向增量ΔYi,根据Xi=Xi-1+ΔXi确定实际运动轨迹中n1个插补点的横坐标,根据Yi=Yi-1+ΔYi确定实际运动轨迹中n1个插补点的纵坐标;其中,floor函数为向下取整函数,i为取值范围为[1,n1]的正整数;
B14、根据n2=floor(|ΔY|/ΔL+1)计算第二插补次数n2,并根据ΔLN2=ΔY/n2计算当前第二插补精度ΔLN2,并根据ΔXj=ΔLN2*ΔX/ΔY确定第二横 向增量ΔXj,根据ΔYj=ΔLN2确定第二纵向增量ΔYj,根据Xj=Xj-1+ΔXj确定实际运动轨迹中n2个插补点的横坐标,根据Yj=Yj-1+ΔYj确定实际运动轨迹中n2个插补点的纵坐标;其中,floor函数为向下取整函数,j为取值范围为[1,n2]的正整数。
所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤B2具体包括:
B21、所述DSP获取所述运动参数中的起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)、圆弧插补精度值dfstep及圆弧插补方向;
B22、根据起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)及圆弧插补方向确定半径R、起点角度终点角度及终点角度与起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度Dfstep,根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,floor函数为向下取整函数,m为取值范围为[1,N]的正整数。
一种基于SCARA机械手的运动轨迹规划系统,其中,包括:
设置模块,用于上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;
轨迹获取及发送模块,用于所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;
接收及运动模块,用于所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。
所述基于SCARA机械手的运动轨迹规划系统,其中,所述设置模块中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获 平滑轨迹规划。
所述基于SCARA机械手的运动轨迹规划系统,其中,所述轨迹获取及发送模块中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。
所述基于SCARA机械手的运动轨迹规划系统,其中,所述轨迹获取及发送模块具体包直线插补单元、圆弧插补单元、飞行捕获平滑单元、转角速度获取单元和发送单元,其中:
所述直线插补单元,用于当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;
所述圆弧插补单元,用于当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;
所述飞行捕获平滑单元,用于当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;
所述转角速度获取单元,用于所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;
所述发送单元,用于所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据SCARA机械手大小臂的转角及速度控制SCARA机械手运动。
本发明所提供的一种基于SCARA机械手的运动轨迹规划方法及系统,方法包括:上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。本发明具有直线插补,圆弧插补,飞行捕捉三种不同运动轨迹算法,分别计算出各自的运动轨迹插补点数据,每个插补点数据包含位置数据和速度数据,具有响应快,精度高特点。
附图说明
图1是本发明所述基于SCARA机械手的运动轨迹规划方法的较佳实施例的流程图。
图2是本发明所述基于SCARA机械手的运动轨迹规划方法中获取实际运动轨迹信息并发送的具体流程图。
图3是本发明所述基于SCARA机械手的运动轨迹规划方法中进行直线插补的具体流程的流程图。
图4是本发明直线插补示意图。
图5是本发明所述基于SCARA机械手的运动轨迹规划方法中进行圆弧插补的具体流程的流程图。
图6是本发明圆弧插补示意图。
图7a、图7b分别是本发明中所述SCARA机械手的俯视图及侧视图。
图8是本发明SCARA机械手物理坐标的大小臂角度的示意图。
图9是本发明具体实施例的SCARA两段运动轨迹图。
图10是图9中转角局部放大图。
图11是本发明具体实施例的SCARA两段运动轨迹优化图。
图12是本发明具体实施例的运动轨迹的矢量变化算法图。
图13是本发明所述基于SCARA机械手的运动轨迹规划系统较佳实施例的结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明所述基于SCARA机械手的运动轨迹规划方法的较佳实施例的流程图。如图1所示,所述基于SCARA机械手的运动轨迹规划方法,包括以下步骤:
步骤S100、上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器。
本发明的实施例中,用户通过上位机设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将其发送至SCARA机械手的运动控制器,也就是告诉了SCARA机械手应该走到哪里去、以及该以什么方式走到终点。
步骤S200、所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手。
在步骤S200中,所得到的SCARA机械手的实际运动轨迹信息包括实 际运动轨迹中多个插补点的物理坐标、与所述多个插补点的物理坐标——对应的极坐标及速度。当所述运动控制器获取SCARA机械手的实际运动轨迹信息后,将其发送至SCARA机械手。
步骤S300、所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。
本发明的实施例中,SCARA机械手接收所述实际运动轨迹信息后,根据所述实际运动轨迹信息进行运动,确保了SCARA机械手的在每一时刻的精准运动,同时能有效的避开障碍物。
本发明的实施例中,需先判断所述轨迹规划方式,当判定所述轨迹规划方式是直线插补轨迹规划时,则通过直线插补算法计算实际运动轨迹的插补点;当判定插所述轨迹规划方式是圆弧插补轨迹规划时,则通过圆弧插补算法计算实际运动轨迹的插补点;当判定所述轨迹规划方式是飞行捕获平滑轨迹规划时,则通过平滑算法计算实际运动轨迹的插补点。
进一步地实施例,如图2所示,所述步骤S200中获取实际运动轨迹信息并发送的具体流程包括:
步骤S201、当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行步骤S204。
进一步地实施例,如图3所示,所述步骤S201进行直线插补的具体流程包括:
步骤S2011、所述DSP获取所述运动参数中的起点坐标(X0,Y0)、终点坐标(Xe,Ye)及插补精度值ΔL,并分别根据ΔX=Xe-X0和ΔY=Ye-Y0得到终点坐标与起点坐标的横向间距ΔX及纵向间距ΔY;
步骤S2012、判断|ΔX|是否大于或等于|ΔY|,当大于或等于时则执行步骤S2013,当小于时则执行步骤S2014;
步骤S2013、根据n1=floor(|ΔX|/ΔL+1)计算第一插补次数n1,并根据ΔLN1=ΔX/n1计算当前第一插补精度ΔLN1,并根据ΔXi=ΔLN1确定第一横向增量ΔXi,根据ΔYi=ΔLN1*ΔY/ΔX确定第一纵向增量ΔYi,根据Xi=Xi-1+ΔXi确定实际运动轨迹中n1个插补点的横坐标,根据Yi=Yi-1+ΔYi确定实际运动轨迹中n1个插补点的纵坐标;其中,floor函数为向下取整函数,i为取值范围为[1,n1]的正整数;
步骤S2014、根据n2=floor(|ΔY|/ΔL+1)计算第二插补次数n2,并根据ΔLN2=ΔY/n2计算当前第二插补精度ΔLN2,并根据ΔXj=ΔLN2*ΔX/ΔY确定第二横向增量ΔXj,根据ΔYj=ΔLN2确定第二纵向增量ΔYj,根据Xj=Xj-1+ΔXj确定实际运动轨迹中n2个插补点的横坐标,根据Yj=Yj-1+ΔYj确定实际运动轨迹中n2个插补点的纵坐标;其中,floor函数为向下取整函数,j为取值范围为[1,n2]的正整数。
为了进一步说明上述直线插补的具体流程,现通过一实例来说明。如图4所示,其为本发明直线插补示意图,假设给定直线OA,其中O点坐标为(X0,Y0),A点坐标为(Xe,Ye),动点Ni-1(即插补点)的坐标为(Xi-1,Yi-1),OA距离的横向间距ΔX=Xe-X0、纵向间距ΔY=Ye-Y0,位移增量最大分量为ΔL,在此设定ΔL=0.1mm。
当|ΔX|≥|ΔY|时,求第一插补次数n1,n1=floor(|ΔX|/ΔL+1),修正ΔLN1=ΔX/n1,则ΔXi=ΔLN1,ΔYi=ΔLN1*ΔY/ΔX;其中,floor函数为向下取整函数,i为取值范围为[1,n1]的正整数。
当|ΔX|<|ΔY|,求第二插补次数n2,n2=floor(|ΔY|/ΔL+1),修正ΔLN2=ΔY/n2,则ΔXj=ΔLN2*ΔX/ΔY,ΔYj=ΔLN2;其中,floor函数为向下取整函数,j为取值范围为[1,n2]的正整数。
由此可得下一个插补点Ni(Xi,Yi)的坐标值为(Xi-1+ΔX,Yi-1+ΔY)。
步骤S202、当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运 算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行S204。
进一步地实施例,如图5所示,所述步骤S202进行圆弧插补的具体流程包括:
步骤S2021、所述DSP获取所述运动参数中的起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)、圆弧插补精度值dfstep及圆弧插补方向;
步骤S2022、根据起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)及圆弧插补方向确定半径R、起点角度终点角度及终点角度与起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度Dfstep,根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,floor函数为向下取整函数,m为取值范围为[1,N]的正整数。
为了进一步说明上述圆弧插补的具体流程,现通过一实例来说明。如图6所示,其为本发明圆弧插补示意图,假设设有圆弧,且A(Xa,Ya)和B(Xb,Yb)是圆弧上的两个点,已知A点,B点,和圆心O点(Xo,Yo)。从A点到B点以圆弧插补(dfstep=0.1弧度)的方式运行,需考虑A、B两点在直角坐标系中所处象限,实际计算时分为以下四种情况:
(1)当A、B位于第一象限时:
起始点A点的角度为φa=arctan(Ya-YoXa-Xo)*180/pi;]]>
终点B点的角度为φb=arctan(Yb-YoXb-Xo)*180/pi;]]>
(2)当A、B位于第二象限时:
起始点A点的角度为φa=180+arctan(Ya-YoXa-Xo)*180/pi;]]>
终点B点的角度为φb=180+arctan(Yb-YoXb-Xo)*180/pi;]]>
(3)当A、B位于第三象限时:
起始点A点的角度为φa=180+arctan(Ya-YoXa-Xo)*180/pi;]]>
终点B点的角度为φb=180+arctan(Yb-YoXb-Xo)*180/pi;]]>
(4)当A、B位于第四象限时:
起始点A点的角度为φa=360+arctan(Ya-YoXa-Xo)*180/pi;]]>
终点B点的角度为φb=360+arctan(Yb-YoXb-Xo)*180/pi;]]>
当A、B处于上述象限中的任一象限时,其半径均为:
R=(Xa-Xo)2+(Ya-Yo)2;]]>
当A到B的圆弧为顺时针方向圆弧时,且φba<0时,则Δφ=φba;当A到B的圆弧为顺时针方向圆弧时,且φba>0时,则Δφ=-(360-φba);当A到B的圆弧为逆时针方向圆弧时,且φba>0时,则Δφ=φba;当A到B的圆弧为逆时针方向圆弧时,且φba<0时,则Δφ=360+φba
当获取了起点坐标(Xa,,Ya)、终点坐标(Xb,,Yb)、圆心坐标(Xo,Yo)、半径R、起点角度终点角度及终点角度与起点角度之差后,可通过需要的插补次数为计算圆弧插补次数N。此时需修正并根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,floor函数为向下取整函数,m为取值范围为[1,N]的正整数。
步骤S203、当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行步骤S204;
步骤S204、所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度。
本发明的实施例中,如图7a和图7b所示,其分别为本发明中所述SCARA机械手的俯视图及侧视图,而且图7a是将SCARA置于平面直角坐标系中、并标注了SCARA机械手大臂臂长L1和小臂臂长L2、大臂限位范围(A2,A1)及小臂限位范围(A4,A3)。
在步骤S204中需将通过插补算法获取的多个插补点的物理坐标转化为极坐标,也即转化为SCARA机械手大小臂的转角。为了进一步说明上述物理坐标转化为极坐标的具体流程,现通过一实例来说明。
如图8所示,其为本发明SCARA机械手物理坐标的大小臂角度的示意图。如图8所示,已知A、B两点,SCARA机械手需要从A点运行到B点,其大臂、小臂的臂长分别为L1、L2,当SCARA的小臂末端处于起点A时,大臂初始转角∠XOI、小臂初始转角为∠FIA,在此定义逆时针为正方向,则在右臂模式下,大臂角度为∠XOJ、小臂角度为∠GJB;在左臂模式下,大臂角度为∠XOK、小臂角度为∠HKB。在图8中B1、B2、B3及B4分别表示终点坐标B在第一象限至第四象限的标识符,同理G1、G2、G3及G4分别表示坐标点G在第一象限至第四象限的标识符,H1、H2、H3及H4分别表示坐标点H在第一象限至第四象限的标识符,J1、J2、J3及J4分别表示坐标点J在第一象限至第四象限的标识符,K1、K2、K3及K4 分别表示坐标点K在第一象限至第四象限的标识符。
本发明的实施例中,根据物理坐标确定大小臂的转角的第一步是根据∠FIA角度判断,当前处在左臂还是右臂状态,∠FIA角度由位置计数器可以直接读出。当IA线位于FI线右侧时为右臂模式,当IA线位于FI线左侧时为左臂模式。第二步是根据B点位置(Xb,Yb)和新的左右臂模式计算PI=3.1415926,在计算式要分为B在第一象限-第四象限四种情况:
(a)当B点在第一象限时:
右臂模式:
∠G1J1B1=-(arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI)∠J1OX=arctan(ybxb)*180/PI+arccos(L12+L32-L222*L1*L3)*180/PI]]>
左臂模式:
∠H1K1B1=arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI∠H1OX=arctan(ybxb)*180/PI-arccos(L12+L32-L222*L1*L3)*180/PI]]>
(b)当B点在第二象限时:
右臂模式:
∠G2J2B2=-(arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI)∠J2OX=180+arctan(ybxb)*180/PI+arccos(L12+L32-L222*L1*L3)*180/PI]]>
左臂模式:
∠H2K2B2=arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI∠H2OX=180+arctan(ybxb)*180/PI-arccos(L12+L32-L222*L1*L3)*180/PI]]>
(c)当B点在第三象限时:
右臂模式:
∠G3J3B3=-(arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI)∠J3OX=180+arctan(ybxb)*180/PI+arccos(L12+L32-L222*L1*L3)*180/PI]]>
左臂模式:
∠H3K3B3=arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI∠H3OX=180+arctan(ybxb)*180/PI-arccos(L12+L32-L222*L1*L3)*180/PI]]>
(d)当B点在第四象限时:
右臂模式:
∠G4J4B4=-(arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI)∠J4OX=arctan(ybxb)*180/PI+arccos(L12+L32-L222*L1*L3)*180/PI]]>
左臂模式:
∠H4K4B4=arccos(L12+L32-L222*L1*L3)*180/PI+arccos(L22+L32-L122*L2*L3)*180/PI∠H4OX=arctan(ybxb)*180/PI-arccos(L12+L32-L222*L1*L3)*180/PI]]>
其中,在第四象限中的大臂角度为负角度,在第三象限SCARA存在限位(0,A1),无法由第三象限直接转到第四象限,必须经过第二象限位置,再第一象限位置到达。
由上述条件可知,若大臂小臂移动角度为Δα、Δβ,则:
右臂模式:Δα=∠GnOX-∠FOXΔβ=∠GnJnBn-∠FIA,(n=1,2,3,4)]]>
左臂模式:Δα=∠HnOX-∠FOXΔβ=∠HnKnBn-∠FIA,(n=1,2,3,4)]]>
即得到相对于A点的旋转角度,如果B点在第一象限则n=1;第二象限则n=2;第三象限则n=3;第四象限则n=4;Δα,Δβ为正值逆时针旋转,为负值顺时针旋转。
在步骤S204中除了将实际运动轨迹中的多个插补点的物理坐标转化为SCARA机械手的大小臂转角,还需获得每一插补点处的速度。本发明的实施例中通过一预定的梯形曲线加减速方法计算多个插补点的速度,此算法基于PCL6045运动控制芯片,使用了芯片上三级缓存功能,每次写入一个插补位置时,可以同时填写一个该插补位移的速度。小线段结构体信息如下:
typedef struct
{
LgInt xl;//x存放大臂相对位置,已转化为脉冲数值
LgInt yl;//y存放小臂相对位置,已转化为脉冲数值
LgInt speed;//速度
}TRunCode;
加减速步数由参数设定(accnum,decnum),可以计算出每条小线段对应的速度。加速时,每次速度增加值为accvalue=(MaxVel-StrVel)/accnum;减速时,每次速度减少值为decvalue=(MaxVel-StrVel)/decnum;其中MaxVel表示最大速度,StrVel表示起始速度。若总的小线段有m条,当前小线段下标为n,则:
当,n+decnum>m时,则进行减速,Vn=Vn-1-decvalue,减速至初始速度;
当,n+decnum<=m时,并且n<accnum,则进行加速,Vn=Vn-1+accvalue,加速至最大速度;
其他情况下均为匀速,且Vn=Vn-1
步骤S205、所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根 据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动。
下面以一具体实施例来说明本发明所述基于SCARA机械手的飞行捕获运动轨迹规划方法。
假设SCARA机械手的预定运动轨迹为如图9所示的SCARA两段运动轨迹,图10为图9的转角处局部放大图,从图9可以看出两条轨迹AB与BC之间存在转折点,SCARA在运行时会存在大转角,使机器产生震动,对机械构件产生磨损。SCARA从A点经过B触发点然后到C点的轨迹。底层运动控制芯片采用的是插补方式运行,即A到B点运动控制芯片按照直线插补方式运行,但是体现SCARA上为如图9所示轨迹(由于SCARA机械结构,运动控制芯片采用插补模式运行,但是运动轨迹却是曲线)。根据要求,在B点,SCARA不能停止后再运行。如果不进行平滑算法的话,就会出现大转角,在B点会出现机械振动,经过优化后的轨迹如图11所示。
请参见图12,其为运动轨迹的矢量变化算法图。将AB、BC直线按照速度规划进行细分成,在此默认分成T=8段,每段时间为单位时间,增大T能够增加轨迹的平滑度。在A点时,方向速度标量为Vmax方向速度标量为0,在C点时,方向速度标量为Vmax方向速度标量逐渐减少为0;方向速度标量逐渐增加到为Vmax。根据位移公式S=aT2/2,则可求加速度a=2×S/T2,则
SA1A2=0.5*a*T82-0.5*a*T72
SA2A3=0.5*a*T72-0.5*a*T62
SA3A4=0.5*a*T62-0.5*a*T52
SA4A5=0.5*a*T52-0.5*a*T42
SA5A6=0.5*a*T42-0.5*a*T32
SA6A7=0.5*a*T32-0.5*a*T22
SA7A8=0.5*a*T22-0.5*a*T12
SA8A9=0.5*a*T12,此处加速度方向与位移方向相反;
SC8C9=0.5*a*T82-0.5*a*T72
SC7C8=0.5*a*T72-0.5*a*T62
SC6C7=0.5*a*T62-0.5*a*T52
SC5C6=0.5*a*T52-0.5*a*T42
SC4C5=0.5*a*T42-0.5*a*T32
SC3C4=0.5*a*T32-0.5*a*T22
SC2C3=0.5*a*T22-0.5*a*T12
SC1C2=0.5*a*T12,此处加速度方向与位移方向相同;
式中Ti=i,i∈[1,8],由于所以坐标点P2=A1A2→+C1C2→+P1]]>
同理:
P3=A2A3→+C2C3→+P2;]]>
P4=A3A4→+C3C4→+P3;]]>
P5=A4A5→+C4C5→+P4;]]>
P6=A5A6→+C5C6→+P5;]]>
P7=A6A7→+C6C7→+P6;]]>
P8=A7A8→+C7C8→+P7;]]>
如此可计算Pm点位置,由AB到BC两段轨迹,细分为由P1、P2、P3、P4、P5、P6、P7、P8、P9九个点组成的轨迹。由图12得到的模拟轨迹图可知, 能够实现角度的平滑过渡,得到坐标后,可按照本发明中物理坐标到极坐标的转换方法将物理坐标转换为大小臂转角数据,进而发送到运动控制芯片当中。
基于上述实施例,本发明还提供一种基于SCARA机械手的运动轨迹规划系统,如图13所示,所述基于SCARA机械手的运动轨迹规划系统,包括:
设置模块100,用于上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;具体如上所述。
轨迹获取及发送模块200,用于所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;具体如上所述。
接收及运动模块300,用于所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动;具体如上所述。
具体实施时,设置模块100设置于上位机中;轨迹获取及发送模块200设置在运动控制器中,其中运动控制器主要包括DSP处理器和运动控制芯片PCL6045BL;接收及运动模块300设置在SCARA机械手中。
进一步地实施例,在所述基于SCARA机械手的运动轨迹规划系统中,所述设置模块中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划;具体如上所述。
进一步地实施例,在所述基于SCARA机械手的运动轨迹规划系统中,所述轨迹获取及发送模块中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、 圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。
进一步地实施例,在所述基于SCARA机械手的运动轨迹规划系统中,所述轨迹获取及发送模块200具体包括直线插补单元、圆弧插补单元、飞行捕获平滑单元、转角速度获取单元和发送单元,其中:
所述直线插补单元,用于当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;具体如上所述。
所述圆弧插补单元,用于当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;具体如上所述。
所述飞行捕获平滑单元,用于当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;具体如上所述。
所述转角速度获取单元,用于所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;具体如上所述。
所述发送单元,用于所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动;具体如上所述。
进一步地实施例,在所述基于SCARA机械手的运动轨迹规划系统中, 所述直线插补单元具体包括第一获取子单元、第一判断子单元、第一直线插补子单元和第二直线插补子单元,其中:
第一获取子单元,用于所述DSP获取所述运动参数中的起点坐标(X0,Y0)、终点坐标(Xe,Ye)及插补精度值ΔL,并分别根据ΔX=Xe-X0和ΔY=Ye-Y0得到终点坐标与起点坐标的横向间距ΔX及纵向间距ΔY;具体如上所述。
第一判断子单元,用于判断|ΔX|是否大于或等于|ΔY|,当大于或等于时则启动第一直线插补子单元,当小于时则第二直线插补子单元;具体如上所述。
第一直线插补子单元,用于根据n1=floor(|ΔX|/ΔL+1)计算第一插补次数n1,并根据ΔLN1=ΔX/n1计算当前第一插补精度ΔLN1,并根据ΔXi=ΔLN1确定第一横向增量ΔXi,根据ΔYi=ΔLN1*ΔY/ΔX确定第一纵向增量ΔYi,根据Xi=Xi-1+ΔXi确定实际运动轨迹中n1个插补点的横坐标,根据Yi=Yi-1+ΔYi确定实际运动轨迹中n1个插补点的纵坐标;其中,floor函数为向下取整函数,i为取值范围为[1,n1]的正整数;具体如上所述。
第二直线插补子单元,用于根据n2=floor(|ΔY|/ΔL+1)计算第二插补次数n2,并根据ΔLN2=ΔY/n2计算当前第二插补精度ΔLN2,并根据ΔXj=ΔLN2*ΔX/ΔY确定第二横向增量ΔXj,根据ΔYj=ΔLN2确定第二纵向增量ΔYj,根据Xj=Xj-1+ΔXj确定实际运动轨迹中n2个插补点的横坐标,根据Yj=Yj-1+ΔYj确定实际运动轨迹中n2个插补点的纵坐标;其中,floor函数为向下取整函数,j为取值范围为[1,n2]的正整数;具体如上所述。
进一步地实施例,在所述基于SCARA机械手的运动轨迹规划系统中,所述圆弧插补单元具体包括第二获取子单元和圆弧插补子单元,其中:
所述第二获取子单元,用于所述DSP获取所述运动参数中的起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)、圆弧插补精度值dfstep及圆弧插补方向;具体如上所述。
所述圆弧插补子单元,用于根据起点坐标(Xa,,Ya)、终点坐标(Xb,Yb)、圆心坐标(Xo,Yo)及圆弧插补方向确定半径R、起点角度及终点角度及终点角度与起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度Dfstep,根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,floor函数为向下取整函数,m为取值范围为[1,N]的正整数;具体如上所述。
综上所述,本发明所提供的一种基于SCARA机械手的运动轨迹规划方法及系统,方法包括:上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。本发明具有直线插补,圆弧插补,飞行捕捉三种不同运动轨迹算法,分别计算出各自的运动轨迹插补点数据,每个插补点数据包含位置数据和速度数据,具有响应快,精度高特点。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

一种基于SCARA机械手的运动轨迹规划方法及系统.pdf_第1页
第1页 / 共25页
一种基于SCARA机械手的运动轨迹规划方法及系统.pdf_第2页
第2页 / 共25页
一种基于SCARA机械手的运动轨迹规划方法及系统.pdf_第3页
第3页 / 共25页
点击查看更多>>
资源描述

《一种基于SCARA机械手的运动轨迹规划方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于SCARA机械手的运动轨迹规划方法及系统.pdf(25页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104191428A43申请公布日20141210CN104191428A21申请号201410427532322申请日20140827B25J9/1620060171申请人深圳科瑞技术股份有限公司地址518000广东省深圳市南山区科技园麻雀岭7栋1楼72发明人丁昭继管成亮74专利代理机构深圳市君胜知识产权代理事务所44268代理人王永文刘文求54发明名称一种基于SCARA机械手的运动轨迹规划方法及系统57摘要本发明所提供的一种基于SCARA机械手的运动轨迹规划方法及系统,方法包括上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数。

2、,并将轨迹规划方式和运动参数发送至SCARA机械手的运动控制器;运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;SCARA机械手接收实际运动轨迹信息,并根据实际运动轨迹信息进行运动。本发明具有直线插补,圆弧插补,飞行捕捉三种不同运动轨迹算法,具有响应快,精度高特点。51INTCL权利要求书3页说明书13页附图8页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书13页附图8页10申请公布号CN104191428ACN104191428A1/3页21一种基于。

3、SCARA机械手的运动轨迹规划方法,其特征在于,所述方法包括步骤A、上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;B、所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;C、所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。2根据权利要求1所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤A中的所述轨迹规划方。

4、式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。3根据权利要求2所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤A中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。4根据权利要求3所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤B中具体包括B1、当所述轨迹规划方式是直线插补轨迹规划。

5、,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;B2、当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;B3、当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;B4、所述DSP将所述多个插补点的。

6、物理坐标转化为相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;B5、所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动。5根据权利要求4所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤B1具体包括B11、所述DSP获取所述运动参数中的起点坐标X0,Y0、终点坐标XE,YE及插补精度值L,并分别根据XXEX0和YYEY0得到终点坐标与起点坐标的横向间距X及纵向间距Y;权利要求书CN104191428A2/3页。

7、3B12、判断|X|是否大于或等于|Y|,当大于或等于时则执行步骤B13,当小于时则执行步骤B14;B13、根据N1FLOOR|X|/L1计算第一插补次数N1,并根据LN1X/N1计算当前第一插补精度LN1,并根据XILN1确定第一横向增量XI,根据YILN1Y/X确定第一纵向增量YI,根据XIXI1XI确定实际运动轨迹中N1个插补点的横坐标,根据YIYI1YI确定实际运动轨迹中N1个插补点的纵坐标;其中,FLOOR函数为向下取整函数,I为取值范围为1,N1的正整数;B14、根据N2FLOOR|Y|/L1计算第二插补次数N2,并根据LN2Y/N2计算当前第二插补精度LN2,并根据XJLN2X/。

8、Y确定第二横向增量XJ,根据YJLN2确定第二纵向增量YJ,根据XJXJ1XJ确定实际运动轨迹中N2个插补点的横坐标,根据YJYJ1YJ确定实际运动轨迹中N2个插补点的纵坐标;其中,FLOOR函数为向下取整函数,J为取值范围为1,N2的正整数。6根据权利要求4所述基于SCARA机械手的运动轨迹规划方法,其特征在于,所述步骤B2具体包括B21、所述DSP获取所述运动参数中的起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,YO、圆弧插补精度值DFSTEP及圆弧插补方向;B22、根据起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,YO及圆弧插补方向确定半径R、起点角度终点角度及终点角度与。

9、起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度DFSTEP,根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,FLOOR函数为向下取整函数,M为取值范围为1,N的正整数。7一种基于SCARA机械手的运动轨迹规划系统,其特征在于,包括设置模块,用于上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;轨迹获取及发送模块,用于所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械。

10、手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;接收及运动模块,用于所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。8根据权利要求7所述基于SCARA机械手的运动轨迹规划系统,其特征在于,所述设置模块中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。9根据权利要求8所述基于SCARA机械手的运动轨迹规划系统,其特征在于,所述轨迹获取及发送模块中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参权利要求书CN104191。

11、428A3/3页4数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。10根据权利要求9所述基于SCARA机械手的运动轨迹规划系统,其特征在于,所述轨迹获取及发送模块具体包括直线插补单元、圆弧插补单元、飞行捕获平滑单元、转角速度获取单元和发送单元,其中所述直线插补单元,用于当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度。

12、获取单元;所述圆弧插补单元,用于当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;所述飞行捕获平滑单元,用于当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;所述转角速度获取单元,用于所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定。

13、的梯形曲线加减速方法计算多个插补点的速度;所述发送单元,用于所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据SCARA机械手大小臂的转角及速度控制SCARA机械手运动。权利要求书CN104191428A1/13页5一种基于SCARA机械手的运动轨迹规划方法及系统技术领域0001本发明涉及机械手控制技术领域,尤其涉及的是一种基于SCARA机械手的运动轨迹规划方法及系统。背景技术0002当前,SCARA机械手广泛应用于电子、汽车、塑料、食品等工业领域,其主要职能是完成搬运和装配工作。随着加工工艺的复杂性与精确性不断提升,SCA。

14、RA机械手在流水线上经常需要与其他工业设备协同作业,难免会出现与障碍物发生碰撞的危险。因此,对工作范围内存在障碍物的SCARA机械手的运动轨迹进行规划便显得尤为重要。0003轨迹规划PATHPLANNING是指给定环境的障碍物条件,以及起始点和目标点位置,要求选择一条从起始点到目标点的路径,使SCARA机械手能安全、无碰撞地通过所有的障碍物。现有的普通SCARA机械手的轨迹精度平均为03MM,可见其轨迹精度并不高,而且轨迹规划的耗时也较长。0004因此,现有技术还有待于改进和发展。发明内容0005本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于SCARA机械手的运动轨迹规划方法。

15、及系统,可有效解决采用现有技术SCARA机械手的轨迹精度不高,规划时间耗时长的缺陷。0006本发明解决技术问题所采用的技术方案如下0007一种基于SCARA机械手的运动轨迹规划方法,其中,所述方法包括步骤0008A、上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;0009B、所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;0010C、所述SCARA机械。

16、手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。0011所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤A中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。0012所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤A中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。

17、。说明书CN104191428A2/13页60013所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤B中具体包括0014B1、当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;0015B2、当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;0016B3、当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述。

18、运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行B4;0017B4、所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;0018B5、所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动。0019所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤B1具体包括0020B11、所述DSP。

19、获取所述运动参数中的起点坐标X0,Y0、终点坐标XE,YE及插补精度值L,并分别根据XXEX0和YYEY0得到终点坐标与起点坐标的横向间距X及纵向间距Y;0021B12、判断|X|是否大于或等于|Y|,当大于或等于时则执行步骤B13,当小于时则执行步骤B14;0022B13、根据N1FLOOR|X|/L1计算第一插补次数N1,并根据LN1X/N1计算当前第一插补精度LN1,并根据XILN1确定第一横向增量XI,根据YILN1Y/X确定第一纵向增量YI,根据XIXI1XI确定实际运动轨迹中N1个插补点的横坐标,根据YIYI1YI确定实际运动轨迹中N1个插补点的纵坐标;其中,FLOOR函数为向下取。

20、整函数,I为取值范围为1,N1的正整数;0023B14、根据N2FLOOR|Y|/L1计算第二插补次数N2,并根据LN2Y/N2计算当前第二插补精度LN2,并根据XJLN2X/Y确定第二横向增量XJ,根据YJLN2确定第二纵向增量YJ,根据XJXJ1XJ确定实际运动轨迹中N2个插补点的横坐标,根据YJYJ1YJ确定实际运动轨迹中N2个插补点的纵坐标;其中,FLOOR函数为向下取整函数,J为取值范围为1,N2的正整数。0024所述基于SCARA机械手的运动轨迹规划方法,其中,所述步骤B2具体包括0025B21、所述DSP获取所述运动参数中的起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,Y。

21、O、圆弧插补精度值DFSTEP及圆弧插补方向;0026B22、根据起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,YO及圆弧插补方向确定半径R、起点角度终点角度及终点角度与起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度DFSTEP,根据确定实际运动轨迹说明书CN104191428A3/13页7中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,FLOOR函数为向下取整函数,M为取值范围为1,N的正整数。0027一种基于SCARA机械手的运动轨迹规划系统,其中,包括0028设置模块,用于上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所。

22、述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;0029轨迹获取及发送模块,用于所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;0030接收及运动模块,用于所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。0031所述基于SCARA机械手的运动轨迹规划系统,其中,所述设置模块中的所述轨迹规划方式是直线插补轨迹规划、圆弧插补轨迹规划和飞行捕获平滑轨迹规划。0032所述基于SCARA机械手的。

23、运动轨迹规划系统,其中,所述轨迹获取及发送模块中当所述轨迹规划方式是直线插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标和插补精度值;当所述轨迹规划方式是圆弧插补轨迹规划时,则所述运动参数包括起点坐标、终点坐标、圆心坐标、圆弧插补精度值及圆弧插补方向;当所述轨迹规划方式是飞行捕获平滑轨迹规划时,则所述运动参数包括起点坐标、触发点坐标、终点坐标、触发脉宽和平滑度。0033所述基于SCARA机械手的运动轨迹规划系统,其中,所述轨迹获取及发送模块具体包直线插补单元、圆弧插补单元、飞行捕获平滑单元、转角速度获取单元和发送单元,其中0034所述直线插补单元,用于当所述轨迹规划方式是直线插补轨迹规划,。

24、则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;0035所述圆弧插补单元,用于当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;0036所述飞行捕获平滑单元,用于当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实。

25、际运动轨迹中多个插补点的物理坐标,之后启动所述转角速度获取单元;0037所述转角速度获取单元,用于所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度;0038所述发送单元,用于所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据SCARA机械手大小臂的转角及速度控制SCARA机械手运动。0039本发明所提供的一种基于SCARA机械手的运动轨迹规划方法及系统,方法包括上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式说明。

26、书CN104191428A4/13页8对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并将所述实际运动轨迹信息发送至SCARA机械手;所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。本发明具有直线插补,圆弧插补,飞行捕捉三种不同运动轨迹算法,分别计算出各自的运动轨迹插补点数据,每个插补点数据包含位置数据和速度数据,具有响应快,精度高特点。附图说明0040图1是本发明所述基于SCARA机械手的运动轨迹。

27、规划方法的较佳实施例的流程图。0041图2是本发明所述基于SCARA机械手的运动轨迹规划方法中获取实际运动轨迹信息并发送的具体流程图。0042图3是本发明所述基于SCARA机械手的运动轨迹规划方法中进行直线插补的具体流程的流程图。0043图4是本发明直线插补示意图。0044图5是本发明所述基于SCARA机械手的运动轨迹规划方法中进行圆弧插补的具体流程的流程图。0045图6是本发明圆弧插补示意图。0046图7A、图7B分别是本发明中所述SCARA机械手的俯视图及侧视图。0047图8是本发明SCARA机械手物理坐标的大小臂角度的示意图。0048图9是本发明具体实施例的SCARA两段运动轨迹图。00。

28、49图10是图9中转角局部放大图。0050图11是本发明具体实施例的SCARA两段运动轨迹优化图。0051图12是本发明具体实施例的运动轨迹的矢量变化算法图。0052图13是本发明所述基于SCARA机械手的运动轨迹规划系统较佳实施例的结构框图。具体实施方式0053为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0054请参见图1,图1是本发明所述基于SCARA机械手的运动轨迹规划方法的较佳实施例的流程图。如图1所示,所述基于SCARA机械手的运动轨迹规划方法,包括以下步骤005。

29、5步骤S100、上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器。0056本发明的实施例中,用户通过上位机设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将其发送至SCARA机械手的运动控制器,也就是告诉说明书CN104191428A5/13页9了SCARA机械手应该走到哪里去、以及该以什么方式走到终点。0057步骤S200、所述运动控制器根据所述轨迹规划方式对应的算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹信息,并。

30、将所述实际运动轨迹信息发送至SCARA机械手。0058在步骤S200中,所得到的SCARA机械手的实际运动轨迹信息包括实际运动轨迹中多个插补点的物理坐标、与所述多个插补点的物理坐标对应的极坐标及速度。当所述运动控制器获取SCARA机械手的实际运动轨迹信息后,将其发送至SCARA机械手。0059步骤S300、所述SCARA机械手接收所述实际运动轨迹信息,并根据所述实际运动轨迹信息进行运动。0060本发明的实施例中,SCARA机械手接收所述实际运动轨迹信息后,根据所述实际运动轨迹信息进行运动,确保了SCARA机械手的在每一时刻的精准运动,同时能有效的避开障碍物。0061本发明的实施例中,需先判断所。

31、述轨迹规划方式,当判定所述轨迹规划方式是直线插补轨迹规划时,则通过直线插补算法计算实际运动轨迹的插补点;当判定插所述轨迹规划方式是圆弧插补轨迹规划时,则通过圆弧插补算法计算实际运动轨迹的插补点;当判定所述轨迹规划方式是飞行捕获平滑轨迹规划时,则通过平滑算法计算实际运动轨迹的插补点。0062进一步地实施例,如图2所示,所述步骤S200中获取实际运动轨迹信息并发送的具体流程包括0063步骤S201、当所述轨迹规划方式是直线插补轨迹规划,则所述运动控制器中的DSP根据直线插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行步骤S204。。

32、0064进一步地实施例,如图3所示,所述步骤S201进行直线插补的具体流程包括0065步骤S2011、所述DSP获取所述运动参数中的起点坐标X0,Y0、终点坐标XE,YE及插补精度值L,并分别根据XXEX0和YYEY0得到终点坐标与起点坐标的横向间距X及纵向间距Y;0066步骤S2012、判断|X|是否大于或等于|Y|,当大于或等于时则执行步骤S2013,当小于时则执行步骤S2014;0067步骤S2013、根据N1FLOOR|X|/L1计算第一插补次数N1,并根据LN1X/N1计算当前第一插补精度LN1,并根据XILN1确定第一横向增量XI,根据YILN1Y/X确定第一纵向增量YI,根据XI。

33、XI1XI确定实际运动轨迹中N1个插补点的横坐标,根据YIYI1YI确定实际运动轨迹中N1个插补点的纵坐标;其中,FLOOR函数为向下取整函数,I为取值范围为1,N1的正整数;0068步骤S2014、根据N2FLOOR|Y|/L1计算第二插补次数N2,并根据LN2Y/N2计算当前第二插补精度LN2,并根据XJLN2X/Y确定第二横向增量XJ,根据YJLN2确定第二纵向增量YJ,根据XJXJ1XJ确定实际运动轨迹中N2个插补点的横坐标,根据YJYJ1YJ确定实际运动轨迹中N2个插补点的纵坐标;其中,FLOOR函数为向下取整函数,J为取值范围为1,N2的正整数。0069为了进一步说明上述直线插补的。

34、具体流程,现通过一实例来说明。如图4所示,其说明书CN104191428A6/13页10为本发明直线插补示意图,假设给定直线OA,其中O点坐标为X0,Y0,A点坐标为XE,YE,动点NI1即插补点的坐标为XI1,YI1,OA距离的横向间距XXEX0、纵向间距YYEY0,位移增量最大分量为L,在此设定L01MM。0070当|X|Y|时,求第一插补次数N1,N1FLOOR|X|/L1,修正LN1X/N1,则XILN1,YILN1Y/X;其中,FLOOR函数为向下取整函数,I为取值范围为1,N1的正整数。0071当|X|Y|,求第二插补次数N2,N2FLOOR|Y|/L1,修正LN2Y/N2,则XJ。

35、LN2X/Y,YJLN2;其中,FLOOR函数为向下取整函数,J为取值范围为1,N2的正整数。0072由此可得下一个插补点NIXI,YI的坐标值为XI1X,YI1Y。0073步骤S202、当所述轨迹规划方式是圆弧插补轨迹规划,则所述运动控制器中的DSP根据圆弧插补算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行S204。0074进一步地实施例,如图5所示,所述步骤S202进行圆弧插补的具体流程包括0075步骤S2021、所述DSP获取所述运动参数中的起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,YO、圆弧插补精度值DFST。

36、EP及圆弧插补方向;0076步骤S2022、根据起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,YO及圆弧插补方向确定半径R、起点角度终点角度及终点角度与起点角度之差并根据计算圆弧插补次数N,并根据计算当前圆弧插补精度DFSTEP,根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,FLOOR函数为向下取整函数,M为取值范围为1,N的正整数。0077为了进一步说明上述圆弧插补的具体流程,现通过一实例来说明。如图6所示,其为本发明圆弧插补示意图,假设设有圆弧,且AXA,YA和BXB,YB是圆弧上的两个点,已知A点,B点,和圆心O点XO,YO。从A点到B。

37、点以圆弧插补DFSTEP01弧度的方式运行,需考虑A、B两点在直角坐标系中所处象限,实际计算时分为以下四种情况00781当A、B位于第一象限时0079起始点A点的角度为0080终点B点的角度为00812当A、B位于第二象限时0082起始点A点的角度为说明书CN104191428A107/13页110083终点B点的角度为00843当A、B位于第三象限时0085起始点A点的角度为0086终点B点的角度为00874当A、B位于第四象限时0088起始点A点的角度为0089终点B点的角度为0090当A、B处于上述象限中的任一象限时,其半径均为00910092当A到B的圆弧为顺时针方向圆弧时,且BA0时。

38、,则BA;当A到B的圆弧为顺时针方向圆弧时,且BA0时,则360BA;当A到B的圆弧为逆时针方向圆弧时,且BA0时,则BA;当A到B的圆弧为逆时针方向圆弧时,且BA0时,则360BA。0093当获取了起点坐标XA,YA、终点坐标XB,YB、圆心坐标XO,YO、半径R、起点角度终点角度及终点角度与起点角度之差后,可通过需要的插补次数为计算圆弧插补次数N。此时需修正并根据确定实际运动轨迹中N个插补点的横坐标,根据确定实际运动轨迹中N个插补点的纵坐标;其中,FLOOR函数为向下取整函数,M为取值范围为1,N的正整数。0094步骤S203、当所述轨迹规划方式是飞行捕获平滑轨迹规划,则所述运动控制器中的。

39、DSP根据飞行捕获平滑算法对SCARA机械手的实际运动轨迹进行运算,得到SCARA机械手的实际运动轨迹中多个插补点的物理坐标,之后执行步骤S204;0095步骤S204、所述DSP将所述多个插补点的物理坐标转化相对应的SCARA机械手大小臂的转角,并根据预定的梯形曲线加减速方法计算多个插补点的速度。0096本发明的实施例中,如图7A和图7B所示,其分别为本发明中所述SCARA机械手的俯视图及侧视图,而且图7A是将SCARA置于平面直角坐标系中、并标注了SCARA机械手大臂臂长L1和小臂臂长L2、大臂限位范围A2,A1及小臂限位范围A4,A3)。0097在步骤S204中需将通过插补算法获取的多个。

40、插补点的物理坐标转化为极坐标,也即转化为SCARA机械手大小臂的转角。为了进一步说明上述物理坐标转化为极坐标的具说明书CN104191428A118/13页12体流程,现通过一实例来说明。0098如图8所示,其为本发明SCARA机械手物理坐标的大小臂角度的示意图。如图8所示,已知A、B两点,SCARA机械手需要从A点运行到B点,其大臂、小臂的臂长分别为L1、L2,当SCARA的小臂末端处于起点A时,大臂初始转角XOI、小臂初始转角为FIA,在此定义逆时针为正方向,则在右臂模式下,大臂角度为XOJ、小臂角度为GJB;在左臂模式下,大臂角度为XOK、小臂角度为HKB。在图8中B1、B2、B3及B4。

41、分别表示终点坐标B在第一象限至第四象限的标识符,同理G1、G2、G3及G4分别表示坐标点G在第一象限至第四象限的标识符,H1、H2、H3及H4分别表示坐标点H在第一象限至第四象限的标识符,J1、J2、J3及J4分别表示坐标点J在第一象限至第四象限的标识符,K1、K2、K3及K4分别表示坐标点K在第一象限至第四象限的标识符。0099本发明的实施例中,根据物理坐标确定大小臂的转角的第一步是根据FIA角度判断,当前处在左臂还是右臂状态,FIA角度由位置计数器可以直接读出。当IA线位于FI线右侧时为右臂模式,当IA线位于FI线左侧时为左臂模式。第二步是根据B点位置XB,YB和新的左右臂模式计算PI31。

42、415926,在计算式要分为B在第一象限第四象限四种情况0100A当B点在第一象限时0101右臂模式01020103左臂模式01040105B当B点在第二象限时0106右臂模式01070108左臂模式01090110C当B点在第三象限时说明书CN104191428A129/13页130111右臂模式01120113左臂模式01140115D当B点在第四象限时0116右臂模式01170118左臂模式01190120其中,在第四象限中的大臂角度为负角度,在第三象限SCARA存在限位0,A1,无法由第三象限直接转到第四象限,必须经过第二象限位置,再第一象限位置到达。0121由上述条件可知,若大臂小臂。

43、移动角度为、,则0122右臂模式0123左臂模式0124即得到相对于A点的旋转角度,如果B点在第一象限则N1;第二象限则N2;第三象限则N3;第四象限则N4;,为正值逆时针旋转,为负值顺时针旋转。0125在步骤S204中除了将实际运动轨迹中的多个插补点的物理坐标转化为SCARA机械手的大小臂转角,还需获得每一插补点处的速度。本发明的实施例中通过一预定的梯形曲线加减速方法计算多个插补点的速度,此算法基于PCL6045运动控制芯片,使用了芯片上三级缓存功能,每次写入一个插补位置时,可以同时填写一个该插补位移的速度。小线段结构体信息如下0126TYPEDEFSTRUCT01270128LGINTXL。

44、;/X存放大臂相对位置,已转化为脉冲数值说明书CN104191428A1310/13页140129LGINTYL;/Y存放小臂相对位置,已转化为脉冲数值0130LGINTSPEED;/速度0131TRUNCODE;0132加减速步数由参数设定ACCNUM,DECNUM,可以计算出每条小线段对应的速度。加速时,每次速度增加值为ACCVALUEMAXVELSTRVEL/ACCNUM;减速时,每次速度减少值为DECVALUEMAXVELSTRVEL/DECNUM;其中MAXVEL表示最大速度,STRVEL表示起始速度。若总的小线段有M条,当前小线段下标为N,则0133当,NDECNUMM时,则进行减。

45、速,VNVN1DECVALUE,减速至初始速度;0134当,NDECNUMM时,并且NACCNUM,则进行加速,VNVN1ACCVALUE,加速至最大速度;0135其他情况下均为匀速,且VNVN1。0136步骤S205、所述DSP将所述多个插补点对应的SCARA机械手大小臂的转角及速度发送至所述运动控制器中的运动控制芯片,运动控制芯片根据所述SCARA机械手大小臂的转角及速度控制SCARA机械手运动。0137下面以一具体实施例来说明本发明所述基于SCARA机械手的飞行捕获运动轨迹规划方法。0138假设SCARA机械手的预定运动轨迹为如图9所示的SCARA两段运动轨迹,图10为图9的转角处局部放。

46、大图,从图9可以看出两条轨迹AB与BC之间存在转折点,SCARA在运行时会存在大转角,使机器产生震动,对机械构件产生磨损。SCARA从A点经过B触发点然后到C点的轨迹。底层运动控制芯片采用的是插补方式运行,即A到B点运动控制芯片按照直线插补方式运行,但是体现SCARA上为如图9所示轨迹由于SCARA机械结构,运动控制芯片采用插补模式运行,但是运动轨迹却是曲线。根据要求,在B点,SCARA不能停止后再运行。如果不进行平滑算法的话,就会出现大转角,在B点会出现机械振动,经过优化后的轨迹如图11所示。0139请参见图12,其为运动轨迹的矢量变化算法图。将AB、BC直线按照速度规划进行细分成,在此默认。

47、分成T8段,每段时间为单位时间,增大T能够增加轨迹的平滑度。在A点时,方向速度标量为VMAX,方向速度标量为0,在C点时,方向速度标量为VMAX。方向速度标量逐渐减少为0;方向速度标量逐渐增加到为VMAX。根据位移公式SAT2/2,则可求加速度A2S/T2,则0140SA1A205AT8205AT72;0141SA2A305AT7205AT62;0142SA3A405AT6205AT52;0143SA4A505AT5205AT42;0144SA5A605AT4205AT32;0145SA6A705AT3205AT22;0146SA7A805AT2205AT12;0147SA8A905AT12,。

48、此处加速度方向与位移方向相反;0148SC8C905AT8205AT72;说明书CN104191428A1411/13页150149SC7C805AT7205AT62;0150SC6C705AT6205AT52;0151SC5C605AT5205AT42;0152SC4C505AT4205AT32;0153SC3C405AT3205AT22;0154SC2C305AT2205AT12;0155SC1C205AT12,此处加速度方向与位移方向相同;0156式中TII,I1,8,由于所以坐标点0157同理0158015901600161016201630164如此可计算PM点位置,由AB到BC两段。

49、轨迹,细分为由P1、P2、P3、P4、P5、P6、P7、P8、P9九个点组成的轨迹。由图12得到的模拟轨迹图可知,能够实现角度的平滑过渡,得到坐标后,可按照本发明中物理坐标到极坐标的转换方法将物理坐标转换为大小臂转角数据,进而发送到运动控制芯片当中。0165基于上述实施例,本发明还提供一种基于SCARA机械手的运动轨迹规划系统,如图13所示,所述基于SCARA机械手的运动轨迹规划系统,包括0166设置模块100,用于上位机接收用户的操作指令,设置SCARA机械手的轨迹规划方式以及与所述轨迹规划方式对应的运动参数,并将所述轨迹规划方式和所述运动参数发送至SCARA机械手的运动控制器;具体如上所述。0167。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 作业;运输 > 手动工具;轻便机动工具;手动器械的手柄;车间设备;机械手


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1