  Wind resistance control is an essential feature for quadcopters to maintain
their position to avoid deviation from target position and prevent collisions
with obstacles. Conventionally, cascaded PID controller is used for the control
of quadcopters for its simplicity and ease of tuning its parameters. However,
it is weak against wind disturbances and the quadcopter can easily deviate from
target position. In this work, we propose a residual reinforcement learning
based approach to build a wind resistance controller of a quadcopter. By
learning only the residual that compensates the disturbance, we can continue
using the cascaded PID controller as the base controller of the quadcopter but
improve its performance against wind disturbances. To avoid unexpected crashes
and destructions of quadcopters, our method does not require real hardware for
data collection and training. The controller is trained only on a simulator and
directly applied to the target hardware without extra finetuning process. We
demonstrate the effectiveness of our approach through various experiments
including an experiment in an outdoor scene with wind speed greater than 13
m/s. Despite its simplicity, our controller reduces the position deviation by
approximately 50% compared to the quadcopter controlled with the conventional
cascaded PID controller. Furthermore, trained controller is robust and
preserves its performance even though the quadcopter's mass and propeller's
lift coefficient is changed between 50% to 150% from original training time.
