线程评级:
move_test不捕获碰撞
# 1
你好,

我尝试了碰撞检测与“MoveL_Test”使用python API。但它忽略了一个明显的碰撞。
也许MoveJ_test会为这个工作,但它必须是一个MoveL

正确地定义我的碰撞地图,这样我就可以在RoboDk模拟中看到碰撞。

你能确认一下这是一个错误还是我遗漏了什么吗?

如果你需要测试的话就告诉我。
你能提供一个站点和导致错误的代码吗?

杰里米
有关RoboDK及其功能的有用信息,请访问我们的在线文档通过观看我们的教程Youtube频道


# 3
下面是我用来检测碰撞的代码

代码:
定义碰撞(cible1,cible2,master_tool,resultat):

CHECK_COLLISIONS = False

RL。setCollisionActive(COLLISION_ON if CHECK_COLLISIONS else COLLISION_OFF)
tool_pose = master_tool.PoseTool()
XYZABC = Pose_2_KUKA(tool_pose)
x,y,z,a,b,c = XYZABC
Rotation_sans_coll = []

对于el in result:
new_tool_pose = KUKA_2_Pose([[0]、[1],[2],[3],[4],el [5]])
master_tool.setPoseTool (new_tool_pose)
new_tool_pose = master_tool.PoseTool()
robot.setTool (master_tool)
robot.MoveJ (cible2)
robot_关节= robot.关节()

can_move_linear = True
问题=机器人。MoveL_Test (robot_joints cible1)
Can_move_linear =(问题== 0)

如果can_move_linear:

joints_robot = robot.关节()

robot.MoveL (cible1)

robot.MoveL (cible2)
# 4
这段代码不足以让我们用碰撞检测重现这个问题。

你可能需要自定义碰撞检查的容差:
  1. Tools-Options
  2. 选择运动选项卡
  3. 减少最大路径步长,单位为毫米和度。可能是1毫米和1度。这些设置是在碰撞检查下
# 5


非常感谢,它现在可以工作了

我将以mm和deg为单位的最大路径步长减小到1mm和1deg
# 6


我在我的站点中更改了选项,现在程序捕获了碰撞

但在进行碰撞测试时,所有机器人的关节都被设置为0,这在其他配置之前没有发生




浏览此线程的用户:
1客人(年代)