问题标签 [inverse-kinematics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

python-3.x - Dynamic Camera Caliberation OpenCV python3

I am planning on making a robotic arm. I have a camera mounted on the arm. I am using Opencv with python3 to do IP.

I want the arm to detect the point on the ground and the servos to move accordingly. I have completed the part of detection and calculating the world coordinates. Also, the inverse kinematics that is required.

The problem here is that I have calibrated the camera for a certain height (20 cm). So, the correct world coordinates are received at the height of 20 cm only. I want the camera to keep correcting the reading at every 2s that it moves towards the ground (downward).

Is there a way that I can do the calibration dynamically, and give dynamic coordinates to my arm? I don't know if this is the right approach. If there is another method to do this, please help.

0 投票
0 回答
265 浏览

python - 带约束的运动链中关节的欧拉角

我想找到允许从左侧图像转换到右侧图像的欧拉角(见下文)。关节AB有一组约束:

  • 由角度给出的局部坐标系 XYZ [0, 0, 20](其他关节可能有不同的坐标系)。我认为这总是相对于原点(我从 .amc 和 .asf 文件中读取)
  • 方向D和长度L
  • 有些关节只允许在一个或两个轴上进行变换;
  • AB是运动链的一部分。

在此处输入图像描述

问题:

  • 如何计算允许转换的旋转矩阵,A考虑A'到它们的局部坐标系和旋转约束?

请注意,我不是在寻找逆运动学算法,因为我已经有了两个段之间的关节角度。我无法理解如何处理旋转限制局部坐标系方向

0 投票
1 回答
220 浏览

python - 导入 URDF 抛出 ros::TimeNotInitializedException

我正在尝试使用trac_ik inverse kinematic solver与 NAO (V50) 一起工作。我需要使用修改后的限制,因为 NAO 在他身上添加了皮肤,这改变了限制。尝试使用预先生成的nao.urdf而不进行修改,但这会引发相同的错误。当我查看这个错误时,我发现它可能与 tf library 有关。他们包含的 pr2 的 trac_ik 示例代码工作得很好。当我认为这是 trac_ik 的错误时,他们回答说是 ROS 使用错误。

结束于:在抛出 'ros::TimeNotInitializedException' 的实例后调用终止 what(): 在创建第一个 NodeHandle 或调用 ros::start() 之前不能使用 ros::Time::now()。如果这是一个仅使用 ros::Time 并且不通过 ROS 进行通信的独立应用程序或测试,您也可以调用 ros::Time::init() Neúspěšně ukončen (SIGABRT)(核心转储 [obraz paměti uložen])

还尝试在开始时使用 rospy.init_node("text") ,但这也不起作用。使用 ROS 旋律。如何找到导致此问题的原因/正确的 ROS 用法是什么?

编辑:为什么投反对票?

0 投票
0 回答
357 浏览

c# - 如何将旋转与逆运动学结合使用?

我是 Unity 的新手,我正在使用逆运动学做一个项目,一方面(用手指),我正在接收硬件旋转数据(四元数),如果我唯一的输入是如何移动我的手指是旋转最后一个手指上的四元数,手腕上的另一个!我在这里使用 Dogzer 的反向运动学示例链接

这里 我的目标手指的图像在远端手指上,我想仅使用ROTATION计算其他手指的角度。

0 投票
0 回答
472 浏览

c# - 如何在手指上使用逆运动学(带旋转)?

如何在手指上使用逆运动学(带旋转)?您好,希望您能帮我解决这个问题!我正在尝试使用手指的逆运动学,我只知道目标的旋转(来自传感器)和手腕中的另一个,在这个例子中我只有两个骨头(远端,中间),我被引导以 Dogzer 为例。

这就是我的示例所做的,但是反向运动学正在相对于position执行,我需要的是它相对于目标 的旋转移动例子

}

0 投票
0 回答
200 浏览

3d - 球窝关节的雅可比矩阵?

我正在尝试将其中一种 IK 方法应用到我在 OpenGL 中制作的人体骨骼上,该方法使用雅可比矩阵的伪逆矩阵。我一直在使用以下链接, https://www.math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.pdf

我了解到雅可比矩阵条目的计算非常简单(链接的第 5 页),使用等式

在此处输入图像描述

但是,这个方程只适用于有一个自由度,旋转轴为 v_j 的情况。对于像球窝关节这样的3个自由度的情况,如何设置雅可比矩阵的条目?

任何帮助,将不胜感激!

0 投票
1 回答
248 浏览

unity3d - 附加到游戏对象的统一角色

我对 Unity 很陌生,有一件事我想不出如何制作它,我也无法准确信息,所以我在这里。(对不起,我的英语不完美)

我想做的是将角色附加到游戏对象上。在我的游戏中,玩家(用户)将控制或操纵游戏对象,并且附加到游戏对象的角色看起来就像是骑乘或驾驶游戏对象一样。(为了帮助你理解,也许你可以想象玩家控制一个滑板,上面有一个角色)

到目前为止,我尝试了 2 种方法 - 1. 我将角色作为游戏对象的子对象,并为角色赋予动画,但我发现它看起来不太自然。2. 我制作了一个布娃娃,并尝试通过游戏对象和角色的脚之间的固定关节将它附加到游戏对象上,但在游戏模式下,只有布娃娃的脚随着游戏对象移动。

所以我想知道是否有一个好的方法来做到这一点。任何人都可以给我一个建议吗?我会很感激的。提前致谢。

0 投票
1 回答
71 浏览

inverse-kinematics - IK 的雅可比矩阵的两个伪逆矩阵之间的区别?

嗨,我正在尝试在我的骨架系统中实现 IK,并且正在在线阅读一些文章,其中一种方法是使用雅可比矩阵的伪逆矩阵。但是,我已经看到了伪逆的 2 种形式,我想知道这两种表示的区别是什么。

第一种形式是 J+ = ((Jt*J).inverse()) * Jt

第二种形式是 J+ = Jt * ((J*Jt).inverse())

老实说,我什至不确定他们是如何得到第二种形式的,我目前只能推导出第一种形式。

任何帮助,将不胜感激!

0 投票
1 回答
653 浏览

c++ - 雅可比矩阵的 5 DOF 逆运动学

我正在尝试将 IK 应用于我的人体骨骼的手臂,肩部位置固定,只有手臂在移动。

手臂的FK是这样的

这是我的 IK 解算器功能

我认为问题出在setOrientation(Q_desired);功能上。Q_desired = Q_desired + deltaQ更新每个循环中的自由度角度,因此我相应地更新每个关节的旋转矩阵。这是setOrientation(Q_desired)功能。

我很好奇是否应该在那些旋转轴上应用角度旋转(应该是全局轴,而不是局部轴?)我没有发布 getJacobian() 方法,因为我认为它是正确的,但如果这段代码没有缺陷。任何帮助,将不胜感激。提前致谢!


编辑 这就是我获得手臂的雅可比矩阵的方式。请注意,只有肩部是球窝关节,其余只是基于局部 x 轴的旋转关节。

我对雅可比矩阵的每一列都使用了这个方程。轴应该在全局坐标中计算,所以这就是我在代码中所做的。

在此处输入图像描述

0 投票
1 回答
1164 浏览

opengl - 具有末端执行器方向的反向运动学?

我正在尝试实现逆运动学求解器,但这次即使使用末端执行器的方向。当末端执行器只需要该位置时,我成功了。

我了解到,在这种情况下,您可以像这样构造雅可比矩阵,其中 w_i 是全局空间中的第 i 个旋转轴,p_i 是从第 i 个轴到目标位置的向量。 在此处输入图像描述

问题是当我必须在下面的等式中计算 x_dot 时。

在此处输入图像描述

当 x_dot 只考虑位置并且没有方向时,这非常简单。但是现在当 x_dot 需要 6 个条目(位置、方向)时,我不知道应该为方向部分做什么。我一直在使用欧拉角来表示我的程序中的方向。

我现在的想法只是用目标的偏航、俯仰和滚动减去当前末端执行器的偏航、俯仰和滚动,然后将每个结果除以 100。但这似乎有点复杂。有没有更好的方法来解决这个问题?任何想法将不胜感激!