04-05-2023,下午02:08
我正在尝试用太空鼠标实时控制库卡。我可以用鼠标移动库卡,但我得到延迟,超过15 !我想知道为什么,以及如何解决这个问题。所有这些都是在模拟中完成的,所以我预计在机械臂上执行时会有额外的延迟,这将使情况变得更糟。
代码:
从robolink导入*
从robodk导入*
进口pyspacemouse
RDK = Robolink()
库卡= RDK。项目(ITEM_TYPE_ROBOT”)
RDK.setSimulationSpeed (1)
库卡。setSpeed(speed_linear=10, speed_joint =10, acceler_joint =1, acceler_linear =1)
鼠标= pyspacemouse.open()
Move_speed = 1
而1:
Data = mouse.read()
Xyzinputs = [round(data)]。Y, 1), round(-1*data。X, 1), 0]
如果norm(xyzinputs) <= 0:
继续
Xyz_move = mult3(xyzinputs, move_speed)
关节= kuka.关节()
position = kuka.SolveFK(关节)
config = kuka.JointsConfig(关节)
New_position = transl(xyz_move) * position
new_joint = kuka.SolveIK(new_position)
如果len(new_joints.tolist()) < 6:
打印(“无解”)
继续
new_config = kuka.JointsConfig(new_joint)
kuka.MoveJ (new_joints)
----
它基于一个使用键盘输入的示例。
我以前没有将roboDK与Python结合使用过,所以我可能错过了一些明显的东西。
这是否与库卡用来预先计算动作的先进技术有关?这似乎适用于PTP,每次只移动一小步,但有没有一种方法可以持续移动呢?
代码:
从robolink导入*
从robodk导入*
进口pyspacemouse
RDK = Robolink()
库卡= RDK。项目(ITEM_TYPE_ROBOT”)
RDK.setSimulationSpeed (1)
库卡。setSpeed(speed_linear=10, speed_joint =10, acceler_joint =1, acceler_linear =1)
鼠标= pyspacemouse.open()
Move_speed = 1
而1:
Data = mouse.read()
Xyzinputs = [round(data)]。Y, 1), round(-1*data。X, 1), 0]
如果norm(xyzinputs) <= 0:
继续
Xyz_move = mult3(xyzinputs, move_speed)
关节= kuka.关节()
position = kuka.SolveFK(关节)
config = kuka.JointsConfig(关节)
New_position = transl(xyz_move) * position
new_joint = kuka.SolveIK(new_position)
如果len(new_joints.tolist()) < 6:
打印(“无解”)
继续
new_config = kuka.JointsConfig(new_joint)
kuka.MoveJ (new_joints)
----
它基于一个使用键盘输入的示例。
我以前没有将roboDK与Python结合使用过,所以我可能错过了一些明显的东西。
这是否与库卡用来预先计算动作的先进技术有关?这似乎适用于PTP,每次只移动一小步,但有没有一种方法可以持续移动呢?