Collision Avoidance Controller for Unmanned Surface Vehicle Based on Improved Cuckoo Search Algorithm