这是我正在使用的3D模型的草稿,我想用python语言模拟它的行为。我一直在研究这种模拟的最佳实现,但我发现没有什么能适合真实运动。我已经尝试过分析求解并且由于某些参数的不确定性(臂长的某些误差)进行测量而失败了。
我想模拟一个旋转关节产生的运动,并转移到一个类似于该方案所描绘的系统。
在某个时间,系统可能会使用旋转关节,然后转到以下状态。
系统的两种状态都在下一个方案中描述。
DH参数的简单简化是:
重要的是如何计算两个非受控关节的位置和角度,以便计算出受体关节角度(固定点)。
这不仅是一个逆运动学问题。有必要考虑运动限制。运动必须由转动关节角度,链节的长度以及固定点的位置和长度决定。
下一幅图像中的红色圆圈表示第二个非受控点的可能位置。
你会如何模拟这个动作?
答案 0 :(得分:1)
有一个有问题的位置, 两个圆的交叉点(如下所述) 有一点。 在这种情况下(我们假设它是平面情况(重力是垂直的) 对于所有的手臂)和静态情况)没有任何力,它与第二个非受控关节一起移动。 在动态中,我们为下一步选择另一种解决方案。
当交叉点不存在时, 这种情况并不存在 和旋转关节不能动 到这个位置。
在计算的时候得到(琐事)运动限制 所有位置并确定不存在交叉点的位置。
您是否直接获得非固定点的终点位置?
较旧的ansewer:
模拟动作:
计算:
第一个非控制点的计算位置(更高)
x_2 = x_1 + l_12 cos(Theta_1),
y_2 = y_1 + l_12 sin(Theta_2),
其中X_1(x_1,y_1)是旋转点的位置, X_2(x_2,y_2)是第一个非受控点的位置 l_12是X_1和X_2之间的长度
第2步有两个解决方案。 我们选择其中一个。 要模拟运动,我们必须选择 "相同的解决方案"。
从两点计算角度:
alpha = math.atan2((y_2-y_1)/(x_2-x_1))