Skip to main content
In this assignment, you will perform two tasks:
  1. Setup ROS in your system.
  2. Bring up the Turtlebot3/4 robot in the required simulated environment.
What you submit are screenshots of the ROS CLI commands as well as the screenshots of the Gazebo and RViz2 that show the robot in the maze world. Points:
  • Setup ROS: 50 points
  • Bring up the Turtlebot in the maze world: 50 points

Bring up ROS in your system.

Most of you are new to ROS but luckily you have access to a book that starts from the very basics and the associated video series by the same author. Both are on the O’Reilly platform, free through your university. If those links ask you to pay, you are not signed in; see O’Reilly access. The setup can be involved or straightforward depending on your platform. We provide instructions for the following platforms although we can only test the native Ubuntu platform. Please note that the book does the installation using a VM. Please avoid going down that path especially when a docker-based development is feasible.

Ubuntu users

Install docker and the VSCode docker and remote extensions. The Docker containers guide has the installation commands and explains why you must not install docker as a snap package.

Windows users

  1. Install WSL2.
  2. Install docker inside WSL. Do not install Docker Desktop. The Docker containers guide has the commands. All your development happens in the Ubuntu terminal, and the container you build there is the same one the Ubuntu users run.
  3. Ensure that you also follow this tutorial to setup VSCode properly aka the VSCode can access the WSL2 filesystem and work with the remote docker containers.
  4. If you have an NVIDIA GPU in your system, ensure you have enabled it.

MAC users

Follow Working on a Mac that lists all three routes.

Launch the ROS application/project

  1. Clone the course repo turtlebot-maze.
  2. You need to just follow the README instructions and do a docker compose build followed by docker compose upto bring up the containers. See README.md for details.

Submitting

Commit your screenshots to your own private clone of the class repo, under assignments/assignment-1. Screenshots must be .png files. Then submit the complete GitHub URL of that directory, not of the repository root, to Canvas or Brightspace. The assignment submission guide covers the rest: setting up your clone, adding the TAs as collaborators, and the README each assignment folder needs.