Enhancing and positioning O'Neill Habitats
Posted: 06.01.2006, 06:21
Apologies first for the length of this post.
I've moved this post from the Celestia Users Forum in the hope that someone in this forum will have some expertise. Haven't had any response at all in the Users forum , so maybe that wasn't the best place to post it. (I'm new and inexperienced in this forum ), but I'm hoping to find some experts/coders here!
For ages I've had an Earth-Moon barycenter kludge for version 1.3.2 and that seems to work OK, so I don't nescessarily want to replace that with barycenters, but I would like to have 3 very small "microstars" orbiting an object or object(s) located at L5 (the Earth-Moon system's trailing lagrangian point).
Yes, I know it's not the usual sort of thing to do with a star, but the idea is that the microstars (maybe only a few 10's of metres in radius) would simulate the reflection of the sun in the 'mirrors' of my O'Neill habitats, and enable me to project light into the interior of the habitats, giving a realistic simulation of life inside.
For background details, see my posts here:
http://celestiaproject.net/forum/viewtopic.php ... de069b3ef9
I thought the logical solution for this would be to place a new barycenter at each of the locations in my existing system, working outwards, adding barycenters orbiting barycenters, until I reach each habitat, and then orbit the "stars" around the final barycenter. ie. create barycenter clones of existing points, the final 2 barycenters being located at the center of each of the 2 habitats.
eg:
1. Define a Barycenter with the same orbital elements as my existing Earth-Moon location.
2. Define a Barycenter with the same orbital elements as my existing L5 point. (ie. orbiting Earth-Moon Barycenter)
3. Define a Barycenter with the same orbital elements as the existing objects orbiting L5 (ie. orbiting L5-Bary)
4. 2 more stationary barycenters centred on the habitats.
5. 2 sets of 3 microstars would orbit these final Barycenters.
The reason I'm doing it this way is because as far I'm aware, stars can only orbit barycenters and not solar-system objects such as planets, moons and spacecraft. (I don't think there's any way to implement this scheme for v1.3 users though, because of the use of barycenters)
The problem I'm having is that the first barycenter works fine (Earth-Moon-Bary), but the second L5-Bary (which orbits the first) seems to have an inclination?? which I just cant get rid of. It needs to be placed always exactly at my L5 point, but it appears to travel above and below the Earth-Moon orbit, crossing twice at L5. It does however appear to track L5 around the orbit (which is good).
Is anyone able to help me out with this ? (see extracts from SSC's below)
The other thing I have noticed is that it seems that the Barycenter elements have to be expressed in AU's rather than KM's, and YRs rather than days. This doesn't make it any easier to clone my existing orbits as I don't know what the exact conversion factors are (I'm currently assuming 149,600,000 km/AU and 365.25 days/year). I'm going to need to position them extremely accurately for this to work....
The 3 microstars need to be 120 degrees apart in circular orbits of between perhaps 8-16km's radius with a period of 2 minutes (so that they rotate with the 3 mirrors). I'll probably have to finely adjust their positions once I've got them roughly positioned at the mirrors, but because of the problem above, I'm currently about 3-400,000 kms away
The other minor problems I have to work out, is:
1. how to point the axis of the habitats directly at Sol,
3. the last problem is how to KEEP them pointing at the sun. (As the Earth -Moon system orbits the Sun, after 6 months they will be pointing directly away from the sun). So I need to move the orientation of their axes by approx. 1 deg per day (360/365.25) in the correct direction backwards along the plane of the Earth-Moon systems orbit around the Sun.
Can the precession command perhaps be used to simulate this yaw? It will effectively be perpendicular to the axis of rotation.
extracts from:
SOLARSYS.SSC:
"Earth-Moon" "Sol"
{
Class "Invisible"
CustomOrbit "Earth-Moon"
EllipticalOrbit {
Period 1.0000
SemiMajorAxis 1.0000
Eccentricity 0.0167
Inclination 0.0001
AscendingNode 348.739
LongOfPericenter 102.947
MeanLongitude 100.464
}
Obliquity -23.45
RotationOffset 280.5 # offset at default epoch J2000
}
"Earth" "Sol/Earth-Moon"
{
Texture "earth.*"
NightTexture "earthnight.*"
# SpecularTexture "earth-spec.*"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.5 0.5 0.55 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 6378.140 # equatorial
# Oblateness 0.0034
# BumpMap "earthbump.*"
# BumpHeight 4.5
Atmosphere {
Height 60
Lower [ 0.43 0.52 0.65 ]
Upper [ 0.26 0.47 0.84 ]
Sky [ 0.40 0.6 1.0 ]
Sunset [ 1.0 0.6 0.2 ]
# Sunset [ 0.3 1.0 0.5 ]
CloudHeight 7
CloudSpeed 65
CloudMap "earth-clouds.*"
}
CustomOrbit "Earth"
EllipticalOrbit {
#Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 4700
Eccentricity 0 # 0.054900
Inclination 0
MeanAnomaly 0.00
}
RotationPeriod 23.9344694 # 23.93419
Obliquity -23.45
RotationOffset 280.5 # offset at default epoch J2000
Albedo 0.30
}
"L5" "Sol/Earth-Moon"
{
Class "Invisible"
Class "Moon"
#CustomOrbit "Moon"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 379700
Eccentricity 0.054900
Inclination 5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 255.352094 # at epoch
}
Radius 1.0
}
"Moon" "Sol/Earth-Moon"
{
Texture "moon.*"
BumpMap "moonbump.*"
BumpHeight 0.3
Radius 1737.53
# Oblateness 0.002
#CustomOrbit "moon"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 379700
Eccentricity 0.054900
Inclination 5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 315.352094 # at epoch
}
Obliquity 23.45 # mean axis
EquatorAscendingNode 0.0 # mean axis
RotationOffset 38
Albedo 0.12
}
"L4" "Sol/Earth-Moon"
{
Class "Invisible"
Class "Moon"
#CustomOrbit "Moon"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 379700
Eccentricity 0.054900
Inclination 5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 15.352094 # at epoch
}
}
==============================
NEARSTARS.STC:
Barycenter "Earth-Moon-Bary"
{
OrbitBarycenter "Sol"
EllipticalOrbit {
Period 1.0000
SemiMajorAxis 1.0000
Eccentricity 0.0167
Inclination 0.0001
AscendingNode 348.739
LongOfPericenter 102.947
MeanLongitude 100.464
}
}
Barycenter "L5-Bary"
{
OrbitBarycenter "Earth-Moon-Bary"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 0.074802631 #27.321661 - in YRS
SemiMajorAxis 0.002538101604278
Eccentricity 0.054900
Inclination -5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 255.352094 # at epoch
}
}
"Microstar"
{
OrbitBarycenter "L5-Bary"
EllipticalOrbit
{
Period 0.000003803 # 2 MINUTES #0.00336550943 # in years
SemiMajorAxis 0.000000107 # 16KM in AU
Eccentricity 0
}
SpectralType "M"
AbsMag 27
Radius 0.5 # override as we can't set AbsMag low enough!
}
========================
L5 OBJECTS.SSC:
"L5 Nearside" "Sol/Earth-Moon/L5"
{
Class "Spacecraft"
#Beginning "2001 01 01 12:00:00"
#Mesh "L5 Cylinder Window Glass and Clouds DSTAR.3ds"
#Mesh "L5 Cylinder.3ds"
Mesh "_test.3ds"
Radius 27.200 #3600m radius generates Earth gravity at rim
EllipticalOrbit {
Period 89
SemiMajorAxis 30 #200 miles altitude
MeanAnomaly 0
}
Obliquity 90
RotationPeriod -0.03333333333 #two minute rotation period
Precession 60 #0.070597587721118949178935806365832
Albedo 0.10
}
I've moved this post from the Celestia Users Forum in the hope that someone in this forum will have some expertise. Haven't had any response at all in the Users forum , so maybe that wasn't the best place to post it. (I'm new and inexperienced in this forum ), but I'm hoping to find some experts/coders here!
For ages I've had an Earth-Moon barycenter kludge for version 1.3.2 and that seems to work OK, so I don't nescessarily want to replace that with barycenters, but I would like to have 3 very small "microstars" orbiting an object or object(s) located at L5 (the Earth-Moon system's trailing lagrangian point).
Yes, I know it's not the usual sort of thing to do with a star, but the idea is that the microstars (maybe only a few 10's of metres in radius) would simulate the reflection of the sun in the 'mirrors' of my O'Neill habitats, and enable me to project light into the interior of the habitats, giving a realistic simulation of life inside.
For background details, see my posts here:
http://celestiaproject.net/forum/viewtopic.php ... de069b3ef9
I thought the logical solution for this would be to place a new barycenter at each of the locations in my existing system, working outwards, adding barycenters orbiting barycenters, until I reach each habitat, and then orbit the "stars" around the final barycenter. ie. create barycenter clones of existing points, the final 2 barycenters being located at the center of each of the 2 habitats.
eg:
1. Define a Barycenter with the same orbital elements as my existing Earth-Moon location.
2. Define a Barycenter with the same orbital elements as my existing L5 point. (ie. orbiting Earth-Moon Barycenter)
3. Define a Barycenter with the same orbital elements as the existing objects orbiting L5 (ie. orbiting L5-Bary)
4. 2 more stationary barycenters centred on the habitats.
5. 2 sets of 3 microstars would orbit these final Barycenters.
The reason I'm doing it this way is because as far I'm aware, stars can only orbit barycenters and not solar-system objects such as planets, moons and spacecraft. (I don't think there's any way to implement this scheme for v1.3 users though, because of the use of barycenters)
The problem I'm having is that the first barycenter works fine (Earth-Moon-Bary), but the second L5-Bary (which orbits the first) seems to have an inclination?? which I just cant get rid of. It needs to be placed always exactly at my L5 point, but it appears to travel above and below the Earth-Moon orbit, crossing twice at L5. It does however appear to track L5 around the orbit (which is good).
Is anyone able to help me out with this ? (see extracts from SSC's below)
The other thing I have noticed is that it seems that the Barycenter elements have to be expressed in AU's rather than KM's, and YRs rather than days. This doesn't make it any easier to clone my existing orbits as I don't know what the exact conversion factors are (I'm currently assuming 149,600,000 km/AU and 365.25 days/year). I'm going to need to position them extremely accurately for this to work....
The 3 microstars need to be 120 degrees apart in circular orbits of between perhaps 8-16km's radius with a period of 2 minutes (so that they rotate with the 3 mirrors). I'll probably have to finely adjust their positions once I've got them roughly positioned at the mirrors, but because of the problem above, I'm currently about 3-400,000 kms away
The other minor problems I have to work out, is:
1. how to point the axis of the habitats directly at Sol,
2. how to position one habitat above and one below the L5 orbital plane.I think I've solved this one -- I realized that the axis of my models at L5 were pointing away 'above' the sun by an angle equivalent to the obliquity of the Earth, so I just adjusted the obliquity of my spacecraft by the same amount.
I'll prob. do this by specifying yet another orbit with a semi-major component equal to the required separation of the habitats, and a period equal to the age of the universe (so they won't be moving for a while )
3. the last problem is how to KEEP them pointing at the sun. (As the Earth -Moon system orbits the Sun, after 6 months they will be pointing directly away from the sun). So I need to move the orientation of their axes by approx. 1 deg per day (360/365.25) in the correct direction backwards along the plane of the Earth-Moon systems orbit around the Sun.
This WIKI explains the mechanics involved - http://en.wikipedia.org/wiki/O%27Neill_cylinder : As they orbit, the gyroscopic effect of the rotating cylinders would naturally cause the habitat's mirrors to stop pointing at the sun. O'Neill and his students carefully worked out a method of aiming the habitats. First, the pair of habitats can be rolled by operating the cylinders as momentum wheels. If one is slightly retarded, the two cylinders will rotate about each other. Once the plane formed by the two axes of rotation is perpendicular (in the roll axis) to the orbit, then the pair of cylinders can be yawed to aim at the sun, by exerting a force between the two sunward bearings: away from each other will cause both cylinders to gyroscopically precess, and the system will yaw in one direction, towards each other will cause yaw in the other direction.
Can the precession command perhaps be used to simulate this yaw? It will effectively be perpendicular to the axis of rotation.
extracts from:
SOLARSYS.SSC:
"Earth-Moon" "Sol"
{
Class "Invisible"
CustomOrbit "Earth-Moon"
EllipticalOrbit {
Period 1.0000
SemiMajorAxis 1.0000
Eccentricity 0.0167
Inclination 0.0001
AscendingNode 348.739
LongOfPericenter 102.947
MeanLongitude 100.464
}
Obliquity -23.45
RotationOffset 280.5 # offset at default epoch J2000
}
"Earth" "Sol/Earth-Moon"
{
Texture "earth.*"
NightTexture "earthnight.*"
# SpecularTexture "earth-spec.*"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.5 0.5 0.55 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 6378.140 # equatorial
# Oblateness 0.0034
# BumpMap "earthbump.*"
# BumpHeight 4.5
Atmosphere {
Height 60
Lower [ 0.43 0.52 0.65 ]
Upper [ 0.26 0.47 0.84 ]
Sky [ 0.40 0.6 1.0 ]
Sunset [ 1.0 0.6 0.2 ]
# Sunset [ 0.3 1.0 0.5 ]
CloudHeight 7
CloudSpeed 65
CloudMap "earth-clouds.*"
}
CustomOrbit "Earth"
EllipticalOrbit {
#Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 4700
Eccentricity 0 # 0.054900
Inclination 0
MeanAnomaly 0.00
}
RotationPeriod 23.9344694 # 23.93419
Obliquity -23.45
RotationOffset 280.5 # offset at default epoch J2000
Albedo 0.30
}
"L5" "Sol/Earth-Moon"
{
Class "Invisible"
Class "Moon"
#CustomOrbit "Moon"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 379700
Eccentricity 0.054900
Inclination 5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 255.352094 # at epoch
}
Radius 1.0
}
"Moon" "Sol/Earth-Moon"
{
Texture "moon.*"
BumpMap "moonbump.*"
BumpHeight 0.3
Radius 1737.53
# Oblateness 0.002
#CustomOrbit "moon"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 379700
Eccentricity 0.054900
Inclination 5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 315.352094 # at epoch
}
Obliquity 23.45 # mean axis
EquatorAscendingNode 0.0 # mean axis
RotationOffset 38
Albedo 0.12
}
"L4" "Sol/Earth-Moon"
{
Class "Invisible"
Class "Moon"
#CustomOrbit "Moon"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 27.321661
SemiMajorAxis 379700
Eccentricity 0.054900
Inclination 5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 15.352094 # at epoch
}
}
==============================
NEARSTARS.STC:
Barycenter "Earth-Moon-Bary"
{
OrbitBarycenter "Sol"
EllipticalOrbit {
Period 1.0000
SemiMajorAxis 1.0000
Eccentricity 0.0167
Inclination 0.0001
AscendingNode 348.739
LongOfPericenter 102.947
MeanLongitude 100.464
}
}
Barycenter "L5-Bary"
{
OrbitBarycenter "Earth-Moon-Bary"
EllipticalOrbit {
Epoch 2452583.763194445 # 2002 Nov 5 06:19UT (Galileo encounter)
Period 0.074802631 #27.321661 - in YRS
SemiMajorAxis 0.002538101604278
Eccentricity 0.054900
Inclination -5.15
AscendingNode 220.288958 # at epoch
ArgOfPericenter 301.622765 # at epoch
MeanAnomaly 255.352094 # at epoch
}
}
"Microstar"
{
OrbitBarycenter "L5-Bary"
EllipticalOrbit
{
Period 0.000003803 # 2 MINUTES #0.00336550943 # in years
SemiMajorAxis 0.000000107 # 16KM in AU
Eccentricity 0
}
SpectralType "M"
AbsMag 27
Radius 0.5 # override as we can't set AbsMag low enough!
}
========================
L5 OBJECTS.SSC:
"L5 Nearside" "Sol/Earth-Moon/L5"
{
Class "Spacecraft"
#Beginning "2001 01 01 12:00:00"
#Mesh "L5 Cylinder Window Glass and Clouds DSTAR.3ds"
#Mesh "L5 Cylinder.3ds"
Mesh "_test.3ds"
Radius 27.200 #3600m radius generates Earth gravity at rim
EllipticalOrbit {
Period 89
SemiMajorAxis 30 #200 miles altitude
MeanAnomaly 0
}
Obliquity 90
RotationPeriod -0.03333333333 #two minute rotation period
Precession 60 #0.070597587721118949178935806365832
Albedo 0.10
}