线程评级:
如何计算目标的旋转
# 1
大家好!
我想要一个基本目标[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) * roty (-14.679* PI / 180) * rotz (15.186* PI / 180))

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

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

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

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

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



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

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

以下代码:

代码:
RDK = Robolink()

#程序示例:
目标= RDK。项目(“目标3”)
print (Target.Name ())
打印(Pose_2_KUKA (Target.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客人(年代)