Skip to content

Assignment #1: An Introduction to ROS

Overview

This assignment is essentially a 6-part course, which you should complete in full and in order. The course is designed to be completed in simulation, so you will therefore need access to a ROS installation which can either be installed on your own machine, or accessed on a range of managed computers across the University of Sheffield campus. See here for more information on how to install or access ROS.

Each part of the course comprises a series of step-by-step instructions and exercises to teach you how ROS works and introduce you to the core principles of the framework. The exercises give you the opportunity to see how to apply these principles to practical robotic applications. Completing this course is essential for obtaining all the necessary skills for Assignment #2: the Team Robotics Project, where you will work in teams to program our real TurtleBot3 Waffle robots.

The Course

  • Part 1: ROS & Linux Basics

    In this first part you will learn the basics of ROS and become familiar with some key tools and principles of this framework, allowing you to program robots and work with ROS applications effectively.

  • Part 2: Odometry & Navigation

    In this session you'll learn about Odometry data, which informs us of a robot's position in an environment. You'll also learn how to control a ROS robot's velocity (and thus its position) using both open and closed-loop control methods.

  • Part 3: SLAM & Autonomous Navigation

    Here you'll take your first look at the LiDAR sensor, the data that it generates, and how this can be of huge benefit for robotics applications. You'll see this in practice by leveraging the mapping and autonomous navigation tools within ROS.

  • Part 4: ROS Services

    In this part of the course you'll learn about ROS Services, which offer an alternative way for nodes to communicate in ROS. You will see how this framework can be used to control a robot or invoke certain behaviours more effectively for certain tasks.

  • Part 5: ROS Actions

    Building on what you learnt about ROS Services in Part 4, here you will look at ROS Actions, which are similar to Services, but with a few key differences.

  • Part 6: Cameras, Machine Vision & OpenCV

    Here you'll learn how to work with images from an on-board camera. You will look at techniques to detect features within these images, and use this to inform robot decision-making.

Assessment

This assignment is worth 25% of the overall mark for the COM2009 course, and is assessed via an on-campus Blackboard-based test taking place in week 7 or 8 of the Spring Semester.