It says I didn't subscribe to /odom - but I have!

This is probably because you did not name the node as specified. Did you check out the things Gradebot asked you to? Here is what it said:

image

To check the name of the node subscribed to /odom,

# launch your quiz in one terminal
ros2 launch topics_quiz topics_quiz.launch.py

And

# Check the subscriptions to `/odom` in another terminal
ros2 topic info /odom -v

If needed, you can share the output here.

You can refer to a similar case here: