有没有人清楚,ur robot 人机界面的点动模型随机器人运动而相应运动是怎么实现的?
一个简单点动模式示例程序,它将通过手柄输入控制机器人移动:
# Jogging mode script
def jog():
while (True):
joint_speeds = get_joint_speeds()
set_analog_inputrange(0, 1) # Set analog input range to [-1, 1]
x = get_analog_in(0)
y = get_analog_in(1)
z = get_analog_in(2)
q = quaternion_conjugate(get_actual_tcp_pose()[3:])
v = [x, y, z] * q # Rotate the joystick vector with the orientation of the TCP
vel = [v[0], -v[1], -v[2], 0, 0, 0]
speed = norm(joint_speeds)
if speed > 0.1:
scale = 0.1 / speed
vel = [scale * v for v in vel]
movej(get_actual_joint_positions() + vel)
该代码可以在 UR 机器人上运行,并通过手柄或其他外部设备来控制机器人进行点动模式操作。具体来说,该程序中定义了一个名为 jog()
的函数,该函数会不断循环并读取手柄输入值,并根据手柄输入速度计算关节角度,并将其传递给机器人控制器以实现机器人的点动模式运动。