线程评级:
RoboDK-Matlab机器人配置
# 1
有时当机器人在特定的路径上运动时我们会突然改变构型因为它会经过奇点。我想尝试在RoboDK API for Matlab的帮助下修复一些任务所需的机器人配置。

当我在Matlab中计算逆运动学时,我得到了8个唯一解,但当我使用RoboDK IK求解器时,我得到了21个解。我的第一个问题是,如何用robodk ik求解器返回8个唯一解到Matlab中?然后我去检查robodk如何显示不同的配置。请查看附件文件,确认我的理解是否正确(那些绿灯)。

最后一个问题。Python似乎已经有了一个可以识别不同配置的解决方案(附件最后一页)。有可能在Matlab中实现吗?如果不是,我在哪里可以找到使用函数JointsConfig的程序?

总结。当我得到8个唯一的IK解时,我想知道机器人在哪个构型(f,r,u,d,f,nf)中的每个解(在Matlab中)。我已经在尝试手动限制每个配置的关节,但我认为RoboDK可以更好地处理这个问题。


先谢谢你。致以最亲切的问候。

我解决了第一个问题。我在Robodk中设置了从-180到+180的关节限制,现在它只返回8个唯一的解决方案。现在我只需要对这些解进行分类-提取配置。


附加文件
. pdf Robodk ik en.pdf(大小:301.17 KB /下载:221)
也解决了其他问题。抱歉不必要的帖子。最后,它是一个相当简单的程序。如果有人遇到同样的问题,我会把答案写下来。
因为我使用的是UR5,所以我检查了它的奇异值。我们有手腕奇异点,肘部奇异点和肩膀奇异点。最不舒服的是肩膀奇点,我就不详细写了,因为在这个链接中有更好的解释:https://www.mecademic.com/en/what-are-si...-robot-arm

从编程的角度来看,对于肩部奇点,你必须检查变换矩阵T5_1= inv(T1_0)*T5_0中的x值是正的还是负的
T5_1-从Joint5到Joint1的转换
T1_0-从Joint1到底的逆变换(我写的是T,但它实际上是矩阵A我们从DH参数中得到的每个后续矩阵都是基于前一个矩阵的,但这里它和T是一样的因为我们在看底)
T5_0-从Joint5到基的转换(你从FK求解器得到这个值- T1,T2,T3,T4,T5,T6,它们都是相对于基的)

对于肘关节奇点,我们只检查Joint3是否为正/负,对于手腕奇点,我们检查Joint5。计算正在工作,我得到了与RoboDK相同的配置。测试这个Python版本还是不错的。




浏览此线程的用户:
1客人(年代)