Open WenlongLu opened 10 months ago
Another alternative would be control the bodies with infinitely high gain. @xuchenhan-tri mentioned, even for this, we need extra feature support from Drake.
@sherm1 @jwnimmer-tri fyi
Today we support infinite PD gains for 1-dof joints. So if all you wanted is to move your body in xyz, you'd need to create a body model with three prismatic joints. That of course requires the user to write a sligthly more complex SDF/URDF model, but it'd acchieve what you want.
How important (or not) is to prescribe rotations? Would it be an ok first step to only care about translations? FYI, APIs for PD controlled actuators are documented in the "Using PD controlled actuators" section of the MultibodyPlant docs. They are very simple to setup.
Thank you for this suggestion! Xuchen mentioned the same thing. It does look theoretically the same as locking the velocities, right? I wonder why you would't suggest three prismatic joints + three revolute joints to prescribe full rigid motion?
I wonder why you would't suggest three prismatic joints + three revolute joints to prescribe full rigid motion?
That's defintiely doable. I tend to always implement the simplest thing that gets the job done. But if you also need rotations, your proposed solution with prsimatic and revloute joints should work.
Is your feature request related to a problem? Please describe. By kinematic body, I mean a body
A few examples where it can be used for:
Describe the solution you'd like Expand the function of Locking to lock velocity as well, not just treat velocity as zeros. Then, expose ports from MBP for users to set poses and spatial velocities.
Describe alternatives you've considered Lock + SetPoses after each time step. Velocity for contact solve would be wrong. Even for this, I need ports exposed to set poses.