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:
ROS Indigo (for Ubuntu 14.04 trusty or Linux Mint 17)
ROS Kinetic (for Ubuntu 16.04 xenial or Linux Mint 18)
ROS2 Foxy (for Ubuntu 20.04 focal or Linux Mint 20)
Follow these steps for getting the robosub code on your computer. First, make sure you have ssh authentication setup with gitlab. 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 gitlab! 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 0 Welcome to GitLab, @user! Connection to gitlab.com closed.
Finally, we need to setup our ROS workspace with the robosub code.
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt install python3-rosdep2 python3-colcon-common-extensions ros-foxy-gazebo-ros ros-foxy-gazebo-plugins mkdir -p ~/ros/src cd ~/ros/src git clone https://gitlab.com/PalouseRobosub/Software/robosub.git git clone https://gitlab.com/PalouseRobosub/Software/robosub_simulator.git git clone https://gitlab.com/PalouseRobosub/Software/robosub_msgs.git cd robosub git checkout ros2 cd ../robosub_msgs git checkout ros2 cd ../robosub_simulator git checkout ros2 cd ~/ros colcon build echo "source ~/ros/install/setup.bash" >> ~/.bashrc echo 'alias rsmake="(cd ~/ros && colcon build)"' >> ~/.bashrc source ~/.bashrc
From now on you should be able to compile code using
rsmake from any directory.