RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.16k stars 1.24k forks source link

Adds Energy Cost to KinematicTrajectoryOptimization #21587

Closed cohnt closed 1 week ago

cohnt commented 1 week ago

Implements a cost to minimize the energy of a trajectory. The global optimum of this cost is equivalent to the optimum for path length, in the limit of infinitely many control points, and it has the benefit of yielding a convex quadratic objective (which is much easier for optimizers to handle). See here for further discussion.


This change is Reviewable

cohnt commented 1 week ago

Note that this doesn't currently work with OSQP or Mosek, due to #21579. It does pass with Gurobi.

@drake-jenkins-bot linux-jammy-clang-bazel-experimental-gurobi-release please

cohnt commented 1 week ago

@drake-jenkins-bot linux-jammy-clang-bazel-experimental-gurobi-release please

jwnimmer-tri commented 1 week ago

Wasn't sure who would make sense as a feature reviewer, so I left it empty. In the future, should I post on Drake Developers to ask for a reviewer if I'm unsure? Thanks Russ for taking it!

(1) The primary purpose of the ping message from the platform reviewer is to make sure nothing gets left behind accidentally. It's fine to move at whatever pace works best for you.

(2) As a PR author, the things you can do to help steer a PR:

So for example if a PR is ready for review, but you don't have anyone chosen to review it, you can post a message to that effect on the PR and the Drake team will take it from there (often, yes, by posting to slack to see who's around).

cohnt commented 1 week ago

@drake-jenkins-bot mac-arm-ventura-clang-bazel-experimental-release please

xuchenhan-tri commented 1 week ago

+(status: squashing now)