问题标签 [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 回答
232 浏览

linux - 为什么通过 `bazel test` 执行的 drake 中基于 OpenGL 的 VTK 目标有时会在 Linux 上失败?

虽然二进制文件与 一起使用bazel run,但当我使用 运行测试时bazel test,例如:

我遇到了来自 VTK / OpenGL 的一系列错误:

请问为什么会这样?

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

0 投票
1 回答
121 浏览

docker - docker内的python滑块不起作用

我在 docker 中构建了 drake,但是当我运行示例时:

来自未启动的回购。滑块不移动,窗口关闭按钮也“最大/最小按钮工作”。

我正在使用这个命令来启动 docker:

问题:

  • 如何使滑块工作?
  • 如何在德雷克可视化器中缩小/缩小?

希望它不是广泛的。提前致谢。

0 投票
1 回答
94 浏览

drake - 德雷克:将植物输出连接到可视化器输入时出现问题

背景是,我正在控制状态为 x=[X,Y,Z,φ,θ,ψ,X˙,Y˙,Z˙,φ˙,θ˙,ψ˙] 的四倾翼,并控制输入u=[ω1^2,ω2^2,ω3^2,ω4^2,θ1,θ2,θ3,θ4],这里ωi是螺旋桨的速度,θi是机翼的倾角。基本上我假设我可以瞬间控制倾斜角度,我只关心飞机机身的位置和姿态。因此,在我的代码中,num_states 是 12,num_inputs 是 8。

出于可视化的目的,我制作了一个 urdf 文件,在其中使用旋转关节设置倾斜机翼。在德雷克中,当我使用浮动底座加载 urdf 时,刚体树会生成 20 个状态。这并不奇怪,因为我猜有 12 个状态是 x=[X,Y,Z,φ,θ,ψ,X˙,Y˙,Z˙,φ˙,θ˙,ψ˙],而额外的8个状态来自旋转关节的状态[θ1,θ2,θ3,θ4,θ1˙,θ2˙,θ3˙,θ4˙]。

就在今天,当我构建 c++ 代码时,如果我使用以下方法会引发问题: builder.Connect(quad_tilt_wing->get_output_port(0), visualizer->get_input_port(0));

因为 12 不等于 20。

所以我想知道我应该如何解决这个问题?我正在考虑两种方法:

(1) 一种是我修改我的动力学,所以我的状态是 x=[X,Y,Z,φ,θ,ψ,X˙,Y˙,Z˙,φ˙,θ˙,ψ˙,θ1, θ2,θ3,θ4,θ1˙,θ2˙,θ3˙,θ4˙],我的控制是 u=[ω21,ω22,ω23,ω24,θ1,θ2,θ3,θ4]。但是这样一来,我想不出一种将动力学写成 x˙=f(x,u) 形式的方法。

(2)另一种方式是,我想知道是否可以将可视化器的输入端口分成2个端口,一个是12,另一个是8,然后我用我的动态x输入12,直接输入8使用 u 控制。这是可行的吗?

或者你有更好的方法来解决这个问题吗?

0 投票
1 回答
315 浏览

installation - 如何在我的项目中使用“robotlocomotion drake”代码,例如“qp_inverse_dynamics”

我想在我的项目中实现德雷克,但我发现这几乎是不可能的。虽然有笔记本和课程解释机器人理论和德雷克如何工作, http ://underactuated.csail.mit.edu/underactuated.html?chapter=drake https://www.edx.org/course/underactuated-robotics-mitx -6-832x-0

但是我怎么能在我的项目中使用德雷克的代码。例如,我想使用 V-rep 和 ROS 模拟 6 自由度手臂,并且我想在 drake 中使用“qp_inverse_dynamics”对手臂进行力控制,我是否需要包含“qp_inverse_dynamics”使用的所有文件,以及构建构建系统?有很多文件。

我已经使用位置控制和 PID 控制器制作了一个四足机器人,并且有一点使用开源凸二次程序求解器(osqp)的经验。现在,在使用 bazel 构建和测试 drake 之后,我该怎么做才能使用代码德雷克在我的项目中?还是我应该使用 Underactuated Robotics notebook 中的方法编写自己的代码?

多谢。

0 投票
1 回答
40 浏览

drake - drake:搜索系统的固定点和修剪点

我在德雷克有一个 LeafSystem,动态 \dot{x} = f(x,u) 用 DoCalcTimeDerivatives 编写。该系统的固定点和修剪点并非易事。因此,我认为需要编写一个非线性优化问题来找到固定点:

找到 x, u; st f(x,u)=0

或者

找到 x,u; 最小 f(x,u)^2

我想知道,我应该如何利用我已经在 LeafSystem 的 DoCalcTimeDerivatives 中编写的动态,并编写一个非线性优化来搜索 x 和 u 以找到 drake 中的固定点和修剪点?德雷克中的一些现有示例将不胜感激!

0 投票
1 回答
37 浏览

drake - 如何在另一个 LeafSystem 中创建子 LeafSystem?

我需要创建一个LeafSystem本身包含另一个子LeafSystemSimpleCar在我的情况下为 a)的 a,以便将一些输入传递给 SimpleCar,并将输出SimpleCar与其他一些处理相结合以产生 my 的最终输出LeafSystem

我猜我需要Diagram在我的内部创建一个LeafSystem并创建一个类似于“旁路”端口的东西,将输入管道传输到输出,这样我就可以用Connect它们来连接它们。这是正确的方法吗?

0 投票
1 回答
103 浏览

drake - 德雷克:让德雷克可视化相机跟踪快速移动的物体

我有一架无人机飞得很快,我想让 drake 可视化相机在整个模拟过程中始终跟踪无人机,这样我就可以录制一段关于它的好视频。我按照“视图->相机控制面板->选择目标->跟踪模式”尝试了不同的跟踪模式,但在模拟开始时,它们都没有真正跟踪到对象。

我是在使用正确的方法来跟踪对象,还是需要在代码中编写其他内容才能使跟踪工作?

0 投票
1 回答
69 浏览

jupyter-notebook - PyDrake SNOPT 打印日志

如何从 Jupyter Notebook 中的 PyDrake 获取 SNOPT 打印文件?

该用户指南http://www.ccom.ucsd.edu/~peg/papers/sndoc7.pdf提到了我尝试使用的“打印文件”true选项

但这似乎没有做任何事情。

0 投票
3 回答
114 浏览

python - 从 PyDrake 调整 SNOPT 迭代限制

如何从 PyDrake 调整 SNOPT 迭代限制?

我努力了:

但这似乎没有做任何事情。

0 投票
1 回答
123 浏览

drake - 如何在汽车中创建新的演示?

我正在尝试从drake/automotive/automotive_demo.cc. 作为第一步,我试图复制automotive_demo.ccautomotive_demo.py进入不同命名的文件(test.cctest.py),然后运行bazel run automotive:test -- --num_simple_cars=1​​. 我修改automotive/BUILD.bazeltest.py考虑到新的依赖项。

问题是在 I 之后bazel run,模拟器窗口打开但没有汽车被渲染。最终它只是崩溃并出现以下错误:

这是一个(未解决的)Github 问题,指出问题test是“自定义插件”。但如果automotive_demo可以工作,肯定有办法重现这种行为test吗?我还尝试grep了 ping QGuiApplication 并且只找到了一系列二进制文件,所以我不知道如何按照错误消息的建议进行操作。