标签: inverse-kinematics

如何计算反向运动学

我想知道如何使用反向运动学计算旋转角度.我打算用它来实时制作3D动画.有人知道一些详细介绍特定解决方案的优秀文献吗?

math 3d computational-geometry inverse-kinematics

34
推荐指数
4
解决办法
4万
查看次数

二维逆运动学实现

我试图在2D手臂(由三个带关节的棍子组成)上实现反向运动学.我能够将最低的手臂旋转到所需的位置.现在,我有一些问题:

  1. 如何使上臂与第三臂一起移动,使臂的终点到达所需的点.我是否需要为两者使用旋转矩阵?如果有,可以有人给我一些示例或帮助,还有其他任何可能吗?没有旋转矩阵的方法吗?

  2. 最低的臂只朝一个方向移动.我试过谷歌它们,他们说两个向量的交叉产品给出了手臂的方向,但这是为3D.我正在使用2D和两个2D矢量的交叉积给出一个标量.那么,我该如何确定它的方向?

Plz家伙任何帮助将不胜感激....

在此先感谢维克拉姆

animation robotics rotation inverse-kinematics

9
推荐指数
2
解决办法
6155
查看次数

反向运动学:计算雅可比行列式

我正在尝试为任意多个链接的串行链做逆运动学.

在下面的文章中,我找到了一个如何计算雅可比矩阵的例子.

Entry (i, j) = v[j] * (s[i] - p[j])
Run Code Online (Sandbox Code Playgroud)

哪里:

v[j] 是关节j的旋转轴的单位矢量

s[i] 是关节i的位置(int world coords?)

p[j] 关节j的位置(在世界坐标?中)

该论文称,如果j是具有单一自由度的旋转关节,则可行.但是我的旋转关节对它们的旋转没有限制.那么我想要什么配方?(或者我可能误解了"自由度"一词?)

graphics inverse-kinematics

6
推荐指数
1
解决办法
5571
查看次数

理解逆运动学 pybullet

我正在尝试使用pybullet中的模拟 PR2 机器人进行笛卡尔控制。在 pybullet 中,函数calculateInverseKinematics(...)可以选择采用关节下限、上限、关节范围和静止姿势来进行零空间控制。

首先,使用零空间控制而不是“常规”逆运动学可以获得什么实际好处?

其次,为什么要指定关节范围,这不完全是由上下限决定的吗?连续关节的范围是多少?

休息姿势到底是什么?这只是机器人开始执行任务之前的初始姿势吗?

robotics inverse-kinematics bulletphysics

6
推荐指数
1
解决办法
6499
查看次数

C++反向运动学算法/库,包括当链中的几个节点的位置已知时的IK方法

我正在寻找一个理想的c ++库/代码(但如果不是至少一个算法),它解决了给定n个节点链的IK问题,其中估计链中k个节点(其中k <n)的位置众所周知.

任何帮助非常感谢.

c++ graphics robotics computational-geometry inverse-kinematics

5
推荐指数
1
解决办法
1481
查看次数

围绕给定轴和角度的枢轴点正确旋转对象

在 Three.js 中似乎有相当多的旋转方式,我个人觉得不是很直观。请参阅示例
http://cloud.engineering-bear.com/apps/robot/robot.html 机器人图片

当我对多个对象应用旋转时,我得到了非常奇怪的意想不到的效果。例如,当我旋转已相互添加的对象并开始旋转父对象时,各个对象将突然彼此以不同的方式放置,而不是它们原来的位置。我现在正在尝试分组,并希望避免同样的效果。

请参阅http://pi-q-robot.bitplan.com/example/robot?robot=/models/thing3088064.json了解当前的情况,并查看https://github.com/BITPlan/PI-Q-Robot了解更多信息源代码。

因此,我根据不同的 API 选项搜索了正确的示例:

回转

function renderScene() {
    stats.update();
    //side1.rotation.z += 0.02;
    pivot.rotation.z += 0.02;
Run Code Online (Sandbox Code Playgroud)

轴旋转

绕世界轴旋转

   object.rotateAroundWorldAxis(p, ax, r * Math.PI * 2 / frames);
Run Code Online (Sandbox Code Playgroud)

在世界轴上旋转

object.rotateOnWorldAxis( axis, angle );
Run Code Online (Sandbox Code Playgroud)

旋转关于点

设置从轴角度旋转

setEulerFrom四元数

   quaternion = new THREE.Quaternion().setFromAxisAngle( axisOfRotation, angleOfRotation );
   object.rotation.setEulerFromQuaternion( …
Run Code Online (Sandbox Code Playgroud)

rotation inverse-kinematics three.js

5
推荐指数
1
解决办法
2834
查看次数

Python反向运动学包

我正在使用 arduino 和 6 个伺服电机构建一个具有 6 DOF 的机械臂。

我使用串行通信为自己制作了一个 Python 接口,以便我可以编写:move_motor(angle1=45, angle2=37)伺服电机将相应地移动。

现在我要进入 IK 部分,我正在寻找一个好的包,你可以在其中设置臂长,然后你可以给它(x,y,z,theta),它会返回每个电机的角度。

有没有好的包可用?或者至少是我可以根据自己的需要玩的东西?

python robotics inverse-kinematics

1
推荐指数
1
解决办法
1万
查看次数