我在笛卡尔空间中定义了一个目标,还有一个程序,它可以让一个Mecademic 500机器人通过“MoveJ”关节移动到达那里。生成的机器人程序包含以下相关命令:
机器人。运行(“SetWRF”,[0.000,280.000,0.000,0.000,90.000,-90.000))
机器人。运行(' move关节',[37.303900,4.182890,-0.568555,85.270100,-37.453300,-84.049700])
其中move关节设置六个关节角度存储在目标属性下的“机器人关节”。运行时,机器人按预期移动到笛卡尔目标。
现在我移动机器人的底座,重新运行程序。RoboDK中的模拟更新了关节角度(由于底座移动,关节角度现在有不同的值),机器人再次达到笛卡尔目标。
当我再次生成一个机器人程序时,SetWRF命令的值如预期的那样改变了,因为机器人的基本位置已经改变了。然而,movejoint命令的值与“Robot关节”下目标属性中存储的值保持一致。它们与RoboDK模拟中更新的关节角度不匹配。由于movejoint是一个独立于SetWRF的机器人姿态命令,机器人不会到达目标,不像模拟。
因此,RoboDK对笛卡尔目标的“MoveJ”命令似乎被导出为“movejoint”到一个姿态目标。存储在“机器人关节”下的目标属性中的关节角度被保留,尽管机器人应该采取不同的姿势来考虑其基座的移动。我错过了什么?
亲切的问候,
Maarten
机器人。运行(“SetWRF”,[0.000,280.000,0.000,0.000,90.000,-90.000))
机器人。运行(' move关节',[37.303900,4.182890,-0.568555,85.270100,-37.453300,-84.049700])
其中move关节设置六个关节角度存储在目标属性下的“机器人关节”。运行时,机器人按预期移动到笛卡尔目标。
现在我移动机器人的底座,重新运行程序。RoboDK中的模拟更新了关节角度(由于底座移动,关节角度现在有不同的值),机器人再次达到笛卡尔目标。
当我再次生成一个机器人程序时,SetWRF命令的值如预期的那样改变了,因为机器人的基本位置已经改变了。然而,movejoint命令的值与“Robot关节”下目标属性中存储的值保持一致。它们与RoboDK模拟中更新的关节角度不匹配。由于movejoint是一个独立于SetWRF的机器人姿态命令,机器人不会到达目标,不像模拟。
因此,RoboDK对笛卡尔目标的“MoveJ”命令似乎被导出为“movejoint”到一个姿态目标。存储在“机器人关节”下的目标属性中的关节角度被保留,尽管机器人应该采取不同的姿势来考虑其基座的移动。我错过了什么?
亲切的问候,
Maarten