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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2023-03-03T20:54:48+00:00</updated>

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

		<entry>
		<author><name><![CDATA[spaceDoctor]]></name></author>
		<updated>2023-03-03T20:54:48+00:00</updated>

		<published>2023-03-03T20:54:48+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=44275#p44275</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=44275#p44275"/>
		<title type="html"><![CDATA[Re: Impulse Solvers and Contiuous Collision with Rotating Objects]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=44275#p44275"><![CDATA[
After further tinkering, I've found that this only applies for sphere-sphere collisions. If we change our smaller object to a cube/box, then this problem doesn't arise. I've confirmed this with both my own implementation and bullet: a box under force of gravity will remain stationary on a rotating sphere.<br><br>Another possible solution would be to use sphere colliders broadly, but switch to a mesh collider when we have a continuous collision occurring. <br><br>I guess that technically solves this 'issue', but I feel like sphere-sphere should still be handled in this scenario. Hopefully someone smarter than I am can give an explanation, or a solution!<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=14555">spaceDoctor</a> — Fri Mar 03, 2023 8:54 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[spaceDoctor]]></name></author>
		<updated>2023-03-01T16:06:53+00:00</updated>

		<published>2023-03-01T16:06:53+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=44270#p44270</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=44270#p44270"/>
		<title type="html"><![CDATA[Impulse Solvers and Contiuous Collision with Rotating Objects]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=44270#p44270"><![CDATA[
I have written a basic collision detection/resolution system using constraints and impulse solving, and I think I have reached a point where it starts to break down. In my sandbox, I have sphere's being acted upon by gravity, and my system works totally fine; smaller spheres will remain on the surface of the more massive spheres, and friction prevents them from rolling around. However, if I add some angular momentum to the larger object (let's call it a planet), the smaller object will begin to accumulate velocity and start circumnavigating the planet, eventually gaining enough velocity that it will leave the surface and reach a stable orbit!<br><br>Now, thinking about this, this seems to make sense: when colliding with an object that has some rotational velocity, the constraint solver will adjust both parties accordingly, and the angular velocity of the planet will obviously impact the non-rotating object. However, given that in my situation gravity is causing the smaller sphere to <strong class="text-strong">always be in contact with</strong> the rotating planet, the impulse solver <strong class="text-strong">will continually increase its velocity</strong>. <br><br>To test this, I hobbled together a crude implementation with raylib and bullet3 and found the exact same result: the smaller sphere gains velocity on a rotating sphere until it leaves the surface. I'm not suggesting that there is an issue with bullet, more so that I confirmed my system is indeed working 'as intended.'<br><br>Considering that I believe what I am observing is a <strong class="text-strong">feature</strong> of these constraint solvers, <strong class="text-strong">not a bug</strong>, how can one use constraints and impulse solvers to have an object remain stable on a rotating object under the force of gravity? Or would I need to go about collision response in a totally different way in order to have stationary objects on rotating objects? Perhaps there is another constraint that needs to be added other than normal and friction?<br><br>Thanks<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=14555">spaceDoctor</a> — Wed Mar 01, 2023 4:06 pm</p><hr />
]]></content>
	</entry>
	</feed>
