     else
     {
       currentlyDriving = false;
+      char* error = "done: Stopped all motors.";
+      msg.data = error;
+      pubResults.publish(&msg);  
+      
       stopAllMotors();
     }
   }
 
 }
 
+bool currentlyMoving[6];
 // A function to articulate the wheels to face the desired orientation.
 void articulate()
 {
   // For now, only articulate the FRONT LEFT wheel.
   int delta = 0;
   int motorIDX;
-  static bool currentlyMoving[6];
+ 
   bool stillRotating = false;
 
   for(motorIDX = 0; motorIDX <= 5; ++motorIDX)

    else if (((delta > 0) && (delta < 180)) || 
      ((delta + 360) < 180 ))
    {
      if(!currentlyMoving[motorIDX])
      {
        char* error = "Starting motor: X";

        pubResults.publish(&msg);
        driveCounterclockwise(ARTICULATION_SPEED, motorIDX + ARTICULATION_OFFSET);
        driveCounterclockwise(ARTICULATION_DRIVE_SPEED, motorIDX);
        currentlyMoving[motorIDX] = true;
      }

