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)
 
(20 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">echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc<br/></div><div style="background:#eee; border:1px solid #ccc; padding:5px 10px">source ~/.bashrc<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);">sudo apt-get install qtbase5-dev<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 ==
+
*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
  
*Aquire Flycapture2 SDK version 2.8.3.1 from owncloud or elsewhere and extract to desktop
+
== 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);">cd &lt;path to extracted folder&gt;</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; background-color: rgb(238, 238, 238);">sudo ./install_flycapture.sh</span><br/></div>
 
*&nbsp;This will probably fail because it is missing some dependencies which you will need to install via "sudo apt-get &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 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>
<div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);">cd &lt;path to where you want to keep the project&gt;</div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);">mkdir <name of root folder of project i.e. "catkin_ws" or&nbsp;"igvc"</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;">cd &lt;name of 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="line-height: 20.8px;">mkdir src</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="line-height: 20.8px;">cd src</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="line-height: 20.8px;">init_catkin_workspace</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="line-height: 20.8px;">cd ..</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="line-height: 20.8px;">catkin_make</span><br/></div>
 
*Command should complete and not really do anything
 
*If init_catkin_workspace failed then ROS did not install correctly
 
  
== Step 11&nbsp;- Clone IGVC 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);"><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>
 +
<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);"><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
  
*Fork IGVC Github Repository
+
== 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);">cd src</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;">git clone &lt;your fork&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;">cd ../..</span></div>
== Step 12 - 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;">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);">cd ..</div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);">catkin_make</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 then something went wrong
+
*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 13 - 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);">source devel/setup.sh</div><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;''roscore</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;''roslaunch igvc igvc.launch</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