06-28-2021, 02:34 PM
你好,
我一直在为Staubli TX2-90机器人编写python程序。我正在试着调整工具的角度。我首先设置相对于机器人法兰的工具位姿,然后使用预定义的关节将机器人移动到主位置。然后我检索工具的位置,并调整相关角度(保存为新位置)。我转换回一个姿势,然后使用MoveJ命令移动机器人。
代码似乎工作得很好,但是,在我调整角度的行中,如果我调整rx或rz(在我的代码中为+20),它们会产生围绕同一轴的旋转。不管我是改变rx还是rz角度,它都会改变紫色的值(在附带的截图中)。这看起来像是一个万向节锁定问题,但在roboDK GUI中,我能够使用表盘正确地旋转每个轴(下图中的浅蓝色/紫色/黄色角度)。此外,我没有得到任何与此相关的错误。
我已经包含了下面的代码。提前感谢你的建议。
我一直在为Staubli TX2-90机器人编写python程序。我正在试着调整工具的角度。我首先设置相对于机器人法兰的工具位姿,然后使用预定义的关节将机器人移动到主位置。然后我检索工具的位置,并调整相关角度(保存为新位置)。我转换回一个姿势,然后使用MoveJ命令移动机器人。
代码似乎工作得很好,但是,在我调整角度的行中,如果我调整rx或rz(在我的代码中为+20),它们会产生围绕同一轴的旋转。不管我是改变rx还是rz角度,它都会改变紫色的值(在附带的截图中)。这看起来像是一个万向节锁定问题,但在roboDK GUI中,我能够使用表盘正确地旋转每个轴(下图中的浅蓝色/紫色/黄色角度)。此外,我没有得到任何与此相关的错误。
我已经包含了下面的代码。提前感谢你的建议。
代码:
#设置工具相对于机器人法兰的姿态
Tool_position = [0,0,610,0,-20,0]
Tool_pose = xyzrpw_2_pose(tool_position)
robot.setPoseTool (tool_pose)
#移动到主位置并保存这个姿势
robot.MoveJ ([0, 90, -45, -90 65 0])
Home_pose = robot.Pose()
#调整角度
Home_position = pose_2_xyzrpw(Home_pose)
x,y,z,rx,ry,rz = Home_position
new_position = [x,y,z,rx,ry,rz+20] #这里我改变了角度
#换到新位置
New_pose = xyzrpw_2_pose(new_position)
robot.MoveJ (new_pose)