drake - 在 Drake 中生成和操作多个模型到 iiwa arm MeshCat 仿真中
问题描述
我正在尝试进行一个简单的模拟,其中 iiwa 手臂从塔中拾取泡沫砖。然而,我一直在寻找一种方法来生成多个砖块并移动它们。下面的代码块是我当前如何生成这个塔,但这导致砖无法移动它们生成的 Z 平面。
sdf = FindResourceOrThrow("drake/examples/manipulation_station/models/061_foam_brick.sdf")
z=0.35
for i in range(2):
planar_joint_frame = plant.AddFrame(FixedOffsetFrame("planar_joint_frame", plant.world_frame(), RigidTransform(RotationMatrix.MakeZRotation(np.pi/2),[-0.4, 0.2, z])))
instance = parser.AddModelFromFile(sdf, f"object{i}")
plant.AddJoint(PlanarJoint(f"joint{i}", planar_joint_frame, plant.GetFrameByName("base_link", instance), damping=[0,0,0]))
z+=0.05
是否有另一种方法可以生成可由 iiwa 手臂操作的多个模型?
解决方案
如果您希望它们在 3D 中自由移动,那么您不想添加平面关节。事实上,你不需要任何联合(让他们自由)。你可能想要一些简单的东西
for i in range(2):
instance = parser.AddModelFromFile(sdf, f"object{i}")
??
推荐阅读
- dynamic - PowerBI中基于Dynamic Measure的Dynamic Bin
- linux - Linux 中的任何操作系统触发器以由用户手动检测系统时间/时区更改
- dockerfile - 如果 xx 或 xx,否则... dockerfile 中的条件
- reactjs - 当使用 Jest & Enzyme 加载 = false 时,如何模拟 Graphql 查询并将加载程序设置为 false 以测试反应组件?
- npm - npm 安装:npm 错误!https://registry.npmjs.org/axios 上的无效 json 响应正文 原因:JSON 输入意外结束
- elasticsearch - 有没有办法在弹性搜索中按字段 A 对前 N 个项目进行排序,然后按字段 B 排序
- avrdude - 大苏尔 M1 上的 Avrdude
- typescript - 如何修复类型错误:对象的类型为“未知”?
- c# - 我可以禁用我按下的按钮旁边的按钮吗?
- django-rest-framework - 相同的记录在不同的分页页面重复Django Rest Framework