Skip to content

spaceuma/OPEN-UMA-Rover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: carlosperez@uma.es

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.

About

Open repository to create the OpenUMARov

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages