     temp += 400;
   }
   currentWheelStatus[MIDDLE_RIGHT_DRIVE_MOTOR_ID].orientation = (int)((temp * 9L) / 10L);
+  currentRotationMessage.mr_articulation_angle = currentWheelStatus[MIDDLE_RIGHT_DRIVE_MOTOR_ID].orientation;
 
   temp = EncoderRR::getPosition() - 200;
   if (temp < 0)
   {
     temp += 400;
   }
+
   currentWheelStatus[REAR_RIGHT_DRIVE_MOTOR_ID].orientation = (int)((temp * 9L) / 10L);
-}
-
+  currentRotationMessage.rr_articulation_angle = currentWheelStatus[REAR_RIGHT_DRIVE_MOTOR_ID].orientation;
+
+  pubCurrentRotation.publish(&currentRotationMessage);
+}
+
+/**
+* Is called on starting the arduino.
+* 
+*/
 void setup(){
 
   // Communicate with the computer

// Subscribers for intended drive velocity and direction
ros::Subscriber<command2ros::ManualCommand> mcSUB("ManualCommand", &newManualCommandCallback );


void updateArticulationValues()
{
  int temp = EncoderFL::getPosition();

    temp += 400;
  }
  currentWheelStatus[FRONT_LEFT_DRIVE_MOTOR_ID].orientation = (int)((temp * 9L) / 10L);
  currentRotationMessage.FRONT_LEFT_articulation_angle = currentWheelStatus[FRONT_LIGHT_DRIVE_MOTOR_ID].orientation;

  temp = EncoderML::getPosition();
  if (temp < 0)
