Unexpected behaviour when rotating attachments

I am trying to make a car chassis with minimal parts. I’ve set up a chassis connecting my wheels (motor + suspension) directly to my vehicle seat.

To steer the vehicle, I am rotating the attachments, which is fine if it has not moved at all, but completely breaks if the wheels have rotated at all, resulting in V-shaped steering.

I am unsure of what is causing the error in my calculations, since I am only rotating about the Z axis, and the Z axis should not be changing when I accelerate the wheel

This is the only piece of code directly touching the orientation of the attachment

	local orientation = self._motor.Attachment1.Orientation
	self._motor.Attachment1.Orientation = Vector3.new(
		orientation.X,
		orientation.Y,
		(180 + (steering_angle * math.sign(self.position_relative_to_chassis.X)))
	)

Each attachment has the X-axis pointing out from the center of the vehicle, and the Y-axis pointing in the vehicle’s forward direction. The blue rotation gizmo is the Z-axis

Here is a screenshot if anyone needs information on how the constraint is set up.


I have tried changing the rotation of Attachment0, and this is the result (ZERO input)

I’ve provided a video for context

If anyone also knows how to prevent the steering from rotating the entire chassis as well, I would appreciate the help