install git make install_everything executable
This README document is a work-in-progress. We will populate this more later.
Let MAAV Software Leadership know if you run into issues during any of the setup.
Additionally, we have simulation instructions for setting up a simulation depth camera and setting up our mast model
The following is a link to the onboarding project for Fall 2022.
This section will go over our team's expectations with using Git/Github. We will also provide a summary of common Git operations in case you are new to using Git with software projects. If you need help with Git/Github, reach out to the team in Slack.
When in doubt, check out "Oh Shit! Git!"
Make sure your identity through Git is setup well.
# List current global config, which may contain identity info
$ git config --global -l
user.name=Drew Scheffer
user.email=drewskis@umich.edu
core.editor=vim
...
# Set or Change some things (for any repository you use)
# Omit --global to just make it for THIS repository
$ git config --global user.name "Drew Scheffer"
$ git config --global user.email "drewskis@umich.edu"
When developing a new feature, bug fix, or set of changes, make a new branch.
This will allow your master
branch to stay clean and organized in terms of
commit history and file changes. If you are added to the MAAV-Software organization,
it will also allow you to push changes to this project and make pull requests
without needing to fork the repository.
Please name your branch in the format uniqname/branch_name
(e.g. drewskis/my_branch)
This project's master
branch is protected, and only Software Leadership can merge
in changes from other branches or forks (more on forks later).
# List branches
$ git branch
# Create a new branch
$ git checkout -b <branch>
# Switch to a branch
$ git checkout <branch>
# Delete a branch (will warn you if branch is not fully merged into master)
$ git branch -d <branch>
Simple GitHub Forking Tutorial:
https://guides.github.com/activities/forking/
Forking repositories is a straightforward approach to making changes to shared repositories. 'Forked' repositories are personal copies of a shared project, in which you can make changes and then offer those changes up to the original project.
If you are officially a member of MAAV Software, forking the repo is optional. However, forking
gives you access control over your pushed changes - whereas anyone else on MAAV Software
can view and make changes to any branch that is not master
.
We will be using Gazebo to simulate vehicle behavior. This is done within a virtual environment to ensure dependencies are setup correctly in our code. Gazebo is already installed for you if you follow the install instructions for your system.