线程评级:
如何使用move_test命令
# 1
我想知道两个目标之间的直线移动是否可行。为此,我创建了一个函数,其中我使用命令moveL_Test和SolveFK。不幸的是,在机器人执行的所有L动作中,结果是-2,但机器人可以执行L动作。

请检查一下我的功能,并告诉我需要修改的地方。

PHP代码:
def move_L_testtarget_pallet_i):
TCP_ITEMRDK“TCP“ITEM_TYPE_TOOL)

pose_1
CalculatePoseFrame2Objectframe_robotTCP_ITEM)
ti_1RDKAddTarget“position_1”frame_robot)
ti_1setPosepose_1)
曾经繁荣ti_1关节()

ti_2
RDKAddTarget“position_2”frame_pallet)
ti_2setPosetarget_pallet_i)
pose_2CalculatePoseFrame2Objectframe_robotti_2)
关节机器人SolveFKpose_2机器人PoseTool())

问题
机器人MoveL_Test曾经繁荣关节)

RDK
ShowMessagestr问题))

ti_1
删除()
ti_2删除()
你使用的是正运动学SolveFK(),而你应该使用逆运动学SolveIK()。第一个返回给定机器人(法兰或工具)关节值的姿态,后者返回给定机器人(法兰或工具)姿态的关节值集。

还要注意,“pose_1”将是工具“TCP_ITEM”(w.r.t为“frame_robot”)的姿态,这并不一定是TCP的姿态。

最好的问候,

Maarten
# 3
Maarten问好,

谢谢你的回复,我修正了这个功能,现在它和我预期的一样。当线性运动不可能时,函数返回-1,但当有可能时,它返回值5(盒子,saug greifer和连接到扩展器的机器人底座也是红色的)你知道5的值是什么意思吗?为什么是红色的?我没有激活碰撞。

PHP代码:
def move_L_testtarget_pallet_i):

ti_2
RDKAddTarget“position_2”frame_pallet)
ti_2setPosetarget_pallet_i)
pose_2CalculatePoseFrame2Objectframe_palletti_2)
构成机器人SolveIKpose_2机器人PoseTool())

问题
机器人MoveL_Test机器人关节(),pose_2)

RDK
ShowMessagestr问题))

ti_2
删除()

谢谢
利比亚




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