UNIVERSITY OF WATERLOO · ROBOTICS LAB DEVELOPMENT

Pre-Lab — Virtual ROS
Robotics Environment

Development and validation of a virtual robotics environment enabling students to run ROS, Gazebo, MATLAB, and TurtleBot experiments remotely.

Overview

Building the foundation for remote robotics laboratories

The pre-lab was developed to give senior undergraduate and graduate students a reproducible robotics environment before beginning localization, navigation, and path-planning laboratories.

ROS Robot middleware
Gazebo Robot simulation
MATLAB Algorithm development
VMware Virtual lab environment
Lab Redesign

Moving robotics experiments into a virtual environment

The laboratory sequence had previously relied heavily on access to physical mobile robots and local laboratory infrastructure.

To support remote delivery, the robotics environment was rebuilt around a virtual machine containing Ubuntu, ROS, and Gazebo, with MATLAB running on the host computer and communicating with ROS over the network.

Design objectives

  • Enable robotics experiments away from the physical lab
  • Provide a consistent software environment
  • Reduce setup ambiguity for students
  • Connect MATLAB algorithms to ROS simulation
  • Prepare students for later localization and planning labs
  • Document common setup and networking failures
Environment Architecture

VMware, Ubuntu, ROS, Gazebo, and MATLAB

The virtual laboratory connected a simulated TurtleBot environment running inside Ubuntu with MATLAB running on the host computer through the ROS network.

01 VMware
→
02 Ubuntu + ROS
→
03 Gazebo
↔
04 ROS Network
↔
05 MATLAB
Virtual ROS and Gazebo robotics environment used for remote laboratory instruction
Virtual robotics environment integrating Ubuntu, ROS, Gazebo, and MATLAB through a networked VMware setup.
Student Workflow

A reproducible setup process

The manual was written as a step-by-step workflow so students could establish the same environment before beginning the technical robotics laboratories.

Setup sequence

  • Install and launch the provided VMware image
  • Run the Ubuntu robotics environment
  • Launch Gazebo Office
  • Identify the virtual-machine IP address
  • Connect MATLAB to the ROS master
  • Verify active ROS topics
  • Test publisher/subscriber communication
  • Validate TurtleBot simulation access
ROS Networking

Connecting MATLAB to the simulated robot

A major part of the pre-lab was ensuring reliable communication between the host computer and the ROS environment running inside the virtual machine.

Network configuration

Students identified the VM IP address, connected MATLAB to the ROS master, and verified that ROS topics from the Gazebo simulation were visible across the network.

Communication verification

Topic discovery and ROS initialization were used to verify that MATLAB, ROS, and the simulated TurtleBot were communicating correctly before proceeding to later labs.

Troubleshooting

Designing for the failures students actually encounter

The lab material was not limited to ideal installation instructions. It also documented practical issues that could prevent students from completing the robotics labs.

These setup problems were reproduced and verified during development so that students could be supported during live laboratory sessions.

Typical issues addressed

  • Virtual-machine network configuration
  • Incorrect IP address or ROS master connection
  • VPN interference with ROS communication
  • Windows firewall / ROS communication permissions
  • Gazebo startup problems
  • MATLAB–ROS connectivity failures
  • Publisher configuration issues
My Role

Development, verification, documentation, and student support

I developed and tested the virtual laboratory workflow, rewrote the student-facing instructions, verified the software and networking configuration, and supported students as they encountered technical issues during laboratory sessions.

The pre-lab established a common technical foundation for the subsequent ROS, localization, navigation, and path-planning exercises.

Responsibilities

  • Virtual robotics environment development
  • Lab workflow verification
  • Technical manual redevelopment
  • ROS / Gazebo / MATLAB integration testing
  • Network troubleshooting
  • Student technical instruction
  • Live lab troubleshooting support
Laboratory Sequence

Foundation for the robotics labs

Once the virtual environment was established, students progressed into ROS operation, SLAM, localization, navigation, and path planning.

NEXT

Lab 1 — ROS, SLAM & Navigation

Introduction to ROS tools, simulated TurtleBot control, sensor visualization, mapping, localization, and autonomous navigation.

← Back to Waterloo Research & Work