A Stream Function Approach to Design Obstacle Avoidance Path Planning Algorithm For Autonomous Underwater Vehicles