sách gpt4 ai đã đi

drake - 自由 float 基础机器人的空间速度雅可比行列式的基础分量全为零

In lại 作者:行者123 更新时间:2023-12-05 03:31:56 27 4
mua khóa gpt4 Nike

我正在尝试为具有自由 float 底座的机器人计算末端执行器空间速度雅可比行列式。由于自由 float 基数,雅可比应该包含一个基数组件和一个操纵器注释(参见 https://spart.readthedocs.io/en/latest/Tutorial_Kinematics.html#jacobians )

V_ee = 末端执行器空间速度
J_b = 基础雅可比组件
J_m = 操纵器雅可比分量
v = 广义速度

V_ee = [J_b, J_m] v

直到现在,我一直在使用 SPART 工具箱在 Matlab (https://github.com/NPS-SRL/SPART) 中执行此操作,现在我正在转向 Drake。我尝试在 MultiBodyPlant Sử dụng trong CalcJacobianSpatialVelocity,与 SPART 相比,操纵器 Jacobian 是正确的。然而,雅可比行列式的基分量全为零。这与我的预期和 SPART 的自由 float 底座不同,底座速度对末端执行器空间速度有贡献。

可在此处找到此问题的重现示例:https://colab.research.google.com/github/vyas-shubham/DrakeTests/blob/main/freeFloating/computeJacobian.ipynb

我想我要么在使用 Drake 时犯了这些错误之一:

  • sử dụng CalcJacobianSpatialVelocity 错误。这不太可能,因为操纵器 jacobian 是正确的并且基础框架也是正确的(URDF 中只有 1 个框架)。
  • 为自由 float 基数计算雅可比矩阵时使用了错误的 URDF。也许我需要在 URDF 中以不同方式指定 Drake 的 float 基数以将其包含在雅可比计算中?

1 Câu trả lời

您的代码采用了追赶者相对于目标的雅可比行列式;它们之间没有 float 基数(因此 float 基数的 jacobian wrt 确实应该为零)。我想,也许你想制作 frame_A=world_frame?

postCaptureTargetJacobian = postContactPlant.CalcJacobianSpatialVelocity(context=postCaptureContext,
with_respect_to=JacobianWrtVariable.kV,
frame_B=target_frame,
p_BP=np.zeros(3),
frame_A=world_frame,
frame_E=world_frame)

PS - 我将此单元格添加到您的笔记本中以快速检查您的运动学树

from IPython.display import display, SVG
import pydot
display(SVG(pydot.graph_from_dot_data(postContactPlant.GetTopologyGraphvizString())[0].create_svg()))

PPS - 感谢您整理笔记本中的示例。这让我很容易看一眼。

关于drake - 自由 float 基础机器人的空间速度雅可比行列式的基础分量全为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70555272/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com