gpt4 book ai didi

python - 关于固定端机械臂的仿真

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:39 26 4
gpt4 key购买 nike

这是我正在使用的 3D 模型草稿,我想使用 Python 语言模拟其行为。我一直在研究这个模拟的最佳实现,但我没有发现任何适合真实运动的东西。我尝试过解析求解,但由于某些参数的不确定性(臂长的某些误差)在测量时失败了。

我想模拟由旋转关节产生的运动并转移到与方案中描述的系统类似的系统。

Stable Status

在某个时候,系统可能会使用revolute joint,然后变成如下状态。

Rotated

系统的两种状态都在下一个方案中描述。 Both

使用 DH 参数的简单简化是:

enter image description here

重要的是如何计算两个非受控关节的位置和角度,从而计算出受控关节角度(固定点)。

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

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

enter image description here

你会如何模拟这个 Action ?

最佳答案

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

当交集不存在时,这种情况不存在旋转关节不能移动到这个位置。

我们在计算时获得(平凡的)运动限制所有位置和确定不存在交叉点的位置。

是否直接获取非定点结束位置?

较早的回答者:

模拟运动:

  1. 计算所有时间非控制点的位置开始位置和结束位置,步长为 delta_t。
  2. 逐步绘制每个计算出的位置(例如通过 Pygame)。

计算:

  1. 首先计算第一个非控制点的位置(较高)

    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 之间的长度

  1. 计算两个圆 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))

关于python - 关于固定端机械臂的仿真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27960539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com