你好,
问题:
我正在使用UR10机器人的曲线跟踪项目,并试图通过使用舍入来摆脱路径点之间的停止和前进。当我在程序中设置舍入指令和“生成机器人程序”时,混合半径值会显示在脚本文件中,但不会在movep命令中作为参数填充。我目前使用的是“Universal Robots MoveP”后期处理器。
当我“生成机器人程序”时,我如何得到混合半径作为movep的参数?我知道混合是有效的,因为我将脚本上传到UR pendant上,并手动将混合添加到脚本中的每个movep命令中,这将从真正的机器人产生所需的行为。
我尝试过的事情:
点击“生成机器人程序”时生成的脚本文件:
有问题的代码区域。正如你所看到的,正确的blend_radius_m变量在我的程序中初始化,但它没有在movep参数中填充(红色下划线)
问题:
我正在使用UR10机器人的曲线跟踪项目,并试图通过使用舍入来摆脱路径点之间的停止和前进。当我在程序中设置舍入指令和“生成机器人程序”时,混合半径值会显示在脚本文件中,但不会在movep命令中作为参数填充。我目前使用的是“Universal Robots MoveP”后期处理器。
当我“生成机器人程序”时,我如何得到混合半径作为movep的参数?我知道混合是有效的,因为我将脚本上传到UR pendant上,并手动将混合添加到脚本中的每个movep命令中,这将从真正的机器人产生所需的行为。
我尝试过的事情:
- 更新robodk
- 使用不同的后期处理器,如“Universal Robots”,“Universal Robots URP”,和一个链接在这里.我最终使用了“Universal Robots MoveP”,因为这是我认为我需要在混合半径中适当添加的东西。
- 根据注释修改UR后处理器在这里和维基
- 我相信后处理器在脚本文件中输出一个混合半径的两点之间有一个最小距离,不确定它对UR来说到底是什么。我认为我的点之间有足够的距离(至少30mm)。我已经尝试将robodk中的舍入值从1mm更改为5mm,但这仍然没有填充脚本文件中的movep命令中的混合半径参数。
点击“生成机器人程序”时生成的脚本文件:
代码:
def pick2 ():
#全局参数:
全局speed_ms = 0.250
全局speed_rads = 0.750
全局加速度mss = 1.200
全局accel_radss = 1.200
Global blend_radius_m = 0.001
全局ref_frame = p[0,0,0,0,0]
#--------------------------
在这里添加任何默认子程序
#例如,驱动一个夹具作为一个程序调用:
# def Gripper_Open():
#……
#结束
#
开喷枪的例子:
def SprayOn(价值):
#使用该值作为输出:
Do_spray = 5
如果value == 0:
set_standard_digital_out (DO_SPRAY假)
其他:
set_standard_digital_out (DO_SPRAY,真的)
结束
结束
驱动挤出机的例子:
def挤出机(价值):
#使用该值作为输出:
如果值< 0:
#停止挤出机
其他:
#启动挤出机
结束
结束
移动外部轴的示例
def MoveAxis(价值):
#使用该值作为输出:
Do_axis_1 = 1
Di_axis_1 = 1
如果值<= 0:
set_standard_digital_out (DO_AXIS_1假)
#等待数字输入改变状态
#while (get_standard_digital_in(DI_AXIS_1) != False):
# sync ()
#结束
其他:
set_standard_digital_out (DO_AXIS_1,真的)
#等待数字输入改变状态
#while (get_standard_digital_in(DI_AXIS_1) != True):
# sync ()
#结束
结束
结束
#--------------------------
#主程序:
由RoboDK v5.4.1在2023年6月3日13:45:32为UR10e生成的程序
#使用标称运动学。
Blend_radius_m = 0.005
Speed_ms = 0.200
Ref_frame = p[-0.469960, - 0.0.758650, -0.028850, 0.000000, 0.000000, 0.000000]
Set_tcp (p[0.000000, 0.000000, 0.200000, 0.000000, 0.000000, 0.000000])
Movej ([-2.198609, -2.258386, -1.559731, -2.575268, -2.400037, 6.265732], acceler_radss,speed_rads,0,0)
Movep ([-2.198609, -2.368639, -1.578502, -2.446253, -2.400037, 6.265732],accel_mss,speed_ms,0) #结束跟踪
set_standard_digital_out(真正的)
睡眠(0.500)
Movep ([-2.132391, -2.296487, -1.730749, -2.353734, -2.276869, 5.480334],accel_mss,speed_ms,0)
Movep ([-2.051512, -2.234336, -1.863052, -2.274042, -2.138953, 4.694936],accel_mss,speed_ms,0)
Movep ([-1.954681, -2.181906, -1.975852, -2.206655, -1.985068, 3.909538], acceler_mss,speed_ms,0)
Movep ([-1.841846, -2.139582, - 2.0068023, -2.152218, -1.815160, 3.124139],accel_mss,speed_ms,0)
Movep ([-1.715154, -2.108166, -2.137260, -2.112250, - 1.631363,2.338741],accel_mss,speed_ms,0)
Movep ([-1.579675, -2.088618, -2.180841, -2.088740, - 1.438802,1.553343],accel_mss,speed_ms,0)
Movep ([-1.443153, -2.081741, -2.196392, -2.083539, -1.245231, 0.767945],accel_mss,speed_ms,0)
Movep ([-1.335217, -2.085721, -2.187596, -2.091812, -1.137642, -0.017453],accel_mss,speed_ms,0) #结束跟踪
Speed_ms = 1.000
Movep ([-1.335217, -1.914836, -2.164645, -2.285631, -1.137642, -0.017453], acceler_mss,speed_ms,0)
主程序结束
结束
pick2 ()
有问题的代码区域。正如你所看到的,正确的blend_radius_m变量在我的程序中初始化,但它没有在movep参数中填充(红色下划线)