ur robot 点动界面模型随着机器人的运动而运动是怎样实现的?

有没有人清楚,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() 的函数,该函数会不断循环并读取手柄输入值,并根据手柄输入速度计算关节角度,并将其传递给机器人控制器以实现机器人的点动模式运动。