servo is not rotating smoothly

i have four vs5 servo motor
,
iam rotating them individually by this code

#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
                // a maximum of eight servo objects can be created 
 
int pos = 0;    // variable to store the servo position 
 
void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 
 
 
void loop() 
{ 
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
}

circuit is

3 of them are working fine but one stops rotating on the way unless a little force is applied to the head of motor,helping it to move.
its definitely a problem of that individual motor but how can i repair it?

Well in spite of what the tutorial said, you should not run the servo from the Arduino's 5v, but rather from its own external source.

It might be that a peculiarity in the 4th motor is causing it to draw too much current which the Arduino cannot manage. Lots of servo funnies are solved merely by providing external power. If that doesn't sort it out, then further discussion is needed, but I'd certainly try that first.

And never run a servo/motor from 5V from USB power, its asking to trash your computer - motors and inductive
loads can generate high voltage spikes, keep them on their own power supply for a stress-free experience!!