User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:getting_started:start [2022/04/15 01:24]
Chris Nathman [Install ROS]
cs:getting_started:start [2022/04/15 02:19] (current)
Chris Nathman [Now What?]
Line 10: Line 10:
  
 ===== Languages ===== ===== Languages =====
-We use primarily ​C++ and Python3 for the software on the sub. 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.+We use C++ and Python3 for the software on the sub. 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.
   * [[http://​www.learncpp.com/​| C++]]   * [[http://​www.learncpp.com/​| C++]]
   * [[https://​www.codecademy.com/​learn/​python|Python]]   * [[https://​www.codecademy.com/​learn/​python|Python]]
  
 ===== Getting Prerequisite Software ===== ===== Getting Prerequisite Software =====
-This will setup your computer with our custom robosub package repository, the ROS package repositoryand 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 [[slack>​it|IT slack channel]].+This will setup your computer with ROS package repository and other dependencies. If you experience any issues, please contact the [[slack>​it|IT slack channel]].
 Depending on your operating system, follow the instructions on one of these pages: Depending on your operating system, follow the instructions on one of these pages:
  
 ==== Install ROS ==== ==== Install ROS ====
-[[https://​docs.ros.org/​en/​foxy/​Installation.html|ROS2 Foxy]] (for Ubuntu 20.04 focal or Linux Mint 20) \\+[[https://​docs.ros.org/​en/​foxy/​Installation.html|ROS2 Foxy]] (for Ubuntu 20.04 focal or Linux Mint 20)
  
-==== Getting ​our Code ==== +==== Additional Dependencies ==== 
-Follow these steps for getting the robosub ​code on your computer. +Complete prerequisite software setup as follows: 
-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:+ 
 +Add ROS2 setup script to bash configuration file and reload it. 
 +<code bash> 
 +$ echo "​source /​opt/​ros/​foxy/​setup.bash"​ >> ~/.bashrc 
 +$ source ~/.bashrc 
 +</​code>​ 
 + 
 +Install additional apt packages needed by our code. 
 +<code bash> 
 +$ sudo apt update 
 +$ sudo apt install git python3-rosdep2 python3-colcon-common-extensions ros-foxy-gazebo-ros ros-foxy-gazebo-plugins socat 
 +</​code>​ 
 +==== SSH Key Setup (optional) ​==== 
 +SSH keys allow you to upload ​code to gitlab without entering a password. This makes development more convenient but less secure since someone else could use your key if they get access to your computer. ​Follow these steps if you want to setup ssh keys on your computer. You only need to do this once on each computer. To check if you already have keys made for your computer, run:
  
 <code bash> <code bash>
Line 46: Line 59:
   Connection to gitlab.com closed.   Connection to gitlab.com closed.
  
 +==== Getting our Code ====
 Finally, we need to setup our ROS workspace with the robosub code. Finally, we need to setup our ROS workspace with the robosub code.
-  echo "​source /​opt/​ros/​foxy/​setup.bash"​ >> ~/.bashrc + 
-  ​source ~/.bashrc +Create a directory for robosub code and move into it
-  sudo apt update + 
-  sudo apt install python3-rosdep2 python3-colcon-common-extensions ros-foxy-gazebo-ros ros-foxy-gazebo-plugins socat +<code bash> 
-  mkdir -p ~/ros/src +mkdir -p ~/ros/src 
-  cd ~/ros/src +cd ~/ros/src 
-  git clone https://​gitlab.com/​PalouseRobosub/​Software/​robosub.git +</​code>​ 
-  git clone https://​gitlab.com/​PalouseRobosub/​Software/​robosub_msgs.git + 
-  git clone https://​gitlab.com/​PalouseRobosub/​Software/​robosub_simulator.git +Clone essential robosub repositories. Note that here we clone using https. If you setup ssh keys than you should clone using ssh instead. Replace the ''<​nowiki>​https://​gitlab.com/</​nowiki>''​ parts of the links below with ''​git@gitlab.com:''​ to clone with ssh. 
-  cd ~/ros + 
-  colcon build +<code bash> 
-  echo "​source ~/​ros/​install/​setup.bash"​ >> ~/.bashrc +git clone https://​gitlab.com/​PalouseRobosub/​Software/​robosub.git 
-  echo 'alias rsmake="​(cd ~/ros && colcon build)"'​ >> ~/.bashrc +git clone https://​gitlab.com/​PalouseRobosub/​Software/​robosub_msgs.git 
-  source ~/.bashrc+git clone https://​gitlab.com/​PalouseRobosub/​Software/​robosub_simulator.git 
 +</​code>​ 
 + 
 +Move back to the ros directory. 
 + 
 +<code bash> 
 +cd ~/ros 
 +</​code>​ 
 +  ​ 
 +Compile the code for the first time. This will take some time since it has to compile a lot of code. Future compilation should be much faster since the build system will know what it has already compiled. 
 + 
 +<code bash> 
 +colcon build 
 +</​code>​ 
 + 
 +Add compiled code configuration to bash configuration file. 
 + 
 +<code bash> 
 +echo "​source ~/​ros/​install/​setup.bash"​ >> ~/.bashrc 
 +</​code>​ 
 + 
 +Add ''​rsmake''​ alias to bash configuration file so future compilation can be run easily. 
 + 
 +<code bash> 
 +echo 'alias rsmake="​(cd ~/ros && colcon build)"'​ >> ~/.bashrc 
 +</​code>​ 
 + 
 +Reload bash configuration file. 
 + 
 +<code bash> 
 +source ~/.bashrc 
 +</​code>​
  
 From now on you should be able to compile code using ''​rsmake''​ from any directory. From now on you should be able to compile code using ''​rsmake''​ from any directory.
 ===== Now What? ===== ===== Now What? =====
-If you were able to successfully compile the software at the end, congrats! Next steps are to learn how to use [[cs:​git:​start|git]]and take a look at the [[cs:​sw_workflow:​|software workflow]]. After this, head over to the [[https://​gitlab.com/​PalouseRobosub/​Software/​robosub/​-/​issues|gitlab issues page]] and see if a task looks interesting!+If you were able to successfully compile the software at the end, congrats! Next steps are to learn how to use [[cs:​git:​start|git]] and review c++ and python3. After this, head over to the [[https://​gitlab.com/​PalouseRobosub/​Software/​robosub/​-/​issues|gitlab issues page]] and see if a task looks interesting!