问题标签 [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.
2d - 使用 KinematicBody2D 作为 RigidBody2D
你好,我是 Godot 的新手(我是法国人,这就是我的英语不完美的原因)
我正在尝试创建一个游戏(自上而下),其原理与相扑战斗相同,将你的对手淘汰出一个圆圈。我遇到的问题是,如果我使用 KinematicBody2D,角色不会相互推动,这是游戏的基础,我看到 RigidBody2D 可以实现,但我在互联网上找不到任何方法来实现它像这样移动:https ://docs.godotengine.org/fr/stable/tutorials/2d/2d_movement.html#rotation-movement 。然后我搜索是否可以将 KinematicBody2D 与另一个 KinematicBody2D 一起推送(以便可以推送),但我也找不到任何方法。
所以我被困在这里,我的问题是这是否可能,特别是我怎么能做到这一点?
感谢阅读,Noflare
pytorch - 如何计算给定两个 4x4 仿射矩阵的相对姿势
我有两个 4x4 仿射矩阵 A 和 B。它们代表两个对象在世界坐标系中的姿态。
我如何通过矩阵乘法计算它们的相对姿势?(其实我想知道物体B在坐标系中的位置(x_A,y_A))
我尝试过相对姿势 = A * B^-1
relative_pose = torch.multiply(A, torch.inverse(B))
.
但是,相对翻译太大了。(A 和 B 彼此非常接近,而它们在世界坐标中远离原点。)
pytorch 的测试数据:
javascript - 根据角度和最大范围计算距离
我正在编写 javascript 代码,我需要根据角度、初始高度、速度、最大范围找出距离。
示例:如果一个物体以45度角从地面(高度 = 0)以3000 的速度射出。物体在距离它被抛出的点1500 米处坠落。
如果物体以相同的高度和速度但以 60 度角射击,从射击点到地面上的落点的距离是多少。
初始高度=> h = 0
角度=> a = 45 度
速度=> v = 3000
最大范围=> m = 1500 米
我从上面的公式中得到范围,但这不是基于给定的最大范围。
frame-rate - 如何改变播放器的速度与 fps 的比率以及运动学相关的东西?
每次角色碰撞到方块时我怎么做,刚体的ISKinematic属性传递到True并且3秒内无法返回伤害。时间结束后,我需要将 is Kinematic 更改为 false 并且已经可以受到伤害??而且我还需要改变角色移动的方式以考虑到 FPS,并调整速度,这是我到目前为止的代码......
graphics - 如何驱动基于骨架的 3D 角色的运动?
我正在努力驱动基于骨架的 3D 角色的运动,这基本上是嵌入了运动学骨架的常用 3D 模型,例如:
我想通过输入来自 3D 姿势估计(如 Azure Kinect 或 iPhone ARKit)的关节角度来更改此 3D 角色的姿势。我不明白为什么每个关节都有自己的 x、y 和 z 轴。
我还阅读了一些关于正向运动学的文件。基于骨架的 3D 角色可能来自各种 3D 资源网站。如何让3D姿态估计工具和3D角色在同一个坐标系?一个可以是z轴向前,另一个可以是z轴向上。在没有像 Blender 和 Maya 这样的 3D 软件的情况下,我必须编写代码来驱动运动。
这是我想要的结果:
当我在 3D 软件 Blender 中设置关节角度时,它没有显示与视频相同的姿势。这是我失败的一个例子。我只设置了根关节和右肩的路径。
图片链接
你知道为什么我不能直接为 3D 模型设置关节角度吗?
modelica - Modelica - 过度约束的 Stewart 平台模型的内部错误
OpenModelica v1.17.0(64 位)
OMSimulator v2.0.0.post284-gc8ec782-mingw
Modelica 标准库 3.2.3
您好,我目前正在 OpenModelica 中实现 Stewart 平台的动态模型,类似于https://www.xarg.org/paper/inverse-kine ... -platform/(6RSS 并行机器人)和显然,由于以下错误,我无法将多条腿连接到同一平台:
从我在 Modelica 的文档中看到的内容来看,这可能是由于在模型的转换阶段生成的生成树中的某个循环引起的,其中一些非流动方程变得相互依赖,导致过度约束(即使仍然可解) ) 系统。它遵循我创建的包的源代码,其中存在一个基础、一个平台,并且只有两个创建问题的 RSS 分支。
由于我是 Modelica 的新手,我认为我缺少一些建模多体力学的基本概念,尤其是在发生运动学循环时。我已经在 Modelica 库中对平面循环四杆示例进行了一些测试,但我认为这是不同的。有没有办法解决这个错误,最终得到6RSS并联机器人的工作模型?
预先感谢您的帮助!
python - 在 Python 中绘制机器人到达气泡的表面
我正在尝试模拟机器人到达气泡。目标是将其导出到 CAD 文件中并可视化可能的工作空间。我的方法是使用机器人的正向运动学绘制所有潜在的端点,考虑连杆长度和关节限制。这可能是生成端点(Rx、Ry、Rz)的蛮力方式,但结果非常准确(至少对于 2D 示例)。[此图显示了为 IRB 机器人提供的工作空间以及我在 2D 中绘制点时的结果][1]
[1]:https://i.stack.imgur.com/g3cP7.jpg
我可以将气泡的三维图形显示为散点图;但是,要将其导出为 CAD 文件,我需要先对其进行网格化,据我所知,这需要将其转换为表面。这是我遇到麻烦的部分。
使用 matplotlib 的 ax.surface_plot(Rx, Ry, Rz) 我收到一条错误消息,指出 Rz 必须是二维值。我摆弄了 np.meshgrid() 和 np.mgrid() 函数,但无法创建一个简单的气泡表面。我该怎么做才能将此散点图转换为曲面?我还缺少另一种方法吗?
我突然想到的另一件事是,我可能想要删除到达气泡内的一些中间点。理想情况下,表面将由外端和中心半径的空心点组成。
下面是产生一维数组的代码:
下面是生成 3D 数组但不使用 for 循环的代码:
algorithm - 插值 2D 位置数据
我有一些数据是从一个人那里获得的,该人将光标从屏幕上显示的一个目标移动到距离原始起始位置 10 厘米的另一个直线目标。我有这个人的 15 个动作。我拥有的数据是每次移动时光标的瞬时 x 位置x(t)
和 y 位置。y(t)
因为个人没有以完全相同的速度从一个动作移动到另一个动作,所以每个动作的样本数量是不一样的。下面,我展示了所有运动的 x 位置、y 位置和完整的 xy 轨迹。下载数据的链接也在这里。希望这能对数据的性质有所了解。请注意,光标位置始终从[0,0]
点,但不要总是在[0,10]
点结束。
我的任务是将光标的 x 位置线性插值到每 0.05cm 的 y 位置向量上,以便在移动中对齐光标测量值(也就是说,我必须获得x(y)
。我想在下面展示我的代码并得到关于我是否正确执行此操作的一些反馈:
我认为这应该是比较简单的,但是当我绘制插值数据时,它看起来有点奇怪。见下文:
也就是说,轨迹似乎失去了很多“曲率”,这让我很担心。请注意,在绘制插值轨迹时,我只是在做:
以下是我的具体问题:
(1) 我是否正确插值?
(2) 如果 (1) 的答案是肯定的,那么我是否正确解释了插值结果?具体来说,为什么轨迹的形状看起来像它们一样(缺乏曲率)?
(3)我是否可能错过了获得后x(y)
,我应该将数据重新转换回的步骤x(t)
?