An improved control algorithm for ship course keeping based on nonlinear feedback and decoration