Skip to content

Assignment #2: Team Robotics Project

Overview

In Assignment #2 you will put into practice everything that you learn about ROS in Assignment #1, and explore the capabilities of the framework further.

You will attend a 2-hour lab session per week in Diamond Computer Room 5 for the full 12-week semester. You will work in teams to develop ROS Nodes for our TurtleBot3 Waffles that allow them to successfully complete a series of robotics tasks, most of which in a real-world environment. There are four tasks to complete in total, all of which will be assessed as part of Assignment #2.

The Tasks

There are four tasks in total that you must complete for this Assignment. Each task is marked and goes towards your final mark for Assignment #2. Tasks 1, 2 & 4 will all be assessed on a real TurtleBot3 Waffle in the robot arena in Computer Room 5, Task 3 will be assessed in simulation. All will be marked based on how well the robot completes each of the tasks. An overview of the tasks and the marking breakdown is shown in the table below.

Task Details Assessment Format Marks
1 Velocity Control Real World 10/100
2 Avoiding Obstacles Real World 20/100
An 'out-of-the-box' submission for Part A - 10/100
3 Maze Navigation Simulation 20/100
4 Exploration & Search Real World 40/100

As shown above, there are 100 marks available in total for Assignment #2.

Assessment

This assignment is worth 30% of the overall mark for the COM2009 course. As a team you will be assessed on a ROS package that you develop to satisfy the above tasks.

For Tasks 1, 2 & 4:
Each submission will be assessed by extracting your ROS package on one of the robotics laptops that you will use extensively in the labs throughout the assignment. Nodes within your package will then be executed on the laptop to control a real robot in the Diamond Computer Room 5 Robot Arena.

For Task 3:
Each submission will be extracted into the WSL-ROS environment running on one of the WSL-ROS laptops (also available during the lab sessions). Nodes within your package will then be executed to control a TurtleBot3 Waffle in a simulated environment.

Feedback:
Within 3 weeks of submission you will receive your marks and a recording of the assessment so that you can see how well your robot performed in each of the tasks, and so that you can see exactly how your marks were awarded!

Submission Deadlines

The assignment is essentially split into two separate parts (A & B), with two submission deadlines as summarised in the table below (see Blackboard for exact dates and times).

Part Task(s) Deadline
A 1 & 2 Week 6
B 3 & 4 Week 12

For each submission, you'll need to upload a ROS package (as a .tar file) to a submission portal on Blackboard.

Before you get started on any of the programming tasks you should (as a team) create a single ROS package (further details on the next page). You can then add all the necessary functionality for each task as you go along. For each submission, you'll then need to create a copy of your package in its current state by creating a .tar archive of it, and submit this to Blackboard by the specified deadline (the export process is explained here).

Note

You should work on each task as a team, and you only need to make one submission per team for each task.

Your ROS Package

Launching Your Code

In order to launch the necessary functionality within your package for a given task you will need to include correctly named launch files: task1.launch, task2.launch, etc. This will allow you to ensure that all the required functionality is executed when your submission is assessed, and also ensures that we know exactly how to launch this functionality in order to assess it. Full details of the requirements for each launch file are provided on the associated task page.

Warning

It's up to you to ensure that your code launches as intended for a given task. If it doesn't, then you'll be awarded zero marks, so make sure you test it all out prior to submission!

For more information on how to create .launch files, refer to the following resources:

  1. Assignment #1, Part 1, Exercise 8: Creating a Launch File
  2. The ROS Extras: Launch Files section of this course site

Key Requirements

In order to be awarded any marks for any task outlined in the table above, you must ensure that the following key requirements are met in regard to the ROS package that you submit (as well as any additional requirements specific to a given task):

  1. Your package must be submitted to Blackboard as a .tar file with the following naming convention:

    com2009_team{}.tar
    

    Where the {} is replaced with your own team number. See here for how to create a .tar archive of your package.

  2. Your ROS package directory, when extracted, must be named:

    com2009_team{}/
    

    Again, replacing the {} with your own team number!

  3. Your ROS package name must also be the same, so that the following would work (for example):

    roslaunch com2009_team100 task1.launch
    

    (assuming you are Team 100!)

  4. Finally (and most importantly), your ROS package must work "out-of-the-box," i.e. the Teaching Team won't make any modifications or fix any errors for you!

Warning

Failure to follow these requirements could result in you being awarded zero marks!