UNIVERSITY OF WATERLOO · ROBOTICS LAB DEVELOPMENT

Lab 1 — ROS Foundations,
SLAM & Navigation

Development, validation, and live delivery of a virtual mobile-robotics laboratory introducing ROS fundamentals, TurtleBot simulation, sensor visualization, SLAM, localization, and autonomous navigation.

Lab Overview

From ROS fundamentals to autonomous navigation

Lab 1 introduced students to the ROS software ecosystem and progressively connected fundamental concepts to a simulated TurtleBot mobile-robot system.

ROS Nodes, topics & messages
TurtleBot3 Mobile robot platform
Gmapping SLAM & map building
AMCL Localization & navigation
Laboratory Development

A complete virtual robotics learning workflow

The laboratory material was redesigned so students could develop practical ROS skills using a virtual TurtleBot environment rather than relying exclusively on access to physical laboratory hardware.

The work combined a detailed student-facing lab manual with a separate live instructional session in which students were guided through ROS concepts, commands, simulation, mapping, localization, and navigation.

Development scope

  • Step-by-step laboratory manual
  • Live guided instruction
  • ROS environment verification
  • TurtleBot simulation workflow
  • SLAM and navigation exercises
  • Troubleshooting guidance
  • Student technical support
Live Instruction

Learning ROS by observing the system change

The live session complemented the written manual with guided exercises intended to make ROS communication concepts visible through direct experimentation.

01 ROS Concepts
→
02 Turtlesim
→
03 Gazebo
→
04 ROS Tools
→
05 SLAM
→
06 Navigation
Live ROS instruction using Turtlesim to demonstrate nodes and topics
Live ROS exercise using Turtlesim. Students repeatedly inspected nodes and topics while starting and controlling new ROS processes.
ROS Foundations

Nodes, topics, messages, and communication

The lab first established the ROS execution and communication model before introducing the complete mobile-robot simulation.

Students used Turtlesim to observe how active nodes and topics changed as processes were launched, allowing the publisher–subscriber model to be connected to behavior they could immediately see.

Core concepts

  • ROS master
  • Nodes and packages
  • Messages
  • Topics
  • Publishers and subscribers
  • ROS launch and execution tools
Simulation & Control

Connecting ROS commands to robot motion

Students moved from Turtlesim to a simulated TurtleBot3 Waffle operating inside the Gazebo Office environment.

Teleoperation

Keyboard teleoperation was used to establish the connection between ROS commands and physical-style mobile-robot motion.

Velocity commands

Students directly published geometry_msgs/Twist messages to /cmd_vel and observed the resulting linear and angular motion.

Sensor visualization

RViz was used to visualize laser scans, camera data, coordinate frames, and other topics generated by the simulated robot.

ROS Diagnostics & Data

Inspecting what is happening inside the robot system

Students were introduced to the command-line and GUI tools required to inspect communication, record data, and understand the active ROS computation graph.

Tools used

  • rostopic list / echo / info / hz
  • rosnode
  • rosbag
  • rqt_graph
  • rqt_image_view
  • RViz
SLAM & Mapping

Building a map of the simulated environment

Students then used Gmapping with the simulated TurtleBot to construct an occupancy map of the Gazebo Office environment.

The TurtleBot was manually driven through the environment while RViz displayed the map being built from range observations.

Once sufficient coverage was obtained, the resulting occupancy map was saved and reused in the subsequent localization and navigation exercise.

Mapping workflow

  • Launch Gazebo Office
  • Run Gmapping SLAM
  • Drive TurtleBot with teleoperation
  • Observe map formation in RViz
  • Complete environmental coverage
  • Save the occupancy map
Gazebo TurtleBot simulation and completed SLAM map in RViz
Gazebo Office and the corresponding occupancy map generated through TurtleBot SLAM and saved for later localization and navigation.
Localization & Navigation

From a saved map to autonomous goal navigation

The final stage connected the previously generated map to AMCL localization and the ROS navigation stack.

Students provided an initial pose estimate in RViz, observed the AMCL particle distribution converge, and compared the laser observations with the stored map.

Once localization was established, navigation goals were assigned through RViz and the TurtleBot autonomously planned and executed paths through the environment.

Navigation workflow

  • Load the saved occupancy map
  • Launch the navigation stack
  • Initialize robot pose
  • Observe AMCL particle convergence
  • Set a 2D navigation goal
  • Observe autonomous path execution
AMCL localization and TurtleBot autonomous navigation in RViz
AMCL localization and autonomous navigation in RViz, showing the robot pose, sensor information, costmap, and planned trajectory.
Teaching Method

Manual for reference, live lab for understanding

The written manual provided a reproducible reference, while the live session focused on guided experimentation, observation, questions, and troubleshooting.

Rather than only demonstrating completed results, students were encouraged to run commands themselves, inspect the changing ROS system state, diagnose problems, and connect observed behavior to the underlying concepts.

Live-lab approach

  • Explain the concept
  • Run the command together
  • Observe system behavior
  • Inspect nodes and topics
  • Discuss unexpected behavior
  • Troubleshoot student environments
  • Verify completion before proceeding
My Role

Laboratory development, validation, and instruction

I developed and revised the laboratory material, verified the complete virtual robotics workflow, prepared the live instructional content, guided students through the exercises, and provided troubleshooting support during laboratory sessions.

The objective was not only to make the software run, but to ensure that students could understand the ROS architecture underlying the simulated robot behavior.

Responsibilities

  • Lab manual redevelopment
  • ROS workflow verification
  • Gazebo / TurtleBot integration testing
  • Live laboratory instruction
  • SLAM and navigation demonstrations
  • Technical troubleshooting
  • Student support and grading
Laboratory Sequence

Next: localization in greater depth

Lab 2 expanded the localization component into a dedicated AMCL experiment examining particle-filter behavior and parameter sensitivity.

NEXT · LAB 02

AMCL Localization

Particle-filter localization, sensor and motion models, measurement uncertainty, particle count, pose error, covariance, and computation-time analysis.

← Back to Waterloo Research & Work