Questions tagged [drake]

Drake is an open-source toolbox for planning, control, and analysis of nonlinear systems, developed in C++ with bindings available in Python.

Drake is an open-source toolbox for planning, control, and analysis of nonlinear systems, developed in C++ with bindings available in Python.

Resources

692 questions
2
votes
2 answers

Best practice to set Drake's simulator for fixed integration when using with reinforcement learning?

I'm using drake for some model-free reinforcement learning and I noticed that Drake uses a non-fixed step integration when simulating an update. This makes sense for the sake of integrating multiple times over a smaller duration when the…
2
votes
2 answers

Computing the generalized forces arising due to ExternallyAppliedSpatialForces in Drake, e.g. due to Propeller

I am working with a diagram which includes a MultiBodyPlant with a Propeller connected to it. The Propeller actually realizes numerous physical propellers which are distributed among the bodies of the MultiBodyPlant. I am able to simulate the…
jwelde
  • 25
  • 3
2
votes
1 answer

Drake: any tutorial or example for nonlinear model predictive control?

I am currently learning the usage of the MIT Drake library for optimization and would like to formulate a nonlinear model predictive control problem. I notice that the pydrake examples show the methods to add nonlinear costs and constraints in a…
Keran
  • 35
  • 4
2
votes
1 answer

Can a SpatialInertia object be constructed from a 6x6 matrix?

The SpatialInertia object in Drake has a method called CopyToFullMatrix6(), which outputs the 6x6 representation of the SpatialInertia object. Is there a function to do the opposite? I.e. I have a 6x6 matrix that I want to make into a SpatialInertia…
hkolano
  • 37
  • 5
2
votes
2 answers

What is the structure of the generalized velocities of a robot consisting of a free body base?

I have encountered a rather theoretical problem upon using the Drake library. My robot consists of a free body base (floating base), which has a traditional robot arm attached to it consisting of joints and links. So let's say, that the generalized…
2
votes
1 answer

How to map the generalized coordinate vector of the multi-body plant to the generalized coordinate vector of the rigid body tree in Drake?

A humanoid robot can be described by a kinematic tree in a URDF file. I found that the order of the elements in the generalized coordinate vectors of the rigid body tree and the multi-body plant are different. There is a code snippet online showing…
Luyao
  • 83
  • 5
2
votes
2 answers

Pydrake: About Penetration in discrete time simulation

I'm working on a biped robot simulation in pydrake. My robot now could stand well or even jump by using inverse dynamics and optimizing contact forces when the step time is 0.0001s. However, the feet penetrate the ground when I set the step time…
2
votes
1 answer

Solving Atlas IK (no constraints) fails?

I am trying to solve the IK for Atlas to achieve something like https://www.youtube.com/watch?v=LLGuGAs0cto. After a couple of failed attempts with AddPositionConstraint, I realized that the IK problem fails even with no constraints at all (also…
Rufus
  • 5,111
  • 4
  • 28
  • 45
2
votes
3 answers

Changing weld joint pose

I've constructed an MBP with two objects, A (welded to world) and B (unwelded). B sits on top of A. After simulating for a while, I'd like to remove A (or otherwise disable contact) to allow B to begin falling. It seems I should be able to do this…
2
votes
2 answers

Contact mechanics in Drake

I have a general question regarding the accuracy of the contact mechanics of Drake. So far I have tried some different open source robotic simulation tools. They all appear to have the same problem when simulating the contact between two meshed…
Joor
  • 21
  • 1
2
votes
1 answer

'GetPositionLowerLimits' and 'GetPositionUpperLimits' does not support get by ModelInstance as other functions

What I find in Drake API is that 'GetPositionLowerLimits' and 'GetPositionUpperLimits' does not support get by ModelInstance as other functions. Anybody knows how to query this when I have multiple robots and I am interested in the Lower and Upper…
Jason
  • 37
  • 4
2
votes
1 answer

Workflow for "Through-Contact" Trajectory Optimization in Drake

I would like ask what would be an appropriate workflow for solving a trajectory optimization problem that takes into account contact interactions between different bodies in an MBP in Drake. Problems like the ones addressed in this paper. I've tried…
2
votes
1 answer

How to map joint index to the corresponding index in generalized positions?

Given the floatng base pose and a list of joint values ordered by their corresponding joint index, I want to construct a generalized position vector so I can setPosition the plant. I am aware that indices 0 to 7 of the generalized positions…
Rufus
  • 5,111
  • 4
  • 28
  • 45
2
votes
1 answer

How to define collision filter groups across model instances?

When constructing a MultiBodyPlant from multiple ModelInstances each loaded from a separate URDF, is there a way to define collision filter groups to exclude collisions across model instances? In the multibody URDF parser, loading collision filter…
syler
  • 23
  • 3
2
votes
1 answer

Understanding Linearization with free-floating bodies and Quaternion States

I am trying to linearize a free-floating system with a free-floating base and 3 joints (j1, j2, j3). As I understand the positions part of the system state is given by the vector (this matches MultibodyPlant::num_positions()): q (10x1) =…
Shubham Vyas
  • 163
  • 10