- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此问题与 adding-forces-to-body-post-finalize 密切相关
我希望能够对 pydrake 中的简单几何图元施加外力。
这是为了对 body 之间的相互作用进行评估。
我目前的实现:
builder = DiagramBuilder()
plant = builder.AddSystem(MultibodyPlant(0.001))
parser = Parser(plant)
cube_instance = parser.AddModelFromFile('cube.urdf', model_name='cube')
plant.Finalize()
force = builder.AddSystem(ConstantVectorSource(np.zeros(6)))
builder.Connect(force.get_output_port(0), plant.get_applied_spatial_force_input_port())
diagram = builder.Build()
builder.Connect(force.get_output_port(0), plant.get_applied_spatial_force_input_port())
RuntimeError: DiagramBuilder::Connect: Cannot mix vector-valued and abstract-valued ports while connecting output port y0 of System drake/systems/ConstantVectorSource@0000000002db5aa0 to input port applied_spatial_force of System drake/multibody/MultibodyPlant@0000000003118680
value = AbstractValue.Make([np.zeros(6)])
force = builder.AddSystem(ConstantValueSource(value))
ref_vector_externally_applied_spatial_force = plant.get_applied_spatial_force_input_port()
builder.Connect(force.get_output_port(0), ref_vector_externally_applied_spatial_force)
RuntimeError: DiagramBuilder::Connect: Mismatched value types while connecting
output port y0 of System drake/systems/ConstantValueSource@0000000002533a30 (type pybind11::object) to
input port applied_spatial_force of System drake/multibody/MultibodyPlant@0000000002667760 (type std::vector<drake::multibody::ExternallyAppliedSpatialForce<double>,std::allocator<drake::multibody::ExternallyAppliedSpatialForce<double>>>)
value = AbstractValue.Make(ExternallyAppliedSpatialForce())
RuntimeError: DiagramBuilder::Connect: Mismatched value types while connecting
output port y0 of System drake/systems/ConstantValueSource@0000000002623980 (type drake::multibody::ExternallyAppliedSpatialForce<double>)
to input port applied_spatial_force of System drake/multibody/MultibodyPlant@00000000027576b0 (type std::vector<drake::multibody::ExternallyAppliedSpatialForce<double>,std::allocator<drake::multibody::ExternallyAppliedSpatialForce<double>>>)
最佳答案
以下是对刚性物体施加外部静力的工作示例:
sim_time_step = 0.001
builder = DiagramBuilder()
plant, scene_graph = AddMultibodyPlantSceneGraph(builder, sim_time_step)
object_instance = Parser(plant).AddModelFromFile('box.urdf')
scene_graph.AddRenderer("renderer", MakeRenderEngineVtk(RenderEngineVtkParams()))
ConnectDrakeVisualizer(builder, scene_graph)
plant.Finalize()
force_object = ExternallyAppliedSpatialForce()
force_object.body_index = plant.GetBodyIndices(object_instance).pop()
force_object.F_Bq_W = SpatialForce(tau=np.zeros(3), f=np.array([0., 0., 10.]))
forces = VectorExternallyAppliedSpatialForced()
forces.append(force_object)
value = AbstractValue.Make(forces)
force_system = builder.AddSystem(ConstantValueSource(value))
builder.Connect(force_system.get_output_port(0), plant.get_applied_spatial_force_input_port())
diagram = builder.Build()
simulator = Simulator(diagram)
context = simulator.get_mutable_context()
plant.SetPositions(context, object_instance, [0, 0, 0, 1, 0, 0, 0])
time_ = 0
while True:
time_ += sim_time_step
simulator.AdvanceTo(time_)
time.sleep(sim_time_step)
关于drake - 对pydrake中的物体施加外力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61271126/
我有一个关于 Drake 接触机制准确性的一般性问题。到目前为止,我已经尝试了一些不同的开源机器人仿真工具。它们在模拟两个网格物体之间的接触时似乎都存在相同的问题,即物体不稳定并相互脱落。例如。在 G
我有一个关于 Drake 接触机制准确性的一般性问题。到目前为止,我已经尝试了一些不同的开源机器人仿真工具。它们在模拟两个网格物体之间的接触时似乎都存在相同的问题,即物体不稳定并相互脱落。例如。在 G
Drake 工作流可以在其 R 目录中存储多个自定义函数。为自定义函数开发单元测试是有意义的。在 RStudio(或从命令行)的 R 包上运行测试单元测试有完善的工具和结构。 但是,在 drake 工
我们如何改变RevoluteJoint的阻尼系数调用后parser.AddModelFromFile(urdf_file_name) ? 我相信 damping_是我需要更改的变量,但此变量没有 se
drake 提供的这两个可视化工具有什么区别?我什么时候应该使用一个? 最佳答案 DrakeVisualizer 传统上是 Drake 中的主要可视化器。大多数核心开发人员都使用它(以及其他工具,如
我在使用 from pydrake.all import (MathematicalProgram, Polynomial) 时遇到问题从源代码构建 drake 之后(引用 https://drake
我正在实现一些来自 [1]和 [2] ,我发现需要计算 Jc_dot。例如,在 [1] 中,他们将线性化系统投影到接触约束的零空间(第二页右上角)。据我了解,[2] 中的方法类似,但扩展到时变情况。
我想定义两个新的 Shape 类: 允许直接传入顶点/面的网格类(当前网格类只接受文件路径),以及 支持邻近查询的 Cone 类(MeshcatCone 是唯一现有的,我不明白为什么锥体应该很复杂,因
我在 Drake 中编写了一个线性系统和一个简单的状态反馈 Controller 的代码,但是当连接这两个系统时,出现了以下错误信息,RuntimeError:在 DiagramBuilder 中检测
我正在使用 pydrake 实现双连杆杂技机器人模拟,并希望强制执行关节限制以防止下连杆与上连杆碰撞。我已将关节限制添加到 URDF 并解析此 URDF 以生成 acrobot multibodypl
我一直在研究一些关于机械臂避免碰撞的逆运动学规划的论文。我发现了这篇名为“通过混合整数凸优化的全局逆运动学”的论文,我相信 Drake 的一些开发人员的名字都在上面。 在这篇论文中,它说代码已经是 d
此问题与 adding-forces-to-body-post-finalize 密切相关 我希望能够对 pydrake 中的简单几何图元施加外力。 这是为了对 body 之间的相互作用进行评估。 我
我在使用Drake库时遇到了一个相当理论上的问题。我的机器人由一个自由主体底座( float 底座)组成,该底座上连接有一个由关节和连杆组成的传统机器人 ARM 。 假设该机器人的广义状态向量大小为
我只是想从源代码构建和使用 pydrake。我看过关于如何使用 pydrake 的 Jupyter 笔记本,它们很有帮助,但我想在我的机器上从源代码中执行此操作。我无法在任何地方找到有关如何构建 py
我想问一个与这样的工作流程相关的问题: 1.获得多体植物的机械手方程,2.重新写成qdd = f(q,u)的形式,3.计算下一个状态(x_next),4.计算x_next w.r.t x和u的梯度。
我目前正在努力对优化问题实现一个简单的二次约束。 Gurobi's website表示可以实现二次约束。 德雷克没有使用 Gurobi 的这个约束的接口(interface)吗? 代码如下。 #inc
我正在尝试为具有自由 float 底座的机器人计算末端执行器空间速度雅可比行列式。由于自由 float 基数,雅可比应该包含一个基数组件和一个操纵器注释(参见 https://spart.readth
假设我有以下计划: test_plan = drake_plan( foo = target(x + 1, transform = map(x = c(5, 10))), bar =
我试图找到定义为 M(q) q_ddot + C(q, q_dot) = G(q) + B(q) u + J'(q) lambda 的接触雅可比矩阵。 我尝试将函数 CalcNormalAndTang
有什么方法可以找到与给定模型(而不是整个工厂)的关节相关的框架的雅可比行列式,或者确定完整工厂雅可比列的哪些列对应于给定模型的关节?我找到了 MultibodyPlant.CalcJacobian*
我是一名优秀的程序员,十分优秀!