UGV

In this project I had to restore an old rover and modernize it by implementing the necessary hardware to control the UGV remotely using a laptop or a smartphone.

Design

I had to reverse engineering the power electronics board, fix some traces in the board and replace some ICs because it is very old and it was very deteriorated.

Frontal View.

Side View.

The hardware used was:

  • 1 Arduino Mega.

  • 1 Raspberry Pi.

  • 4 Raspberry Pi Cameras.

  • 1 Multi Camera Adapter module for Raspberry Pi (You can get it from here).

  • 4 LMD18200.

  • 4 6N137.

  • 2 Buck-Boost.

  • 5 12V batteries.

So I decided to use a Raspberry to mount a server and control the 4 cameras. Meanwhile the Arduino Mega was used to activate the motors and capture sensor's readings.

The Raspberry Pi multi camera adapter module is really awesome it allows you to connect more than one camera to a single CSI camera port on Raspberry Pi board. Adapters can even be stacked to connect more cameras! One adapter board can connect 4 cameras and you can stack up maximum 4 adapter boards that means up to 16 cameras on a single Raspberry Pi board. Pretty amazing!!

The only turn down of this adapter is that only one camera should be enabled at time.

Adapter Mounted.

RPI + Adapter.

Adapter Front View.

Adapter Rear View.

The user interface is accessible from any internet browser (Chrome, Mozilla, ...) and from any device iphone, android or laptop.

From a smartphone the user interface is touchscreen and the robot move when the blue joystick is dragged around. From a laptop any kind of USB joystick can be used.

Results


Smartphone user interface test. There is a bit of lag when switching cameras but overall the user interface is quick and responsive.


First Test drive, as you can see the rover movements are quite smooth and easy to control at low speeds. Also, the rover can reach very high speed due to their powerful batteries, motors and low weight.

Conclusions

This was a quite challenging project, because I had to mount a web server into a Raspberry Pi and I had no experience on this. Overall, it was a fun project, I learned a lot and got experience in new electronic components and different programming languages.