线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
如何使用命令MoveL_Test
# 1
我想知道两个目标之间的线性移动是否可能。为此,我创建了一个函数,在其中使用命令moveL_Test和SolveFK。不幸的是,在机器人执行的所有L运动中,结果是-2,但机器人可以执行L运动。

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

PHP代码:
def move_L_testtarget_pallet_i):
TCP_ITEM=RDK“TCP“ITEM_TYPE_TOOL

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

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

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

RDK
ShowMessagestr问题))

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

还要注意,“pose_1”将是工具“TCP_ITEM”(不是“frame_robot”)的姿态,它不一定是TCP的姿态。

最好的问候,

Maarten
# 3
Maarten问好,

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

PHP代码:
def move_L_testtarget_pallet_i):

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

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

RDK
ShowMessagestr问题))

ti_2
删除()

谢谢
利比亚




浏览此主题的用户:
1客人(年代)