Difference between revisions of "IGVC Software Installation Instructions"

From RoboJackets Wiki
Jump to navigation Jump to search
(made flycapture install optional)
(6 intermediate revisions by 2 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 16.04 and ROS-kinetic 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.
  
 
Ok, lets get down to business.
 
Ok, lets get down to business.
Line 14: 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'
 +
<br/></div>
 
== Step 3 - Set up your keys ==
 
== Step 3 - Set up your keys ==
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px">sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
+
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px">sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
 
</div>
 
</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 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 melodic ==
 
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px">
 
<div style="background:#eee; border:1px solid #ccc; padding:5px 10px">
sudo apt-get install ros-kinetic-desktop-full<br /></div>
+
sudo apt install ros-melodic-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/melodic/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 (skip unless running stereo camera) ==
 
 
 
*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 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;">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>
 
 
*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 ==
  
 
*Fork IGVC Github Repository
 
*Fork IGVC Github 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 &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);"><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>
== Step 12&nbsp;- Install ROS Dependencies ==
+
== Step 10&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);"><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 devel/setup.bash" >> ~/.bashrc</span>
+
<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);">rosdep install igvc igvc_control igvc_description<br/></div>
+
</div><div style="line-height: 20.8px; border: 1px solid rgb(204, 204, 204); padding: 5px 10px; background: rgb(238, 238, 238);">rosdep install --from-path src --ignore-src -y<br/></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;">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>
 
<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>
 
*&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
 
*&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

Revision as of 16:58, 16 September 2018

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://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

Step 4 - Update your Debian packages

sudo apt update

Step 5 - Get Ros melodic

sudo apt install ros-melodic-desktop-full

Step 6 - Initialize rosdep

sudo rosdep init
rosdep update

Step 7 - Environment Variable Setup

echo "source /opt/ros/melodic/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

  • Fork IGVC Github Repository
cd src
git clone <your fork>

Step 10 - Install ROS Dependencies

cd ..
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
rosdep install --from-path src --ignore-src -y
  • 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

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

In a separate terminal roscore
In a terminal that isn't running roscore roslaunch igvc igvc.launch
  •  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