Project Updated SLS for Orbiter 2016 (and 2010)

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
Still can't get it to compile.
So what I have done. I made a new folder in Orbiter2016orbitersdk/samples/crawler
Unzip the file. Move the mesh and textures to the correct folders. unzip the Libr

crawlercompile.jpg


So I copied the touchdown points from the SSU crawler and changed the y value. I get the same effect.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,614
Reaction score
2,335
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
So I copied the touchdown points from the SSU crawler and changed the y value. I get the same effect.

Did you read the Orbiter API manual already?
 

Longjap

Active member
Joined
Jun 8, 2011
Messages
191
Reaction score
41
Points
28
Making the treads move is possible, but a tiny bit complicated. Essentially, we would need to create three animation components for each shoe of the tread. Each tread has 57 shoes, you can group two treads into one animation, means you still have 4 x 57 x 3 animation components to program. At least.

Actually we want to make sure the treads move properly and not suddenly see one shoe overtake the others on the tread. So we better use one animation per tread and split the motion of each tread into multiple segments. I see at least 9 segments there, each could in theory be implemented as either a single rotation or a single translation.

So, we get 4 animations and 4 x (56 x 10 + 57) animation components. or just 2468 animation components. I am pretty sure orbiter can handle it, but I have doubts we can implement this quickly. If somebody wants to implement it for SSU because he wants to see this animation and is willed to pay the price of a few weeks of his lifetime: you are welcome.

(Good news to make the work easier: You can write an algorithm to define the animation components for all shoes of a tread and only need some reference coordinates as input. But you still need to write at least 9 animation components and need to split the initial segment properly for all but the first shoe of a tread, so you get 10 animation segments for those - and of course, all animation components need to be child animation of the animation that moves the track assembly)

EDIT: And this amount of math and geometric thinking is why I never got the motivation to do it myself. Now I have a bad headache.

I know it's not the most visually pleasing solution but can't we make an animation of a texture gliding over one object, the treads? I don't know if it's possible though to animate a .dds. But I do know it's possible to change textures like you did on the SSU ET. So you can change a texture in quick succession to make it look like an animation? Maybe switch the object continuously while moving each with a texture that's slightly moving the texture forward making it look like a moving tread.
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
Did you read the Orbiter API manual already?


Yes about touchdown points?

PHP:
17.57.3.327 voidVESSEL::SetTouchdownPoints( constVECTOR3&pt1, constVECTOR3&pt2, constVECTOR3&pt3 ) const
Defines the three points defining the vessel's ground contact plane.
Deprecated This method has been replaced by VESSEL::SetTouchdownPoints(const TOUCHDOWNVTX∗,DW← ORD)const Parameters pt1 touchdown point of nose wheel (or equivalent) pt2 touchdown point of left main wheel (or equivalent) pt3 touchdown point of right main wheel (or equivalent)
Note
The points are the positions at which the vessel's undercarriage (or equivalent) touches the surface, specified in local vessel coordinates. The order of points is significant since it defines the direction of the normal. The points should be specified such that the cross product pt3-pt1 x pt2-pt1 defines the horizon "up" direction for the landed vessel (given a left-handed coordinate system). Modifying the touchdown points during the simulation while the vessel is on the ground can result in jumps due to instantaneous position changes (infinite acceleration). To avoid this, the
Generated on Wed Aug 24 2016 00:01:08 for Orbiter API by Doxygen
17.57 VESSEL Class Reference 545
touchdown points should be modified gradually by small amounts over time (proportional to simulation time steps). This method is retained only for backward compatibility. Vessels should now use Set← TouchdownPoints(const TOUCHDOWNVTX∗,DWORD)const to define a convex hull of touchdown points. The touchdown stiffness and damping parameters are guessed according to the vessel empty mass. Therefore, SetTouchdownPoints should be called after defining the empty vessel mass with SetEmptyMass.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,614
Reaction score
2,335
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Yes, the proper SetTouchDownPoints(const TOUCHDOWNVTX*, DWORD) signature.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
Yes, the proper SetTouchDownPoints(const TOUCHDOWNVTX*, DWORD) signature.

Not sure what you mean.

Code:
static const DWORD ntdvtx_geardown = 3; static TOUCHDOWNVTX tdvtx_geardown[ntdvtx_geardown] = {     { _V(0, -2.866, 10), 1e6, 1e5, 1.6, 0.1 },     { _V(-3.5, -2.866, -1), 1e6, 1e5, 3.0, 0.2 },     { _V(3.5, -2.866, -1), 1e6, 1e5, 3.0, 0.2 },  };

Fred's crawlers tread move.
Sometimes people just want to a vehicle that just drives without all the procedures.

I don't understand why the same mesh loads differently using the same touchdown points.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,614
Reaction score
2,335
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
I don't understand why the same mesh loads differently using the same touchdown points.

Have you checked that it is the mesh loads differently before writing it? :rolleyes: Like, by activating the markers and axis indicators of Orbiter.

Also, did you check that you really use this function?

And did you use this function AFTER SetEmptyMass or are you changing the empty mass afterwards?
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
Have you checked that it is the mesh loads differently before writing it? :rolleyes: Like, by activating the markers and axis indicators of Orbiter.

Also, did you check that you really use this function?

And did you use this function AFTER SetEmptyMass or are you changing the empty mass afterwards?


When I get home I can run a scenario with the axis markers.

I meant how the dll is different than the sc4 version. And not sure why when I add this vessel it places it underground.
 

Interceptor

Well-known member
Joined
Mar 28, 2008
Messages
2,718
Reaction score
76
Points
63
Location
Michigan,Florida
Ok. Having touchdown point issues and moving the crawler.

SLSCRAWLERTOUCHDOWNPOINTS.jpg


The mesh is oriented correctly

Code:
static const DWORD ntdvtx_geardown = 3;
static TOUCHDOWNVTX tdvtx_geardown[ntdvtx_geardown] = {
    { _V(0, -2.866, 10), 1e6, 1e5, 1.6, 0.1 },
    { _V(-3.5, -2.866, -1), 1e6, 1e5, 3.0, 0.2 },
    { _V(3.5, -2.866, -1), 1e6, 1e5, 3.0, 0.2 },

};
As far as moving it. I just apply thrust in the z direction At (0,0,0)

---------- Post added at 04:48 PM ---------- Previous post was at 07:21 AM ----------

I tried it in Spacecraft4. And it looks good and drives well.

SC4CRAWLER.jpg

Code:
LAND_PT1=(0,-2.866,17)
LAND_PT2=(-3.96,-2.866,-4.3)
LAND_PT3=(3.96,-2.866,-4.3)
But the dll version using the same touchdown points puts it below the surface
SLSCRAWLERDLL.jpg

Code:
{ _V(0, -2.866, 17), 1e6, 1e5, 1.6, 0.1 },
    { _V(-3.96, -2.866, -4.3), 1e6, 1e5, 3.0, 0.2 },
    { _V(3.96, -2.866, -4.3), 1e6, 1e5, 3.0, 0.2 },

I just add the slscrawler using scenario editor and place it near the tower.

Code:
slscrawler1:Spacecraft\Spacecraft
  STATUS Landed Earth
  POS -80.6041920 28.6041150
  HEADING 196.75
  ALT 2.690
  AROT -120.972 12.054 171.516
  AFCMODE 7
  NAVFREQ 0 0
  CONFIGURATION 1
  CURRENT_PAYLOAD 0
END
SLSCRAWLER:SLSCRAWLER
  STATUS Landed Earth
  POS -80.6041920 28.6041150
  HEADING 196.75
  ALT -38.808
  AROT 151.085 -8.237 167.777
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
END

If I adjust the ALT I can get it above the surface but it facing the wrong direction.
If the crawler looks good,and drives well using spacecraft4,why don't you just use that version?
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
I have thought about that. By drive well I meant it follows the terrain and the vehicle doesn't flip,... like a dll.

I will try to come out with something.

Of course my mesh is not as detailed as the SSU one
 
Last edited:

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Still can't get it to compile.
So what I have done. I made a new folder in Orbiter2016orbitersdk/samples/crawler
Unzip the file. Move the mesh and textures to the correct folders. unzip the Libr
The libUltra sources goes into a folder above the Crawler sources. For now I recommend this folder layout:
-Orbitersdk
--libUltra
--Space Shuttle Ultra (Crawler_VC2010.sln goes here)
---Crawler (Crawler sources goes here)

---------- Post added at 03:44 PM ---------- Previous post was at 03:35 PM ----------

And OrbiterSound 4.0 is also required to compile the sources. I didn't include the actual sound files due to OS 4.0 not being fully compatible with Orbiter 2016.
 

Longjap

Active member
Joined
Jun 8, 2011
Messages
191
Reaction score
41
Points
28
So, got some spare time today. Finished the cubesat6U's for the EM1 scenario.
Including cubesat spring cannons inside ICPS. I always rotate the ICPS to make it look cool. Now you can set up cute little missions for the cute little cubesats while you wait to get to the moon. Like a NEA visit or something. :)
Planning to make a animated solar sail for it.

heq4joe.jpg


R4eIFyq.jpg
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
Ok a couple of things. Images of my crawler in sc4 and dll. The axis are correct. Y up, z fore and aft.
dll
slscrawleraxes1.jpg

sc4
slscrawleraxes2.jpg


I raise my crawler to the surface.

Code:
DWORD ntdvtx = 4;
static TOUCHDOWNVTX tdvtx[4] = {
	{ _V(0, .001, 20), 1e5, 1e2, 0.5, 0.005 },
	{ _V(-15, .001, -20), 1e5, 1e2, 0.5, 0.005 },
	{ _V(15, .001, -20), 1e5, 1e2, 0.5, 0.005 },
	{ _V(0, 5, 0), 1e5, 1e2, 0.5 }// new point just to make a closed shape (more are not needed as the crawler is unlikely to get upside down)
};


Next trying to compile the ssu crawler.
This is how I have it set up as
ssucrawlercompile1.jpg


Then I try to open the crawler2010.sln
ssucrawlercompile2.jpg


---------- Post added 10-14-16 at 05:36 AM ---------- Previous post was 10-13-16 at 03:47 PM ----------

So I was able to attach the tower to my crawler.

A couple of issues. Not sure why when I added the tower from the scn editor and placed it with te crawler it placed it up above the ground.
SC4CRAWLERNEW.jpg

Code:
BEGIN_SHIPS
slscrawler1:Spacecraft\Spacecraft
  STATUS Landed Earth
  POS -80.6041920 28.6035450
  HEADING 186.80
  ALT -0.177
  AROT -119.514 2.210 171.743
  AFCMODE 7
  NAVFREQ 0 0
  CONFIGURATION 1
  CURRENT_PAYLOAD 0
END
TOWER:SLSTOWER2
  ARM_STATUS 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.0000 0.0000
  ARM2_STATUS 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 
  POST 0 
  STATUS Landed Earth
  POS -80.6041920 28.6035450
  HEADING 186.80
  ALT 164.506
  AROT -115.776 2.746 171.905
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
  XPDR 0
END

SLSTOWERATTACHED.jpg



This is a sc4 version so there are limits. Like the moving attachment ( though a robitic arm might work). only 1 camera

Since my dll version doesn't put the crawler correctly
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
A moving attachment should work. And SC5 will have multiple robotic arms.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
sc5? Well I will see about adding the moving attachment. That fixes that but still multiple camera would be nice
 

Notebook

Addon Developer
Addon Developer
News Reporter
Donator
Joined
Nov 20, 2007
Messages
11,816
Reaction score
640
Points
188
For gattispilot:

Are you concerned about SC3/4 doing the animations you want?

I did this in SC3 sometime ago, used Greg Burch's robot arm .ini as a template for starting. The Blue Streak rocket gets attached/detached several times and erected by the A-frame as a robotic arm.
If its a help, I'll dig out the .cfg and .ini files.

http://vid89.photobucket.com/albums/k207/Notebook_04/F2Assembly_zpscd6ee18e.mp4

N.
 

Longjap

Active member
Joined
Jun 8, 2011
Messages
191
Reaction score
41
Points
28

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
For gattispilot:

Are you concerned about SC3/4 doing the animations you want?

I did this in SC3 sometime ago, used Greg Burch's robot arm .ini as a template for starting. The Blue Streak rocket gets attached/detached several times and erected by the A-frame as a robotic arm.
If its a help, I'll dig out the .cfg and .ini files.

http://vid89.photobucket.com/albums/k207/Notebook_04/F2Assembly_zpscd6ee18e.mp4

N.
No I can get the pad to elevate and grap the tower

---------- Post added 10-15-16 at 06:27 AM ---------- Previous post was 10-14-16 at 03:09 PM ----------

Ok this is what I have.
Code:
[PARENT_ATTACH_0]
NAME="crawlertop"
POS=(0,6.27,0)
DIR=(0,-1,0)
ROT=(0,0,-1)
LOOSE=0
RANGE=10.

[ROBOTIC_ARM]
JOINT_0_NAME="PADTOP"
JOINT_0_SEQ=0
JOINT_0_RANGE=(0,1)
GRAP_SEQ=0
GRAP_ATTACH=0

[ANIM_SEQ_0]
INIT_POS=0.0
DURATION=90.

; PADTOP
[ANIM_COMP_0]
SEQ=0
RANGE=(0,1)
GROUPS=10
TYPE=TRANSLATE
SHIFT=(0,4,0)

I can press "space" and get the pad top to move and the attachment point moves also. BUT the direction and rotation change rather than just the position

Here it is at robotic arm at 0. The attachment values are all wrong
crawlerattachment2.jpg
 
Last edited:

Notebook

Addon Developer
Addon Developer
News Reporter
Donator
Joined
Nov 20, 2007
Messages
11,816
Reaction score
640
Points
188
Dredged out the F2 add-on I made using SC3, getting the usual "see log" messages. When I remember what's missing, I'll get into the syntax and see if I can help.

EDIT:

Had to print out Vinka's documentation, but got it all working.

This is the .ini file for the A-Frame, it attaches to the Handling Frame and rotates it to the vertical. Its the only RMS in the chain I think.

[CONFIG]
MESHNAME="spacecraft\A_Frame"
SIZE=9.
EMPTY_MASS=1000
COG=0.18

[PARENT_ATTACH_0]
NAME="rms"
POS=(0, 2.65, 3.4)
DIR=(0, 0, -1)
ROT=(1,0, 0)
RANGE=3
LOOSE=1

[ROBOTIC_ARM]
JOINT_0_NAME="A_FramePitch"
JOINT_0_SEQ=0
JOINT_0_RANGE=(0,1)
GRAP_SEQ=0
GRAP_ATTACH=0

; A_FramePitch
[ANIM_SEQ_0]
INIT_POS=0
DURATION=10

;A_FramePitch : This is the grapple point motion
[ANIM_COMP_0]
SEQ=0
TIP_1=(0,2.65,3.4)
TIP_2=(0,2.65,-3.4)
TIP_3=(0,2.85,3.4)
ROT_PNT=(0, 0.15, 0)
ROT_AXIS=(1, 0, 0)
ANGLE=-90

;A_FramePitch : This is the A_Frame meshes animation
[ANIM_COMP_1]
SEQ=0
GROUPS=1,2,3,4,5,6,7,8,9,10,11,12
RANGE=(0,1)
ROT_PNT=(0, 0.15, 0)
ROT_AXIS=(1,0,0)
ANGLE=-90


Comparing, I can't see anything, except yours is a translation not a rotation. Don't see why it wouldn't work?



N.
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,704
Reaction score
2,681
Points
203
Location
Dallas, TX
yes. If I change the grap sequence to 1 then the attachment is fine. I tried making the the joint a rotation and the same issue

Code:
[PARENT_ATTACH_0]
NAME="rms"
POS=(0,6.27,0)
DIR=(0,-1,0)
ROT=(0,0,-1)
LOOSE=0
RANGE=50.
ID="GS"

[ROBOTIC_ARM]
JOINT_0_NAME="PADTOP"
JOINT_0_SEQ=0
JOINT_0_RANGE=(0,1)
GRAP_SEQ=1
GRAP_ATTACH=0

[ANIM_SEQ_0]
INIT_POS=0.0
DURATION=90.

; PADTOP
[ANIM_COMP_0]
SEQ=0
RANGE=(0,1)
GROUPS=10
TYPE=TRANSLATE
SHIFT(0,4,0)
 
Top