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.
翻译:抗风控制是四旋翼飞行器维持目标位置、避免偏离目标及防止与障碍物碰撞的关键功能。传统上,级联PID控制器因其结构简单且参数易于整定而被广泛用于四旋翼控制。然而,该方法抗风干扰能力较弱,飞行器易偏离目标位置。本文提出一种基于残差强化学习的四旋翼抗风控制器构建方法。通过仅学习补偿扰动的残差量,可在保留级联PID控制器作为基础控制器的前提下,提升其对抗风干扰的性能。为避免飞行器意外坠毁损坏,本方法无需真实硬件进行数据采集与训练。控制器仅在仿真器上完成训练,可直接部署至目标硬件而无需额外微调。我们通过多项实验验证了该方法有效性,包括风速超过13米/秒的户外场景实验。尽管结构简单,该控制器相比传统级联PID控制器,将位置偏差降低了约50%。此外,即使四旋翼质量与螺旋桨升力系数在训练基准值的50%-150%范围内变化,训练后的控制器仍保持鲁棒性且性能不受影响。