线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
如何从目标计算旋转
大家好!
我想有一个基本目标[abc: - 90,0,180]
(图片:aOzWjGP.png)
使用这个目标,我想将机器人移动到这个位置,但要旋转,所以最终的运动是[abc: -43.033, -14.679, 164.814]使用rotx, roty和rotz函数

(图片:5 zlzyg2.png)

所以基本目标和期望目标之间的差异是[abc: 46.967, -14.679, 15.186]
如果我像这样设置旋转:

new_target = MoveJ(target * rotx)46.967* PI / 180) *质量(-14.679* PI / 180) * rotz (15.186* PI / 180))

而不是我想要的目标,我得到[abc: - 90,21,135]

旋转函数和这个结果之间有什么联系?
-这是实现这一目标的最佳方式吗?

谢谢大家的关注
# 2
嗨,氮氧化物,

如果我说错了请指正,但我相信你用的是库卡机器人。

如果是这种情况,请记住姿势符号是这样写的:



在X,Y,Z上平移然后在Z,Y,X上旋转。

考虑到这一点,你的rotx和rotz中的值应该互换,rotx和rotz的顺序也应该互换。

以下代码:

代码:
RDK = Robolink()

#程序示例:
目标= RDK。项目(“目标3”)
print (Target.Name ())
打印(Pose_2_KUKA (Target.Pose ()))

Pose = Target.Pose()*rotz(-46.967*pi/180)*roty(14.679*pi/180)*rotx(-15.186*pi/180)
打印(Target.Name() +“修改”)
print (Pose_2_KUKA(姿势))

会导致:

代码:
C:\Python34\ Python .exe "C:/Users/Jeremy RoboDK/Desktop/À classer/Test/Test API/Python/Test API.py"
目标3
[0.0, 0.0, 0.0, -90.0, -0.0, 180.0]
目标3修改
[0.0, 0.0, 0.0, -43.033, - 14.678999999999993,164.814]

进程结束,退出代码为0

如果你不熟悉这个话题,你应该读一下欧拉角,它是如何在机器人中使用的,以及不同品牌如何使用不同的旋转公式(例如:(z,y,x)或(x,y,z)或(z,y,z)等)。

希望能有所帮助。
杰里米




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