|
551 | 551 | <p class="admonition-title">Note</p> |
552 | 552 | <p>As an alternative to adding a controller to your diagram, gravity |
553 | 553 | compensation can be modeled by disabling gravity for a given model |
554 | | -instance, see MultibodyPlant::set_gravity_enabled().</p> |
| 554 | +instance, see MultibodyPlant::set_gravity_enabled(), unless the |
| 555 | +gravity compensation needs to be accounted for when evaluating |
| 556 | +effort limits.</p> |
555 | 557 | </div> |
556 | 558 | <p>InverseDynamicsController uses a PID controller to generate desired |
557 | 559 | acceleration and uses this class to compute generalized forces. Use |
|
672 | 674 | matrix. The subscript <code class="docutils literal notranslate"><span class="pre">_d</span></code> indicates desired values, and |
673 | 675 | <code class="docutils literal notranslate"><span class="pre">vd_command</span></code> indicates the acceleration command (which includes the |
674 | 676 | stabilization terms) passed to the inverse dynamics computation.</p> |
675 | | -<table align=center cellpadding=0 cellspacing=0><tr align=center><td style="vertical-align:middle"><table cellspacing=0 cellpadding=0><tr><td align=right style="padding:5px 0px 5px 0px">estimated_state→</td></tr><tr><td align=right style="padding:5px 0px 5px 0px">desired_state→</td></tr><tr><td align=right style="padding:5px 0px 5px 0px"><span style="color:gray">desired_acceleration</span>→</td></tr></table></td><td align=center style="border:solid;padding-left:20px;padding-right:20px;vertical-align:middle" bgcolor=#F0F0F0>InverseDynamicsController</td><td style="vertical-align:middle"><table cellspacing=0 cellpadding=0><tr><td align=left style="padding:5px 0px 5px 0px">→ actuation</td></tr><tr><td align=left style="padding:5px 0px 5px 0px">→ generalized_force</td></tr></table></td></tr></table><div class="admonition note"> |
676 | | -<p class="admonition-title">Note</p> |
677 | | -<p>As an alternative to adding a separate controller system to your |
678 | | -diagram, you can model gravity compensation with PD controllers |
679 | | -using MultibodyPlant APIs. Refer to |
680 | | -MultibodyPlant::set_gravity_enabled() as an alternative to |
681 | | -modeling gravity compensation. To model PD controlled actuators, |
682 | | -refer to mbp_actuation “Actuation”.</p> |
683 | | -</div> |
684 | | -<p>The desired acceleration port shown in <span |
| 677 | +<table align=center cellpadding=0 cellspacing=0><tr align=center><td style="vertical-align:middle"><table cellspacing=0 cellpadding=0><tr><td align=right style="padding:5px 0px 5px 0px">estimated_state→</td></tr><tr><td align=right style="padding:5px 0px 5px 0px">desired_state→</td></tr><tr><td align=right style="padding:5px 0px 5px 0px"><span style="color:gray">desired_acceleration</span>→</td></tr></table></td><td align=center style="border:solid;padding-left:20px;padding-right:20px;vertical-align:middle" bgcolor=#F0F0F0>InverseDynamicsController</td><td style="vertical-align:middle"><table cellspacing=0 cellpadding=0><tr><td align=left style="padding:5px 0px 5px 0px">→ actuation</td></tr><tr><td align=left style="padding:5px 0px 5px 0px">→ generalized_force</td></tr></table></td></tr></table><p>The desired acceleration port shown in <span |
685 | 678 | style=”color:gray”>gray</span> may be absent, depending on the |
686 | 679 | arguments passed to the constructor.</p> |
687 | 680 | <p>Note that this class assumes the robot is fully actuated, its position |
|
816 | 809 | one were to model the actual elastic joints and rotor-inertia |
817 | 810 | shaping). See <a class="reference external" href="https://manipulation.csail.mit.edu/force.html">https://manipulation.csail.mit.edu/force.html</a> for more |
818 | 811 | details.</p> |
| 812 | +<div class="admonition note"> |
| 813 | +<p class="admonition-title">Note</p> |
| 814 | +<p>As an alternative to adding a separate controller system to your |
| 815 | +diagram, you can model a JointStiffness controller using |
| 816 | +MultibodyPlant APIs. Refer to |
| 817 | +MultibodyPlant::set_gravity_enabled() as an alternative to |
| 818 | +modeling gravity compensation (unless the gravity compensation |
| 819 | +terms need to be accounted for when computing effort limits). To |
| 820 | +model PD controlled actuators, refer to mbp_actuation “Actuation”.</p> |
| 821 | +</div> |
819 | 822 | <dl class="py method"> |
820 | 823 | <dt class="sig sig-object py" id="pydrake.systems.controllers.JointStiffnessController.__init__"> |
821 | 824 | <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pydrake.systems.controllers.JointStiffnessController" title="pydrake.systems.controllers.JointStiffnessController"><span class="pre">pydrake.systems.controllers.JointStiffnessController</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">plant</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pydrake.multibody.plant.html#pydrake.multibody.plant.MultibodyPlant" title="pydrake.multibody.plant.MultibodyPlant"><span class="pre">pydrake.multibody.plant.MultibodyPlant</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">kp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">numpy.ndarray</span><span class="p"><span class="pre">[</span></span><span class="pre">numpy.float64</span><span class="p"><span class="pre">[</span></span><span class="pre">m</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">numpy.ndarray</span><span class="p"><span class="pre">[</span></span><span class="pre">numpy.float64</span><span class="p"><span class="pre">[</span></span><span class="pre">m</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#pydrake.systems.controllers.JointStiffnessController.__init__" title="Permalink to this definition"></a></dt> |
|
0 commit comments