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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2020-04-03T02:23:43+00:00</updated>

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

		<entry>
		<author><name><![CDATA[rullec]]></name></author>
		<updated>2020-04-03T02:23:43+00:00</updated>

		<published>2020-04-03T02:23:43+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=42753#p42753</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=42753#p42753"/>
		<title type="html"><![CDATA[The impulse-Momentum theorem(conservation of momentum) is broked in btMultibody]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=42753#p42753"><![CDATA[
Hi all,<br><br>  I am using bullet as a physics enignee in my application.But when I try to verify the impulse-momentum law for btMultibody, the expriment result shows that,<strong class="text-strong"> the applied impulse is significantly different from the change of system momentum.</strong><br><br><span style="font-size:200%;line-height:116%">Question Description</span><br>Briefly, I create a btMultibody with 3 links, disable all friction coeff, simulating it along with adding joint torque on the first spherical joint, then compare the linear momentum changes with external gravity impulse.In my opinion, The linear momentum of this btMultibody should reply on nothing except the impulse given bt gravity, which means:<br>      The changes of system linear momentum = the impulse given by the gravity.<br><br>The following minimum reproduce code is based on examples/MultiBody/MultiDofDemo.cpp. I only changed a little in it. If you guys kindly paste all the following code stuffs in MultiDofDemo.cpp then run it, hope you can get the same result.<br><br><span style="font-size:200%;line-height:116%"> The experiment result </span><br>These following lines is the output of the repro code.<div class="codebox"><p>Code: </p><pre><code>b3Printf: old momentum -17.42704, -0.55479, 6.60006b3Printf: new momentum -20.20674, -0.38032, 7.95865b3Printf: gravity impulse 0.00000, -0.03000, 0.00000b3Printf: momentum changes -2.77970, 0.17447, 1.35859b3Printf: relative error = 10335.655%</code></pre></div>which means:<br>t time sys momentum(old momentum) = -17.42704, -0.55479, 6.60006<br>t+1 time sys momentum(new momentum) = -20.20674, -0.38032, 7.95865<br>the change of sys moment (new - old) = -2.77970, 0.17447, 1.35859<br>impulse given by the gravity = 0.00000, -0.03000, 0.00000<br>relative error....etc<br><br>So maybe we can see the impulse-momentum theorem has been broken.<br><br><span style="font-size:200%;line-height:116%"> The repro code </span><br>The following minimum reproduce code (attachement MultiDofDemo_verify.cpp) is based on examples/MultiBody/MultiDofDemo.cpp. It has only minor changes compared with the original MultiDofDemo.cpp. I hope it won't disturb you.<br><br>Btw, for the simplicity of this repro code, I am also trying to implement it again in pybullet. but hasn't been finished yet.<br><br>ANY suggestion is welcome!<dl class="file"><dt><span class="imageset icon_topic_attach"></span> <a class="postlink" href="https://pybullet.org/Bullet/phpBB3/download/file.php?id=1812">MultiDofDemo_verify.cpp</a></dt></dl><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=13479">rullec</a> — Fri Apr 03, 2020 2:23 am</p><hr />
]]></content>
	</entry>
	</feed>
