How do I rotate an object around it's own axis while it's already parented to an object?

So I have these 2 wheels parented to the leg of a robot and I want to make them spin a few times but they’re spinning around the wrong axis.
I can’t make empties and parent the wheels to those because they’re already parented to the leg. I want the rotation while the leg is moving (mid animation) if that matters. I’ve seen a lot of people talking about parenting to empties but I can’t parent the wheel to 2 objects as far as I know? Any help would be amazing!

ezgif-6-89e0a1c5b5dd

Make sure the wheel’s origin is in its center (if not, go to Object > Set Origin > Origin To Geometry). Then choose transformation to Local and rotate it as you wish:

In the picture, the wheel is parented to the cube.

The problem is, when I put the transformation on local, it has the same axis as the object it’s parented to. But the wheel and the leg have different angles. It uses the axis of the other object it’s parented to. Can I use it’s own axis in some way maybe?

The object doesn’t care about the parent, it only rotates/scales around its origin. The origin is the orange dot and it must be at the middle of the object. You probably used Object > Apply > All Transforms. If you wanna do the rotation correctly to a parented object, you must use Object > Apply > Rotation & Scale only.

In your case, you should restore the origin to the center of the wheel, first select the wheel then do Object > Set Origin > Origin To Geometry like I said before, then local rotation will work.

A lot of people do not parent to geometry at all and it is imo usually the better way to go.

You can build a rig out of empties and then parent the geometry to these empties.
In this case you would have on emptyA for the leg and emptyB and emptyC for the wheels.
You would parent emptyB and emptyC to emptyA and then parent the leg to emptyA, wheel1 to emptyB and wheel2 to emptyC.
Then you would only animate the empties.
You would also not parent emptyA to the robots hip but instead create another empty, parent the leg empties to the hip and then parent the hip geometry to the hip.
This way you keep geometry and animation objects separate and things like the geomtries object origins don’t matter. You can also easily exchange the geometry for other models if needed and you don’t get problems in cases where you might need to scale the geometry.

Parenting stuff to geometry is almost never a good idea.

If it is a more complex rig it probably makes sense to use an armature.