Grayson Hoang

Results 6 issues of Grayson Hoang

## Please fill out the following before requesting review on this PR ### Description See #3408 https://github.com/user-attachments/assets/a77848b3-ee4a-4df8-ad6d-0fa36bc76db8 Changes motor fault handling to a per motor control. Allows for faulty motors...

### Description of the task Currently, when our motors fail, the robot will stop, attempt to reset, and if it fails to do that, drive as normal minus the failed...

Difficulty - 13
Triage
Robot Software
Motion Planning
Gameplay

Assuming #3425 is merged, motor.cpp will have a field called `enabled_motors` that represents the motors that are currently usable (out of the 4 drive motors and the dribbler). The motor...

Difficulty - 7
Triage
Thunderscope
Robot Software
Elaborated Starters

### Description ![468327453-3a286cdb-9ca7-47f4-bfdc-d7df4b30e00a](https://github.com/user-attachments/assets/5dbdada9-366a-40b4-b38f-d58d473a0cc0) The main idea is to encapsulate all of our tactics and tactic-FSMs under a common FSM base class (and tactic class for the tactics). I'm mainly making...

### Description This is built off of PR #3481 I use [Boost::SML logging capabilities ](https://boost-ext.github.io/sml/examples.html#logging) to expose the guard calls and state transitions that our AI undergoes as it is...

### Description Adds a pytest for penalty kick Basically this test just assess whether the ball goes into the goal. I may update it later to pass if the ball...