A method of controlling an actuator for moving a load, the method comprising: receiving a selected bandwidth, wherein the bandwidth is defined as a frequency at which a gain of a closed loop input-output response is relative to a steady state value and is related to a reciprocal of response time; receiving a command to move the load to a selected position; receiving a feedback of a measured motor position; estimating a reaction torque or force associated with moving the load in real time; estimating a rotational motor speed and a motor position; calculating controller gain for controlling a position of the load based on the selected bandwidth; determining a drive signal to apply to the motor to move the load, wherein the drive signal is a function of the estimated reaction torque, the estimated rotational motor speed, the estimated motor position, the gain, and the selected position; and transmitting the drive signal to the motor to move the load; wherein determining the drive signal includes multiplying a difference between the selected position and the estimated motor position by a first component of the gain, multiplying the estimated rotational motor speed by a second component of the gain, and multiplying the estimated reaction torque by a third component of the gain; the method characterized by the first component of the gain is a function of the selected bandwidth, motor inertia, and a torque constant of the motor, the second component of the gain is a function of a viscous damping constant of the motor, the torque constant of the motor, and the motor inertia, and/or the third component of the gain is a function of the torque constant of the motor. receiving a selected bandwidth, wherein the bandwidth is defined as a frequency at which a gain of a closed loop input-output response is relative to a steady state value and is related to a reciprocal of response time; receiving a command to move the load to a selected position; receiving a feedback of a measured motor position; estimating a reaction torque or force associated with moving the load in real time; estimating a rotational motor speed and a motor position; calculating controller gain for controlling a position of the load based on the selected bandwidth; determining a drive signal to apply to the motor to move the load, wherein the drive signal is a function of the estimated reaction torque, the estimated rotational motor speed, the estimated motor position, the gain, and the selected position; and transmitting the drive signal to the motor to move the load; wherein determining the drive signal includes multiplying a difference between the selected position and the estimated motor position by a first component of the gain, multiplying the estimated rotational motor speed by a second component of the gain, and multiplying the estimated reaction torque by a third component of the gain; the method characterized by the first component of the gain is a function of the selected bandwidth, motor inertia, and a torque constant of the motor, the second component of the gain is a function of a viscous damping constant of the motor, the torque constant of the motor, and the motor inertia, and/or the third component of the gain is a function of the torque constant of the motor. <EOS>