问题标签 [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.
python - 在 Drake:Python 中可以使用 AddJointActuator 吗?
我正在尝试使用 Python 构建 MultibodyPlant,而不是从 URDF 加载它。即,将 CPP 代码make_cartpole_plant.cc翻译成 Python。
我找到了所有 Python 绑定,除了AddJointActuator
. 我在python doc中找不到这个函数声明。也许这个函数没有 Python 绑定?我想知道是否有办法从 Python 添加执行器。
这是我的代码:它有效。AddJointActuator
但我不知道如何将执行器添加到我的购物车,因为我在 CPP 中找不到该函数的 Python 绑定。
drake - 使用 cmake 从源代码构建 Drake 时的问题
我正在尝试从源代码构建和安装 Drake,以获得对 Mosek 的支持。然而,我总是遇到麻烦。作为记录,我正在运行 macOS Catalina。
现在我的方法是这样的:
- 将 github 中的 drake 克隆到我计算机上的某个位置(来自https://github.com/RobotLocomotion/drake.git)
- 安装先决条件
./setup/mac/install_prereqs.sh
- 运行
bazel build //...
创建一个名为build
andcd build
cmake ..
然后make
的目录make install
- 在我使用 cmake 构建的 C++ 项目中,我将其添加到 CMakeLists.txt:
link_directories(drakelocation/build/install/lib)
include_directories(drakelocation/build/install/include)
但是,当我尝试构建我的项目时,我收到 Drake 无法找到 Eigen: 的错误'Eigen/Core' file not found
。我能够通过添加来解决这个问题:
target_link_libraries(my_lib Eigen3::Eigen)
到我的 CMakeLists.txt
我觉得这有点奇怪,因为我希望 Drake 在构建时包含 Eigen,但至少这让我能够更进一步。
在此之后,我收到一堆类型的消息:
no member named 'signbit' in the global namespace
即,Drake 似乎突然失去了所有标准 C++ 库。我还没有能够解决这个问题,所以这是我目前卡住的地方。
您有什么建议,或者您之前遇到过类似的问题吗?
其他信息:
- 使用
find_package(drake)
根本不适用于我当前的方法(cmake 无法找到 drake-config.cmake)。我在这里遗漏了完成这项工作所需的东西吗?cmake 期望在哪里安装库,我如何在那个地方安装它们? - 我也试过跳过整个
bazel build //...
步骤,直接进入cmake ..
步骤,这似乎没有任何区别。 - 在我运行的每一种不同的构建方法之间
bazel clean --expunge
,以确保没有任何东西从前一次运行中遗留下来。
谢谢!
python - 是否可以支持将 X_PF、X_BM 作为参数的 AddJoint 的 Python 绑定?
我正在尝试翻译make_acrobot_plant.cc
成 Python。要添加elbow
关节,我需要将X_PF
andX_BM
传入AddJoint
(如此处)。
这在 C++ 接口中受支持,如JointType
. 但是目前的 Python 绑定只支持AddJoint
不带X_PF
andX_BM
,有解决办法吗?
drake - 输入端口的索引是什么意思?
在 MIT6.832 HW2 "Cart-Pole: Linearization and LQR Balncing" 中,carpole 定义为:
稍后,carpole 的驱动输入端口设置为 0:
但是,输入端口的索引是 3,而不是 0,这让我很困惑。
这里一个额外的相关问题是,当定义一个新系统时(例如,继承自 VectorSystem),我们可以在哪里定义输入和输出端口?
我一直在研究 HW1 的 Cartpole 模型,发现端口的使用非常混乱。有时它使用get_xxx_port()
,而在其他情况下它使用get_xxx_port(0)
,括号内有一个特定的端口号。
drake - 使用 Drake 和 Mosek 的 SOS 多项式产生错误代码 1501
我正在尝试使用 SOSPolynomial 解决数学程序。我正在使用 Mosek 从源代码编译的 C++ 中运行 Drake。
MathematicalProgram 包含二次成本函数和一些等式约束,在Solve()
不添加 SOS 多项式的情况下调用时可以正常工作。在查看时result.get_solver_id()
,我发现:“Equality constrained QP”,正如预期的那样。
但是,在调用 时,在通过(作为决策变量)Solve()
添加 SOS 多项式后,程序返回找不到解决方案。在查看 中找到的值时,我发现和。prog.NewSosPolynomial({t}, degree)
t
result_.get_solution_result()
solution_status = false
rescode = 1501
看这里,rescode = 1501
意味着:“问题包含非线性项圆锥约束。请求的操作不能应用于此类问题。”。但是,通过在添加 SOS 多项式之前检查 的值result.get_solver_id()
,很明显问题中没有其他非线性约束。
我在这里遗漏了什么,还是这是一个错误?
drake - pydrake URDF 设置动态参数
我在 URDF 文件中设置碰撞的动态属性时遇到问题。
我看到使用了标准的 ode 标签,并且还有一个新的特定 drake drake github pull requeset xml 标签。
这是我在 urdf 中定义碰撞的方式。该对象是一个简单的盒子。
pydrake代码如下:
我检索材料属性并打印它们。输出是:
似乎解析有问题,或者我做错了什么。
yaml-cpp - meshcat_visualizer_test 无法获取存储库“yaml_cpp”
我正在尝试按照所述文件顶部的注释说明运行 drake/bindings/pydrake/systems/test/meshcat_visualizer_test.py,但我不熟悉如何添加 yaml-ccp,我认为这是导致错误。我已经克隆了 drake repo 并配置了 pydrake,并且能够运行服务器(第一个必需的命令),但是如果缺少 yaml-cpp 包,我不知道如何添加它。
drake - 构建 Drake Python 绑定时出现 Clang 格式错误
我正在尝试为 Drake 安装 Python 绑定,但遇到了问题。我已经按照从“Python 的二进制安装”部分到“构建 Python 绑定”的步骤进行操作。我正在运行“make -j”步骤并收到以下错误:
输出错误的完整回溯是:
有没有人对可能导致问题的原因有任何见解?谢谢您的帮助!
drake - Pydrake 中 FirstOrderHold 中第一个参数的含义是什么?
一个例子是
我想知道这个 [0., 4.] 是什么意思。我检查了文档:FirstOrderHold(breaks, samples),但仍然对“休息”感到困惑。
python - 为什么我会得到`SystemError:导入“pydrake”东西时返回带有错误集的结果?
FTR:这是我对 Drake Slack 对话的“公开档案”。
任何想法从哪里开始?它只在导入时发生pydrake.geometry
,我可以先导入pydrake
、、、等,这些都可以正常工作pydrake.common
。pydrake.multibody
Python 3.6 / Ubuntu 18.04 / 当前大师
15 条回复
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
我认为这Anaconda
部分可能是可疑的?(请参阅此处顶部的警告:https ://drake.mit.edu/python_bindings.html
eric.cousineau 7 个月前 以前有用 吗?
eric.cousineau 7 个月前
你可以尝试通过/usr/bin/python3
而不是 Anaconda 来运行它吗?
gizatt 7个月前 我通过conda稳定使用了一段时间,这是新的
eric.cousineau 7 个月前 嗯...你是用 Conda 自己构建的,还是下载预构建的?你知道它最后一次工作是什么时候吗?
eric.cousineau 7 个月前 (更具体地说,master 的 SHA1?)
gizatt 7 个月前,
我使用 conda python 构建它(我在那里运行的是同一个),尽管没有 conda 环境来源——这在一段时间内工作正常。破坏它的不是德雷克的升级——我怀疑我这边的一些配置调整揭示了一些东西。当我在德雷克上时它坏了……也许是一周大?我升级了,但不知道我从什么升级(已编辑)
gizatt 7 个月前
抱歉,它是/usr/bin/python3.6
在没有 conda 环境来源的情况下构建的。然后我获取一个 conda env 并导入 drake 并将它与 conda python 一起使用,直到现在都很棒
eric.cousineau 7 个月前
嗯...不知道如何在这里提供帮助...您是否以兼容conda
的方式使用?pip
您可以只做 purevirtualenv
并完全避免 conda 吗?(我们正在使用pyro
和其他东西pip
,它工作得很好。)(编辑)
eric.cousineau 7 个月前python3 --version
另外,在 Ubuntu(我的机器上是 3.6.8)和 Conda(你的机器上是 3.6.9)上
可能有区别吗?(已编辑)
gizatt 7 个月前 我在 conda 中对版本进行了降级,现在版本至少是一致的
gizatt 7 个月前
我一次移动了几件东西,所以我还不确定罪魁祸首,但我已经确定,如果我尝试使用我的主目录pydrake.geometry
中的任何一个 python3.6 版本导入,我就会遇到问题,但如果我从其他任何地方做,那很好。(已编辑)
gizatt 7 个月前 我只是呃...把这归结为一些导入路径 bs 并称之为解决?
eric.cousineau 7 个月前
SGTM!虽然这听起来像是一个神奇的路径阴影问题,就像pydrake
你的主目录中有一个文件夹?(已编辑)
eric.cousineau 7 个月前
(此外,一些软件包订阅了从安装*.pth
文件的邪恶setup.py
或什么东西摆弄sys.path
......所以也许这取决于解释器从哪里开始?)