问题标签 [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.
c++11 - 为什么我在使用 Drake 构建 CMake 项目时会出现链接器错误,但我可以清楚地看到符号?
我已按照安装和快速入门说明进行操作,并且正在编写一个使用 Drake 的 CMake 项目。
我正在查看一个在 Drake 中构建、运行它的单元测试,它构建、运行并通过。但是,当我尝试在我的 CMake 项目中使用其中一些功能时,我收到了链接器错误,例如:
如果我查看 Drake 共享库中的符号(例如nm -C
或objdump -TC
with grep
),我会看到签名RigidBodyTree<double>::get_position_name[abi:cxx11](int)
. 但是,如果我查看生成的目标代码(这会导致链接失败),我会看到RigidBodyTree<double>::get_position_name(int)
.
(注意:这篇文章是一种从http://drake.mit.edu/faq.html迁移到 StackOverflow 以解决基于用户的问题的方法。)
simulation - 如何正确地将 torsional_spring 元素添加到 Drake 中的 RigidBodyTree
我正在使用 Drake 模拟器,并尝试将关节刚度添加到欠驱动机器人 repo中的 Acrobot 演示中,但到目前为止还无法成功地将这种刚度集成到模拟中。
我正在运行脚本 torque_slider_demo.py,它引用了 URDF 文件 acrobot.urdf。我修改了这个 URDF 以包括一个扭转弹簧条目,如下所示:
这个元素是在定义关节后添加的(完整的 XML 如下所示),我增加了两个关节的阻尼以更快地看到稳态行为。
有了这个高得离谱的刚度值,我希望手臂能稳定在弹簧的静止角附近,并表现出明显的向静止角的拉力,但是我在脚本生成的可视化中看不到这些效果。
我是否不正确地定义了 URDF 中的扭转弹簧?我是否需要做一些其他设置来告诉模拟器考虑关节刚度?
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
文件,那会很有帮助)
解决方案(感谢拉斯的回答)
以下是修复错误所需的更改
drake - 德雷克可视化器不显示任何内容
操作系统:Ubuntu 16.04,NVIDIA 驱动程序
我按照德雷克网站中描述的德雷克安装程序进行操作。(我还安装了nvidia驱动程序)安装后,按照我运行时的说明进行操作:
我收到以下错误:(未显示模拟,但构建成功)
drake - 如何防止重力加速地平面?
sdf
我目前有一个带有以下标签的格式定义的地平面
<static>true</static>
<gravity>false</gravity>
在我的源文件中,我指定
问题:
<static>
和<gravity>
标签是否受到尊重?还是这GravityFieldElement
会影响一切?- 如果标签不被尊重,我如何防止
GravityFieldElement
加速我的地平面?
drake - 如何使用 pydrake 更改从 urdf 文件加载的模型的浮动基本类型?
我正在尝试从 urdf 文件加载模型。
我可以通过RigidBodyTree
类来实现这一点:
不幸的是,正如它在pydrake.attic参考页面上所说,它很快就会被弃用。
我尝试使用pydrake.multibody.parsing.Parser
and添加模型pydrake.multibody.plant
,但似乎模型仅与浮动四元数连接。
是否有不使用attic
API 设置浮动基类型的合法方法?
drake - 如何使用 pydrake 为 Acrobot 系统创建 LinearQuadraticRegulator
我正在尝试从头开始为 acrobot 系统创建 LQR:
运行此脚本,我在最后一个字符串处收到错误:
我修复/连接输入端口的方法都没有最终成功。
PS 我知道存在AcrobotPlant
,但想法是在运行时从 sdf 创建 LQR。
PPS 为什么acrobot.get_num_input_ports()
返回 5 而不是 1?
python - 如何在 pydrake 中正确使用 MultibodyPlant::CalcGravityGeneralizedForces?
我正在尝试使用以下代码为 acrobot 创建一个简单的重力补偿控制器:
不幸的是,tau_g
总是为零。
似乎重力矢量不适用于机器人。如何解决这个问题?
更新:
工作 C++ 实现:
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
具有以下几行的文件中加载的
drake - Colab暂存器NameError:未定义名称“underactuated”
德雷克在 Colab 上。安装和设置问题。
我使用了附录 A.3 中Colab 暂存器链接中的安装和设置代码运行欠驱动机器人书的示例。我相信 Colab 在云端执行代码,所以我不需要在我的机器上进行任何设置。我在 Ubuntu 16.04 LTS 上使用 Firefox 66.0.2(64 位)。
为了方便起见,我尝试运行的 Colab 暂存器代码复制如下:
这是我得到的错误:
说明说我应该在运行教科书中的任何示例之前运行它,因此我无法在 Colab 上运行任何示例。