问题标签 [drake]

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.

0 投票
2 回答
61 浏览

drake - 使用二阶系统模拟控制回路时的段错误

从教程开始,我想尝试对二阶线性系统进行 PID 控制。我在模拟闭环时遇到了段错误。我已经把我的代码放在 Gist 上。它与动态系统教程中的示例基本相同。

这是有效的

  • 模拟仅包含二阶系统的图表
  • 将 PendulumPlant 放入二阶系统并使用控制器
  • 每一步都simulator.AdvanceTo- 这就是发生段错误的地方

我确定我在这里遗漏了一些明显的东西。有更多经验的人知道出了什么问题吗?

0 投票
1 回答
37 浏览

robotics - 目前 MultibodyPlant 不处理连续模型的关节限制

当我尝试在 drake 中加载 URDF 文件时,出现以下与关节限制有关的错误:

在抛出 'std::logic_error' what() 实例后调用终止:当前 MultibodyPlant 不处理连续模型的联合限制。然而,为关节“haa_joint”指定了一个限制。”

有什么办法可以解决这个问题吗?

0 投票
1 回答
65 浏览

python - pydrake.forwarddiff.jacobian 的参数格式?

这个问题最初出现在这里https://github.com/RobotLocomotion/drake/issues/12484。问题是关于如何使用该功能。

功能说明: https ://drake.mit.edu/pydrake/pydrake.forwarddiff.html#pydrake.forwarddiff.jacobian

我的代码:'''

''' 返回的错误信息:

AttributeError:“列表”对象没有属性“形状”

那么问题来了,应该如何正确使用呢?谢谢

*****************更新行************************************ **********

感谢 Eric 的发现。我将代码更改为:'''

''' 结果输出为:'''

''' SO, THERE ARE TWO PROBLEMS HERE AT LEAST: 1. whenever i want to use print jacobian(f,0.), I have to transfer the float constant into np.asarray first. This is awkward. 2. Notice the jacobian of g(t), the error of that line is: ''' --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) in () 11 print jacobian(f,x) # accepted 12 #print jacobian(f,0.) # not accepted ---> 13 print jacobian(g,x) # not accepted

''' If i'm guessing right, one has to change everything in g(x) to be np.asarray. This is awkward...

0 投票
1 回答
54 浏览

drake - 由于编译失败,Macos 无法识别 C/C++ 编译器

尝试在 drake macos 10.14.6 上编译时出现此错误。我已经运行了安装脚本。

巴泽尔:2.0.0

德雷克 0.11.0

0 投票
1 回答
47 浏览

drake - 从刚体工厂切换到多体工厂

在旧代码中,曾经有一个选项可以在 inverse_dynamics_controller 和 kuka_torque_controller 之间进行选择。两者略有不同,其中 kuka_torque_controller 的输入具有“Tau 输入”。inverse_dynamics_controller 被选择用于位置控制,而 kuka_torque_controller 被选择用于扭矩控制。

在操作站的新代码中,为什么使用 kuka_torque_controller 的选项消失了,而 inverse_dynamics_controller 是唯一使用的控制器类型?这是否意味着操纵站仅用于位置控制而不是扭矩控制?

如果不是,那么您将如何启用扭矩控制?

下面的代码来自 kuka_simulation

谢谢

0 投票
1 回答
102 浏览

python - 将 Python Drake 转换为 C++ Drake

在 2020 年 MIT Underactuated Robotics 课程中,有一个简单的 Python 反馈取消示例。因为我刚学C++ drake,所以想把这个例子转换成C++版本作为练习。我遇到了一些麻烦。(1) 将 mutibody_plant 实例传递给 Controller VectorSystem 是否有意义?(2) 为了实现控制器,我们需要 addSystem(controller(mutibody_plant)) 为builder。C++ 有类似的方法吗?非常感谢!我附上了 Python 和 C++(建设中)代码。

0 投票
2 回答
57 浏览

drake - Drake:一种植物包括多体植物和LeafSystem植物

植物的一部分很容易用 MutibodyPlant 类建模,不幸的是,植物的其他部分看起来像是用叶子系统建模的。德雷克能做这样的事情吗?工厂 A:多连杆臂 --> 使用 SDF 和 MutibodyPlant 类对工厂 B 进行建模:将惯性轮连接到臂的末端 --> 使用叶系统定义惯性轮的动态(时间导数)。

这个问题的插图

0 投票
1 回答
29 浏览

drake - 对于多机器人仿真,我们是否需要多个多体植物?

我当前的设置由两个独立的机器人组成。我想知道为 2 个机器人创建 2 个多体植物是否更好,或者在整个模拟中使用一个多体植物是否更好。

谢谢

0 投票
1 回答
55 浏览

drake - 德雷克——有接触时模拟中的 Coredump

我有一个 Kuka 手臂和一些在我的模拟中设置的对象(非常类似于操纵站示例),并且每当机器人与对象之间有接触时,我都会遇到下面的 coredump 错误。

“中止:在 CalcImplicitStribeckResults() 中的 multibody/plant/multibody_plant.cc:1640 失败:条件 'info == ImplicitStribeckSolverResult::kSuccess' 失败。中止(核心转储)”

减小模拟器的集成步长并没有帮助,所以我最终追溯了错误并注释掉了导致 的条件error( "DRAKE_DEMAND(info == ImplicitStribeckSolverResult::kSuccess);" ),这似乎不太经常发生 coredump。

但是,我猜这种情况是有原因的,那么注释掉线会导致模拟中的任何其他问题吗?解决核心转储问题的正确方法是什么?

0 投票
0 回答
39 浏览

drake - 创建带有单个链接移动的 sdf 文件

我在 drake 中创建了一个包含 3 个链接和 2 个关节的 sdf 文件,它看起来类似于 2R 机械手。第一个连杆是底座,而第二个和第三个连杆只是长箱杆。两个关节是旋转的并且在同一轴上。

但是,当我尝试旋转最远的关节时,第一个关节开始移动。(可能是因为惯性)。

德雷克有没有一种方法可以让关节独立于其他关节移动而不受其他关节运动的影响?我不想只增加第一个关节的关节摩擦或惯性参数。我希望第一个关节在第二个关节移动时完全保持静止。

谢谢