Skip to content

Commit 04b9dc5

Browse files
1 parent 7a080b3 commit 04b9dc5

File tree

3 files changed

+18
-15
lines changed

3 files changed

+18
-15
lines changed

doxygen_cxx/classdrake_1_1geometry_1_1_meshcat.html

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -367,12 +367,21 @@ <h1><a class="anchor" id="network_access"></a>
367367
<tr class="separator:a7b80af00a00e2a047d59cdc4dc1e7754"><td class="memSeparator" colspan="2">&#160;</td></tr>
368368
<tr class="memitem:a37b1b4538dd47e4dc5fd9c671454b4d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html">Meshcat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#a37b1b4538dd47e4dc5fd9c671454b4d2">operator=</a> (<a class="el" href="classdrake_1_1geometry_1_1_meshcat.html">Meshcat</a> &amp;&amp;)=delete</td></tr>
369369
<tr class="separator:a37b1b4538dd47e4dc5fd9c671454b4d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
370-
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
370+
<tr><td colspan="2"><div class="groupHeader">Realtime Rate Reporting</div></td></tr>
371+
<tr><td colspan="2"><div class="groupText"><p>Meshcat can be used to visualize the realtime rate of a simulation's computation in the meshcat visualizer webpage.</p>
372+
<p><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> broadcasts a realtime rate message that is received and displayed by the browser in a <a href="https://github.com/mrdoob/stats.js">stats strip chart</a></p>
373+
<p>Advancing the simulation's time requires a certain amount of real world compute time. The realtime rate, a non-negative real value, is the ratio of the sim time to real world time. A value of one indicates that the simulation is advancing at the same rate as the real world clock. Higher values indicate faster simulations. Lower values indicate slower simulations.</p>
374+
<p>The realtime rate value can be broadcast to the visualizer in one of two ways:</p>
375+
<ul>
376+
<li>Throttled - <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> is configured to broadcast realtime rate data in a "smoothed" manner, so that the visualization doesn't fluctuate at arbitrarily high rates and possibly make the value difficult to read. See <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat&#39;s knowledge of simulation time.">SetSimulationTime()</a>. This is the preferred means of reporting real time rate.</li>
377+
<li>Immediate - a Meshcat user <em>can</em> compute realtime rate themselves and simply ask Meshcat to dispatch a message with that computed value. See <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#a85a13960e9b5cbf4becb62e66e6f3a8b" title="Immediately broadcasts the given realtime rate to all connected clients.">SetRealtimeRate()</a>. This is not recommended and the user is responsible for computing the value and controlling the frequency at which this is done. </li>
378+
</ul>
379+
</div></td></tr>
371380
<tr class="memitem:ad5c9a4ca195d1de4257785b8ad351e2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b">SetSimulationTime</a> (<a class="el" href="classdouble.html">double</a> sim_time)</td></tr>
372-
<tr class="memdesc:ad5c9a4ca195d1de4257785b8ad351e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">@group Realtime Rate Reporting <a href="#ad5c9a4ca195d1de4257785b8ad351e2b">More...</a><br /></td></tr>
381+
<tr class="memdesc:ad5c9a4ca195d1de4257785b8ad351e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates Meshcat's knowledge of simulation time. <a href="#ad5c9a4ca195d1de4257785b8ad351e2b">More...</a><br /></td></tr>
373382
<tr class="separator:ad5c9a4ca195d1de4257785b8ad351e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
374383
<tr class="memitem:aa74d106dfb006f716531e28eb8e0ffdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdouble.html">double</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#aa74d106dfb006f716531e28eb8e0ffdb">GetSimulationTime</a> () const</td></tr>
375-
<tr class="memdesc:aa74d106dfb006f716531e28eb8e0ffdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last time value passed to <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a>. <a href="#aa74d106dfb006f716531e28eb8e0ffdb">More...</a><br /></td></tr>
384+
<tr class="memdesc:aa74d106dfb006f716531e28eb8e0ffdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last time value passed to <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat&#39;s knowledge of simulation time.">SetSimulationTime()</a>. <a href="#aa74d106dfb006f716531e28eb8e0ffdb">More...</a><br /></td></tr>
376385
<tr class="separator:aa74d106dfb006f716531e28eb8e0ffdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
377386
<tr class="memitem:a85a13960e9b5cbf4becb62e66e6f3a8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#a85a13960e9b5cbf4becb62e66e6f3a8b">SetRealtimeRate</a> (<a class="el" href="classdouble.html">double</a> rate)</td></tr>
378387
<tr class="memdesc:a85a13960e9b5cbf4becb62e66e6f3a8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately broadcasts the given realtime rate to all connected clients. <a href="#a85a13960e9b5cbf4becb62e66e6f3a8b">More...</a><br /></td></tr>
@@ -1065,7 +1074,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aa74d106dfb006f716531e28e
10651074
</table>
10661075
</div><div class="memdoc">
10671076

1068-
<p>Gets the last time value passed to <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a>. </p>
1077+
<p>Gets the last time value passed to <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat&#39;s knowledge of simulation time.">SetSimulationTime()</a>. </p>
10691078

10701079
</div>
10711080
</div>
@@ -2051,19 +2060,13 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad5c9a4ca195d1de4257785b8
20512060
</table>
20522061
</div><div class="memdoc">
20532062

2054-
<p>@group Realtime Rate Reporting </p>
2055-
<p>Meshcat can be used to visualize the realtime rate of a simulation's computation in the meshcat visualizer webpage. <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> broadcasts a realtime rate message that is received and displayed by the browser in a <a href="https://github.com/mrdoob/stats.js">stats strip chart</a></p>
2056-
<p>Advancing the simulation's time requires a certain amount of real world compute time. The realtime rate, a non-negative real value, is the ratio of the sim time to real world time. A value of one indicates that the simulation is advancing at the same rate as the real world clock. Higher values indicate faster simulations. Lower values indicate slower simulations.</p>
2057-
<p>The realtime rate value can be broadcast to the visualizer in one of two ways:</p>
2058-
<ul>
2059-
<li>Throttled - <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> is configured to broadcast realtime rate data in a "smoothed" manner, so that the visualization doesn't fluctuate at arbitrarily high rates and possibly make the value difficult to read. See <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a>. This is the preferred means of reporting real time rate.</li>
2060-
<li>Immediate - a Meshcat user <em>can</em> compute realtime rate themselves and simply ask Meshcat to dispatch a message with that computed value. See <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#a85a13960e9b5cbf4becb62e66e6f3a8b" title="Immediately broadcasts the given realtime rate to all connected clients.">SetRealtimeRate()</a>. This is not recommended and the user is responsible for computing the value and controlling the frequency at which this is done.Updates Meshcat's knowledge of simulation time. Changes to simulation time <em>may</em> trigger a realtime rate message to the meshcat visualizer client based on the configured value in <a class="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a> value.</li>
2061-
</ul>
2063+
<p>Updates Meshcat's knowledge of simulation time. </p>
2064+
<p>Changes to simulation time <em>may</em> trigger a realtime rate message to the meshcat visualizer client based on the configured value in <a class="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a> value.</p>
20622065
<p>Invoking this method <em>may</em> dispatch a message to clients. The following rules apply to invocations and messages:</p>
20632066
<ul>
20642067
<li>The first invocation is necessary to <em>initialize</em> the calculation; it defines the the starting point from which all calculations are performed (for both wall clock time as well as simulation time). As no interval can be measured from a single invocation, no rate can be computed. Therefore, the first invocation will <em>never</em> broadcast the message.</li>
20652068
<li>Wall clock time must advance at least <a class="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a> seconds for a message to be sent.</li>
2066-
<li><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast one message per elapsed period &ndash; starting from initialization &ndash; regardless of the frequency at which <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a> actually gets invoked. If the elapsed time between invocations exceeds <a class="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a>, multiple messages will be broadcast; one for each complete period.<ul>
2069+
<li><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast one message per elapsed period &ndash; starting from initialization &ndash; regardless of the frequency at which <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat&#39;s knowledge of simulation time.">SetSimulationTime()</a> actually gets invoked. If the elapsed time between invocations exceeds <a class="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a>, multiple messages will be broadcast; one for each complete period.<ul>
20672070
<li>This implies that each column of pixels in the realtime rate chart in the client visualizer represents a fixed amount of wall clock time.</li>
20682071
</ul>
20692072
</li>

doxygen_cxx/structdrake_1_1geometry_1_1_meshcat_params.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad883680f1189f5c5cfa4c0a7
295295

296296
<p>The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate. </p>
297297
<p>If the period is too short, the reported realtime rate can become visually noisy. Too long, and acute changes in performance may be masked. It must be strictly <em>positive</em>.</p>
298-
<p><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast messages to clients at this fixed period. See <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">Meshcat::SetSimulationTime()</a> for details. </p>
298+
<p><a class="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast messages to clients at this fixed period. See <a class="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat&#39;s knowledge of simulation time.">Meshcat::SetSimulationTime()</a> for details. </p>
299299

300300
</div>
301301
</div>

platform_reviewer_checklist.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ <h1>Platform Reviewer Checklists</h1>
213213
<p>For PRs opened by a new or infrequent contributor:</p>
214214

215215
<blockquote>
216-
<p>Good day, <code class="language-plaintext highlighter-rouge">@AUTHOR</code>. I’m assigning <code class="language-plaintext highlighter-rouge">+@ASSIGNEE</code> as the most relevant
216+
<p>Good day, <code class="language-plaintext highlighter-rouge">@AUTHOR</code>. I’m assigning <code class="language-plaintext highlighter-rouge">+a:@ASSIGNEE</code> as the most relevant
217217
team member to assist with this pull request. If you already had a
218218
different team member in mind, please let us know. To <code class="language-plaintext highlighter-rouge">@ASSIGNEE</code>,
219219
feel free to delegate in case there is someone else more suitable.</p>

0 commit comments

Comments
 (0)