The purpose of this page is to get new CS developers up and going for robosub. If you have any questions, feel free to ask them on the software slack channel!
The sub itself runs Linux Mint 17.3. As such, we recommend using the same operating system, although any distro based on Ubuntu 14.04 should work. We do not support developing on Windows. We do have limited support for Ubuntu 16.04 (xenial), but right now 14.04 (trusty) is the officially supported version. We only recommend using xenial if you're having issues on your computer with trusty.
If you don't feel comfortable installing linux on your machine yet, you can get started quickly with a virtual machine. However, we highly recommend members to install linux on their machine, the virtual machine works very poorly. You can download our robosub virtualbox disk image here. It's a 2.7GB compressed download, after extracting with 7zip it's around 11GB. This already has the robosub code repository downloaded and all dependencies installed, so you can skip some steps. To run the virtual machine image, you'll first need to download Virtualbox. Note however that you cannot run the simulator within a virtual machine, gazebo7 crashes.
We use primarily C++ for the software on the sub, with a little bit of Python2 (note: not Python3) for the AI. Below are a few links for tutorials for these languages, these are just a few I quickly found to get you started, feel free to search around for other tutorials.
This will setup your computer with our custom robosub package repository, the ROS package repository, and the Gazebo package repository. When you install our robosub/robosub-simulator package, all other dependencies will automatically be downloaded. If you experience any issues, please contact the IT slack channel. Depending on your operating system, follow the instructions on one of these pages:
Follow these steps for getting the robosub code on your computer. First, make sure you have ssh authentication setup with github. You only need to do this once on each computer. To check if you already have keys made for your computer, run:
$ ls ~/.ssh/id_rsa*
If you don't see
id_rsa.pub files, you can create new keys by running:
Just hit enter through all of the prompts. Don't type in a password, the entire point of this is to eliminate the need to use a password with github! Now, copy the contents of
id_rsa.pub and paste the contents in a new key here. To test if this worked, run:
$ ssh email@example.com
If everything is set up correctly, you should expect to see a message like:
PTY allocation request failed on channel 1 Hi user! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.
Finally, we need to setup our ROS workspace with the robosub code.
source ~/.bashrc mkdir -p ~/ros/src cd ~/ros/src catkin_init_workspace git clone firstname.lastname@example.org:PalouseRobosub/robosub.git git clone email@example.com:PalouseRobosub/robosub_simulator.git git clone firstname.lastname@example.org:PalouseRobosub/robosub_msgs.git cd ~/ros catkin_make echo "source ~/ros/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
After this initial run of
catkin_make, you should be able to use
rsmake to compile the software.