2015-01-15 55 views
1

这是我正在使用的3D模型的草稿,我想用python语言来模拟它的行为。我一直在研究这个模拟的最佳实现,但我没有发现任何可以适合真实运动的东西。我尝试过解析解决方法,但是因为某些参数的不确定性(臂长的某些误差)而未能进行测量。模拟固定端机器人手臂

我想模拟由旋转关节产生的运动并将其转换为与该方案中描述的系统类似的系统。

Stable Status

在一定时间后,系统可以使用旋转接头,然后打开下面的状态。

Rotated

对系统状态都描绘的下一个计划。 Both

一个简单的简化与DH参数将是:

enter image description here

重要的是如何计算的位置和两个非控制关节的角度,使得受体的关节角度(固定点)可以计算出来。

这不仅是一个逆运动学问题。有必要考虑运动限制。运动必须由旋转关节角度,连杆长度以及定点位置和长度决定。

下图中的红色圆圈描绘了第二个非控制点的可能位置。

enter image description here

你会如何模拟这种运动?

+0

你尝试[这](http://stackoverflow.com/q/2533321/1982962)? –

+0

问题仅限于蟒蛇中的机器人手臂恐怕... –

回答

1

有一个有问题的位置, 其中两个圆的交点(如下所述) 有一个点。 在这种情况下(我们假设它是平面状态(重力垂直于 )和静态情况)没有任何力,它随第二个非受控关节移动。 在动态中,我们为下一步选择另一种解决方案。

当路口不存在时, 那种情况不存在 和转动关节不能移动 到这个位置。

在计算 所有的位置,确定不存在的交叉点的位置的时候,得到(trivialy)运动限制。

您是否直接获得非固定点的结束位置?

旧版ansewer:

模拟运动:用于之间 开始位置,并与步骤delta_t结束位置的全部时间的非controled点

  1. 计算位置。
  2. 逐步绘制每个计算的位置(例如通过Pygame)。

计算:第一非控制点(较高)

x_2 = x_1 + l_12 cos(Theta_1),

y_2 = y_1 + l_12 sin(Theta_2),

其中X_1(X_1,Y_1的

  1. 第一计算位置)是positi上外卷点的, X_2(X_2,Y_2)是第一非控制点 和l_12的位置是X_1和X_2之间长度

  2. 计算相交的两个圆弧K_1和K_2 , 其中k_1(第一非控制点,l_23)和k_2(接收器关节,l_34),其中k(圆的中心,圆的半径)。

第2步有两个解决方案。 我们选择其中一个。 要模拟运动,我们必须选择 “相同的解决方案”。

从两点

计算角度:

alpha = math.atan2((y_2-y_1)/(x_2-x_1))