Assignments
Problem Sets (30% of grade)
Problem sets consist of theoretical problems and programming exercises to reinforce concepts covered in lectures.
Problem Set 1
Release Date: September 21, 2025 (Sunday, 7:00 AM)
Due Date: October 7, 2025 (Tuesday, 11:00 PM)
Late Due Date: October 9, 2025 (Thursday, 11:00 PM)
Weight: 10% of total grade (100 points)
Components:
- Problem_set1_writing - Theoretical problems and derivations
- Problem_set1_code - Programming implementation
Topics Covered:
- Coordinate transformations and rotation matrices
- Quaternion operations
- Robot kinematics
- Basic ROS2 programming
Problem Set 2
Release Date: October 27, 2025 (Monday, 7:00 AM)
Due Date: November 11, 2025 (Tuesday, 11:00 PM)
Late Due Date: November 13, 2025 (Thursday, 11:00 PM)
Weight: 10% of total grade (100 points)
Topics Covered:
- Probabilistic robotics fundamentals
- Bayesian filtering
- Kalman filter derivations
- Sensor modeling
Problem Set 3
Release Date: November 24, 2025 (Monday, 7:00 AM)
Due Date: December 11, 2025 (Thursday, 11:00 PM)
Late Due Date: December 13, 2025 (Saturday, 11:00 PM)
Weight: 10% of total grade (100 points)
Topics Covered:
- SLAM algorithms
- Path planning
- Advanced filtering techniques
- Multi-sensor fusion
Coding Exercises (50% of grade)
Coding exercises are hands-on programming assignments where you will implement key algorithms for mobile robotics using ROS2. These assignments involve processing real sensor data and implementing state estimation algorithms.
Coding Exercise 1: Wheel Odometry and ROS2 Basics
Release Date: October 8, 2025 (Wednesday, 4:00 PM)
Due Date: October 28, 2025 (Tuesday, 11:00 PM)
Late Due Date: October 30, 2025 (Thursday, 11:00 PM)
Weight: 150 points
Components:
- Coding exercise 1 - Code implementation (4:00 PM release)
- Coding exercise 1 - Report (7:00 PM release)
Objectives:
- Implement wheel odometry computation from encoder data
- Create ROS2 nodes for publishing odometry messages
- Handle coordinate transformations using tf2
- Visualize robot trajectory in RViz2
Deliverables:
- Python implementation of odometry node
- Output trajectory files for autograding
- Technical report explaining your approach and results
Coding Exercise 2: IMU Integration and Sensor Fusion
Release Date: November 15, 2025 (Saturday, 9:00 PM)
Due Date: December 2, 2025 (Tuesday, 11:00 PM)
Late Due Date: December 4, 2025 (Thursday, 11:00 PM)
Weight: 175 points
Components:
- coding exercise 2_code - Implementation
- coding exercise 2_report - Technical report
Objectives:
- Process IMU data (accelerometer and gyroscope)
- Implement complementary filter for orientation estimation
- Fuse wheel odometry with IMU measurements
- Handle sensor noise and drift
Deliverables:
- ROS2 node for IMU processing and fusion
- Comparison of different fusion approaches
- Analysis report with performance metrics
Coding Exercise 3: Extended Kalman Filter for GPS-IMU-Odometry Fusion
Release Date: December 12, 2025 (Friday, 4:00 PM / 5:00 PM)
Due Date: December 30, 2025 (Tuesday, 11:00 PM)
Late Due Date: January 1, 2026 (Thursday, 11:00 PM)
Weight: 175 points
Components:
- Coding exercise 3 code - EKF implementation (4:00 PM release)
- Coding exercise 3 report - Analysis and results (5:00 PM release)
Objectives:
- Implement Extended Kalman Filter (EKF)
- Fuse GPS, IMU, and wheel odometry data
- Handle asynchronous sensor measurements
- Tune process and measurement noise parameters
- Evaluate localization accuracy
Deliverables:
- Complete EKF implementation in ROS2
- Trajectory comparison with ground truth
- Comprehensive report with covariance analysis
- Performance evaluation metrics
Quizzes (20% of grade)
Quiz | Date | Time | Topics | Points |
---|---|---|---|---|
Quiz 1 | October 10, 2025 (Friday) | In class | Modules 1-3: Intro, Math Fundamentals, Robot Dynamics | 50 |
Quiz 2 | November 7, 2025 (Friday) | In class | Modules 4-5: Motion Control, Sensor Fusion | 75 |
Quiz 3 | December 5, 2025 (Friday) | In class | Module 6: Localization, Mapping, SLAM | 75 |
Assignment 4: Semester-Long Simulation Project
Assignment 4: ROS2 and Gazebo Simulation Project (All Students)
Duration: Semester-long project split into two parts
Weight: 100 points (required for both 3 and 4 credit sections)
Project Overview:
All students will implement what they learn in CS498GC Mobile Robotics using Ubuntu 22.04, ROS 2 Humble, and Gazebo Simulation. This semester-long project allows you to apply course concepts in a practical simulation environment.
Release Date: September 3, 2025 (Wednesday)
Due Date: November 21, 2025 (Friday, 11:00 PM)
Weight: 50 points
Objectives:
- Set up Ubuntu 22.04 and ROS 2 Humble on local device
- Configure Gazebo simulation environment
- Implement basic robot model and sensors
- Create ROS2 nodes for basic navigation
- Implement coordinate transformations from Modules 1-2
Deliverables:
- Working simulation environment setup
- Basic robot URDF/SDF model
- Initial navigation implementation
- Setup documentation and screenshots
Release Date: November 24, 2025 (Monday)
Due Date: December 16, 2025 (Tuesday, 11:00 PM)
Weight: 50 points
Objectives:
- Implement sensor fusion algorithms from Module 5
- Add IMU, GPS, and wheel encoder simulation
- Implement EKF for state estimation
- Create path planning and control algorithms
- Integrate SLAM capabilities from Module 7
Deliverables:
- Complete ROS2 package with all implementations
- Gazebo world with navigation challenges
- Technical report (8-10 pages) with results
- Video demonstration of full system
- GitHub repository with documentation
Key Technologies:
- Operating System: Ubuntu 22.04 LTS
- ROS Version: ROS 2 Humble Hawksbill
- Simulation: Gazebo Classic or Ignition Gazebo
- Programming: Python or C++
- Visualization: RViz2, PlotJuggler
Submission Guidelines
Important Policies:
- All assignments must be submitted through Gradescope (Entry Code: KDP5G8)
- Code submissions should include all necessary files to reproduce results
- Reports should be in PDF format with clear explanations and figures
- Late Policy: One assignment can be 2 days late without penalty. After that, 20% per day
- Academic integrity: All work must be your own. Cite any external resources used