Files
ros2-assignments/doc/nodes/GradeCalculator.md

1.0 KiB

GradeCalculator (assignments::one::grade_calculator::GradeCalculator)

Overview

The GradeCalculator node provides a ROS2 service for calculating student exam grades. It processes exam scores, applies custom logic for specific student names, and ensures grade results are within valid bounds.

Implementation Details

Constructor

GradeCalculator()
  • Initializes ROS2 node with name grade_calculator
  • Creates a ROS2 service server for grade_calculator_service
  • Binds the service callback to handle grade calculation requests
  • Logs service startup

Core Functions

void grade_calculator_callback(const Exams::Request::SharedPtr request, const Exams::Response::SharedPtr response)

  • Checks if exam grades are provided
  • Calculates the total and average of exam grades
  • Converts student name to lowercase for comparison
  • Adds a bonus of 10 points if the student name is "wessel"
  • Ensures the final grade is clamped between 10 and 100
  • Sends the calculated grade back through the service response