<?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/64" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2005-07-29T10:15:31+00:00</updated>

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

		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2005-07-29T10:15:31+00:00</updated>

		<published>2005-07-29T10:15:31+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=166#p166</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=166#p166"/>
		<title type="html"><![CDATA[Bullet SimpleConstraintSolver]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=166#p166"><![CDATA[
About the Bullet SimpleConstraintSolver:<br><br>The solver uses a Propagation Method, from Baraff <br>"Analytical Methods for Dynamic Simulation of Non-penetrating Rigid Bodies". Bullet SimpleConstraintSolver applies penalty impulses to recover from penetration.<br><br><a href="http://www-2.cs.cmu.edu/~baraff/papers/sig89.pdf" class="postlink">http://www-2.cs.cmu.edu/~baraff/papers/sig89.pdf</a><br>See section "Simultaneous Collisions", propagation method.<br><br>Implementation: <a href="http://www.continuousphysics.com/Bullet/BulletFull/html/SimpleConstraintSolver_8cpp-source.html#l00054" class="postlink">http://www.continuousphysics.com/Bullet ... tml#l00054</a><br><br>The friction cone approximation is applied inside the propagation iterations too:<br>the impulse magnitude is related to the current applied impulse this iteration.<br>Implementation: <a href="http://www.continuousphysics.com/Bullet/BulletFull/html/ContactConstraint_8cpp-source.html#l00213" class="postlink">http://www.continuousphysics.com/Bullet ... tml#l00213</a><br><br>At the moment, the error correction term is merged with the velocity correction term, however this adds energy. I'm considering splitting this.<br>See Michael Clines paper "Post-Stabilization for Rigid Body Simulation<br>with Contact and Constraints"<br><br>About the Baumgarte stabilization, basically the term 'g', is a positional error term.<br>This position error can be caused by numerical drift penetration due to bad time of impact estimation (no estimation at all;-).<br>The basic idea is that you either merge the velocity and positional terms in 1 lcp, or split it.<br><br>At the moment, the convergence of the SimpleConstraintSolver is not great, but it works. I will add some comparison demos with ODE quickstep soon.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Fri Jul 29, 2005 10:15 am</p><hr />
]]></content>
	</entry>
	</feed>
