Skip to content

Latest commit

 

History

History
98 lines (47 loc) · 5.39 KB

README.md

File metadata and controls

98 lines (47 loc) · 5.39 KB

UMA Open Source Rover

Open hardware and software rover developed by Malaga University

Authors: C.J. Pérez del Pulgar, Ricardo Sánchez Ibáñez, Patricio López Lupiañez, Francisco de Asís Delgado Rivero and Laura Marta Mantoani

Contact info: [email protected]

Affiliation: University of Malaga, Space Robotics Lab

Overview

The OpenUmaRov is an open source mobile robotic platform that allows anyone to build it with a maximum cost of 700€, taking into account that the Reach M+ GPS can be replaced with whatever GPS that works with NMEA sentences: just connecting it to the Raspberry Pi through USB port, thanks to the ROS node the GPS can publish NMEA sentences in different topics. This means that, replacing the Reach M+ with a cheaper one, the rover can be built with a maximum cost of 500 €.

The platform is based on commercial components that can be acquired by Internet. This project involves students and researchers to improve the development of the platform. Moreover, it can be used for teaching and research activities that involves mechanical, engineering, software, electronics and robotics.

Required software:

  • Eagle: Software to design PCB.

  • Arduino IDE: the open platform is based on an Arduino.

  • LabVIEW: the platform has a LabVIEW GUI.

  • ROS: the platform is controlled using ROS framework.

  • Python IDE: the OpenUMARov node and the GPS node are written in Python.

Rover prototype

The current version of the rover is shown in the following images. Some experiments were carried out to demonstrate the rover is able to move indoor and outdoor, in different environments.

In the following pictures, the rover can be seen on a beach and in a forest:

While in the following ones, it can be seen in a street and in a park:

The following video shows the rover in different environments.

IMAGE ALT TEXT HERE

Assembly

Ordering Parts

The rover system is made up of mechanical, electronic and computer parts. All of these parts can be obtained from the Part list. The rover is based on a chassis provided by RobotShop, an Arduino Mega 2560 with a Emlid GPS Reach M+ (Optional), a Raspberry Pi 3B+ and a customized PCB that includes H-Bridges and current sensors.

Mechanical parts

The rover chassis can include two or four motors. The current version includes two motors with encoder (front) and two motors without encoders (back). The encoder should be fixed to the motor following the encoder instructions.

Electrical and electronics

The rover power supply PCB has been designed using the CAD software Eagle and it has been manufactured by Eurocircuits. The CAD design can be found in the "Electrical" folder and the electronic components are found in the Part list. The resulting PCB is shown in the following figure.

Arduino platform

Raspberry Pi

The Raspberry Pi 3B+ is used to control the rover. Using the ROS framework, it receives data from Arduino through the serial port, and from the GPS ROS node through different topics, publishing each value in a different topic that can be visualized in a LabVIEW GUI.

ROS

The rover uses the ROS framework. There are two different nodes: one for the GPS (nmea_navsat_driver) and one for all data received from Arduino (open_uma_rov_node). Moreover, LabVIEW is working with the ROSforLabVIEW software, that allows to publish and subscribe to different topics.

GPS

The rover uses a GPS Reach M+, a high precision GPS with a centimetre accuracy. Anyway, it can be replaced with a cheaper one, lowering the rover total cost.

LabVIEW

The LabVIEW GUI allows to control the rover. It has two topics where you can publish wheels speeds, and different topics where you can visualize all the data from Arduino and from the GPS.

Moreover, GPS position can be visualized in a Google Maps map.