Skip to content

Commit 6816a9a

Browse files
committed
repointing repos according to new structure & location.
1 parent fa00110 commit 6816a9a

11 files changed

Lines changed: 68 additions & 53 deletions

File tree

.gitmodules

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
[submodule "source/circinus_sim"]
22
path = source/circinus_sim
3-
url = git@github.com:apollokit/circinus_sim.git
4-
branch = master
3+
url = git@github.com:MIT-STARLab/circinus_sim.git
4+
branch = master
55
[submodule "source/circinus_orbit_propagation"]
66
path = source/circinus_orbit_propagation
7-
url = git@github.com:apollokit/circinus_orbit_propagation.git
7+
url = git@github.com:MIT-STARLab/circinus_orbit_propagation.git
88
branch = master
99
[submodule "source/circinus_orbit_viz"]
1010
path = source/circinus_orbit_viz
11-
url = git@github.com:apollokit/circinus_orbit_viz.git
11+
url = git@github.com:MIT-STARLab/circinus_orbit_viz.git
1212
branch = master
1313
branch = master
1414
[submodule "source/circinus_global_planner"]
1515
path = source/circinus_global_planner
16-
url = git@github.com:apollokit/circinus_global_planner.git
16+
url = git@github.com:MIT-STARLab/circinus_global_planner.git
1717
branch = master
1818
[submodule "source/circinus_orbit_link"]
1919
path = source/circinus_orbit_link
20-
url = git@github.com:apollokit/circinus_orbit_link.git
20+
url = git@github.com:MIT-STARLab/circinus_orbit_link.git
21+
[submodule "source/circinus_tools"]
22+
path = source/circinus_tools
23+
url = git@github.com:MIT-STARLab/circinus_tools.git

README.md

Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,104 @@
1-
# CIRCINUS
1+
# SPRINT
22

3-
**C**onstellation
4-
**I**nvestigation
5-
**R**epository with
6-
**C**ommunications,
7-
**I**nter-agent
8-
**N**etworking,
9-
**U**ncertainty, and
103
**S**cheduling
4+
**P**lanning
5+
**R**outing
6+
**I**nter-satellite
7+
**N**etworking
8+
**T**ool
119

1210
# General Setup
1311

14-
1. Clone the repo: `git clone --recursive git@github.edu:apollokit/circinus.git`
12+
1. Clone the repo: `git clone --recursive git@github.com:apollokit/circinus.git`
1513
1. Set up your environment:
16-
1. Install and configure your default `python` and pip to exactly Python **3.5**, (recommended in a virtual environment, see next step).
17-
1. Recommended: Direct installation, if needed: Download from https://www.python.org/downloads/. Note that the global planner code is currently tested with Python 3.5.4.
18-
1. Not recommended: alternatively Homebrew, [pyenv to set to 3.5](https://github.com/pyenv/pyenv).
14+
1. Install and configure your default `python` and pip to exactly Python **3.6**, (recommended in a virtual environment, see next step).
15+
1. Recommended: Direct installation, if needed: Download from https://www.python.org/downloads/. Note that the global planner code is currently tested with Python 3.6.7.
16+
1. Not recommended: alternatively Homebrew, [pyenv to set to 3.6](https://github.com/pyenv/pyenv).
1917
1. Pick your poison and stick with it or it'll get messy.
2018
1. Confirm your version of Python (`python --version`) & location of the installation (`which python`) is the same for all subsequent steps.
2119
1. Make the virtual environment:
22-
1. cd to your new circinus repo
20+
1. cd to your new SPRINT repo
2321
1. Install virtual environment executable if needed, `pip install virtualenv`
2422
1. Create the virtual environment and install requirements with `./create_virtualenv.sh`
25-
1. Note that this DOES NOT install the required matlab package needed for many CIRCINUS repos. See below for those instructions
23+
1. Note that this DOES NOT install the required matlab package needed for many SPRINT repos. See below for those instructions
2624
1. Activate the virtual environment: `source source_virtualenv`
27-
1. Install [Matlab python engine](https://www.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html?refresh=true) (assumed Matlab 2017a+ installed).
25+
1. Install [Matlab python engine](https://www.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html?refresh=true). Last tested with Matlab 2019b.
2826
1. Ensure the correct version of python is enabled being referenced where you execute this installation command (pyenv is directory specific, for instance).
2927
2. Sudo or admin terminal will be necessary.
30-
3. after installation, check output of `pip freeze` to see that a line like `matlabengineforpython===R2017a` appears.
28+
3. after installation, check output of `pip freeze` to see that a line like `matlabengineforpython===R2019b` appears.
3129
4. install screen. Ubuntu: `sudo apt-get install screen`
30+
5. `nano source/
31+
_tools/matlab_if/interface.py`, edit `matlab_ver='NOT_SET'` in MatlabIF's init to be `matlab_ver='MATLAB_R2019b'`, according to your version.
3232
1. Install Gurobi:
3333
1. Download and install [Gurobi 8.0.0](http://www.gurobi.com/downloads/gurobi-optimizer)
34-
1. Acquire and activate Gurobi License ([Academic is free if appropriate](https://user.gurobi.com/download/licenses/free-academic))
34+
1. Acquire and activate Gurobi License ([Academic is free if appropriate](https://www.gurobi.com/downloads/end-user-license-agreement-academic/))
3535
1. Framework setting:
3636
1. `nano ~/.matplotlib/matplotlibrc`
3737
1. add line: `backend: TkAgg`
3838

3939
# GlobalPlanner-only Demo:
4040
1. Setup:
41-
1. Init empty folder for outputs: `mkdir CIRCINUS/source/access_global_planner/python_runner/plots`
42-
1. Ensure scenario referenced by each stage in the pipeline is the same by settings at top of<br> `run_gp.sh` and `run_circinus.sh`:<br>
41+
1. Init empty folder for outputs: `mkdir SPRINT/source/access_global_planner/python_runner/plots`
42+
1. Ensure scenario referenced by each stage in the pipeline is the same by settings at top of<br> `run_gp.sh` and `run_circinus.sh` (in `SPRINT/scripts`):<br>
4343
```
4444
dir_opt=1day
4545
scen_name=zhou2017_comparison
4646
dir_opt_params=dlnk_and_xlnk
4747
```
4848
1. Set solver to Gurobi (alternatively set up CPLEX instead of Gurobi above):
49-
1. Navigate to: `CIRCINUS/inputs/1day/zhou2017_comparison/dlnk_and_xlnk` (per above settings)
49+
1. Navigate to: `SPRINT/inputs/1day/zhou2017_comparison/dlnk_and_xlnk` (per above settings)
5050
1. Modify `const_sim_params_fullday.json` and `gp_general_params_inpus.json`:
5151
1. change value associated with `solver_name` to `gurobi`
5252
1. Run:
53-
1. Navigate to `CIRCINUS/scripts`
53+
1. Navigate to `SPRINT/scripts`
5454
1. Circinus must be run first: `./run_circinus.sh`
5555
1. Copy output file to inputs location: `cp ../source/circinus_orbit_link/python_runner/data_rates_output.json ../inputs/1day/zhou2017_comparison/dlnk_and_xlnk/`
5656
1. Run Global Planner: `./run_gp.sh`
5757
5858
# Simulation Pipeline Demo:
5959
1. Setup:
6060
1. Init empty folder for outputs:<br>
61-
`mkdir CICINUS/source/circinus_sim/python_runner/logs`<br>
62-
`mkdir CICINUS/source/circinus_sim/python_runner/pickles`<br>
63-
`mkdir CICINUS/source/circinus_sim/python_runner/plots`<br>
64-
1. In `CIRCINUS/inputs/1day/zhou2017_comparison/dlink_and_xlink/const_sim_params_fullday.json`<br>
61+
`mkdir SPRINT/source/circinus_sim/python_runner/logs`<br>
62+
`mkdir SPRINT/source/circinus_sim/python_runner/pickles`<br>
63+
`mkdir SPRINT/source/circinus_sim/python_runner/plots`<br>
64+
1. In `SPRINT/inputs/1day/zhou2017_comparison/dlnk_and_xlnk/const_sim_params_fullday.json`<br>
6565
set `restore_from_checkpoint` to `false` for (at least) the first run.
66-
1. Ensure scenario referenced at top of `run_const_sim` references:<br>
66+
1. Ensure scenario referenced at top of `scripts/run_const_sim.sh` references:<br>
6767
```
6868
dir_opt=1day
6969
scen_name=zhou2017_comparison
7070
dir_opt_params=dlnk_and_xlnk
7171
```
7272
1. Set solver to Gurobi (alternatively set up CPLEX instead of Gurobi above):
73-
1. Navigate to: `CIRCINUS/inputs/1day/zhou2017_comparison/dlnk_and_xlnk` (per above settings)
73+
1. Navigate to: `SPRINT/inputs/1day/zhou2017_comparison/dlnk_and_xlnk` (per above settings)
7474
1. Modify `const_sim_params_fullday.json` and `gp_general_params_inpus.json`:
7575
1. change value associated with `solver_name` to `gurobi`
7676
7777
2. Run:
78-
1. Navigate to `CIRCINUS/scripts`
78+
1. Navigate to `SPRINT/scripts`
79+
1. Circinus must be run first: `./run_circinus.sh`
80+
1. Copy output file to inputs location: `cp ../source/circinus_orbit_link/python_runner/data_rates_output.json ../inputs/1day/zhou2017_comparison/dlnk_and_xlnk/`
7981
1. Run simulation: `./run_const_sim.sh`
8082
8183
# Updating git submodules
8284
8385
In general you should use the command `git submodule update --recursive`. This checks out all the right commits for all the (possibly multiple layers of) submodules within the top git repo. `git pull` by itself won't do it.
8486
85-
In CIRCINUS there are actually submodules within the submodules in many cases, so the `--recursive` flag is needed to recursively update all layers of submodules.
87+
In SPRINT there are actually submodules within the submodules in many cases, so the `--recursive` flag is needed to recursively update all layers of submodules.
8688
87-
Note that working with git submodules can be a bit confusing. Usually when you update submodules you'll afterwards find the submodule in a detached state, saying something like `HEAD detached at af4512d` at the command line - it's no longer on an existing branch. This is alright, and is related to the fact that git thinks of submodules as a specific commit for a remote repo, and not a branch. However, we have added branch information in .gitmodules file in CIRCINUS that specifies which branch to track for the submodules. In this case you can use the command: `git submodule update --recursive --remote` to update to the most recent commit of the desired branch for that submodule. One problem here though is that when you directly pull the latest commit on a submodule branch with this method, the commit in the repo containing the submodule may not have updated its commit history for that submodule, and this will be reflected with the "new commits" indicator when you run `git status`. Basically, unless all the repos from top to bottom (through all submodules) are committed (within the parent repo) at the latest commit for the specified branch, you'll have an out of date repo somewhere. General rule to keep in mind: as long as `git status` from the top-most repo indicates no changes, your submodules are all checked out on the right commit.
89+
Note that working with git submodules can be a bit confusing. Usually when you update submodules you'll afterwards find the submodule in a detached state, saying something like `HEAD detached at af4512d` at the command line - it's no longer on an existing branch. This is alright, and is related to the fact that git thinks of submodules as a specific commit for a remote repo, and not a branch. However, we have added branch information in .gitmodules file in SPRINT that specifies which branch to track for the submodules. In this case you can use the command: `git submodule update --recursive --remote` to update to the most recent commit of the desired branch for that submodule. One problem here though is that when you directly pull the latest commit on a submodule branch with this method, the commit in the repo containing the submodule may not have updated its commit history for that submodule, and this will be reflected with the "new commits" indicator when you run `git status`. Basically, unless all the repos from top to bottom (through all submodules) are committed (within the parent repo) at the latest commit for the specified branch, you'll have an out of date repo somewhere. General rule to keep in mind: as long as `git status` from the top-most repo indicates no changes, your submodules are all checked out on the right commit.
8890
8991
For pushing from a detached HEAD to the master branch at origin: `git push origin HEAD:master`
92+
93+
94+
# History
95+
SPRINT was initiated as CIRCINUS, by [apollokit](https://github.com/apollokit)
96+
97+
**C**onstellation
98+
**I**nvestigation
99+
**R**epository with
100+
**C**ommunications,
101+
**I**nter-agent
102+
**N**etworking,
103+
**U**ncertainty, and
104+
**S**cheduling

inputs/1day/zhou2017_comparison/dlnk_and_xlnk/const_sim_params_2.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"restore_gp_output_from_pickle" : false,
1515
"pickle_gp_output" : false,
1616
"gp_output_pickle_to_restore" : "pickles/gp_output_2018-05-16T21_02_42.778960.pkl",
17-
"gp_path" : "/Users/ktikennedy/Dropbox (MIT)/MIT/Research/CIRCINUS/GlobalPlanner",
17+
"gp_path" : "[pathto]/CIRCINUS/GlobalPlanner",
1818
"gp_params": {
1919
"_comments": [
2020
"planning_past_horizon_mins allows us to look back at windows in the past in the global planner. not sure this is useful because you can't make decisions about the scheduling of those windows.",

scripts/run_circinus.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ link_inputs=orbit_link_inputs.json
4141

4242

4343
ORBIT_PROP_PATH="../source/circinus_orbit_propagation"
44-
ORBIT_LINK_PATH="../source/circinus_orbit_link_public"
44+
ORBIT_LINK_PATH="../source/circinus_orbit_link"
4545
ORBIT_VIZ_PATH="../source/circinus_orbit_viz"
4646

4747
# this is relative to THIS file

scripts/run_const_sim.sh

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,26 @@
22

33

44
dir_opt=1day
5-
# scen_name=zhou2017_comparison
6-
scen_name=sso10sat
5+
scen_name=zhou2017_comparison
6+
# scen_name=sso10sat
77
# scen_name=walker30_inc30
88
# dir_opt_params=polar_gs_targs3/dlnk_only
9-
dir_opt_params=polar_gs_targs3/dlnk_and_xlnk
9+
# dir_opt_params=polar_gs_targs3/dlnk_and_xlnk
1010
# dir_opt_params=polar_gs_targs3/dlnk_and_xlnk_lessES
1111
# dir_opt_params=polar_gs_targs3/dlnk_and_xlnk_oppositetxrx
1212
# dir_opt_params=polar_gs_targs3/dlnk_and_xlnk_oppositetxrx_dlnk_disable
1313
# dir_opt_params=polar_gs_targs3/dlnk_and_xlnk_oppositetxrx_inject
14-
# dir_opt_params=dlnk_and_xlnk
14+
dir_opt_params=dlnk_and_xlnk
1515
# dir_opt_params=dlnk_and_xlnk_obj_sensitivity
1616
# dir_opt_params=17gs_targs3/dlnk_only
1717
# dir_opt_params=17gs_targs3/dlnk_and_xlnk
1818
# dir_opt_params=17gs_targs3/dlnk_and_xlnk_oppositetxrx
1919
const_sim_params_inputs=const_sim_params_fullday.json
2020

2121
# NOTE! THIS MUST MATCH PARAMS ABOVE!
22-
restore_pickle_cmdline_opt=true
22+
restore_pickle_cmdline_opt=false
2323
# restore_pickle_cmdline_opt=true
24-
# restore_pickle_cmdline_name="/Users/ktikennedy/Dropbox (MIT)/MIT/Research/PhD/results/thesis_v1/const_sim_validation_run3/sim_checkpoint_2016_02_15T04_00_00.pkl"
25-
# restore_pickle_cmdline_name="/Users/ktikennedy/Dropbox (MIT)/MIT/Research/PhD/results/thesis_v1/lp_validation/sim_checkpoint_2016_02_14T14_00_00.pkl"
26-
# restore_pickle_cmdline_name="/Users/ktikennedy/Dropbox (MIT)/MIT/Research/CIRCINUS/CIRCINUS/source/circinus_sim/python_runner/pickles/sim_checkpoint_2016_02_14T12_00_00.pkl"
27-
restore_pickle_cmdline_name="/Users/ktikennedy/Dropbox (MIT)/MIT/Research/CIRCINUS/CIRCINUS/inputs/1day/sso10sat/polar_gs_targs3/dlnk_and_xlnk/sim_checkpoint_2018_01_19T00_00_00.pkl"
28-
# restore_pickle_cmdline_name="/Users/ktikennedy/Dropbox (MIT)/MIT/Research/CIRCINUS/CIRCINUS/inputs/1day/walker30_inc30/17gs_targs3/dlnk_only/sim_checkpoint_2018_01_19T00_00_00.pkl"
24+
restore_pickle_cmdline_name="[pathto]/inputs/1day/sso10sat/polar_gs_targs3/dlnk_and_xlnk/sim_checkpoint_2018_01_19T00_00_00.pkl"
2925

3026

3127

0 commit comments

Comments
 (0)