Install Singularity
Select the singularity install file (~350 KB) corresponding to the linux distribution you are using (either 14.04 or 16.04 or 18.04):
- Singularity for Ubuntu 14.04
- Singularity for Ubuntu 16.04
Disclaimer: Using singularity install files for 18.04 is not recommended as the course instructors have not sufficiently tested this. So, any support on this will be minimal.
- Singularity for Ubuntu 18.04
You can't install all of them!
Download the Singularity image
Download the course singularity image from this link: hrwros-05.simg (note: this file is approximately 1.1 GB, so the download may take a while).
Warning: Some students have reported this file getting renamed during or after download. Please confirm this file is called hrwros-05.simg and is placed in your Downloads folder.
Verify the image downloaded successfully
Now verify that the Singularity image downloaded successfully by following these steps.
In a regular terminal (ctrl+alt+t), run:
md5sum $HOME/Downloads/hrwros-05.simg
If the image is ok, you should see the following output:
$HOME/Downloads/hrwros-05.simg
85e0e8f9e791402094328131a69f4eb5
If you see a different code, downloading the image file was most likely not successful. Please try downloading the image file again using the link in the Download the Singularity image section above.
If you receive an error message, follow these steps:
- Is the file located in your
$HOME/Downloads
directory? No? Please move the file to$HOME/Downloads.
- Is the filename exactly hrwros-05.simg? No? Please rename the file to hrwros-05.simg.
Finally: retry validating the image download.
Download the course install file
You will also need a course installation file that will create some necessary infrastructure inside your Ubuntu install.
install-hrwros-starter.sh (~1.4 kB)
Download the file to your $USER/Downloads
folder, startup a new terminal with Ctrl+Alt+T and run the command: bash $HOME/Downloads/install-hrwros-starter.sh
Installing new software inside the Course Command Shell (CCS)
This image is read-only! So, if you try to implement solutions after googling your problems with 'sudo apt-get install ...'
, inside the Course Command Shell, it will not work. All necessary installs for this course have already been considered. So, you will never have to run 'sudo apt-get install ...'
yourself, except for when you install Singularity in the Course Setup (Week 0).
Weekly contents
The following content only needs to be downloaded once you reach the respective week - don't download these in advance!
When you download the contents for a week, some files that you might see in the instruction videos are already provided. So just open them and see their contents. It is not necessary to create files that are already given to you.
Week 1 contents
All the files you need to work with for Week1 of the course are available in the zip file week1-contents.zip (~24 kB) .
Extract the contents of the zip file into $HOME/hrwros_ws/src/hrwros
After the above step, you should have three directories in the $HOME/hrwros_ws/src/hrwros
directory:
hrwros_week1
hrwros_msgs
hrwros_utilities
Week 2 contents
All the files you need to work with for Week 2 of the course are available in this zip file: week2-contents.zip (~10 MB) .
As explained in Week 1, the exact location of ROS packages is unimportant, as long as they are in the src space of your workspace. In this week we're going to make use of that, by placing the new packages directly in the src space, instead of in a sub directory.
Extract the contents of the zip file into $HOME/hrwros_ws/src
.
After the above step, you should have four directories in the $HOME/hrwros_ws/src
directory:
hrwros
hrwros_support
hrwros_week2
urdf_tutorial
Now run the following commands in the CCS terminal:
source /opt/ros/kinetic/setup.bash
cd $HOME/hrwros_ws
catkin clean -y
catkin build
source $HOME/hrwros_ws/devel/setup.bash
At this point you are all setup to continue with Week 2 of the course and you can use the CCS as normal.
If you run into issues building your workspace (an error from catkin build about duplicate packages), then please see this post on the forum.
Week 3 contents
Warning1: Some of you might have continued following the package-folder structure that was introduced in video 1.3.3, where in, all packages beginning with "hrwros_" are inside a "top-level" folder called "hrwros". Recall also from video 1.3.3 that "hrwros" is just a folder and not a ROS package. Nevertheless, it does not matter whether your ROS packages reside in the hrwros folder or directly in the src folder of your workspace. The use of the top level folder is a matter of file organization. So, depending on what conventions you decided to follow on your own systems in Week2, you will have to modify the install instructions below accordingly. The instructions below assume that you have hrwros_week2 and hrwros_support and urdf_tutorial in $HOME/hrwros_ws/src folder.
Warning2: The downloads for Week3 will overwrite the contents of hrwros_support package that you had received in Week2. Unless you had made any local changes to experiment with different robots in this package, this overwrite is ok. But, if you want to retain some of those changes, make sure to back them up properly. We are not responsible if you lose any local development you had inside the hrwros_support package.
All the files you need to work with for the Week 3 graded assignments are available in the zip file: week3_contents_v4.zip (~638 kB).
Please pay close attention, because this time the installation can be a bit tricky.
1. Extract the contents of the zip file to your $HOME/hrwros_ws/src/. If it warns you folders and files will be overwritten, select Replace All. You should see four new folders and one file in the $HOME/hrwros_ws/src folder.
Then, open a terminal and type: cd $HOME/hrwros_ws/src
2. Execute the following commands in the terminal to move the unknown_obstacle folder to its destined location:
mv -f unknown_obstacle $HOME/hrwros_ws/src/hrwros_support/urdf/
Now run the following commands in a new CCS:
source /opt/ros/kinetic/setup.bash
cd $HOME/hrwros_ws
catkin clean -y
catkin b
source $HOME/hrwros_ws/devel/setup.bash
After following the above steps, your folder structure under $HOME/hrwros_ws/src should look like this:
- hrwros
- hrwros_gazebo
- hrwros_support
- hrwros_week2
- hrwros_week3
- urdf_tutorial
Now, your setup for Week 3 should be complete.
Week 4 Contents
Note: In the downloads for this week, there is a folder called week4_dependencies containing a couple of MoveIt! specific packages. We have provided them as source dependencies because they were not initially included in the course image.
All the files you need to work with for Week4 are available in week4_contents_v3.zip file (~10 MB)
1. Extract the contents of the zip file to your $HOME/hrwros_ws/src/. If it warns you folders and files will be overwritten, select Replace All. You should see three new folders (hrwros_week4, week4_moveit_config, week4_dependencies) and the other folders from the last weeks.
Now run the following commands in a new CCS:
source /opt/ros/kinetic/setup.bash
cd $HOME/hrwros_ws
catkin clean -y
catkin b
source $HOME/hrwros_ws/devel/setup.bash
After following the above steps, your folder structure under $HOME/hrwros_ws/src should look like this:
- hrwros
- hrwros_gazebo
- hrwros_support
- hrwros_week2
- hrwros_week3
- hrwros_week4
- urdf_tutorial
- week4_dependencies
- week4_moveit_config
Now, your setup for Week 4 should be complete.
Week 5 Contents
All the files you need to work with Week5 are available in week5_contents_v3.zip file (~1.2 MB).
Note: To be able to execute some of the commands shown in the video lectures that require to move the robot arm, you will need to have completed Week4 assignments.
1. Extract the contents of the zip file to your $HOME/hrwros_ws/src/. If it warns you folders and files will be overwritten, select replace All. You should see two new folders (hrwros_week5, week5_dependencies) one file (robot_system.gazebo.xacro) and the other folders from the last weeks.
Now run the following commands in a new CCS:
source /opt/ros/kinetic/setup.bash
cd $HOME/hrwros_ws/src
cp robot_system.gazebo.xacro $HOME/hrwros_ws/src/hrwros_support/urdf/robot_system/
cp -R hrwros_utilities hrwros/
rm -rf hrwros_utilities
cd $HOME/hrwros_ws
catkin clean -y
catkin b
source $HOME/hrwros_ws/devel/setup.bash
After following the above steps, your folder structure under $HOME/hrwros_ws/src should look like this:
- hrwros
- hrwros_msgs
- hrwros_utilities
- hrwros_week1
- hrwros_gazebo
- hrwros_support
- hrwros_week2
- hrwros_week3
- hrwros_week4
- hrwros_week5
- urdf_tutorial
- week4_dependencies
- week4_moveit_config
- week5_dependencies
Now, your setup for Week 5 should be complete.
Week 6 Contents
All the files you need to work with Week6 are available in week6_contents_v2.zip file (~1.7 MB).
Note: To be able to use the FlexBE App and execute the commands shown in the video lectures, you must upgrade your image following the instructions on the Image Upgrade page.
Note 2: this weeks download zip will overwrite files in the hrwros_gazebo, hrwros_support and week4_moveit_config packages. If you have made local changes to those packages, please make a backup before following the week 6 setup instructions.
1. Extract the contents of the zip file to your $HOME/hrwros_ws/src/ directory. If it warns you folders and files will be overwritten, select Replace All. You should see four new folders (flexbe_behavior_engine, hrwros_factory_behaviors, hrwros_factory_states and hrwros_week6) and the other folders from the last weeks.
Now run the following commands in a new CCS:
source /opt/ros/kinetic/setup.bash
cd $HOME/hrwros_ws
catkin clean -y
catkin b
source $HOME/hrwros_ws/devel/setup.bash
After following the above steps, your folder structure under $HOME/hrwros_ws/src should look like this:
- flexbe_behavior_engine
- hrwros
- hrwros_msgs
- hrwros_utilities
- hrwros_week1
- hrwros_factory_behaviors
- hrwros_factory_states
- hrwros_gazebo
- hrwros_support
- hrwros_week2
- hrwros_week3
- hrwros_week4
- hrwros_week5
- hrwros_week6
- urdf_tutorial
- week4_dependencies
- week4_moveit_config
- week5_dependencies
Now, your setup for Week 6 should be complete.