**Miguel Á. Muñoz–Bañón \*,†, Iván del Pino †, Francisco A. Candelas and Fernando Torres**

Group of Automation, Robotics and Computer Vision (AUROVA), University of Alicante, San Vicente del Raspeig S/N, 03690 Alicante, Spain; ivan.delpino@ua.es (I.d.P.); francisco.candelas@ua.es (F.A.C.); fernando.torres@ua.es (F.T.)

**\*** Correspondence: miguelangel.munoz@ua.es

† These authors contributed equally to this work.

Received: 12 April 2019; Accepted: 10 May 2019; Published: 15 May 2019

**Abstract:** Research in mobile robotics requires fully operative autonomous systems to test and compare algorithms in real-world conditions. However, the implementation of such systems remains to be a highly time-consuming process. In this work, we present an robot operating system (ROS)-based navigation framework that allows the generation of new autonomous navigation applications in a fast and simple way. Our framework provides a powerful basic structure based on abstraction levels that ease the implementation of minimal solutions with all the functionalities required to implement a whole autonomous system. This approach helps to keep the focus in any sub-problem of interest (i.g. localization or control) while permitting to carry out experimental tests in the context of a complete application. To show the validity of the proposed framework we implement an autonomous navigation system for a ground robot using a localization module that fuses global navigation satellite system (GNSS) positioning and Monte Carlo localization by means of a Kalman filter. Experimental tests are performed in two different outdoor environments, over more than twenty kilometers. All the developed software is available in a GitHub repository.

**Keywords:** autonomous navigation; mobile robots; Monte Carlo localization; SLAM; GNSS; planning; control; Kalman filter
