Robotic Systems Laboratory
(UofM Course) Multidisciplinary laboratory course with exposures to sensing, reasoning, and acting for physically-embodied systems
This is a graduate course (instrutor: Dr. Peter Gaskell) provided by Robotics Department, University of Michigan. It is a multidisciplinary laboratory course with exposures to sensing, reasoning, and acting for physically-embodied systems. Introduction to kinematics, localization and mapping, planning, control. Design, build, integrate, and test mechanical, electrical, and software systems. Projects based on a series of robotic platforms, including a dynamic system (BalanceBot Lab), a manipulator (Arm Lab), and a mobile robot SLAM system (Bot Lab).
BalanceBot Lab
Overview
This project focuses on the modeling, control, and simulation of a self-balancing two-wheeled robot (similar to an inverted pendulum system). The goal is to stabilize the robot in the upright position and enable it to follow reference trajectories using classical control techniques. The project serves as an applied example of integrating dynamics modeling, state-space control design, and numerical simulation.
Required Knowledge and Skills
- Classical and Modern Control Theory
- Linearization of nonlinear systems
- State-space representation
- LQR (Linear Quadratic Regulator) design
- PID control fundamentals
- Dynamic System Modeling
- Newtonian and Lagrangian dynamics
- Modeling of underactuated systems (e.g., inverted pendulum)
- Continuous-time simulation techniques
- Numerical Tools and Coding
- MATLAB/Octave for control design and simulation
- Use of symbolic computation or derivation tools for equation modeling
- Graphing and interpreting response data (e.g., position, velocity, angle)
Project Tasks
- Model Derivation
- Derive the equations of motion of the two-wheeled robot using Newton-Euler or Lagrangian methods.
- Formulate the system in state-space representation.
- System Analysis
- Linearize the nonlinear dynamics around the upright equilibrium.
- Analyze the controllability and observability of the system.
- Control Design
- Design an LQR controller to stabilize the robot’s upright position.
- Tune gains to optimize for stability, response time, and minimal control effort.
- Simulation and Evaluation
- Simulate the robot’s response to perturbations and reference commands.
- Plot time-series results and verify the effectiveness of the control policy.
- Experiment with trajectory following under stabilization constraints.

Arm Lab
Overview
This project centers on controlling a 1-degree-of-freedom (1-DoF) robotic arm using feedback control strategies. The arm is modeled as a single-link pendulum actuated by torque at the joint, and the objective is to develop a proportional-derivative (PD) controller that allows the arm to track a desired trajectory over time. The project emphasizes classical control concepts applied to robotic systems, providing a practical foundation in low-level motion control.
Required Knowledge and Skills
- Control Theory
- Understanding of proportional, derivative, and PD control
- Gain tuning and stability analysis
- Step and sinusoidal reference tracking
- Dynamics and System Modeling
- Modeling of single-link robotic manipulators
- Understanding of torque, angular velocity, and joint acceleration
- Nonlinear differential equations and system response
- Programming and Simulation
- MATLAB or JavaScript implementation for real-time simulation
- Numerical integration of dynamic equations
- Visualization of system state (angle, angular velocity, torque)
Project Tasks
- System Modeling
- Analyze the physical properties of the 1-DoF robotic arm (mass, length, gravity).
- Derive the nonlinear equation of motion governing the arm’s dynamics.
- Controller Design
- Implement a proportional controller and observe its effect on tracking error and convergence.
- Extend the controller to include derivative feedback, forming a PD controller.
- Tune the gains to ensure stability, fast response, and low overshoot.
- Trajectory Tracking and Testing
- Track both static (e.g., constant angle) and dynamic (e.g., sinusoidal) reference inputs.
- Evaluate the system’s performance under different gain settings and disturbances.
- Plot angular displacement and error over time to visualize controller behavior.

Bot Lab
Overview
This project series centers on programming a mobile robot platform (MBot) to autonomously perceive, map, localize, plan, and navigate in unknown environments. The work spans low-level feedback control, SLAM, path planning, and autonomous exploration, integrating sensing, estimation, control, and planning in both real and simulated environments.
Required Knowledge and Skills
- Control & Estimation
- Proportional-Derivative (PD) feedback control
- Monte Carlo Localization (MCL)
- Sensor fusion using encoders, IMU, and 2D LiDAR
- SLAM & Mapping
- Occupancy grid mapping with ray casting
- Probabilistic SLAM using particle filters
- Sensor and action models based on probabilistic robotics
- Path Planning & Navigation
- Configuration space construction
- A* search for goal-directed navigation
- Frontier-based autonomous exploration
- Software & Simulation Tools
- Python, C++, and LCM-based multi-process communication
- Use of botgui, sim.py, and lcm-logplayer for real-time simulation and visualization
Project Tasks
- Occupancy Grid Mapping
- Implemented probabilistic occupancy grid construction using known poses.
- Generated 2D maps from LIDAR and encoder data, visualized in botgui.
- Applied Bresenham’s algorithm for efficient ray tracing.
- Monte Carlo Localization (MCL)
- Developed action and sensor models based on odometry and LIDAR measurements.
- Tuned particle filters to track robot pose under noisy sensor conditions.
- Evaluated localization accuracy across various test logs and environments.
- Full SLAM System
- Integrated mapping and localization for simultaneous SLAM.
- Demonstrated stable mapping performance in structured and cluttered environments.
- Evaluated performance under different map resolutions and motion trajectories.
- Path Planning with A*
- Implemented A* algorithm for path planning in 2D occupancy maps.
- Created and tested configuration space representations with obstacle distance grids.
- Integrated planner with motion controller for real-time goal navigation.
- Autonomous Exploration
- Developed a frontier-based exploration state machine.
- Enabled MBot to explore unknown environments autonomously and return to base.
- Analyzed the impact of planning heuristics and exploration strategies.
