Difference between revisions of "IGVC Software Installation Instructions"
(13 intermediate revisions by 3 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 | + | 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 9: | Line 8: | ||
== Step 1 - Get Terminator == | == Step 1 - Get Terminator == | ||
− | Forget the default Ubuntu terminal, we need both | + | 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 | + | <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 | + | <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 | + | <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> | ||
== 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 | + | <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 | + | == 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 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/ | + | <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> |
− | == | + | == 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;">cd <path to where you want to keep the project></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> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <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 <path to where you want to keep the project></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 | ||
*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 | + | *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 | + | == Step 9 - 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 <your fork></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 <your fork></span></span></div> | ||
− | == Step | + | == Step 10 - 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;"> | + | <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> |
− | *If this fails the first time try running catkin_make again | + | </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 | ||
+ | |||
+ | == Step 11 - 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> | ||
+ | *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 | + | == Step 12 - 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 ''<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 ''<span style="font-family:courier new,courier,monospace;">roslaunch igvc igvc.launch</span></span></div> | |
* 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 | * 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.
Contents
- 1 Step 1 - Get Terminator
- 2 Step 2 - Set up your sources.list
- 3 Step 3 - Set up your keys
- 4 Step 4 - Update your Debian packages
- 5 Step 5 - Get Ros melodic
- 6 Step 6 - Initialize rosdep
- 7 Step 7 - Environment Variable Setup
- 8 Step 8 - Initialize catkin workspace
- 9 Step 9 - Clone IGVC Repository
- 10 Step 10 - Install ROS Dependencies
- 11 Step 11 - Build the Code
- 12 Step 12 - Run the Code
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:
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
Step 4 - Update your Debian packages
Step 5 - Get Ros melodic
Step 6 - Initialize rosdep
Step 7 - Environment Variable Setup
Step 8 - Initialize catkin workspace
- 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
Step 10 - Install ROS Dependencies
- 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
- 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
- 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