Lab 1: Getting Started!

This lab will introduce you to Linux, Robot operating system (ROS), Terminal, command line tools, and a teleop keyboard control of your iRobot.


Download Lab Skeleton Zip File

This lab is designed to serve as a jump start into Linux and ROS. By the end of this lab you should be able to control your iRobot Create base with a teleoperated keyboard.

This lab was written for Linux and tested under Ubuntu 14.04 LTS.

Introduction to Linux

Linux is open source operating system and is developed by the community. There are many different version of linux available, and Ubuntu is one of these operating systems that is most commonly used. Hence, we will be using Ubuntu; more precisely, we will be using Ubuntu 14.04 LTS. For more information about the linux operating system, there is a course at Glendale Community College (CS/IS 172) available.

Introduction to Robot Operating System (ROS)

The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. Why? Because creating truly robust, general-purpose robot software is hard. From the robot’s perspective, problems that seem trivial to humans often vary wildly between instances of tasks and environments. Dealing with these variations is so hard that no single individual, laboratory, or institution can hope to do it on their own.

How to Boot into Ubuntu

The computers in this lab are equipped with both Windows and Ubuntu operating systems. In order to boot into Ubuntu Linux, restart the computer to see the grub menu (a magenta colored page). Windows is the default, so you will need to make a selection for Ubuntu, and voila! Now you are booted into ubuntu.

Command Line

ROS uses the command-line in order to accomplish many of its tasks. Let’s begin by connecting to our robot:

Find the Element Serial device with your final four hex digits. Next, run the command

	$ sudo rfcomm connect 0 ADDRESS 1

* Where ADDRESS is the full hex address of your device, e.g.,

			$ sudo rfcomm connect 0 00:0A:3A:2E:CB:3E 1

* Note: Terminal uses control-shift-c for copy and control-shift-v for paste; 
all other programs don't include the shift. It might take some getting used to! If you connect successfully, Terminal will reply with Press CTRL-C for hangup

Terminal Commands

Before moving on, you need to learn how to use some of the Terminal commands. We will only go over few and essential commands.

Launching the iRobot Create Driver

In order to command and drive the iRobot Create base we need to run a driver. A driver converts high level commands into voltages that control the hardware.

Teleop Keyboard

Creating a Workspace

A catkin workspace is a folder where you modify, build, and install catkin packages. You will using catkin workspace for all of the labs.

Catkin_make

The catkin_make command is a tool for building code in a catkin workspace. This is similar to compiling in C++.