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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2013-01-04T16:58:13+00:00</updated>

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

		<entry>
		<author><name><![CDATA[Dirk Gregorius]]></name></author>
		<updated>2013-01-04T16:58:13+00:00</updated>

		<published>2013-01-04T16:58:13+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29605#p29605</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29605#p29605"/>
		<title type="html"><![CDATA[Re: Multiplication by time step in Sequential Impulses]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29605#p29605"><![CDATA[
You need to multiply by the timestep ratio if you want to support varying timesteps. I don't remember the details, but you can look it up in Box2D. If you don't support varying timesteps forget about it.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=14">Dirk Gregorius</a> — Fri Jan 04, 2013 4:58 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[c0der]]></name></author>
		<updated>2013-01-04T10:50:14+00:00</updated>

		<published>2013-01-04T10:50:14+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29603#p29603</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29603#p29603"/>
		<title type="html"><![CDATA[Re: Multiplication by time step in Sequential Impulses]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29603#p29603"><![CDATA[
The way I understood it is, since the impulse is applied almost instantly, there is no need to integrate the force over time and assume it occurs instantaneously, therefore making P=JT*lambda rather than JT*lambda*h. Is this a correct assumption or should I multiply by the timestep regardless? <br><br>I have excluded h from the suspension bridge demo and the harmonic oscillator behaves fine.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=9431">c0der</a> — Fri Jan 04, 2013 10:50 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Dani3L]]></name></author>
		<updated>2013-01-03T16:56:45+00:00</updated>

		<published>2013-01-03T16:56:45+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29597#p29597</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29597#p29597"/>
		<title type="html"><![CDATA[Re: Multiplication by time step in Sequential Impulses]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29597#p29597"><![CDATA[
Ok I see. It makes much more sense that way <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"> <br><br>Thanks a lot Dirk !<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=5337">Dani3L</a> — Thu Jan 03, 2013 4:56 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Dirk Gregorius]]></name></author>
		<updated>2013-01-03T16:16:59+00:00</updated>

		<published>2013-01-03T16:16:59+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29596#p29596</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29596#p29596"/>
		<title type="html"><![CDATA[Re: Multiplication by time step in Sequential Impulses]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29596#p29596"><![CDATA[
You don't drop, but essentially <strong class="text-strong">substitute </strong>F * h = P. All this says is that forces and impulses are linear dependent.<br><br>Here is where it comes from:<br><br>dv/dt = M^-1 * ( f + JT * lambda )<br>J * v = 0<br><br>( v2 - v1 ) / h = M^-1 * ( f + JT * lambda )<br>v2 = v1 + M^-1 * ( f + JT * lambda ) * h<br><br>J * v2 = 0<br>J * M^-1 * JT * (lambda * h) = -J * ( v1 + M^-1 * f * h )<br><br>Here lambda is a force and we relabel lamba' = lambda * h where lambda' is an impulse now.<br><br>J * M^-1 * JT * lambda' = -J * ( v1 + M^-1 * f * h )<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=14">Dirk Gregorius</a> — Thu Jan 03, 2013 4:16 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Dani3L]]></name></author>
		<updated>2013-01-03T10:11:09+00:00</updated>

		<published>2013-01-03T10:11:09+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29590#p29590</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29590#p29590"/>
		<title type="html"><![CDATA[Multiplication by time step in Sequential Impulses]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=29590#p29590"><![CDATA[
Hello,<br><br>I am studying the Sequential Impulse theory for rigid bodies simulation using the <a href="http://box2d.googlecode.com/files/GDC2009_ErinCatto.zip" class="postlink">slides of Erin Catto from GDC 2009</a>. At the slide 52, it is written that the impulse <strong class="text-strong">P</strong> is equal to the Force <strong class="text-strong">F</strong> times the time step <strong class="text-strong">h</strong> :<br><br><strong class="text-strong">P = h F</strong><br><br>with the force :<br><br><strong class="text-strong">F = J^T lambda </strong><br><br>Then, at slide 53, it is written that we have tu update the velocity <strong class="text-strong">V2</strong> using the impulse <strong class="text-strong">P</strong>:<br><br><strong class="text-strong">V2 = V2 + M^-1 P</strong><br><br>Therefore, according to this equation, the velocity update should be :<br><br><strong class="text-strong">V2 = V2 + M^-1 h J^T lambda</strong><br><br>However, at slide 56, we see that the velocity update is :<br><br><strong class="text-strong">V2 = V2 + M^-1 P</strong><br><br>with <strong class="text-strong">P = J^T lambda</strong><br><br>As you can see here, the multiplication by the time step <strong class="text-strong">h</strong> has disapeared in the last equation. I have also taken a look at the code of the sequential impulse solver in Box2D and it also seem that we never multiply the force by the time step <strong class="text-strong">h</strong> to compute the impulse <strong class="text-strong">P</strong> that we use to update the velocity <strong class="text-strong">V2</strong>.<br><br>There is probably something that I don't understand here but I don't see how we can remove the multiplication by the time step <strong class="text-strong">h</strong> to compute the impulse <strong class="text-strong">P</strong>. Does someone has any idea how we can drop this multiplication ?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=5337">Dani3L</a> — Thu Jan 03, 2013 10:11 am</p><hr />
]]></content>
	</entry>
	</feed>
