问题标签 [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 投票
1 回答
66 浏览

c++11 - 为什么我在使用 Drake 构建 CMake 项目时会出现链接器错误,但我可以清楚地看到符号?

我已按照安装和快速入门说明进行操作,并且正在编写一个使用 Drake 的 CMake 项目。

我正在查看一个在 Drake 中构建、运行它的单元测试,它构建、运行并通过。但是,当我尝试在我的 CMake 项目中使用其中一些功能时,我收到了链接器错误,例如:

如果我查看 Drake 共享库中的符号(例如nm -Cobjdump -TCwith grep),我会看到签名RigidBodyTree<double>::get_position_name[abi:cxx11](int). 但是,如果我查看生成的目标代码(这会导致链接失败),我会看到RigidBodyTree<double>::get_position_name(int).

(注意:这篇文章是一种从http://drake.mit.edu/faq.html迁移到 StackOverflow 以解决基于用户的问题的方法。)

0 投票
1 回答
312 浏览

simulation - 如何正确地将 torsional_spring 元素添加到 Drake 中的 RigidBodyTree

我正在使用 Drake 模拟器,并尝试将关节刚度添加到欠驱动机器人 repo中的 Acrobot 演示中,但到目前为止还无法成功地将这种刚度集成到模拟中。

我正在运行脚本 torque_slider_demo.py,它引用了 URDF 文件 acrobot.urdf。我修改了这个 URDF 以包括一个扭转弹簧条目,如下所示:

这个元素是在定义关节后添加的(完整的 XML 如下所示),我增加了两个关节的阻尼以更快地看到稳态行为。

有了这个高得离谱的刚度值,我希望手臂能稳定在弹簧的静止角附近,并表现出明显的向静止角的拉力,但是我在脚本生成的可视化中看不到这些效果。

我是否不正确地定义了 URDF 中的扭转弹簧?我是否需要做一些其他设置来告诉模拟器考虑关节刚度?

0 投票
1 回答
93 浏览

c++ - 如何调试`InputPort::Eval(): required InputPort[0] is not connected`

背景

我正在尝试模拟安装在推车上的双摆。我以examples/multibody/cart_pole/cart_pole_simulation.cc为起点。

我创建了一个新.sdf的基于cart_pole.sdf并添加了我的双摆车。我已经验证(通过 drake-visualizer 在视觉上)该sdf文件看起来正确(更改关节值会按预期移动模型)

由于添加了一个新的关节,我在我的源文件中添加了以下行(其中mid_joint是摆的第一个链接和钟摆的第二个链接之间的关节的名称。

问题

我的程序编译正确,但是当我尝试运行我的系统时出现以下错误。

任何有关此错误指向的指针将不胜感激。

提前致谢

(PS::如果有人能告诉我如何更正式地验证sdf文件,那会很有帮助)

解决方案(感谢拉斯的回答

以下是修复错误所需的更改

0 投票
1 回答
160 浏览

drake - 德雷克可视化器不显示任何内容

操作系统:Ubuntu 16.04,NVIDIA 驱动程序

我按照德雷克网站中描述的德雷克安装程序进行操作。(我还安装了nvidia驱动程序)安装后,按照我运行时的说明进行操作:

我收到以下错误:(未显示模拟,但构建成功)

0 投票
1 回答
46 浏览

drake - 如何防止重力加速地平面?

sdf我目前有一个带有以下标签的格式定义的地平面

  • <static>true</static>
  • <gravity>false</gravity>

在我的源文件中,我指定

问题:

  1. <static><gravity>标签是否受到尊重?还是这GravityFieldElement会影响一切?
  2. 如果标签不被尊重,我如何防止GravityFieldElement加速我的地平面?
0 投票
1 回答
152 浏览

drake - 如何使用 pydrake 更改从 urdf 文件加载的模型的浮动基本类型?

我正在尝试从 urdf 文件加载模型。

我可以通过RigidBodyTree 来实现这一点:

不幸的是,正如它在pydrake.attic参考页面上所说,它很快就会被弃用。

我尝试使用pydrake.multibody.parsing.Parserand添加模型pydrake.multibody.plant,但似乎模型仅与浮动四元数连接。

是否有不使用atticAPI 设置浮动基类型的合法方法?

0 投票
1 回答
91 浏览

drake - 如何使用 pydrake 为 Acrobot 系统创建 LinearQuadraticRegulator

我正在尝试从头开始为 acrobot 系统创建 LQR:

运行此脚本,我在最后一个字符串处收到错误:

我修复/连接输入端口的方法都没有最终成功。

PS 我知道存在AcrobotPlant,但想法是在运行时从 sdf 创建 LQR。

PPS 为什么acrobot.get_num_input_ports()返回 5 而不是 1?

0 投票
1 回答
111 浏览

python - 如何在 pydrake 中正确使用 MultibodyPlant::CalcGravityGeneralizedForces?

我正在尝试使用以下代码为 acrobot 创建一个简单的重力补偿控制器:

不幸的是,tau_g总是为零。

似乎重力矢量不适用于机器人。如何解决这个问题?

更新:

工作 C++ 实现:

0 投票
2 回答
155 浏览

drake - 为 MultibodyPlant 创建 LQR 时“此方法仅支持 T = double”

我正在使用以下代码创建 LQR 控制器:

  • plant是类型的引用MultibodyPlant<double>
  • context是类型的引用Context<double>
  • Q是类型Eigen::Matrix<double, 6, 6>
  • R是类型Vector1d

用gdb调试显示错误来自multibody_plant.cc

我不确定为什么它不使用MultibodyPlant<double>::CalcPointPairPenetrations

万一这很重要,我的plant对象是从sdf具有以下几行的文件中加载的

0 投票
0 回答
64 浏览

drake - Colab暂存器NameError:未定义名称“underactuated”

德雷克在 Colab 上。安装和设置问题。

我使用了附录 A.3 中Colab 暂存器链接中的安装和设置代码运行欠驱动机器人书的示例。我相信 Colab 在云端执行代码,所以我不需要在我的机器上进行任何设置。我在 Ubuntu 16.04 LTS 上使用 Firefox 66.0.2(64 位)。

为了方便起见,我尝试运行的 Colab 暂存器代码复制如下:

这是我得到的错误:

说明说我应该在运行教科书中的任何示例之前运行它,因此我无法在 Colab 上运行任何示例。