Code submission instructions - NeLy-EPFL/cobar-miniproject-2023 GitHub Wiki

Please use this template to submit your code for your COBAR miniproject. You have to submit the code for grading even if the contest is ungraded.

You should populate this notebook with your own code. As an example, we also provided this filled version of the template based on the decentralized demo in Week 9.


PLEASE READ THE INSTRUCTIONS BELOW CAREFULLY.

Google Colab: It is your responsibility to make sure that your code can be executed without error on Google Colab. You may use your own machine for development, but in the end we will use Colab to determine whether your code runs. You need to select a GPU instance on Google Colab for this notebook. Go to "Runtime" > "Change runtime type", select "GPU" under "Hardware accelerator" and click "Save."

Where to put your code: Please only fill your code in places indicated by the following. These cells are provided flexibly enough, and you should be able to easily add your custom import/loading/preprocessing/stepping code. You may also use common *.py module files and import functions/classes from these modules.

# ========== YOUR CODE BELOW ==========
... write your code here
# ^^^^^^^^^^ END OF YOUR CODE ^^^^^^^^^

Terrain types: Once you have completed this notebook for flat terrain, duplicate 2 more copies of this notebook, and change the terrain type to "gapped" and "blocks" respectively. Make sure you can run all three notebooks on Colab.

Stabilization time: Recall from the decentralized control demo: it might be helpful to first run a number of steps (n_steps_stabil) without locomotion so the fly has a chance to stabilize on the ground. This is allowed and does not count toward the 1-second simulation time.

What to submit: Please submit the following files via Moodle:

  1. The three executed notebooks (ie. the outputs of the code blocks are printed). Name these files "submission_flat.ipynb", "submission_gapped.ipynb", and "submission_blocks.ipynb"
  2. The three output videos: "output_flat.mp4", "output_gapped.mp4", and "output_blocks.mp4"
  3. Any data file that are required for the notebooks to run (eg. parameter files, additional configurations, ...). In other words, include any file that you are loading to the notebooks. We will download these files to the same directory/folder as the notebook files before running the notebooks.
  4. If you have any *.py module file from which you imported variables, functions, or classes, included these files too.