Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aerodynamic disturbances #203

Merged
merged 8 commits into from
Feb 1, 2024
Merged

Aerodynamic disturbances #203

merged 8 commits into from
Feb 1, 2024

Conversation

GabrieleMeoni
Copy link
Collaborator

@GabrieleMeoni GabrieleMeoni commented Jan 30, 2024

Description

Summary of changes:

  • Created new function calculate_aero_torque that calculates the aerodynamical torque on the satellite under the hypotesis that the satellite is described by a cuboid mesh, as it is as of now (see geometrical model). The model only works for Earth as a central body as of now. The model is based on the aerodynamical parameters calculation presented in"Roto-Translational Spacecraft Formation Control Using Aerodynamic Forces", Ran S. et al. , JOURNAL OF GUIDANCE, CONTROL, AND DYNAMICS, 2017.
  • Implemented this function in the function calculate_disturbance_torques in attitude_model.py
  • Created pytests for this additional code

Resolved Issues

How Has This Been Tested?

Two types of tests have been created in order to verify and validate the function:

  1. Real word comparison with GOCE data. The satellites perturbations in the same orbit as GOCE shall have the same order of magnitude of reported GOCE perturbations.
  2. Corner cases: in three cases has been evaluated the torque resulting from a simple 1-axial rotation of the satellite which resulted in a predictable torque direction or in no torque at all.

Related Pull Requests

None, attitude model not used in development nor tests.

Copy link
Collaborator Author

@GabrieleMeoni GabrieleMeoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GiordanoNesci. The model looks good, but this code shows poor integrability with PASEOS. You also did not create a PR.

Please, make also sure that you merge the last student branch

paseos/attitude/disturbance_calculations.py Show resolved Hide resolved
"""

# Set data useful for aerodynamic coefficients calculation
temperature_spacecraft = 300 # [K] we could connect this with the thermal model
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a thermal model, this is completely disconnected.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is the possibility to treat the temperature as an input from the thermal model (when the latter is used). As of now the temperature of the spacecraft is treated as a constant, since the model is not sensitive to the temperatures.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, thanks.


# Set data useful for aerodynamic coefficients calculation
temperature_spacecraft = 300 # [K] we could connect this with the thermal model
temperature_gas = 1000 # [K] valid for upper stratosphere, could be completely wrong higher up
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shall be an input or a property of the central body.

temperature_spacecraft = 300 # [K] we could connect this with the thermal model
temperature_gas = 1000 # [K] valid for upper stratosphere, could be completely wrong higher up
altitude = np.linalg.norm(r)-6371 # [km]
density = 10**(-(altitude+1285)/151) # from data fit from thermospheric mass density
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above.

paseos/attitude/disturbance_calculations.py Show resolved Hide resolved
paseos/attitude/aero_disturbance_test.py Outdated Show resolved Hide resolved
paseos/attitude/aero_disturbance_test.py Outdated Show resolved Hide resolved
paseos/attitude/aero_disturbance_test.py Outdated Show resolved Hide resolved
paseos/attitude/aero_disturbance_test.py Outdated Show resolved Hide resolved
paseos/attitude/aero_disturbance_test.py Outdated Show resolved Hide resolved
Reviewed tests and rewritten in pytest
Fixed version of the aero disturbances (there was a j instead of an i in a for loop)
@GiordanoNesci GiordanoNesci added tests Anything related to the tests feature implementing a new feature physical-model All things involving some physical models labels Jan 31, 2024
@GiordanoNesci GiordanoNesci self-assigned this Jan 31, 2024
@GiordanoNesci GiordanoNesci linked an issue Jan 31, 2024 that may be closed by this pull request
@GiordanoNesci
Copy link
Collaborator

GiordanoNesci commented Jan 31, 2024

The model is almost ready to merge, but there are some minor things to fix:

  • Gas temperature and densities shall be moved to be properties of the central body, or inputs
  • The temperature of the spacecraft could be retrieved with the thermal model when it is used in the simulation

I do not know if there are any steps missing to make it implementable in the attitude model (e.g. if there is the need to get the mesh from the geometric model, to the attitude model, to the disturbance functions).

@GabrieleMeoni GabrieleMeoni merged commit 07d215b into student Feb 1, 2024
0 of 3 checks passed
@GabrieleMeoni GabrieleMeoni deleted the aerodynamic-disturbances branch February 1, 2024 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature implementing a new feature physical-model All things involving some physical models tests Anything related to the tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Aerodynamic disturbances in Attitude Model
2 participants