Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 1.6 KB

README.md

File metadata and controls

43 lines (28 loc) · 1.6 KB

A demo of valkyrie executing a manipulation plan while actively maintaining balance. This demo involves three executables:

  1. Uncontrolled valkyrie simulation
    • drake/examples/valkyrie/valkyrie_simulation.cc
  2. Controller
    • drake/examples/humanoid_controller/valkyrie_balancing_demo.cc
  3. Dummy manipulation plan generator
    • drake/examples/humanoid_controller/send_manipulation_plan_demo.cc

The dummy plan generator takes 1 command line argument, and uses it to offset the right shoulder pitch joint from its nominal position. The offset in in radians. If no argument is supplied, it resets to the nominal posture.

All three components communicate using LCM messages. To properly run this demo, you need to have Gurobi installed and have access to a fixed-license. See the Drake Bazel documentation for more details about building with Gurobi enabled.

To build: (assuming in drake's root directory)

`$ bazel build --config gurobi //...`

To run the demo: (assuming in drake's root directory)

  1. Launch the visualizer before the simulator:

    $ ./bazel-bin/tools/drake_visualizer

  2. Start the controller before the simulator:

    $ ./bazel-bin/drake/examples/humanoid_controller/valkyrie_balancing_demo

  3. Start the simulator:

    $ ./bazel-bin/drake/examples/valkyrie/valkyrie_simulation

  4. Execute a dummy manipulation plan:

    $ ./bazel-bin/drake/examples/humanoid_controller/send_manipulation_plan_demo -r_shy_offset -1

Note that you can repeatedly send new plans, the controller will start executing the new plan as soon as it receives it.