Generalized velocity obstacle algorithm for preventing ship collisions at sea. (1st February 2019)