Initial Setup - olinrobotics/gravl GitHub Wiki

Initial Setup

If you ever get an error, look at the troubleshooting section at the bottom first. Then message Nathan or Amy.

Install Ubuntu - Tutorial with pictures here - Everyone planning on working with software should do this!

If you have an Ubuntu stick, skip these instructions How to make an Ubuntu stick:

  • Install Ubuntu disk image from this website (link)
  • Download rufus from this website (link)
  • Use rufus to make a bootable drive from the disk image

If you have an Ubuntu stick, start here!

  • Shut down your computer
  • Plug in the bootable drive
  • Power up your computer
  • As it powers up, hit F12 repeatedly until the boot menu pops up
  • Choose the option that looks like your bootable drive
  • Follow the prompts - Note: BE CAREFUL NOT TO WIPE YOUR WINDOWS PARTITION!

Helpful tip: Every time you restart your computer from now on, it will boot into Ubuntu after 10 seconds if you don't choose to boot into Windows. This can get frustrating rather quickly! To disable this, see this (link)

Install ROS Noetic - Everyone planning on working with ROS should do this!

These instructions are based on the ones at this link. If issues arise, see this link for details: http://wiki.ros.org/noetic/Installation/Ubuntu

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-noetic-desktop-full
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

Set Up a Catkin Workspace - Everyone planning on working with ROS should do this!

For now, don't worry too much about what a catkin workspace is. Just think of it as a directory where all your ROS related things will live. Instructions written based off this (link)

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make

Ideally, catkin_make will count to 100% and then finish. If not, refer to the troubleshooting section below.

Set up this Repo - Everyone planning on working with software for the tractor should do this!

cd ~/catkin_ws/src/
git clone https://github.com/olinrobotics/gravl.git
cd ~/catkin_ws/src/gravl
rosinstall ~/catkin_ws/src gravl.rosinstall
cd ~/catkin_ws/src/gravl
sudo ./setup.sh
cd ~/catkin_ws/
rosdep install -iry --from-paths src
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

Arduino Setup - Everyone planning on working with firmware for the tractor should do this!

2020 Update: Since it'll all be virtual, it's best to skip this step for now.

Follow Arduino Setup

Simulation Setup - Everyone planning on working on software and testing it off-board the tractor should do this!

Follow the README in this repo

Other Helpful Things

  • Command line basics
  • Things I wished I knew
  • Git basics (Completely new to Git? See here Know a bit but want to know about branches, pull requests, and code reviews? See here)

ROS Packages - Only do this if you need these

Troubleshooting

  • If you run catkin_make, and it says something along the lines of "you don't have [insert thing here] package", try
sudo apt search [insert thing here]

If you find a listing that is something like "ros-noetic-[insert thing here]", run

sudo apt install ros-noetic-[insert thing here]

If you don't find a listing, read below or message Nathan. Examples I had to run

sudo apt install ros-noetic-ackermann-msgs
sudo apt install ros-noetic-mavros
sudo apt install ros-noetic-joy
  • When running catkin_make, if it says something along the lines of "you don't have gps_common", clone this repo into ~/catkin_ws/src/
  • In the same vein, but for state_controller, clone this repo into ~/catkin_ws/src
  • If you get something similar to "you don't have the exact OpenCV version", just message Nathan and I'll try to find a better fix than the one I did.