  Control theory is an important cornerstone of the robotics field and is
considered a fundamental subject in an undergraduate and postgraduate robotics
curriculum. Furthermore, project-based learning has shown significant benefits
in engineering domains, specifically in interdisciplinary fields such as
robotics which require hands-on experience to master the discipline adequately.
However, designing a project-based learning experience to teach control theory
in a hands-on setting can be challenging, due to the rigor of mathematical
concepts involved in the subject. Moreover, access to reliable hardware
required for a robotics control lab, including the robots, sensors, interfaces,
and measurement instruments, may not be feasible in developing countries and
even many academic institutions in the US. The current paper presents a set of
six project-based assignments for an advanced postgraduate Robot Control
course. The assignments leverage the Robot Operating System (ROS), an
open-source set of tools, libraries, and software, which is a de facto standard
for the development of robotics applications. The use of ROS, along with its
physics engine simulation framework, Gazebo, provides a hands-on robotics
experience equivalent to working with real hardware. Learning outcomes include:
i) theoretical analysis of linear and nonlinear dynamical systems, ii)
formulation and implementation of advanced model-based robot control algorithms
using classical and modern control theory, and iii) programming and performance
evaluation of robotic systems on physics engine robot simulators. Course
evaluations and student surveys demonstrate that the proposed project-based
assignments successfully bridge the gap between theory and practice, and
facilitate learning of control theory concepts and state-of-the-art robotics
techniques through a hands-on approach.
