simulation time
Closed this issue · 5 comments
I want to know that this is a whole simulation. What is the mechanism of time control
It's like when I ./bent_pipe ../configuration/planet-050-ns-002/, it's always running.
must waiting for the real trigger time?
If I want to deploy a 200 satellite constellation according to the orbital parameters, what are the suggestions for such a simulation? Can we conduct inter satellite communication?
If I want to deploy a 200 satellite constellation according to the orbital parameters, what are the suggestions for such a simulation? Can we conduct inter satellite communication?
I see that the .tle of all scenes in the sample is the same. The main problem is to want to how to specific the orbit parameters of all satellites.
The bent_pipe
example simulates a constellation of satellites generated from a single “seed” satellite TLE and a constellation configuration file (the generate-constellation-configuration
example provides more details for generating a constellation configuration file, particularly generate-constellation-configuration/scripts/generate_constellation_files.py
). It simulates data collection and data transmission to ground stations.
Other examples simulate other systems, e.g. generate-voltage-trace
simulates satellite energy collection, energy storage, and energy consumption by various peripherals as they transition between power modes.
Simulation time is controlled by the date-time.dat
file (simulation start time), num-steps.dat
file (number of simulation time steps to perform), and time-step.dat
file (time between each simulation time step). In some cases, you can increase the time step to increase simulation speed at the expense of accuracy.
For the bent_pipe
example, simulation could take awhile especially on slower computers (the program is CPU-bound and not memory-bound). Larger numbers of satellites and larger numbers of ground stations will increase execution time.
The bent_pipe
example is designed to simulate future constellations generated from a single “seed” satellite TLE, but it easily could be modified to simulate many different deployed satellites using many different satellite TLE files.
A starting point would be to change this line:
into a vector, like this line:
File parsing (satelliteFile = it->path();
) would need to be updated (e.g. satelliteFiles.push_back(it->path());
) as well as the // Set up satellites
block similar to the // Set up ground stations
block.
If you make these changes, please do submit a pull request as a new directory under cote/examples
!
Crosslinks are supported; for example, see:
cote/software/channel/source/Channel.cpp
Line 136 in 8bd3c46
However, crosslinking has not been tested in any of the examples.
The
bent_pipe
example simulates a constellation of satellites generated from a single “seed” satellite TLE and a constellation configuration file (thegenerate-constellation-configuration
example provides more details for generating a constellation configuration file, particularlygenerate-constellation-configuration/scripts/generate_constellation_files.py
). It simulates data collection and data transmission to ground stations.Other examples simulate other systems, e.g.
generate-voltage-trace
simulates satellite energy collection, energy storage, and energy consumption by various peripherals as they transition between power modes.Simulation time is controlled by the
date-time.dat
file (simulation start time),num-steps.dat
file (number of simulation time steps to perform), andtime-step.dat
file (time between each simulation time step). In some cases, you can increase the time step to increase simulation speed at the expense of accuracy.For the
bent_pipe
example, simulation could take awhile especially on slower computers (the program is CPU-bound and not memory-bound). Larger numbers of satellites and larger numbers of ground stations will increase execution time.The
bent_pipe
example is designed to simulate future constellations generated from a single “seed” satellite TLE, but it easily could be modified to simulate many different deployed satellites using many different satellite TLE files.A starting point would be to change this line:
into a vector, like this line:
File parsing (
satelliteFile = it->path();
) would need to be updated (e.g.satelliteFiles.push_back(it->path());
) as well as the// Set up satellites
block similar to the// Set up ground stations
block.If you make these changes, please do submit a pull request as a new directory under
cote/examples
!Crosslinks are supported; for example, see:
cote/software/channel/source/Channel.cpp
Line 136 in 8bd3c46
However, crosslinking has not been tested in any of the examples.
Thank you for your answer. Next, I'll try to build a new scene and share.
I still need to confirm that crosslink refers to inter satellite links?
Yes, crosslink refers to communication between two satellites (https://github.com/CMUAbstract/cote/blob/master/references/wertz1999space.pdf PDF page 277 Fig. 13-1). You will need to provide rx-*.dat
and tx-*.dat
for each satellite, since each crosslink channel requires a Transmitter
and a Receiver
(bent-pipe
example only uses tx-*.dat
for each satellite).