Text this: Autonomous Berthing of Unmanned Surface Vehicles Based on Improved Dubins-RRT Algorithm and Non-Singular Terminal Sliding Mode Control