03-19-2020, 12:28 PM
你好,有没有办法更改KUKA KRC2后处理器,以便声明如第一张图所示的联合列表(E1是第三个联合)?
由于某种原因,KUKA LWR IV+ i已将第三个接头声明为外部接头,并期望按以下顺序发送:
机器人。MoveJ([A1, A2, A3, A4, A5, A6, E1]), E1为第一张图所示的第3个关节(J3)的关节值。
然而,robodk将联合值发送为:
机器人。MoveJ([A1, A2, A3, A4, A5, A6, E1]), E1为第7关节(J7)的关节值,如图1所示。
到目前为止,我已经手动交换了关节的顺序(如下所示的代码),然后将它们发送给KUKA,以匹配机器人的真实运动模拟。
代码:
从robolink进口*# RoboDK API
从robodk进口*#机器人工具箱
RDK = Robolink()
机器人= RDK。项目(“库卡”)
pose = RDK。项目(“左下”)
只在模拟模式下移动机器人
RDK.setRunMode (1)
robot.MoveJ(构成)
#移动真正的机器人
”“”
改变关节的位置,因为KUKA LWR IV+已经将第三个关节声明为外部关节。
KUKA LWR IV+关节= [A1, A2, E1, A3, A4, A5, A6], RoboDK将关节发送为[A1, A2, A3, A4, A5, A6, E1]
”“”
RDK.setRunMode (6)
tar = tr(pose.关节())
机器人。MoveJ([焦油(0,0],焦油[0,1],焦油[0,3.],焦油[0,4],焦油[0,5],焦油[0,6],焦油[0,2]])
然而,由于不同的关节限制,如果我交换它们,第3个关节的值大于第7个关节,那么程序退出。所以我正在寻找一种方法来操作后处理器,以便正确地发送它们,以避免关节限制。
由于某种原因,KUKA LWR IV+ i已将第三个接头声明为外部接头,并期望按以下顺序发送:
机器人。MoveJ([A1, A2, A3, A4, A5, A6, E1]), E1为第一张图所示的第3个关节(J3)的关节值。
然而,robodk将联合值发送为:
机器人。MoveJ([A1, A2, A3, A4, A5, A6, E1]), E1为第7关节(J7)的关节值,如图1所示。
到目前为止,我已经手动交换了关节的顺序(如下所示的代码),然后将它们发送给KUKA,以匹配机器人的真实运动模拟。
代码:
从robolink进口*# RoboDK API
从robodk进口*#机器人工具箱
RDK = Robolink()
机器人= RDK。项目(“库卡”)
pose = RDK。项目(“左下”)
只在模拟模式下移动机器人
RDK.setRunMode (1)
robot.MoveJ(构成)
#移动真正的机器人
”“”
改变关节的位置,因为KUKA LWR IV+已经将第三个关节声明为外部关节。
KUKA LWR IV+关节= [A1, A2, E1, A3, A4, A5, A6], RoboDK将关节发送为[A1, A2, A3, A4, A5, A6, E1]
”“”
RDK.setRunMode (6)
tar = tr(pose.关节())
机器人。MoveJ([焦油(0,0],焦油[0,1],焦油[0,3.],焦油[0,4],焦油[0,5],焦油[0,6],焦油[0,2]])
然而,由于不同的关节限制,如果我交换它们,第3个关节的值大于第7个关节,那么程序退出。所以我正在寻找一种方法来操作后处理器,以便正确地发送它们,以避免关节限制。