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:32]
Chris Nathman move ssh key setup to new section
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]]
Line 19: Line 19:
  
 ==== 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)
  
 +==== Additional Dependencies ====
 +Complete prerequisite software setup as follows:
 +
 +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 Key Setup (optional) ====
-Follow these steps for getting the robosub ​code on your computer. +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:
-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:+
  
 <code bash> <code bash>
Line 48: Line 61:
 ==== Getting our Code ==== ==== 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!