1. A robot control method capable of, by a control unit, controlling a robot so as to be driven according to a commanded trajectory, detecting an actual trajectory along which the robot is driven, and controlling the commanded trajectory by learning based on a trajectory error between the actual trajectory and a target trajectory, the method comprising: calculating, by the control unit, an evaluation value on the trajectory error; and controlling, by the control unit, the commanded trajectory by learning, the controlling by learning including storing, by the control unit, a good state such that in a case where the calculated evaluation value is better than an evaluation value stored in a storage unit, the evaluation value stored in the storage unit is updated by the calculated evaluation value and stored in the storage unit and the commanded trajectory stored in the storage unit is updated by the commanded trajectory given when the trajectory error is evaluated, changing, by the control unit, a compensator such that in a case where the calculated evaluation value is worse than the evaluation value stored in the storage unit, the currently selected compensator is changed to another compensator that is included in a plurality of compensators configured to calculate an amount of correction of the commanded trajectory from the trajectory error and that is configured to calculate the amount of correction in a different manner from the manner in which the currently selected compensator calculates the amount of correction, and calculating, by the control unit, a commanded trajectory in a next-time operation such that the amount of correction for the commanded trajectory stored in the storage unit is calculated using the selected compensator, and the commanded trajectory in the next-time operation is calculated from the calculated amount of correction and the commanded trajectory stored in the storage unit.