Lab 1 - Introduction to ROS

Goals:
The goal of this lab assignment is to get you familiar with the various paradigms and uses of ROS and how it can be used to build robust robotic systems. ROS is a meta-operating system which simplifies inter-process communication between elements of a robot’s perception planning and control systems.
Learning Outcomes:
The following fundamentals should be understood by the students upon completion of this lab:
  • Understanding the directory structure and framework of ROS

  • Understanding how publishers and subscribers are implemented

  • Implementing custom messages

  • Understanding Cmake lists and package.XML files

  • Understanding dependencies

  • Working with launch files

  • Working with Rviz

  • Working with Bag files

Required Skills: Python or C++ (or at least some programming experience)

Allotted Time: 1 week

Repository: Github Repository
The repository contains the latex source files as well as any skeleton code. Compile the latex source files to view the most up to date handout.