一种基于fpga的六轴工业机器人测速方法

文档序号:10500467阅读:657来源:国知局
一种基于fpga的六轴工业机器人测速方法
【专利摘要】本发明公开了一种基于FPGA的六轴工业机器人测速方法,该方法包括电机速度测量和多通道除法器的实现;电机速度测量采用改进的M法和T法综合的方法,避免了高速和低速临界速度的人为定义,提高了测度的测量精度;并且多通道除法器的实现采用了多通道除法器计算各轴速度,使得六轴工业机器人多轴共享一个除法器资源,在节约大量LE逻辑资源的同时,并不影响各轴间的独立性。
【专利说明】
一种基于FPGA的六轴工业机器人测速方法
技术领域
[0001]本发明属于工业机器人控制领域,具体涉及到一种基于FPGA的六轴工业机器人测速方法。
【背景技术】
[0002]提高速度测量精度是提高工业机器人控制精度的一个重要方向,传统的电机测速方法有M法和T法:M法是测量一定时间内脉冲的个数,也就是一定时间内电机旋转过的角度,从而得到角速度,当一定时间内脉冲个数越多时,测量的结果越精确,所以此方法适用于高速情况;T法是测量两个脉冲间的时间间隔,转速越高,时间间隔越小,转速越慢,时间间隔越长,所以此方法用于测量慢速情况;工业上一般综合M法和T法来提高电机测速精度,但是这种方法高速和低速的分界不是很明确,往往人为来定义临界速度值,给速度测量带来了极大地不便,并且也带来了测速误差。基于FPGA的六轴工业机器人,为了保证各轴间互不影响,提高轴间同步度,速度测量模块需要硬件描述语言例化产生;但是在速度计算中,需要用到六个除法器,除法器需要耗费大量的LE资源,这给有限LE资源的FPGA带来了巨大压力。

【发明内容】

[0003]本发明针对现有技术的不足,提出了一种基于FPGA的六轴工业机器人测速方法,包括电机测速方法实现步骤和多通道除法器实现步骤两部分。
[0004]电机速度测量实现步骤包括:
[0005]步骤一:电机速度测量
[0006]①若在50us定时器内出现M个脉冲,M2 2,并且捕捉到第一个脉冲的上升沿到第M个脉冲的上升沿时间为T,则速度=M*脉冲当量/T;②若在50us定时器内出现的脉冲数M,M
<I,则继续等待;③若在50us定时器外出现两个脉冲,且捕捉到两个脉冲间的时间为TJlJ速度=脉冲当量/T;④若在50us定时器外出现一个脉冲或者零个脉冲,认为此时的速度为O;所述电机速度测量实现的①和③均出现了 1/T,若每个轴均使用一个除法器,需要耗费大量的LE资源,为了实现多轴逻辑共享同一除法器,可以采用时分复用的办法。又由于只需要计算速度,故除法器的被除数可以固定为一个常数;
[0007]除法器的逻辑直接调用FPGA编译器中现成的LPM_DIVIDE模块,多通道实现则是自行设计的定序器逻辑。
[0008]步骤二:多通道除法器的实现
[0009]当出现①和③的时候;
[0010]步骤1、用一个最大计数值为除法器流水线级数的循环自增计数器;
[0011]步骤2、当某个通道需要使用除法器时,首先将该通道的除数值存入暂存器中,然后将定序器中对应通道的标志位置为I;
[0012]步骤3、假如检测到定序器中所有通道的标志位为I的,就按照固定的优先级别顺序,将优先级最高通道的除数暂存器的值赋给除法器的除数,同时记录该时刻自增计数器的值,然后在计数器在接下来的一轮自增计数计到此数值时,依据分选器取出计算完的商。
[0013]与现有的技术相比,本发明的有益效果是:采用改进的M法和T法综合的方法,避免了高速和低速临界速度的人为定义,提高了测度的测量精度;并且采用了多通道除法器计算各轴速度,使得六轴工业机器人多轴共享一个除法器资源,在节约大量LE逻辑资源的同时,并不影响各轴间的独立性。
【附图说明】
[0014]图1是六通道复用除法器简化结构图
【具体实施方式】
[0015]一种基于FPGA的六轴工业机器人测速方法,包括电机测速方法实现步骤和多通道除法器实现步骤两部分。电机速度测量实现步骤包括:
[0016]步骤一:电机速度测量
[0017]①若在50us定时器内出现M个脉冲,M2 2,并且捕捉到第一个脉冲的上升沿到第M个脉冲的上升沿时间为T,则速度=M*脉冲当量/T;②若在50us定时器内出现的脉冲数M,M
<I,则继续等待;③若在50us定时器外出现两个脉冲,且捕捉到两个脉冲间的时间为TJlJ速度=脉冲当量/T;④若在50us定时器外出现一个脉冲或者零个脉冲,认为此时的速度为O;所述电机速度测量实现的①和③均出现了 1/T,若每个轴均使用一个除法器,需要耗费大量的LE资源,为了实现多轴逻辑共享同一除法器,可以采用时分复用的办法。又由于只需要计算速度,故除法器的被除数可以固定为一个常数;如图1所示;
[0018]除法器的逻辑直接调用FPGA编译器中现成的LPM_DIVIDE模块,多通道实现则是自行设计的定序器逻辑。
[0019]步骤二:多通道除法器的实现
[0020]当出现①和③的时候;
[0021 ]步骤1、用一个最大计数值为除法器流水线级数的循环自增计数器;
[0022]步骤2、当某个通道需要使用除法器时,首先将该通道的除数值存入暂存器中,然后将定序器中对应通道的标志位置为I;
[0023]步骤3、假如检测到定序器中所有通道的标志位为I的,就按照固定的优先级别顺序,将优先级最高通道的除数暂存器的值赋给除法器的除数,同时记录该时刻自增计数器的值,然后在计数器在接下来的一轮自增计数计到此数值时,依据分选器取出计算完的商。
【主权项】
1.一种基于FPGA的六轴工业机器人测速方法,其特征在于: 步骤一:电机速度测量 ①若在50us定时器内出现M个脉冲,M 2 2,并且捕捉到第一个脉冲的上升沿到第M个脉冲的上升沿时间为T,则速度=M*脉冲当量/T;②若在50us定时器内出现的脉冲数M,M< 1,则继续等待;③若在50us定时器外出现两个脉冲,且捕捉到两个脉冲间的时间为T,则速度=脉冲当量/T;④若在50us定时器外出现一个脉冲或者零个脉冲,认为此时的速度为O;步骤二:多通道除法器的实现当出现①和③的时候; 步骤1、用一个最大计数值为除法器流水线级数的循环自增计数器; 步骤2、当某个通道需要使用除法器时,首先将该通道的除数值存入暂存器中,然后将定序器中对应通道的标志位置为I; 步骤3、假如检测到定序器中所有通道的标志位为I的,就按照固定的优先级别顺序,将优先级最高通道的除数暂存器的值赋给除法器的除数,同时记录该时刻自增计数器的值,然后在计数器在接下来的一轮自增计数计到此数值时,依据分选器取出计算完的商。
【文档编号】B25J9/16GK105856228SQ201610290284
【公开日】2016年8月17日
【申请日】2016年5月3日
【发明人】高明煜, 刘雷, 黄继业, 龚文科, 曾毓, 何志伟, 王协平
【申请人】杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1