Skip to main content

Assessment Package: Module 04 - Sensors and Perception

Assessment Overview​

ComponentWeightFormatDuration
Theory Quiz15%Multiple choice + short answer30 minutes
Lab Exercises35%Jupyter notebooks3 labs
Simulation Project35%Code + report1 week
Ethics Discussion15%Written reflection500 words
Total100%

Theory Quiz​

Time Limit: 30 minutes Passing Score: 70% Attempts: 2

Section A: Multiple Choice (40 points)​

Q1. An accelerometer at rest on a horizontal surface measures:

  • a) Zero acceleration in all axes
  • b) Approximately 9.81 m/s² in the vertical axis
  • c) The velocity of the surface
  • d) Only dynamic accelerations, not gravity

Q2. A gyroscope measures:

  • a) Linear acceleration
  • b) Angular position
  • c) Angular velocity
  • d) Magnetic field direction

Q3. The primary advantage of sensor fusion compared to using individual sensors is:

  • a) Lower cost
  • b) Simpler implementation
  • c) Improved accuracy and robustness
  • d) Reduced power consumption

Q4. In a camera's pinhole model, the focal length determines:

  • a) The image resolution
  • b) The field of view
  • c) The color accuracy
  • d) The frame rate

Q5. Which sensor is most affected by magnetic interference from motors?

  • a) Accelerometer
  • b) Gyroscope
  • c) Magnetometer
  • d) LIDAR

Q6. Depth cameras using structured light work by:

  • a) Measuring time-of-flight of laser pulses
  • b) Projecting a known pattern and measuring distortion
  • c) Using two cameras for stereo vision
  • d) Detecting infrared radiation from objects

Q7. IMU drift primarily affects which sensor?

  • a) Accelerometer
  • b) Gyroscope
  • c) Magnetometer
  • d) All equally

Q8. The Kalman filter prediction step uses:

  • a) Only sensor measurements
  • b) Only the system model
  • c) Both measurements and model
  • d) Neither—it initializes the state

Q9. Which coordinate frame is typically fixed to the robot's body?

  • a) World frame
  • b) Body frame
  • c) Camera frame
  • d) Inertial frame

Q10. LIDAR measures distance using:

  • a) Sound waves (echolocation)
  • b) Radio waves (radar)
  • c) Light pulses (time-of-flight)
  • d) Infrared heat signatures

Section B: Short Answer (60 points)​

Q11. (15 points) Explain why accelerometers alone cannot determine heading (yaw angle) but can estimate roll and pitch. Include a diagram if helpful.

Q12. (15 points) A robot's camera has a 60° vertical field of view and produces 480-pixel tall images. Calculate the vertical focal length in pixels. Show your work.

Q13. (15 points) Describe the complementary filter approach to orientation estimation. What are its advantages over a pure gyroscope integration approach?

Q14. (15 points) A depth camera returns a value of 0.65 for a pixel when the near plane is 0.1m and far plane is 10m. Calculate the metric depth. If the pixel is at coordinates (320, 240) in a 640×480 image with focal length 500 pixels, what are the 3D coordinates?


Lab Exercises​

Lab 04-01: IMU Data Reading (35% of lab grade)​

Grading Rubric:

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning (<50%)
Sensor AccessCorrectly reads all IMU channels with proper indexingMinor indexing issuesReads some but not all channelsCannot access sensor data
Data CollectionEfficient time-series collection with proper pre-allocationWorking but inefficientIncomplete data collectionNon-functional
VisualizationPublication-quality plots with labels, legend, unitsFunctional plots missing some elementsBasic plotsNo visualization
Noise ModelRealistic bias + variance model with justified parametersWorking noise modelIncomplete noise modelNo noise modeling
FilteringEffective filtering with tuned parametersWorking filter with default parametersAttempted filteringNo filtering

Lab 04-02: Camera Processing (35% of lab grade)​

Grading Rubric:

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning ( <50%)
RenderingCorrectly renders RGB and depth from arbitrary camerasMinor issues with camera selectionRenders only default viewCannot render
IntrinsicsAccurate matrix with correct FOV conversionMinor calculation errorsPartially correctIncorrect intrinsics
Depth ProcessingAccurate metric conversion with proper handling of edge casesWorking conversionIncomplete processingNon-functional
SegmentationRobust detection with morphological cleanupBasic detectionOversimplified approachNo detection
Point CloudValid 3D reconstruction with proper coordinate handlingMinor geometric errorsIncomplete reconstructionNon-functional

Lab 04-03: Sensor Fusion EKF (30% of lab grade)​

Grading Rubric:

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning (Below 50%)
State DesignComplete state vector with proper covariance initializationMinor design issuesIncomplete stateIncorrect state
PredictionCorrect nonlinear integration with accurate JacobianMinor Jacobian errorsPartially workingNon-functional
UpdateProper measurement model with innovation computationMinor issuesIncomplete updateNon-functional
IntegrationWorking fusion with good tracking performanceWorking but suboptimalPartially integratedNot integrated
EvaluationThorough RMSE analysis with insightful interpretationBasic evaluationIncomplete analysisNo evaluation

Simulation Project​

Project: Multi-Sensor Perception System​

Objective: Build a perception system that fuses IMU and camera data to track a moving target while estimating the robot's own orientation.

Duration: 1 week Deliverables: Code repository + 3-page technical report

Requirements​

  1. IMU-based Orientation Estimation (25%)

    • Implement EKF or complementary filter
    • Demonstrate tracking accuracy < 5° RMSE for roll/pitch
  2. Visual Target Detection (25%)

    • Detect colored marker in camera images
    • Track marker centroid across frames
    • Handle temporary occlusions gracefully
  3. 3D Target Localization (25%)

    • Combine depth data with detection to estimate 3D position
    • Transform to world coordinates using orientation estimate
  4. Integration and Testing (25%)

    • Run on provided test sequences
    • Generate performance report with metrics
    • Document failure cases and limitations

Grading Rubric​

CriterionPointsDescription
Orientation Accuracy25RMSE for roll, pitch against ground truth
Detection Robustness25Success rate across lighting and occlusion
Localization Accuracy253D position error relative to ground truth
Code Quality15Modularity, documentation, reproducibility
Report Quality10Clear writing, proper figures, analysis depth
Total100

Test Sequences​

  1. Static Scene: Stationary robot, moving target
  2. Robot Motion: Moving robot, stationary target
  3. Full Dynamic: Both robot and target moving
  4. Challenging: Low light, partial occlusions, fast motion

Ethics Discussion​

Prompt​

In a 500-word reflection, address the following scenario:

A university research lab develops an autonomous delivery robot for campus use. The robot is equipped with cameras, LIDAR, and microphones "for safety and navigation." After successful trials, the university administration requests access to the robot's sensor logs to:

  1. Monitor mask compliance during a health emergency
  2. Identify individuals involved in a campus protest
  3. Track building occupancy for energy management

Address the following in your reflection:

  • Which, if any, of these requests are ethically justifiable? Why or why not?
  • What technical design choices could have prevented this situation?
  • Who should have decision-making authority over sensor data use?
  • How does the original stated purpose ("safety and navigation") relate to these secondary uses?

Rubric​

CriterionExcellent (90-100%)Proficient (70-89%)Developing (50-69%)Beginning (Below 50%)
Ethical AnalysisNuanced evaluation of each request with clear reasoningSound analysis with minor gapsBasic ethical reasoningSuperficial or missing analysis
Technical SolutionsSpecific, feasible design recommendationsGeneral technical suggestionsVague technical mentionsNo technical discussion
Stakeholder ConsiderationComprehensive stakeholder analysisMost stakeholders consideredLimited stakeholder viewIgnores stakeholders
Writing QualityClear, well-organized, persuasiveClear with minor issuesSome clarity problemsUnclear or disorganized

Answer Key (Instructor Access Only)​

Quiz Answers​

Section A:

  1. b) Approximately 9.81 m/s² in the vertical axis
  2. c) Angular velocity
  3. c) Improved accuracy and robustness
  4. b) The field of view
  5. c) Magnetometer
  6. b) Projecting a known pattern and measuring distortion
  7. b) Gyroscope
  8. b) Only the system model
  9. b) Body frame
  10. c) Light pulses (time-of-flight)

Section B:

Q11: Accelerometers measure the gravity vector, which provides a reference for "down." Roll rotates around the forward axis, tilting the gravity measurement in the Y-Z plane. Pitch rotates around the lateral axis, tilting in the X-Z plane. However, yaw (rotation around the vertical axis) does not change the gravity vector's direction relative to the sensor—gravity still points straight down regardless of heading. Therefore, accelerometers cannot distinguish different yaw angles.

Q12:

  • FOV_y = 60° = Ï€/3 radians
  • height = 480 pixels
  • f_y = height / (2 × tan(FOV_y/2))
  • f_y = 480 / (2 × tan(30°))
  • f_y = 480 / (2 × 0.577)
  • f_y = 480 / 1.155 = 415.7 pixels

Q13: The complementary filter combines gyroscope integration (for fast dynamics) with accelerometer measurements (for drift correction) using a weighted blend:

angle = α × (angle + gyro × dt) + (1-α) × accel_angle

Advantages over pure gyro: eliminates drift over time while maintaining good short-term response. Simple to implement, computationally efficient, no complex state estimation required.

Q14:

  • Metric depth: z = 0.1 + 0.65 × (10 - 0.1) = 0.1 + 6.435 = 6.535 m
  • Principal point: cx=320, cy=240; Pixel at (320, 240) is the center
  • X = (320 - 320) × 6.535 / 500 = 0 m
  • Y = (240 - 240) × 6.535 / 500 = 0 m
  • Z = 6.535 m
  • 3D coordinates: (0, 0, 6.535) meters

Export Formats​

This assessment package is available in:

  • Markdown (this document)
  • Canvas LMS import package
  • PDF with answer key (instructor version)
  • Gradescope autograder configuration (for lab submissions)