Grading and tasks

Table of Contents

Grading

Points you have earned will determine your grade. Refer to the list below.

Grade points

  • A 9001+

  • B 8001..9000

  • C 7001..8000

  • D 6001..7000

  • E 5001..6000

  • F 0..5000

Task points and deadlines

Tasks approved after "Full points deadline" and before "Expires at" will receive half of the points.

Task Points Full points deadline Expires at

Test Robot

Test robot assembled

1000

2025-09-22 20:00

2025-11-17 20:00

Test robot thrower design completed

600

2025-09-22 20:00

2025-11-17 20:00

Test robot thrower fabricated

400

2025-10-06 20:00

2025-11-17 20:00

Test robot thrower mechanics assembled and attached to robot

400

2025-10-09 20:00

2025-11-17 20:00

Test robot thrower electronics attached and working

200

2025-10-09 20:00

2025-11-17 20:00

Programming

Mainboard communication

400

2025-09-25 20:00

2026-01-12 20:00

Robot finds a ball

1200

2025-10-09 20:00

2026-01-12 20:00

Robot follows a ball

800

2025-10-23 20:00

2026-01-12 20:00

Robot finds basket with a ball

800

2025-11-06 20:00

2026-01-12 20:00

Robot throws a ball

300

2025-11-10 20:00

2026-01-12 20:00

Robot can properly react to referee commands

800

2025-11-17 20:00

2026-01-12 20:00

Code works with new mechanics

400

2025-12-18 20:00

2026-01-17 20:00

Code works with new electronics

400

2025-12-18 20:00

2026-01-17 20:00

3 of 11 balls in 60 seconds

1000

2025-12-18 20:00

2026-01-17 20:00

5 of 11 balls in 60 seconds

1000

2025-12-18 20:00

2026-01-17 20:00

2 of 5 balls with 6 balls outside

1200

2026-01-05 20:00

2026-01-12 20:00

Dealing with opponent robot using 1 ball

1200

2026-01-05 20:00

2026-01-12 20:00

Robot movable with remote controller

400

2026-01-05 20:00

2026-01-12 20:00

Throwing range test

1200

2026-01-05 20:00

2026-01-12 20:00

Ball holding test

800

2026-01-05 20:00

2026-01-12 20:00

Software documented

400

2026-01-19 20:00

2026-01-21 20:00

Mechanics

Omni wheels design completed

600

2025-10-06 20:00

2026-01-12 20:00

Motor mounts design completed

200

2025-10-06 20:00

2026-01-12 20:00

Camera mount design completed

200

2025-11-03 20:00

2026-01-12 20:00

Ball thrower design completed

1000

2025-11-03 20:00

2026-01-12 20:00

Adjustable ball throwing angle design completed

1000

2025-11-03 20:00

2026-01-12 20:00

Ball holding thrower design completed

400

2025-11-24 20:00

2026-01-12 20:00

Robot chassis design completed

1000

2025-11-24 20:00

2026-01-12 20:00

Robot design completed

600

2025-11-24 20:00

2026-01-12 20:00

Whole new robot fabricated

600

2025-12-08 20:00

2026-01-12 20:00

Mechanics assembled

1000

2025-12-15 20:00

2026-01-12 20:00

Electronics

Mainboard schematic completed

1200

2025-10-19 20:00

2026-01-12 20:00

Motor driver schematic completed

1000

2025-10-19 20:00

2026-01-12 20:00

Mainboard design completed

1200

2025-11-09 20:00

2026-01-12 20:00

Motor driver design completed

1000

2025-11-09 20:00

2026-01-12 20:00

PCB(s) soldered properly

800

2025-12-01 20:00

2026-01-12 20:00

PCB(s) working with firmware

1000

2025-12-15 20:00

2026-01-12 20:00

Throwing angle adjustable through mainboard

800

2025-12-15 20:00

2026-01-12 20:00

Ball holder controllable through mainboard

800

2025-12-15 20:00

2026-01-12 20:00

Thrower voltage regulator attached and working

200

2025-12-15 20:00

2026-01-12 20:00

Electronics attached to the robot and working

600

2025-12-15 20:00

2026-01-12 20:00

Mainboard documented

300

2026-01-19 20:00

2026-01-21 20:00

Motor driver documented

300

2026-01-19 20:00

2026-01-21 20:00

Firmware documented

200

2026-01-19 20:00

2026-01-21 20:00

Progress Presentations

Progress presentation

100

2025-09-15 20:00

Progress presentation

100

2025-09-29 20:00

Progress presentation

100

2025-10-13 20:00

Progress presentation

100

2025-10-27 20:00

Progress presentation

100

2025-11-10 20:00

Progress presentation

100

2025-11-24 20:00

Progress presentation

100

2025-12-08 20:00

Progress presentation

100

2026-01-12 20:00

Competitions

1st test competition

1000

2025-11-20 20:00

1st test competition with new mechanics

100

2025-11-20 20:00

1st test competition with new electronics

100

2025-11-20 20:00

1st test competition winner

400

2025-11-20 20:00

2nd test competition

800

2025-12-04 20:00

2nd test competition with new mechanics

200

2025-12-04 20:00

2nd test competition with new electronics

200

2025-12-04 20:00

2nd test competition winner

400

2025-12-04 20:00

3rd test competition

600

2025-12-18 20:00

3rd test competition with new mechanics

300

2025-12-18 20:00

3rd test competition with new electronics

300

2025-12-18 20:00

3rd test competition winner

400

2025-12-18 20:00

4th test competition

400

2026-01-08 20:00

4th test competition with new mechanics

400

2026-01-08 20:00

4th test competition with new electronics

400

2026-01-08 20:00

4th test competition winner

400

2026-01-08 20:00

5th test competition

200

2026-01-15 20:00

5th test competition with new mechanics

500

2026-01-15 20:00

5th test competition with new electronics

500

2026-01-15 20:00

5th test competition winner

400

2026-01-15 20:00

Delta X

2000

2026-01-17 20:00

Delta X with new mechanics

2000

2026-01-17 20:00

Delta X with new electronics

2000

2026-01-17 20:00

Delta X best course robot

1000

2026-01-17 20:00

Delta X 2nd best course robot

400

2026-01-17 20:00

Delta X 3rd best course robot

200

2026-01-17 20:00

Other

Team documentation started

200

2025-09-22 20:00

2025-11-17 20:00

Team documentation completed

400

2026-01-19 20:00

2026-01-21 20:00

Final presentation

0

2026-01-22 20:00

Parts returned

0

2026-01-22 20:00

Teams

  • 3 members per team is recommended as grading is optimised for that.

  • Teams can be self-formed.

  • Each team should have members to cover programming, mechanics and electronics.

  • Teams must be approved by the instructors.

Earning points

  • Completing a task will reward points for the team.

  • Tasks will not be approved after "Expires at" time.

  • Tasks approved after "Full points deadline" will receive half of the points.

  • Team members will decide how points will be distributed.

  • All team members must agree with the distribution.

  • Point distribution must be approved by the instructors.

  • Points can be distributed between all participants in the course, not just between members of the team.

  • All points must be distributed.

  • Points must be distributed as integers.

  • Each person can receive up to the maximum of a task’s points for the same task. For example, it’s possible to receive half of the task’s maximum points from one team and the other half of the points from another team.

  • Point distribution can’t be changed without a good reason after the task has been completed.

Task presentation

All tasks

  • No adhesives (e.g. tape or glue) allowed on the robot.

    • Competing at Delta X is allowed, but points will not be awarded.

    • If you have a special use case, ask instructors for exceptions.

Design tasks

  • Designs must be reviewed and approved by instructors before fabricating mechanical parts or before PCBs are ordered.

  • Designs can be submitted for review at any time.

    • Unfinished designs can be submitted for early feedback.

    • Revised designs can be resubmitted multiple times for review.

    • Please consider that reviewing takes time and don’t expect feedback immediately.

    • In some cases it can take up to a month or more from the first review to the design being approved, when there are a lot of changes needed. It is recommended to ask feedback early during practicals to fix most major problems and request full design review several weeks before deadline.

  • Mechanical design must be created with Autodesk Fusion.

    • Mechanical design project folder will be created by instructors and shared with team members.

  • Electronics design must be in team’s repository.

    • All necessary documents (schematic, PCB layout, component libraries, project file, etc.) must be in the repository.

Programming tasks

  • Code must be reviewed and approved by instructors to complete the tasks.

  • Each task must be successfully completed 2 times in a row.

  • Multiple attempts allowed.

Programming and competition tasks

  • At Delta robotics rooms.

    • During practicals (Mondays and Thursdays from 18:15 to 20:00) or any other time agreed upon with an instructor.

  • Robot needs to be properly assembled.

    • Relevant tasks need to be completed depending on the used hardware:

      • Test robot assembled

      • Test robot thrower mechanics assembled and attached to robot

      • Test robot thrower electronics attached and working

      • Mechanics assembled

      • Electronics attached to the robot and working

      • Thrower voltage regulator attached and working

Tasks

Progress presentation

Task is completed when the team has presented their progress.

  • In Delta room 2024.

  • Mondays 18:15 - 18:45, once every two weeks.

  • Each team has 1 minute to present and 1 minute for questions.

  • At least 1 team member presents the progress of all team members.

    • Talk about main achievements and problems that you need help with.

  • Each team must prepare 1 slide that illustrates their progress.

    • Slides can, for example, contain pictures of the current designs, videos about how the robot is working, pictures and videos of some components and simple diagrams or drawings.

    • Avoid using text.

Test robot

Test robot assembled

  • Mechanics assembled:

    • Chassis with camera mount.

    • At least 3 wheels.

    • Parts connected to each other without adhesives (e.g. tape or glue).

  • Electronics attached and working:

    • Computer

    • Camera

    • Mainboard

    • Motors for each wheel.

    • Power path control board with PC adapter and battery inputs and PC power output.

    • Batteries

    • Power switch between motor battery’s positive power connection.

    • Wires connecting electronics.

      • Wires that connect to power sources should not be exposed.

Test robot thrower design completed

  • Design approved.

  • Thrower should technically be able to throw the ball.

  • At least one part must be designed to be milled in the lab.

Test robot thrower fabricated

  • CAM approved.

  • Parts fabricated.

  • At least one part milled in the lab.

Test robot thrower mechanics assembled and attached to robot

  • Thrower assembled and attached to the robot.

Test robot thrower electronics attached and working

  • Motor and ESC attached and working.

  • Motor speed can be controlled through mainboard.

Programming

Mainboard communication

  • Code running on robot’s PC.

    • Sends speed commands to the mainboard.

  • Robot moves at least 1 meter on the court.

  • 30 seconds per attempt.

Robot finds a ball

  • Robot starts from the center of the court, facing its own basket.

  • 1 ball on the opposing half of the court.

  • 60 seconds per attempt.

  • Task is completed when the ball is in the middle of the camera’s horizontal field of view and the robot is not moving.

Robot follows a ball

  • Robot starts from its corner of the court.

  • 1 ball on the opposing half of the court.

  • Robot must stop if the ball is closer than 10 centimetres.

  • Instructor will move the ball when the robot gets closer than 10 centimetres to the ball.

  • Robot must follow the ball by simultaneously rotating and moving towards it.

  • Robot must use omnidirectional motion.

  • Task is completed when the robot is able to follow the ball.

Robot finds basket with a ball

  • Robot starts from its corner of the court.

  • 60 seconds per attempt.

  • 1 ball is placed by an instructor.

  • Task is completed when:

    1. The ball is closer than 10 centimetres to the robot.

    2. The opponent’s basket and the ball are in the middle of the camera’s horizontal field of view.

Robot throws a ball

  • Robot starts from its corner of the court.

  • 60 seconds per attempt.

  • 1 ball is placed by an instructor.

  • Task is completed when the ball is thrown at least 1 meter towards the opponent’s backboard.

Robot can properly react to referee commands

  • Refer to the robot basketball manager documentation.

  • Robot ID can be changed.

  • Robot reacts to referee signals that are targeted to it:

    • Start signal - Robot starts to move on the court.

    • Stop signal - Robot stops moving.

  • Robot correctly uses basket color from the signal’s info.

  • Robot retries to connect to basketball manager if connection is lost or has not been established yet.

Code works with new mechanics

  • Robot uses new mechanics.

  • Robot starts from its corner of the court.

  • 60 seconds per attempt.

  • 11 balls on the court.

  • Task is completed when a ball is thrown into the opponent’s basket.

  • Can be completed together with "Code works with new electronics" task.

Code works with new electronics

  • Robot uses new electronics.

  • Robot starts from its corner of the court.

  • 60 seconds per attempt.

  • 11 balls on the court.

  • Task is completed when a ball is thrown into the opponent’s basket.

  • Can be completed together with "Code works with new mechanics" task.

3 of 11 balls in 60 seconds

  • Robot starts from its corner of the court.

  • Balls are placed according to basketball rules.

  • At least 3 points must be scored.

  • 60 seconds per attempt.

5 of 11 balls in 60 seconds

  • Robot starts from its corner of the court.

  • Balls are placed according to basketball rules.

  • At least 5 points must be scored.

  • 60 seconds per attempt.

2 of 5 balls with 6 balls outside

  • 5 balls inside the playing court.

  • 6 balls outside the playing court.

    • Outside black lines but on the playing area or outside the playing court.

  • Balls are placed by instructors.

  • Robot’s starting position will be selected by the instructors.

    • For example robot can be placed outside the playing court (outside black lines) looking at the balls that are outside the playing area (not on the orange carpet).

    • Robot can also be placed behind basket’s backboard.

  • At least 2 points must be scored.

  • 60 seconds per attempt.

Dealing with opponent robot using 1 ball

  • 60 seconds per attempt.

  • 1 ball on the court placed behind the opponent robot.

  • Both robots are placed by the instructors.

  • When the robot finds the ball behind the opponent robot, the opponent robot moves between basket and the ball and remains there.

  • Task is completed when the ball is scored.

  • Images below illustrate the steps.

    • Robots are not required to move the same way as the arrows indicate.

dealing with opponent step 1 dealing with opponent step 2 dealing with opponent step 3

Robot movable with remote controller

  • Keyboard or gamepad or similar controller.

    • Connected wirelessly to the robot.

  • Robot game logic can be started and stopped.

  • Robot can be moved manually.

    • At least in all 4 directions along the main axes.

    • Rotate around its axis in both directions.

    • Start and stop the thrower motor.

Throwing range test

  • Robot starts from its corner of the court.

  • 60 seconds per attempt.

  • One ball at 10 centimetres from the opponent’s basket.

  • Another ball at the other corner of the backcourt.

  • Ball must be thrown from where it is located.

  • Task is completed when both balls are thrown into the opponent’s basket.

Ball holding test

  • Robot starts from its corner of the court.

  • 60 seconds per attempt.

  • 1 ball is placed by an instructor at the backcourt.

  • Robot must grab the ball and move to the frontcourt.

  • Ball can only be moved by holding it.

  • Only 1 throw from the frontcourt is allowed.

  • Task is completed when the ball is scored from the frontcourt.

Software documented

  • In team’s repository software branch and software/README.asciidoc file in AsciiDoc format.

  • Instructions on how to set up and run the code.

  • Used libraries and purpose of use.

  • A brief description of your game logic and overall code structure.

  • A block diagram of your game logic.

Mechanics

Omni wheels design completed

  • Design approved.

  • Wheels must be attachable to the motors.

Motor mounts design completed

  • Design approved.

  • Motors and wheels added to the assembly.

Camera mount design completed

Ball thrower design completed

  • Design approved.

  • Thrower attached to the chassis in the design.

  • Thrower should technically be able to throw the ball.

Adjustable ball throwing angle design completed

  • All "Ball thrower design completed" task requirements apply.

  • Throwing angle can be adjusted through the mainboard (for example with a servo).

Ball holding thrower design completed

  • All "Ball thrower design completed" task requirements apply.

  • Thrower designed to grab a ball, hold the ball while moving and release or throw the ball while holding.

Robot chassis design completed

  • Design approved.

  • Chassis for connecting all the parts.

  • Batteries attachable to chassis.

  • Electronics mounting:

    • Computer

    • Mainboard

    • Cutout for motor battery power switch.

    • Cutout for PC power adapter socket.

  • Design that prevents balls from getting stuck against the robot. If the robot drives against the ball, the ball should roll away.

    • Problem:

      • When robot sides are angled outwards, then the ball would get stuck, because the ball does not slide against the carpet and the robot sides.

        • ball stuck outwards angle

      • Ball can also get stuck with vertical robot sides, when the ball is not sliding against the carpet and the side. In this case the ball can’t rotate and roll away.

        • ball stuck vertical angle

    • Possible solutions:

      • One option to solve this is to have the sides angled inwards.

        • ball not stuck inwards angle

      • Another option is to make the bottom plate extend outwards, so that the edge of the bottom plate touches the ball before the side of the robot.

      • ball not stuck extended bottom

      • Both options push the ball below its center, which helps the ball to roll away.

Robot design completed

  • Complete design approved.

  • Robots’s maximum diameter must be 30 cm and maximum height 30 cm.

    • Robot basketball rules allow for a diameter of up to 35 cm and height of up to 35 cm, but smaller robot uses less material and fits more easily into boxes.

Whole new robot fabricated

  • CAM approved:

  • All parts fabricated.

  • Parts do not need to be assembled.

Mechanics assembled

  • All mechanical parts attached together.

  • No adhesives used.

Electronics

  • It’s recommended to design a single PCB with a microcontroller and motor drivers.

Mainboard schematic completed

  • Design approved.

  • Required functionality:

    • Closed loop control of at least 3 motors.

    • Thrower motor control.

    • Communication with robot’s computer.

  • When using STM32 microcontroller and STM32CubeIDE or STM32CubeMX to do the pin assignments, add STM32CubeIDE project or *.ioc file to firmware branch in the team’s repository.

    • This simplifies checking the pin assignments on the schematic.

Motor driver schematic completed

  • Design approved.

  • Requirements:

    • Can drive motors that are used on the robot.

    • Works with batteries that are used on the robot.

    • Electrically isolated from the mainboard.

    • Protected when power is connected with reverse polarity.

Mainboard design completed

  • Same requirements as for "Mainboard schematic completed".

  • Design (schematic and layout) approved.

    • PCB limitations:

      • Size up to 50 mm x 50 mm.

      • Green solder mask to save money. Other colours are more expensive.

        • PCB needs to be covered in the robot to comply with competition rules.

      • For exceptions ask instructors.

Motor driver design completed

  • Same requirements as for "Motor driver schematic completed".

  • Design (schematic and layout) approved.

    • PCB limitations:

      • Size up to 50 mm x 50 mm.

      • Green solder mask to save money. Other colours are more expensive.

        • PCB needs to be covered in the robot to comply with competition rules.

      • For exceptions ask instructors.

PCB(s) soldered properly

  • All components and wires soldered.

  • Assembled PCB(s) inspected by instructors and approved.

PCB(s) working with firmware

  • Firmware implements required functionality.

  • Firmware code hosted in team’s repository firmware branch.

  • Firmware code reviewed and approved.

  • Wheel and thrower motors can be controlled through the mainboard.

  • Wheel motors can be rotated in both directions.

    • Encoders must work.

    • Closed loop (e.g. PI or PID) speed control must work.

Throwing angle adjustable through mainboard

  • Commands can be sent to the mainboard to change the throwing angle of a physical thrower.

Ball holder controllable through mainboard

  • Commands can be sent to the mainboard to grab, hold and release or/and throw a ball with a physical thrower or mechanism.

Thrower voltage regulator attached and working

  • Attached either to the old robot or to the new robot.

  • Voltage regulator is connected and working between battery and thrower motor controller to ensure that changing battery voltage doesn’t affect thrower motor speed.

Electronics attached to the robot and working

  • Attached either to the old robot or to the new robot.

    • Same requirements as for "Test robot assembled".

  • Command(s) can be sent through mainboard:

    • To move wheel motors.

    • Change thrower motor speed.

  • Motor battery power switch works.

  • Power path control board works.

Mainboard documented

  • All documentation must be in your team’s repository with electronics design files.

  • Functionality and connector pinouts described in AsciiDoc format in electronics branch and in electronics/README.asciidoc file.

  • Schematic PDF file.

  • Components BOM in TSV (tab-separated values, *.tsv) format.

    • Columns

      • Name/Part Number

      • Description

      • Designator

      • Quantity

  • Gerber files in separate directory.

    • Gerber X2 format is preferred.

Motor driver documented

  • Same requirements as for "Mainboard documented" task.

Firmware documented

  • In team’s repository firmware branch and firmware/README.asciidoc file in AsciiDoc format.

  • Format and description of the data that can be sent to and received from mainboard.

Competitions

Test competition

  • Either test robot or new robot qualifies according to basketball rules:

    • Fits into the weight limit.

    • Fits into size limits.

    • Does not have any forbidden colors visible.

    • Scores at least 1 point.

  • Robot needs to properly react to referee commands.

Test competition with new mechanics
  • Bonus points for qualifying with new mechanics.

Test competition with new electronics
  • Bonus points for qualifying with new electronics.

Test competition winner
  • Bonus points for the best team among course participants.

Delta X

  • New robot or test robot qualifies according to basketball rules.

Delta X with new mechanics
  • Bonus points for qualifying with new mechanics.

Delta X with new electronics
  • Bonus points for qualifying with new electronics.

Delta X best course robot
  • Bonus points for the best team among course participants.

Delta X 2nd best course robot
  • Bonus points for the 2nd best team among course participants.

Delta X 3rd best course robot
  • Bonus points for the 3rd best team among course participants.

Other

Team documentation started

  • Must be reviewed and approved by instructors.

  • In team’s repository documentation branch and README.asciidoc file.

  • In AsciiDoc format.

  • In English.

  • Names of the team members.

  • See: Writing documentation

Team documentation completed

  • No grades if not completed.

  • Requirements from the "Team documentation started" task also apply here.

  • README.asciidoc sections:

    • Programming

      • A short analysis of what was good and bad in your code and how to improve.

    • Electronics

      • If you used something different from what was given at the start of the course or did something different, describe it.

      • Photos illustrating electronics on your robot. (electronics board, cable management, etc.)

      • A short analysis of what was good and bad in your electronics and how to improve.

    • Mechanics

      • Public Autodesk Fusion design link.

      • If you used something different from what was given at the start of the course or did something different, describe it.

      • Description of the main points of interest in your ball thrower design and construction process.

      • Photos of your robot.

      • A short analysis of what was good and bad in your mechanics and how to improve.

    • Personal comments. Each member must write a paragraph that covers the following:

      • On which parts of the robot did you work on?

      • What did you learn?

      • What would you do differently next time?

      • What did you like/did not like about the course/building a robot?

      • Suggestions for next year students.

      • Suggestions for instructors.

Final presentation

  • 10 minutes per team.

  • Overview of the robot.

  • Talk about your experience.

  • No grades if not completed.

Parts returned