一种桁架机械手圆形料仓放料孔自动定位的计算方法与流程

文档序号:17903140发布日期:2019-06-13 17:19阅读:332来源:国知局
一种桁架机械手圆形料仓放料孔自动定位的计算方法与流程

本发明涉及一种用于桁架机械手圆形料仓放料孔自动定位的计算方法。



背景技术:

随着我国整体经济不断增长,自动化技术在各个行业得到了越来越广泛的应用。机械手作为自动化技术的一个大类,指在自动化生产过程中使用一种代替人类手臂抓取和移动工件的自动化装置。桁架机械手是一种大型的直角坐标机械手,主要用于车间中机床上下料的工作。桁架机械手的运动过程实际上是对上料仓取料,零部件加工,卸料仓卸料的一个大致过程。传统的桁架机械手在实际工业生产中针对圆形料盘放料孔定位中主要以人工示教为主,当料仓放料孔较少时,可通过手动示教完成机头取料定位,但是当放料孔数量过多时手动示教将非常复杂,示教的效率也会受到影响。同理,当用户更换另一种圆形料仓时,所有放料孔需重新进行示教。总体而言,整个料仓的示教过程相对复杂繁琐,极其浪费用户的时间和精力。为了提高桁架机械手料仓示教效率,迫切需要一种圆形料仓放料孔自动定位的计算方法。



技术实现要素:

为了解决现有桁架机械手在料仓放料孔数量过多、圆形料仓层数各异的情况下手动示教复杂的问题,本发明提出了一种用于桁架机械手圆形料仓放料孔自动定位的计算方法,主要实现针对圆形料盘不同层数自动定位各个放料孔位置,该方法是通过获取圆形料仓的圆心坐标点、最外层料仓上的任意一个坐标点及圆形料仓层数进行相应的计算,解决了桁架机械手圆形料仓层数不同、各层放料孔数量不同示教复杂的问题。

本发明解决其技术问题所采用的技术方案如下:

一种桁架机械手圆形料仓放料孔自动定位的计算方法,所述方法包括以下步骤:

1)首先通过示教器获取圆形料仓的圆心坐标点(x1,y1)、最外层料仓上的任意一个坐标点(x2,y2)及圆形料仓层数(n),以圆心坐标点(x1,y1)为原点,最外层料仓上的任意一个坐标点(x2,y2)为y轴正方向上的点,建立直角坐标系;

2)根据直角坐标系的四个象限将圆形料仓分为四个部分。由于圆形料仓的特点是每一层的放料孔个数都不相同,因此必须针对圆形料仓不同层时的放料孔个数结合每个部分做相应的计算;

3)首先计算出整个圆形料仓的半径(r),即y2与y1的差值,其公式如下:

r=y2-y1(1)

再将其差值与料仓层数(n)相除,得到的值是每层放料孔间的大致间距(rd),其公式如下:

rd=r/(n-1)(2)

然后针对每一层料仓的放料孔个数及所处的不同部分做相应的计算。

进一步,所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第一象限时,又可以将放料孔所处位置分成在x轴正方向上及在坐标轴外的两种情况,当放料孔在x轴正方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1+i*rd+0.5(i=1,2...n-1)(3)

py=y1(4)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在x轴正方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在x轴正方向上的放料孔序号为0。

再进一步,所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第二象限时,又可以将放料孔所处位置分成在y轴正方向上及在坐标轴外的两种情况,当放料孔在y轴正方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1(7)

py=y1+i*rd+0.5(i=1,2...n-1)(8)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在y轴正方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在y轴正方向上的放料孔序号为0。

再进一步,所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第三象限时,又可以将放料孔所处位置分成在x轴负方向上及在坐标轴外的两种情况,当放料孔在x轴负方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1-i*rd+0.5(i=1,2...n-1)(11)

py=y1(12)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在x轴负方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在x轴负方向上的放料孔序号为0。

再进一步,所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第四象限时,又可以将放料孔所处位置分成在y轴负方向上及在坐标轴外的两种情况,当放料孔在y轴负方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1(15)

py=y1-i*rd+0.5(i=1,2...n-1)(16)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在y轴负方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在y轴负方向上的放料孔序号为0。

所述计算方法是要转换成程序执行的。控制桁架机械手的电机达到指定的放料孔的位置,是通过程序发送一定的指令给控制器,再由控制器中的定时器发送相应的脉冲数给电机,从而控制电机的移动距离,而程序中的脉冲数必须是整数值,但上述提到的计算公式算出最后的放料孔间距不一定是整数值,如果我们将放料孔的大致间距直接等于脉冲数给程序,那么实际上桁架机械手运动到放料孔的位置肯定会存在误差,而且越靠后的放料孔位置误差越大;所本本方法采取了一种间距补偿的方法,通过给每个间距加上0.5的补偿值,再取整就会达到四舍五入的效果,从而将误差降到最小。

本发明的有益效果表现在:(1)适用于不同层数的圆形料仓;(2)适用于同一圆形料仓但各层放料孔数量不同的情况(3)对于圆形料仓的示教方法过程简单、效率高;(4)该方法基于stm32f103实现,该单片机性能强大、体积小,可以很好得满足桁架机械手圆形料仓放料孔自动定位的计算方法。

附图说明

图1为圆形料仓位置示意图。

图2位圆形料仓放料孔自动定位的计算流程图。

具体实施方式

下面结合附图对本发明的实施方式作进一步描述。

参照图1和图2,一种桁架机械手圆形料仓放料孔自动定位的计算方法,所述方法包括以下步骤:

1)首先通过示教器获取圆形料仓的圆心坐标点(x1,y1)、最外层料仓上的任意一个坐标点(x2,y2)及圆形料仓层数(n),以圆心坐标点(x1,y1)为原点,最外层料仓上的任意一个坐标点(x2,y2)为y轴正方向上的点,建立直角坐标系;

2)根据直角坐标系的四个象限将圆形料仓分为四个部分。由于圆形料仓的特点是每一层的放料孔个数都不相同,因此必须针对圆形料仓不同层时的放料孔个数结合每个部分做相应的计算;

3)首先计算出整个圆形料仓的半径(r),即y2与y1的差值,其公式如下:

r=y2-y1(1)

再将其差值与料仓层数(n)相除,得到的值是每层放料孔间的大致间距(rd),其公式如下:

rd=r/(n-1)(2)

然后针对每一层料仓的放料孔个数及所处的不同部分做相应的计算。

所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第一象限时,又可以将放料孔所处位置分成在x轴正方向上及在坐标轴外的两种情况,当放料孔在x轴正方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1+i*rd+0.5(i=1,2...n-1)(3)

py=y1(4)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在x轴正方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在x轴正方向上的放料孔序号为0;

所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第二象限时,又可以将放料孔所处位置分成在y轴正方向上及在坐标轴外的两种情况,当放料孔在y轴正方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1(7)

py=y1+i*rd+0.5(i=1,2...n-1)(8)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在y轴正方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在y轴正方向上的放料孔序号为0。

所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第三象限时,又可以将放料孔所处位置分成在x轴负方向上及在坐标轴外的两种情况,当放料孔在x轴负方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1-i*rd+0.5(i=1,2...n-1)(11)

py=y1(12)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在x轴负方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在x轴负方向上的放料孔序号为0。

所述步骤3)中,当圆形料仓所使用的放料孔处于直角坐标系第四象限时,又可以将放料孔所处位置分成在y轴负方向上及在坐标轴外的两种情况,当放料孔在y轴负方向上时,根据料仓层数通过循环计算放料孔具体位置的公式如下:

px=x1(15)

py=y1-i*rd+0.5(i=1,2...n-1)(16)

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0;

当放料孔在坐标轴外时,以放料孔在y轴负方向上为起始点结合料仓层数通过嵌套循环逆时针计算这部分每个放料孔的具体位置,其公式如下:

其中px代表每个放料孔坐标的x值,py代表每个放料孔坐标的y值,i代表由内向外层数的序号,这里默认最内层也就是原点放料孔序号为0,j代表每层放料孔的序号,这里默认在y轴负方向上的放料孔序号为0。

进一步,所述计算方法是要转换成程序执行的,控制桁架机械手的电机达到指定的放料孔的位置,是通过程序发送一定的指令给控制器,再由控制器中的定时器发送相应的脉冲数给电机,从而控制电机的移动距离,而程序中的脉冲数必须是整数值,但计算公式算出最后的放料孔间距不一定是整数值,如果我们将放料孔的大致间距直接等于脉冲数给程序,那么实际上桁架机械手运动到放料孔的位置肯定会存在误差,而且越靠后的放料孔位置误差越大;所本本方法采取了一种间距补偿的方法,通过给每个间距加上0.5的补偿值,再取整就会达到四舍五入的效果,从而将误差降到最小。

本发明提出的一种桁架机械手圆形料仓放料孔自动定位的计算方法。通过示教器获取圆形料仓的圆心坐标点(x1,y1)、最外层料仓上的任意一个坐标点(x2,y2)及圆形料仓层数(n)。系统根据圆形料仓的大小进行建模,并通过相应间距计算、间距补偿得到每个放料孔的具体位置。解决了桁架机械手圆形料仓层数各异以及各层放料孔数量不同的放料孔定位示教复杂的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1