I'd remove `goal->command.position == GRIPPER_CLOSED_ANGLE`:

1. Floats should almost *never* be compared using `==` because of rounding problems (always use `fabs`).
2. Judging by the comments in `GripperCommand.action`, you should report `stalled` whenever the gripper is stalled, not only for one specific angle.