3D Rad - Free 3D game maker - Forum

This forum is now archived!

This forum is locked, and is a read-only version. A new community-ran forum can be found at classdev.net

News:

The 3DRad community can be found at classdev.net.

Pages: [1]

Author Topic: ...joint issue  (Read 1535 times)

« on: November 26, 2010, 03:38:03 PM »
...i've put it in a different topic(even though i've just started one on a different thing though) thinking that this is the best for the search engine of the forum, but if i'm being noisy feel free to tell me off.....

the issue...
http://dl.dropbox.com/u/14066317/3DradJointIssues.wmv
The project is a car assembly, with moving dynamic steering and suspension rigidbody parts...
...on the first part of the  video, if you focus on the (hinged) joints connecting the car frame with the suspension arms, you can clearly see movement on the green and red axes as well!!!!!!! (NOT wanted)

thinking that it might be that wheel object big forces, i checked the front suspension as well where a (much smaller)  undesired movement... but forces here are much smaller than on the rear (front: sliding joint with scripted joint motors for the steering (trying to achieve Ackermann steering geometry ;D ;D ;D) )

adding a second joint, greatly reduces the problem, but i don't thing that this is the suggested sollution...

if the development people want, i'll try to reproduce the thing with default rad objects....

thaaanxs
ps:first time i am using dropbox, if there are problems pliz inform me and i'll upload on utube...
« Reply #1 on: November 26, 2010, 05:01:57 PM »
Thanx for the video, it helps  :)

Simulated joints may 'break' their constraints if forces are big enough. This is apparently how joints work under PhysX.

Yes, the recommended solution is doubling/tripling joints if necessary. However this should be the last resort.

First you should try:

- reducing all forces involved
- reducing all masses involved
- changing slightly the setup to minimize the unwanted torques at joint application points

Also please note that certain joint types may be 'stronger' in certain situations than others. For example, sometimes using a ball join with limits where you would normally use a hinge may give better result. And sometimes the opposite is true (hinge is better). Unfortunately it only depends on the setup so its a trial and error process  :-\
« Reply #2 on: November 26, 2010, 06:35:22 PM »
thanks a lot Fernando, i'll go for it right now.... u see i was doing exactly the opposite because on some testing in the past, raising weight was givin better results(but i can't remember what, maybe wheel)....
« Reply #3 on: November 26, 2010, 08:49:25 PM »
Fernando i did all the things u suggested above, there has been improvement but nowhere near desired....
by reducing and reducing masses, i reached the point where the whole thing weighted less than 4 kilos..carbody mass : 0.1!!!..some joints (ball worked better) where even repeated 5 times, rotated (in case  other axes work tighter ), double checked( in case of mistakes)....i also gave some parts bigger colllision geometries (i'll play with collision a bit more tomorrow...so far i have checked collision of each part when building the thing and it was working fine....)....even the wheels are about a kilo (which will give trouble with the friction when this thing moves)...its getting very unreal....
..and what drives me crazy is that on my RagBots proj, things run perfect( with some big masses involved)



« Reply #4 on: November 27, 2010, 05:10:52 PM »
There isn't an easy solution unfortunately because each system you create by joining rigid-bodies is different. If reducing masses doesn't work the problem could be that for some reason forces and torque are applied to the joints in a way that cause simulation errors.

Please don't forget that you are dealing with a real-time simulation, so a lot of things may not work like in the real world.

The best in these cases is looking for ways to simplify the system.
« Reply #5 on: November 27, 2010, 11:42:27 PM »
 ::) That's the drawback of PhysX, it's less accurate simulation, but geared for more quantity or performance.

What I would focus on is the actual handling of the car and how you want it to behave. You can later go in and add suspension parts (boned skinmeshes) and make them interact realistically with the not so realistic suspension model that comes with the car.

Fernando:
I was just reading this page:
http://developer.nvidia.com/object/physx_features.phpl

and found this:
 
Ray-cast and articulated vehicle dynamics

NVIDIA PhysX SDK has fully capabilities to simulate real-life vehicles.

Raycast Cars � single rigid body
Spherical Wheel shapessophisticated tire friction model
Joint-based suspension � complex steering & suspension geometries
Lightweight simulation

I think we're missing a few things there and I want them all for Christmas. ;D ;D ;D
« Last Edit: November 27, 2010, 11:46:44 PM by Rush3Fan »
« Reply #6 on: November 28, 2010, 01:44:47 PM »
this is interesting...
on the 1st attached image you see the initial export (note the world  center location , i exported NONcentered for building purposes)...
on the 2nd, is another export with the rigidbd centered to the world center .... result : better joint behavior with increased masses (closer to the reals), but i'll do more tests to be certain :)
« Reply #7 on: November 28, 2010, 02:41:09 PM »
more tests needed but THIS is 98.63% improvement... big mass meshes
« Reply #8 on: November 28, 2010, 03:16:45 PM »
Good to see you are getting to a solution  :)

As for car simulation, 3drad is currently using the most recent ray-cast-based simulation model. Because objects that use wheels (Car and Wheel) used spheres instead, under ODE, we are currently 'simulating' the old spherical wheels behavior by using raycasting.

Due to this, migrating caused a few inconsistencies, but most of them have been fixed or worked around. Some may never be fixed though, because the systems behind the scenes are completely different.

To finally take advantage of all features provided by the PhysX car simulation, we will need a completely new Wheel and Car objects, as discussed elsewhere on the forum.

« Reply #9 on: November 28, 2010, 03:25:57 PM »
thanx Fernando :),

i am currently testing on geometries , and it keeps getting better (with real masses as well)...
hope i will post the results soon... :)
« Reply #10 on: November 28, 2010, 06:18:55 PM »
Can't wait to see a video of it working Kampaoua. :)
Quote
We will need a completely new Wheel and Car objects, as discussed elsewhere on the forum.
What's a rough estimate for just the car object with a sophisticated tire friction model and customizable complex steering & suspension geometries?
« Reply #11 on: November 28, 2010, 06:32:18 PM »
Can't wait to see a video of it working Kampaoua. :)

well, the rear suspension assembly is pretty stiff, the front is still dancing a bit... but i hope soon...


What's a rough estimate for just the car object with a sophisticated tire friction model and customizable complex steering & suspension geometries?

... and maybe with a manual gearbox  ;D?
« Reply #12 on: November 29, 2010, 02:26:48 AM »
Not including manual gearbox functionality, it could be between $500 and $1000.

The idea is providing a system with a full set of parameters (basically the same parameters that the PhysX API provides) that you can fully control run-time via scripting.

This should allow you to write manual gearbox yourself, along with systems like friction model that changes based on speed/terrain, car damage/wear simulation, etc.

Then, ideally, scrips and/or addons may be produced by the community, for things like the manual gearbox.
« Reply #13 on: November 30, 2010, 12:54:12 PM »
That's as much as I spent on my real car.. Still not a bad price. ;D
Pages: [1]