**Matteo Bottin \* and Giulio Rosati**

Department of Industrial Engineering, University of Padova, 35131 Padova, Italy; giulio.rosati@unipd.it **\*** Correspondence: matteo.bottin@unipd.it

Received: 1 October 2019; Accepted: 2 December 2019; Published: 9 December 2019

**Abstract:** Moving from a given position to another with an industrial robot can be a challenging problem when the task is redundant around the tool axis. In this case, there are infinite ways of choosing both the starting and the ending configurations, so that the movement between the given points is not uniquely defined. In this paper, an algorithm that calculates the suboptimal movement between two positions is proposed, which automatically generates a cloud of safe via points around the workpiece and then by exploiting such points finds the suboptimal safe path between the two positions that minimizes movement time. The proposed method, in which the search of the suboptimal path is based on graph theory and the Dijkstra algorithm, can iteratively evaluate a high number of starting and ending configurations in low computational time, allowing performing a reasonably wide search of the suboptimal path within the infinite possible motions between the given points.

**Keywords:** robot motion; redundancy; trajectory optimization; Dijkstra algorithm; graph
