<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/9519" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2013-11-06T19:08:31+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/9519</id>

		<entry>
		<author><name><![CDATA[structinf]]></name></author>
		<updated>2013-11-06T19:08:31+00:00</updated>

		<published>2013-11-06T19:08:31+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32109#p32109</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32109#p32109"/>
		<title type="html"><![CDATA[Re: Why is the constraint error scaled by the FPS?]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32109#p32109"><![CDATA[
That actually made sense. Thank you!<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=10338">structinf</a> — Wed Nov 06, 2013 7:08 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[RandyGaul]]></name></author>
		<updated>2013-11-05T06:31:00+00:00</updated>

		<published>2013-11-05T06:31:00+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32093#p32093</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32093#p32093"/>
		<title type="html"><![CDATA[Re: Why is the constraint error scaled by the FPS?]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32093#p32093"><![CDATA[
The bias term is a function of position and time. It is my understanding that the constraint error will decay over time if and only if your baumgarte term is as such: 0 &lt; baumgarte &lt; 2 / dt. The function oscillates, and as such will be over damped if baumgarte is less than 1 / dt.<br><br>You don't want your solution to converge with an oscillation, you want it to converge smoothly going straight towards the solution. As to why the bias isn't critically damped I imagine is because of the nature of an iterative solver: each constraint is solved in isolation and can affect the results of previously solved constraints.<br><br>As such I suppose it would be "safer" to over-damp your function in order to avoid the chance of oscillation. This is why you scale by the frequency of timestepping, and then go a little lower with the baumgarte term. This makes sense and explains, at least to me, why baumgarte converges with a horrid looking oscillation once error gets too large.<br><br>I say all of this with the disclaimer that I'm not totally sure if this is correct info, just my current understanding.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=10235">RandyGaul</a> — Tue Nov 05, 2013 6:31 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[structinf]]></name></author>
		<updated>2013-11-03T11:14:28+00:00</updated>

		<published>2013-11-03T11:14:28+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32075#p32075</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32075#p32075"/>
		<title type="html"><![CDATA[Why is the constraint error scaled by the FPS?]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32075#p32075"><![CDATA[
Literally, every physics engine I have seen scales the constraint error by the FPS (1.0 / dt).<br><div class="codebox"><p>Code: </p><pre><code>btScalar k = info-&gt;fps * info-&gt;erp;...info-&gt;m_constraintError[i * skip] = k * (pivotBInW[i] - pivotAInW[i]);</code></pre></div><div class="codebox"><p>Code: </p><pre><code>dReal k = info-&gt;fps * erp;info-&gt;c[0] = k*j-&gt;contact.geom.depth;</code></pre></div>However, from what I understand, the constraint error should be directly proportional to the time step. So, instead of k = fps * erp, k = dt * erp.<br><br>What am I missing here?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=10338">structinf</a> — Sun Nov 03, 2013 11:14 am</p><hr />
]]></content>
	</entry>
	</feed>
