Meadville Space Center
Welcome, Guest. Please login or register.
September 24, 2020, 12:51:39 AM

Login with username, password and session length
Search:     Advanced search
25068 Posts in 2094 Topics by 2266 Members
Latest Member: twa517
* Home Help Search Login Register
+  Meadville Space Center
|-+  Project Apollo - NASSP
| |-+  Project Apollo - NASSP Development (Moderators: movieman, Tschachim, Swatch, lassombra)
| | |-+  Collision detection and all that come with it
« previous next »
Pages: 1 [2] 3 Print
Author Topic: Collision detection and all that come with it  (Read 17747 times)
Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #15 on: June 15, 2009, 12:07:22 AM »

So, what the problem is?
What's the limit and where to set? The LM is about 50m above the terrain, about 150m above Orbiter's sphere.
There is no specific limit - the algorithm is designed to exclude meshes that are not in the immediate vicinity of a vessel, for performance reasons. The values are determined by the mesh - if there are no mountains higher than your altitude nearby, it should return sphere level.
VSGetAbsMaxElvLoc will return a precise elevation, if it is necessary.

I can alter this behavior if asked for, but i'm not sure how much it will affect performance.
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
****
Posts: 3700


nassp.sf.net


View Profile WWW
« Reply #16 on: June 15, 2009, 11:32:21 AM »

VSGetAbsMaxElvLoc did it, thanks a lot!  Happy

Quote
I've also included the fixed versions of all the PA files using CollisionSDK, and did some shameless tinkering on the EVA code - i have to say, rover and EVA looks really nice in the current CVS version, makes me want to do some better ground handling.
Looks like LEM, rover and LEVA works fine with the module, as was said, but my testing is quite biased, and i didn't figured out how to test LEM landing autopilot.

leva.cpp arrived somewhat "distorted" here, lots of spaces and carriage returns are missing, making the code un-diffable (and for me unreadable), so I didn't use that file, the rest is fine. As of now there seem to be no bugs.

If you do a CVS Update of everything, you can test the LM landing with the "Project Apollo - NASSP\Broken Scenarios\Quickstart Missions\Apollo 14\Apollo 14 - LM final approach" scenario I just fixed, some instructions are here: http://nassp.sourceforge.net/wiki/LM_landing_checklist_(Quickstart)

I nice feature would be vessel tilting for the rover.  Happy

Again thanks a lot for all your efforts!
Tschachim
Logged

FordPrefect
Project Team Member
Sr. Member
****
Posts: 268



View Profile Email
« Reply #17 on: June 15, 2009, 12:20:23 PM »

I nice feature would be vessel tilting for the rover.  Happy

Don't forget the LM! It would be great to have vessel tilting for it as well. (let it tilt and then "lock" the contact points to the surface mesh below). I just thought about it while testing the collision module at Taurus-Littrow yesterday. Makes the landing much more challenging since you have to find a flat spot on the undulating terrain. Particularly the landing at Hadley Rille and Descartes highlands, where the real LM's were pretty tilted after touchdown, especially at Hadley. The scenery terrain is still in the early stages, though jtiberius already achieved some nice progress on Descartes.

Tschachim, the LM landing checklist doesn't seem to be up on the wiki? BTW, can I activate the LRV from a Apollo 17 quickstart mode LM with the modules Artlav provided in my other thread in the support and bugs forums? Would love to give it a try.

Thanks a lot and thanks Artlav, please keep it up. Your collision work is what jtiberius and I have been waiting for. It makes the landing site mesh explorable as it was imagined by us from the beginning  Thumbs Up
Logged

My Project Apollo work in progress:
* New detailed Lunar Module Ascent stage with virtual cockpit (VC currently planned as eye candy only) 18 % done

My Project Apollo work to be continued:
* new Service Module SPS engine bell
* various Saturn V textures, exhaust textures
* SIM Bay for the SM


My long-term plans are to create a:
* New detailed Lunar Module descent stage (eventually models of all flown LM's)
* New F-1 engines for the S-1C stage showing the foil (batting) insulation
* New LUT and launch pad (if nobody else does it)
Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #18 on: June 15, 2009, 12:22:23 PM »

Quote from: Tschachim
VSGetAbsMaxElvLoc did it, thanks a lot!  Happy
Don't overuse it, it should be slower than the normal one.
Not quite sure by how much though.

Quote from: Tschachim
leva.cpp arrived somewhat "distorted" here, lots of spaces and carriage returns are missing, making the code un-diffable (and for me unreadable), so I didn't use that file, the rest is fine. As of now there seem to be no bugs.
I'll keep it in mind that our coding styles are mutually incompatible. Sad
I just can't stand empty spaces in the source codes.

Quote from: Tschachim
If you do a CVS Update of everything, you can test the LM landing with the "Project Apollo - NASSP\Broken Scenarios\Quickstart Missions\Apollo 14\Apollo 14 - LM final approach" scenario I just fixed, some instructions are here: http://nassp.sourceforge.net/wiki/LM_landing_checklist_(Quickstart)
Works nicely.
One suggestion - a flag is planted by pressing F key, which incidentally is the key you use to toggle FPS meter.

Another - the LEVA touchdown points are quite weird in terms of walking over rocks - it's a big triangle.
Will you do something about that, or should i change something on my side (Like, an option to use one below-COG point instead of touchdown tripod)?

Quote from: Tschachim
I nice feature would be vessel tilting for the rover.  Happy
Hopefully, it's on the way.
I just landed the LM one leg on a boulder, and nothing looks strange.
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
****
Posts: 3700


nassp.sf.net


View Profile WWW
« Reply #19 on: June 15, 2009, 12:37:26 PM »

Tschachim, the LM landing checklist doesn't seem to be up on the wiki?

Do you mean the wiki is down or the article is outdated?

BTW, can I activate the LRV from a Apollo 17 quickstart mode LM with the modules Artlav provided in my other thread in the support and bugs forums? Would love to give it a try.

You should be able to activate the LRV, but the LM lands properly only with the current CVS version.

I'll keep it in mind that our coding styles are mutually incompatible. Sad
I just can't stand empty spaces in the source codes.

OK, I understand. Well, most of us prefer to use more spaces and CRs, similar to the Java code convention, for example: http://java.sun.com/docs/codeconv/html/CodeConventions.doc6.html#430

Another - the LEVA touchdown points are quite weird in terms of walking over rocks - it's a big triangle.
Will you do something about that, or should i change something on my side (Like, an option to use one below-COG point instead of touchdown tripod)?

I already changed the touchdown points of the LEVA in CVS to

Code:
SetTouchdownPoints (_V(0, tdph, 0.1), _V(-0.1, tdph, -0.1), _V(0.1, tdph, -0.1));
VSSetTouchdownPoints(GetHandle(), _V(0, tdph, 0.1), _V(-0.1, tdph, -0.1), _V(0.1, tdph, -0.1));

which seems to work fine, sorry I forgot to mention that. The LRV touchdown points are changed, too.

Hopefully, it's on the way.
I just landed the LM one leg on a boulder, and nothing looks strange.

Sounds promising! Happy
Logged

Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #20 on: June 15, 2009, 01:05:01 PM »

Quote from: Tschachim
I already changed the touchdown points of the LEVA in CVS to
which seems to work fine, sorry I forgot to mention that. The LRV touchdown points are changed, too.
Well, i missed that.

In any case, the features should be useful:
http://orbides.1gb.ru/collision_ml_090615.zip
Compiled LEVA and LRV modules: http://orbides.1gb.ru/orbf/projectapollo_modules_090615_wtw_eva.zip

I've added a DWORD VSSetCollisionFlags(OBJHANDLE VesselHandle,DWORD flags) call, that controls vessel's collision features.

The flags are:
VSC_ONEPOINT - Do collision detection using only center point. (I advice to put EVA touchdown points the way they were before - it gives it better leverage, which helps avoiding bugs possible on high ground, and the flag should take care of the offset problem).

VSC_TILTING - Enable tilting. Yes, it's already implemented.

VSC_SPHERELOCK - Do not allow vessels to go below sphere level.

VSC_READ_FLAGS - Change nothing, return currently set.

So, it should look like that now:


Bug reports are welcome!
Logged
FordPrefect
Project Team Member
Sr. Member
****
Posts: 268



View Profile Email
« Reply #21 on: June 15, 2009, 02:06:02 PM »

Here's a first result with the new modules. Sorry for the low quality.

http://www.youtube.com/watch?v=64Vte5VNKsE
Logged

My Project Apollo work in progress:
* New detailed Lunar Module Ascent stage with virtual cockpit (VC currently planned as eye candy only) 18 % done

My Project Apollo work to be continued:
* new Service Module SPS engine bell
* various Saturn V textures, exhaust textures
* SIM Bay for the SM


My long-term plans are to create a:
* New detailed Lunar Module descent stage (eventually models of all flown LM's)
* New F-1 engines for the S-1C stage showing the foil (batting) insulation
* New LUT and launch pad (if nobody else does it)
Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #22 on: June 15, 2009, 02:44:49 PM »

Hm.
What about that jumping?
Is it happening on any terrain, or some specific places?
Can't reproduce that, it runs nicely around Fra Mauro for me.

For the running around the rock - i guess it's LRV's code side problem, no idea what could cause it on my side.
Logged
Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #23 on: June 15, 2009, 04:08:59 PM »

One more question - how close is that terrain to the sphere level?
If it's slightly below it, i can sort of see why it jumps.

Try setting spherelock=1 in the config/collision/collision.cfg, does it change anything?
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
****
Posts: 3700


nassp.sf.net


View Profile WWW
« Reply #24 on: June 16, 2009, 07:36:06 AM »

Thanks for the new version!  Thumbs Up

It looks like there's a new bug: Currently we support only 2 moon bases, FraMauro and Tranquillity. So in "Config\Collision\ProjectApollo\Moon" there's only FraMauro.cfg and Tranquillity.cfg. This way the CollisionSDK isn't doing anything at all when loading a FraMauro scenario. I need at least a 3rd file in "Config\Collision\ProjectApollo\Moon", for example xyz.cfg, which seems to need to contain the same content as FraMauro.cfg, then it's working fine again.

I hope this doesn't sound too weird, looks like the problem is in the code reading the config files, perhaps a mixup of file handles, I don't know. Please tell me if I can provide more informations and help finding the problem!

Cheers
Tschachim
Logged

Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #25 on: June 16, 2009, 08:09:36 AM »

It looks like there's a new bug: Currently we support only 2 moon bases, FraMauro and Tranquillity. So in "Config\Collision\ProjectApollo\Moon" there's only FraMauro.cfg and Tranquillity.cfg. This way the CollisionSDK isn't doing anything at all when loading a FraMauro scenario. I need at least a 3rd file in "Config\Collision\ProjectApollo\Moon", for example xyz.cfg, which seems to need to contain the same content as FraMauro.cfg, then it's working fine again.

I hope this doesn't sound too weird
Unfortunately, it does.
The weird thing is, why do all your files - sources, configs, everything - go in read-only mode?
Maybe it's something CVS adds?

Anyway, most likely the problem is that the cfg file is being opened in rw mode (for historical reasons), and you have it in read-only mode, causing a error.
Could you check that?

Also, do you get the tilting jumping bug FordPrefect described anywhere?
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
****
Posts: 3700


nassp.sf.net


View Profile WWW
« Reply #26 on: June 16, 2009, 08:23:18 AM »

The weird thing is, why do all your files - sources, configs, everything - go in read-only mode?
Maybe it's something CVS adds?

Yes, this is rather common with version control software like CVS to avoid unintentional changes.

Anyway, most likely the problem is that the cfg file is being opened in rw mode (for historical reasons), and you have it in read-only mode, causing a error. Could you check that?

Yes, you're right, the problem occurs only if FraMauro.cfg is read-only, good catch!

Also, do you get the tilting jumping bug FordPrefect described anywhere?

No. I need to do more testing later, it looks like the touchdown points need some improvement, but when I drive on a rather flat part, there's no jumping like in FordPerfect's video.

Cheers
Tschachim
Logged

bluespace88
Project Team Member
Full Member
****
Posts: 241



View Profile
« Reply #27 on: June 16, 2009, 08:28:17 AM »

Would also like to add that I don't get the jumping like FordPrefect has.
Logged
Artlav
Full Member
***
Posts: 36


746021
View Profile WWW
« Reply #28 on: June 16, 2009, 08:45:43 AM »

Quote from: Tschachim
Yes, you're right, the problem occurs only if FraMauro.cfg is read-only, good catch!
Ok, here is the update:
http://orbides.1gb.ru/collision_ml_090616.zip
Modules are compatible.
-Fixed the read-only files problem
-Fixed VSC_SPHERELOCK flag
-Turned sphere lock on by default

Theoretically, it should fix the jumping on LRV, but only FordPrefect can confirm that, it seems.

Quote from: Tschachim
No. I need to do more testing later, it looks like the touchdown points need some improvement
Three-point model makes it look weird, same for LM. I think i can get more than 3 points support working soon.
Logged
Tschachim
Project Apollo - NASSP
Administrator
Hero Member
****
Posts: 3700


nassp.sf.net


View Profile WWW
« Reply #29 on: June 16, 2009, 10:55:24 AM »

-Fixed the read-only files problem

Yes, it's fixed, thanks!

Quote from: Tschachim
No. I need to do more testing later, it looks like the touchdown points need some improvement
Three-point model makes it look weird, same for LM. I think i can get more than 3 points support working soon.

I'm going to do more tests tonight, but besides the "3 points problem" making the rover behave kinda like a tricycle it seems to be stable, no crashes, no jumping.
Logged

Pages: 1 [2] 3 Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!