Difference between revisions of "IGVC Software Installation Instructions"

From RoboJackets Wiki
Jump to navigation Jump to search
m (Changed installation instructions from ROS Melodic to ROS Noetic)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
[[Category:IGVC]]
 
Welcome! Let's jump right in.
 
Welcome! Let's jump right in.
  
Robojackets IGVC currently supports the Ubuntu 14.04 and ROS-indigo environment. If you don't know what those are, don't worry! The project may build/run in other environments, but we can't guarantee it.
+
Robojackets IGVC currently supports the Ubuntu 18.04 and ROS-melodic environment. If you don't know what those are, don't worry! The project may build/run in other environments, but we can't guarantee it.
 
 
[[HAVE to use Ubuntu 15.04?]]
 
  
 
Ok, lets get down to business.
 
Ok, lets get down to business.
Line 9: Line 8:
 
== Step 1 - Get Terminator ==
 
== Step 1 - Get Terminator ==
  
Forget the default Ubuntu terminal, we need both horizont and vertical splits for productive activity. Start up the default terminal and type:
+
Forget the default Ubuntu terminal, we need both horizontal and vertical splits for productive activity. Start up the default terminal and type:
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo apt-get install terminator</span><br/></div>
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo apt install terminator</span><br/></div>
 
You should now be using this from now on, it will help later,
 
You should now be using this from now on, it will help later,
  
Line 16: Line 15:
  
 
Now for these next steps you don't need to understand what they do, only make sure they complete properly. So if you see any errors come up, tell one of us immediately. Copy this into your terminal:
 
Now for these next steps you don't need to understand what they do, only make sure they complete properly. So if you see any errors come up, tell one of us immediately. Copy this into your terminal:
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo sh -c 'echo "deb [http://packages.ros.org/ros/ubuntu http://packages.ros.org/ros/ubuntu] $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'</span><br/></div>
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace"></span>
 +
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
 +
</div>
 
== Step 3 - Set up your keys ==
 
== Step 3 - Set up your keys ==
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116</span><br/></div>
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px">sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
 +
</div>
 
== Step 4 - Update your Debian packages ==
 
== Step 4 - Update your Debian packages ==
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo apt-get update</span><br/></div>
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo apt update</span><br/></div>
== Step 5 - Get Ros Indigo ==
+
== Step 5 - Get ROS Noetic ==
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo apt-get install ros-indigo-desktop</span><br/></div>
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px">
 +
sudo apt install ros-noetic-desktop-full<br /></div>
 
== Step 6 - Initialize rosdep ==
 
== Step 6 - Initialize rosdep ==
 
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo rosdep init</span><br/></div><div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">rosdep update</span><br/></div>
 
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">sudo rosdep init</span><br/></div><div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace">rosdep update</span><br/></div>
 
== Step 7 - Environment Variable Setup ==
 
== Step 7 - Environment Variable Setup ==
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace;">echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc</span><br/></div><div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace;">source ~/.bashrc</span><br/></div>
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace;">echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc</span><br/></div><div style="background:#eee; border:1px solid #ccc; padding:5px 10px"><span style="font-family:courier new,courier,monospace;">source ~/.bashrc</span><br/></div>
== &nbsp;Step 8&nbsp;- Install QT Dependency ==
+
== Step 8 - Initialize catkin workspace ==
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">sudo apt-get install qtbase5-dev</span><br/></div>
+
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd &lt;path to where you want to keep the project&gt;</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">mkdir catkin_ws</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">cd catkin_ws</span></span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">mkdir src</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">cd src</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">catkin_init_workspace</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">cd ..</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">catkin_make</span></span><br/></div>
== &nbsp;Step 9&nbsp;- Install Flycature SDK ==
 
 
 
*Aquire Flycapture2 SDK version 2.8.3.1 from robojackets owncloud or a team member and extract to desktop
 
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd &lt;path to extracted folder&gt;</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px; background-color: rgb(238, 238, 238);">sudo ./install_flycapture.sh</span></span><br/></div>
 
*&nbsp;This will probably fail because it is missing some dependencies which you will need to install via "sudo apt-get install&nbsp;&lt;dependency name&gt;"
 
*Rerun "sudo ./install_flycapture.sh"
 
 
 
== Step 10 - Initialize catkin workspace ==
 
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd &lt;path to where you want to keep the project&gt;</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">mkdir <name of root folder of project i.e. "catkin_ws" or&nbsp;"igvc"</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">cd &lt;name of folder&gt;</span></span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">mkdir src</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">cd src</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">init_catkin_workspace</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">cd ..</span></span><br/></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">catkin_make</span></span><br/></div>
 
 
*Command should complete and not really do anything
 
*Command should complete and not really do anything
 
*If init_catkin_workspace failed then ROS did not install correctly and/or try "sudo apt-get update" which may fix the issue where catkin_init_workspace command can not be found
 
*If init_catkin_workspace failed then ROS did not install correctly and/or try "sudo apt-get update" which may fix the issue where catkin_init_workspace command can not be found
  
== Step 11&nbsp;- Clone IGVC Repository ==
+
== Step 9&nbsp;- Clone IGVC Repository ==
 +
 
 +
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd src</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">git clone https://github.com/RoboJackets/igvc-software --recursive</span></span></div>
  
*Fork IGVC Github Repository
+
== Step 10&nbsp;- Install Dependencies ==
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd src</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;"><span style="line-height: 20.8px;">git clone &lt;your fork&gt;</span></span></div>
+
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><font face="courier new, courier, monospace">cd ..</font></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc</span></div>
== Step 12&nbsp;- Install ROS Dependencies ==
+
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd src/igvc-software</span></div>
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><font face="courier new, courier, monospace">cd ..</font></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><font face="courier new, courier, monospace">source devel/setup.sh</font></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><font face="courier new, courier, monospace">rosdep install igvc</font><br/></div>
+
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">./install_dependencies.sh</span></div>
*
+
*rosdep will download and install all of the necessary ros package dependencies, type "y" whenever it asks if it is ok to continue installation
rosdep will download and install all of the necessary ros package dependencies, type "y" whenever it asks if it is ok to continue installation
 
  
== Step 13&nbsp;- Build the Code ==
+
== Step 11&nbsp;- Build the Code ==
 +
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">cd ../..</span></div>
 
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">catkin_make</span></div>
 
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="font-family:courier new,courier,monospace;">catkin_make</span></div>
 
*If this fails the first time try running catkin_make again
 
*If this fails the first time try running catkin_make again
 
*If it continues to fail because it could&nbsp;not find some of the igvc_msgs header files, run "catkin_make igvc_msgs_gencpp" and then "catkin_make"
 
*If it continues to fail because it could&nbsp;not find some of the igvc_msgs header files, run "catkin_make igvc_msgs_gencpp" and then "catkin_make"
  
== Step 14&nbsp;- Run the Code ==
+
== Step 12&nbsp;- Run the Code ==
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);">''In a separate terminal&nbsp;''<span style="font-family:courier new,courier,monospace;">roscore</span></div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);"><span style="line-height: 20.8px;">''In a terminal that isn't running roscore&nbsp;''<span style="font-family:courier new,courier,monospace;">roslaunch igvc igvc.launch</span></span></div>
+
Refer back to the README of https://github.com/RoboJackets/igvc-software for instructions on running the code
*&nbsp;The code should now be running and complaining about not being able to connect to various devices, this is all good and you are ready to start writing igvc code
 

Latest revision as of 18:09, 20 November 2021

Welcome! Let's jump right in.

Robojackets IGVC currently supports the Ubuntu 18.04 and ROS-melodic environment. If you don't know what those are, don't worry! The project may build/run in other environments, but we can't guarantee it.

Ok, lets get down to business.

Step 1 - Get Terminator

Forget the default Ubuntu terminal, we need both horizontal and vertical splits for productive activity. Start up the default terminal and type:

sudo apt install terminator

You should now be using this from now on, it will help later,

Step 2 - Set up your sources.list

Now for these next steps you don't need to understand what they do, only make sure they complete properly. So if you see any errors come up, tell one of us immediately. Copy this into your terminal:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Step 3 - Set up your keys

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

Step 4 - Update your Debian packages

sudo apt update

Step 5 - Get ROS Noetic

sudo apt install ros-noetic-desktop-full

Step 6 - Initialize rosdep

sudo rosdep init
rosdep update

Step 7 - Environment Variable Setup

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Step 8 - Initialize catkin workspace

cd <path to where you want to keep the project>
mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace
cd ..
catkin_make
  • Command should complete and not really do anything
  • If init_catkin_workspace failed then ROS did not install correctly and/or try "sudo apt-get update" which may fix the issue where catkin_init_workspace command can not be found

Step 9 - Clone IGVC Repository

cd src
git clone https://github.com/RoboJackets/igvc-software --recursive

Step 10 - Install Dependencies

cd ..
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
cd src/igvc-software
./install_dependencies.sh
  • rosdep will download and install all of the necessary ros package dependencies, type "y" whenever it asks if it is ok to continue installation

Step 11 - Build the Code

cd ../..
catkin_make
  • If this fails the first time try running catkin_make again
  • If it continues to fail because it could not find some of the igvc_msgs header files, run "catkin_make igvc_msgs_gencpp" and then "catkin_make"

Step 12 - Run the Code

Refer back to the README of https://github.com/RoboJackets/igvc-software for instructions on running the code