EE5531

Michigan Tech · Spring 2027

Wanted:
Future Autonomy Stack Engineers.

In EE5531 Introduction to Robotics you transform raw sensor streams into autonomous movement. You will build software to map environments, estimate position under uncertainty, and navigate physical platforms using algorithmic foundations standard in industry.

A Clearpath Jackal robot in front of the Husky statue on the Michigan Tech campus

Where EE5531 alumni work now

  • May Mobility
  • Torc Robotics
  • General Motors
  • Toro
  • Qualcomm
  • John Deere

…and throughout the autonomy industry.

Why take it

Robotics the way industry does it

Real robots

Clearpath Jackals and TurtleBot3s with LiDAR and IMUs. Not just simulation: you'll calibrate their sensors, map campus environments, and send them out on autonomous missions.

The industry toolchain

ROS 2 Jazzy, Nav2, SLAM Toolbox, Gazebo, RViz2, Python, and Git. If you've read an autonomy job posting, you've seen this list.

The math that makes autonomy work

Learn why we can trust autonomous systems. Derive a Kalman filter, then watch it pull a drifting robot back on track. Sensor models, Bayesian filtering, occupancy grids, and path planning, all on data you collect yourself.

A portfolio to make your resume stand out

Every project is a public GitHub repository with code, maps, and video. Exactly what today's employers expect.

Course structure

Observe. Orient. Decide. Act.

Every autonomous system, from a delivery robot to a self-driving truck, runs the same loop. The course builds it one stage at a time: learn the theory, implement it in ROS 2, then prove it works on a real robot. By the end of the semester, your code runs the whole loop.

  1. 01 · Observe

    What is my sensor really telling me?

    LiDAR, IMU, and wheel encoders. Noise models and calibration.

    Hands-on: put a robot in front of a wall at 0.5–2 m, record thousands of LiDAR returns, and measure exactly how your sensor gets it wrong.

  2. 02 · Orient

    Where am I, and what's around me?

    Dead reckoning, the Bayes filter, EKF and UKF, occupancy grids, and SLAM.

    Hands-on: watch odometry drift, fix it with a Kalman filter, then map a campus environment with SLAM Toolbox.

  3. 03 · Decide

    How do I get there?

    Costmaps, keepout zones, global planners, and behavior trees for recovery.

    Hands-on: configure Nav2 to route around obstacles and no-go zones, and to recover when the robot gets stuck.

  4. 04 · Act

    Make it happen on hardware

    Local controllers, trajectory tracking, and full-stack integration.

    Hands-on: run your full stack on a Clearpath Jackal on an autonomous mission, with no joystick. Performance is scored.

What students built last spring

Husky Plaza, in 3D

Students took LiDAR data recorded on campus, ran it through the MOLA SLAM framework, and published the result as an interactive point cloud, colored by height. Look closely to spot the trees, the building, and the people.

Point cloud map of Husky Plaza at Michigan Tech, colored by elevation
Point cloud looking across Husky Plaza, past the statue and people, toward the building facade

What you'll work with

Hardware & tools

  • Clearpath Jackal
  • TurtleBot3
  • 3D LiDAR
  • IMU
  • ROS 2 Jazzy
  • Nav2
  • SLAM Toolbox
  • Gazebo
  • RViz2
  • Python
  • Git & GitHub

Course details

Sign up for Spring

Course
EE5531 Introduction to Robotics
Term
Spring 2027
Lecture
Monday & Wednesday, 1:00–1:50 PM
Project time
Monday, 2:00–3:50 PM
CRN
12485 / 12486
Instructor
Dr. Jeremy Bos · jpbos@mtu.edu
Prerequisites
FOSS101 or equivalent experience
Who should take it
Students who have completed a BS in Robotics Engineering at Michigan Tech, and anyone with experience in Linux, Python (or C++), and version control who wants to know the whys and hows of autonomous systems.

The course runs only if enough students enroll. If you want it to run, register early and tell a friend.

Download the flyer (PDF)