一种基于制造技术

技术编号:39724981 阅读:4 留言:0更新日期:2023-12-17 23:30
本申请属于运动控制技术领域,尤其涉及一种基于

【技术实现步骤摘要】
一种基于FPGA的机器人实时速度规划方法


[0001]本申请属于运动控制
,尤其涉及一种基于
FPGA
的机器人实时速度规划方法


技术介绍

[0002]如今机器人系统在工业领域有着广泛的应用场景,在流动生产线

金属加工等领域都有极为重要的作用

大量机器人设备都有快速运动的需求,同时要求速度曲线快速且平稳,这就需要一个合适的控制器和好的速度规划策略

其中多数都选择上位控制器
+FPGA
的形式,并把部分处理过程安排在
FPGA
里以实现更好的效果

[0003]另外,现有规划算法通常涉及大量复杂函数的计算,有些规划算法会涉及三角函数

自然指数函数等复杂函数的计算,而在
FPGA
内部实现这些复杂函数运算是有一定困难的,会面临
FPGA
内部资源消耗大

求解时间长

精度有限等问题,上述原因导致当今市面上很多中低端控制器,只在
FPGA
内实现较为简单的速度规划算法,限制了运行效果,甚至只让
FPGA
负责发送脉冲,所有规划都在上位控制器完成,这样也降低了整体的运行效率

因此,在
FPGA
内实现涉及复杂函数的速度规划算法,并达到资源消耗与运行效率的平衡,对机器人系统的发展有着重要意义


技术实现思路
/>[0004]本申请的目的在于提供一种基于
FPGA
的机器人实时速度规划方法,使在
FPGA
内耗用较少的资源,得到更加柔顺的速度控制

[0005]为了达到上述目的,本申请所采用的技术方案为:所述基于
FPGA
的机器人实时速度规划方法,包括:
[0006]接收分段插补数据,得到插补数据,所述插补数据包括运动轴的移动位置增量;
[0007]根据插补数据计算加速段

匀速段和减速段的规划时间;
[0008]将匀速段

加速段和减速段的规划时间离散化为三段进给量,对插补数据中的移动位置增量进行判断,若移动位置增量小于设定阈值,则直接以最优时间轨迹规划进行插补,所述最优时间轨迹规划表现为梯形速度曲线,预规划结束;
[0009]若移动位置增量大于等于设定阈值,通过计算辅助修正函数进行二次规划后得到
S
型速度曲线,预规划结束;
[0010]将预规划后的速度曲线转换为脉冲输出用于控制电机

[0011]进一步的,所述接收分段插补数据,得到插补数据,包括:
[0012]接收分段插补数据,将分段插补数据组成完整的插补数据包;
[0013]对完整的插补数据包进行解析,得到插补数据

[0014]进一步的,所述根据插补数据计算加速段

匀速段和减速段的规划时间,包括:
[0015]判断插补数据是否符合预设条件,所述插补数据还包括运动轴的初始进给速度

终点进给速度

加速度

最大速度;
[0016]如符合预设条件,则将最大速度作为匀速段速度,并计算加速段

匀速段和减速段的规划时间;
[0017]如不符合预设条件,则根据移动位置增量

初始进给速度

终点进给速度和加速度计算约束下最大速度,再计算加速段和减速段的规划时间

[0018]进一步的,所述预设条件为:
[0019][0020]其中,
h
表示移动位置增量,
v0表示初始进给速度,
v1表示终点进给速度,
v
max
表示最大速度,
a
max
表示加速度

[0021]进一步的,所述通过计算辅助修正函数进行二次规划后得到
S
型速度曲线,包括:
[0022]计算辅助修正函数,辅助修正函数用公式表示如下:
[0023][0024]根据辅助修正函数计算加速段和减速段第
i
个进给量所代表的速度,公式表示如下:
[0025]v
a
[i]=
v0+(v
v

v0)
·
FixedSigmoid[i][0026]v
d
[i]=
v
v
+(v1‑
v
v
)
·
FixedSigmoid[i][0027]其中,
v
a
[i]表示加速段第
i
个进给量所代表的速度,
v
d
[i]表示减速段第
i
个进给量所代表的速度,
v0表示初始进给速度,
v1表示终点进给速度,
v
v
表示约束下最大速度;
[0028]得到二次规划后的
S
型速度曲线

[0029]进一步的,所述计算辅助修正函数,包括将
x[i]离散化:
[0030]若二次规划的过程中的实时加减速度都不会超过电机执行机构能承受的最大范围,则:
[0031][0032]若二次规划的过程中会出现实时加减速度超过电机执行机构能承受的最大范围的情况,则:
[0033][0034]其中,
x[i]为离散化后的第
i
个进给量所对应的规划值,
a
max
为加速度,
motoracc
max
为电机执行机构能承受的最大加速度,
n
为加速段或减速段的进给总量,
i
为规划步骤中第
i
个进给量,和为校正因子,
λ
为偏移因子

[0035]进一步的,所述计算辅助修正函数,还包括:
[0036]令
x[i]=
x
int
[i]+x
deci
[i],其中,
x
int
[i]为
x[i]的整数部分,
x
deci
[i]为
x[i]的小数部分;
[0037]第一部分:利用如下公式进行双步迭代计算
x
j1

y
j1

[0038]x
k+2

(1+d
k
d
k+1
·2‑
(2k+1)
)x
k
+(d
k
·2‑
k
...

【技术保护点】

【技术特征摘要】
1.
一种基于
FPGA
的机器人实时速度规划方法,其特征在于,所述基于
FPGA
的机器人实时速度规划方法,包括:接收分段插补数据,得到插补数据,所述插补数据包括运动轴的移动位置增量;根据插补数据计算加速段

匀速段和减速段的规划时间;将匀速段

加速段和减速段的规划时间离散化为三段进给量,对插补数据中的移动位置增量进行判断,若移动位置增量小于设定阈值,则直接以最优时间轨迹规划进行插补,所述最优时间轨迹规划表现为梯形速度曲线,预规划结束;若移动位置增量大于等于设定阈值,通过计算辅助修正函数进行二次规划后得到
S
型速度曲线,预规划结束;将预规划后的速度曲线转换为脉冲输出用于控制电机
。2.
根据权利要求1所述的基于
FPGA
的机器人实时速度规划方法,其特征在于,所述接收分段插补数据,得到插补数据,包括:接收分段插补数据,将分段插补数据组成完整的插补数据包;对完整的插补数据包进行解析,得到插补数据
。3.
根据权利要求1所述的基于
FPGA
的机器人实时速度规划方法,其特征在于,所述根据插补数据计算加速段

匀速段和减速段的规划时间,包括:判断插补数据是否符合预设条件,所述插补数据还包括运动轴的初始进给速度

终点进给速度

加速度

最大速度;如符合预设条件,则将最大速度作为匀速段速度,并计算加速段

匀速段和减速段的规划时间;如不符合预设条件,则根据移动位置增量

初始进给速度

终点进给速度和加速度计算约束下最大速度,再计算加速段和减速段的规划时间
。4.
根据权利要求3所述的基于
FPGA
的机器人实时速度规划方法,其特征在于,所述预设条件为:其中,
h
表示移动位置增量,
v0表示初始进给速度,
v1表示终点进给速度,
v
max
表示最大速度,
a
max
表示加速度
。5.
根据权利要求1所述的基于
FPGA
的机器人实时速度规划方法,其特征在于,所述通过计算辅助修正函数进行二次规划后得到
S
型速度曲线,包括:计算辅助修正函数,辅助修正函数用公式表示如下:根据辅助修正函数计算加速段和减速段第
i
个进给量所代表的速度,公式表示如下:
v
a
[i]

v0+(v
v

v0)
·
FixedSigmoid[i]v
d
[i]

v
v
+(v1‑
v
v
)
·
FixedSigmoid[i]
其中,
v
a
[i]
表示加速段第
i
个进给量所代表的速度,
v
d
[i]
表示减速段第
i
个进给量所代表的速度,
v0表示初始进给速度,
v1表示终点进给速度,
v
v
表示约束下最大速度;
得到二次规划后的
S
型速度曲线
。6.
根据权利要求5所述的基于
FPGA
的机器人实时速度规划方法,其特征在于,所述计算辅助修正函数,包括将
x[i]
离散化:若二次规划的过程中的实时加减速度都不会超过电机执行机构能承受的最大范围,则:若二次规划的过程中会出现实时加减速度超过电机执行机构能承受的最大范围的情况,则:其中,
x[i]
为离散化后的第
i
个进给量所对应的规划值,
a
max
为加速度,
motoracc
max
为电机执行机构能承受的最大加速度,
n
为加速段或减速段的进给总量,
i
为规划步骤中第
i

【专利技术属性】
技术研发人员:董辉王瑞董翼旗周瑞张丹吴祥宋斌刘悦
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1