Reputation: 1
https://mujoco.readthedocs.io/en/stable/modeling.html#mocap-bodies describes Mujoco's attempt to reconcile a body being posed arbitrarily in a simulation (including in nonphysical ways such as moving through rigid bodies), while the rest of the sim tries to behave physically.
That page goes on to describe soft-welding a normal body to the "mocap" body, and setting up the softness of the weld vs. contact constraints to specify what happens when the mocap body goes through a rigid body.
Does Drake have an equivalent setup?
Currently, I'm using high-gain drake controllers parsed from SDF, like so, where the setpoints come from an external robot emulator (running at realtime) or other pose source that doesn't know about the simulation running in Drake. This works reasonably well, but I'm wondering if there is a better way to do this, whether increasing simulation speed, doing something more principled, ...
<model name="simple_gripper">
<pose>0 0.06 0.08 -1.57 0 1.57</pose>
<joint name="translate_joint_x" type="prismatic">
<parent>world</parent>
<child>false_0</child>
<axis>
<xyz expressed_in="__model__">0 0 -1</xyz>
</axis>
<drake:controller_gains p='1000000.0' d='100.0' />
</joint>
<link name="false_0"></link>
<joint name="translate_joint_y" type="prismatic">
<parent>false_0</parent>
<child>false_1</child>
<axis>
<xyz expressed_in="__model__">1 0 0</xyz>
</axis>
<drake:controller_gains p='1000000.0' d='100.0' />
</joint>
<link name="false_1"></link>
<joint name="translate_joint_z" type="prismatic">
<parent>false_1</parent>
<child>body</child>
<axis>
<xyz expressed_in="__model__">0 -1 0</xyz>
</axis>
<drake:controller_gains p='1000000.0' d='100.0' />
</joint>
<link name="body">
Upvotes: 0
Views: 18