Collision avoidance for ASVs through trajectory planning: MPC with COLREGs-compliant nonlinear constraints