Skip to content

The University of Michigan Mars Rover Team workspace.

Notifications You must be signed in to change notification settings

thecoopster20/mrover-workspace

 
 

Repository files navigation

MRover

This is the repository for all custom software written for the University of Michigan Mars Rover team (MRover). The repository is largely self-contained, with the MRover 2017-18 build system jarvis contained in the source tree.

Development

It is recommended that you use our Vagrant box. This will set up a virtual machine for development using the Ansible configurations that we have to set up the production base station and production onboard computer.

It is most convenient to use the vagrant-gatling-rsync plugin for Vagrant, which can automatically synchronize the files into the VM efficiently.

$ vagrant plugin install vagrant-gatling-rsync

Then, to launch the VM:

$ vagrant up
$ vagrant ssh

If you would prefer not to use a virtual machine for development, you may use the Ansible configurations provided to configure a Ubuntu 16.04-based system. No other development environments will be supported.

Running the Software (Ubuntu only)

Begin by cloning this git repository:

$ git clone https://github.com/umrover/mrover-workspace.git
$ cd mrover-workspace

Next, force Jarvis to bootstrap itself:

$ ./jarvis

The output of the previous command will list all the buildable components in this repository. They have a one-to-one correspondence with the directories at the root of this repository.

Choose some components to build and build them:

$ ./jarvis build.onboard_teleop
$ ./jarvis build.base_station_gui
...

Once you have built the components, you can run them easily with jarvis exec:

$ ./jarvis exec onboard_teleop
$ ./jarvis exec base_station_gui
...

To build and run the entire onboard software system, run:

$ ./jarvis build.onboard
$ ./jarvis run.onboard

You may optionally specify the particular rover's onboard stack you wish to run (i.e. hughey or 18 at this point) using the --rover command-line option. Currently, Jarvis defaults to hughey.

Jarvis In-depth Documentation

See here.

Contribution Workflow

Assumption: You have configured your SSH keys with GitHub. Additionally, you have a working knowledge of the Unix command line and have set up Git for your operating system.

Begin by forking this repository. This will give you your own workspace in which to make contributions.

Next, clone your fork:

$ git clone git@github.com:<your-github-username>/mrover-workspace.git
$ cd mrover-workspace

Add the official MRover repository as upstream:

$ git remote add upstream https://github.com/umrover/mrover-workspace.git

Now, you are ready to develop.

Before you make your changes, ensure that they still work by building the component you modified. Jarvis automatically tests and style-checks your code as part of a normal build, so if the system builds with your changes, you are ready to submit them.

Once you've made a change that you're ready to contribute, commit it and push it to your fork (called origin in git). Afterwards, open a pull request in the GitHub UI. This will be merged by an MRover Software Lead after a short review.

About

The University of Michigan Mars Rover Team workspace.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 73.0%
  • JavaScript 13.4%
  • Vue 7.0%
  • Shell 5.0%
  • HTML 0.8%
  • Meson 0.4%
  • C++ 0.4%