Unmanned Ground Vehicle and its Control System

An Unmanned Ground Vehicle (UGV) with a swivel mount which is capable of being operated remotely with the help of a joystick and a PC

Similar projects worth following
This is an Unmanned Ground Vehicle that can be remotely operated with the help of a PC and a joystick. It consists of a swivel configuration to which I can attach cameras or other equipment. It uses a steering configuration to change its direction of motion and two 500RPM gear motors to power its rear wheels.

A front view of the UGV:

Close-up of the swivel configuration:

Close-up of the steering configuration:

When I first started working on this project, I had a very few but resolute ideas of what I wanted this robot to be. Firstly, wanted this thing to be reliable, I didn't want my robot to fail or break because of the unpredictable and harsh nature of the external environment. Secondly, I wanted this thing to be cheap, I wanted to make the best of the materials I had at home. And Finally, I wanted to make something that can help people.

Features of this UGV:

  1. It has a swivel configuration, to which I can mount cameras or other equipment.
  2. It has a steering configuration built with two metal gear servos.
  3. It uses two 500 RPM gear motors and two 12 volt batteries to power its rear wheels.


  1. It uses a single Arduino UNO in the UGV and an Arduino nano with the PC to transmit the control signals to the UGV.
  2. It uses two NRF24L01 long range transceivers for communication with a PC.

This project is the product of over a year of research and development, during which I made multiple hardware and software prototypes. Though there are still many improvements I would like to add to this project and I will continue to work on it.

This transmitter connects to the PC:

It uses an NRF24L01 long range transceiver and an Arduino Nano to send the control signals to the UGV from the PC.

The PC runs an application software written in C++, providing a simulation of the swivel position based on the joystick's current position.

The GUI was made with the help of OpenGL.

The Character User Interface (CUI) provides a continuous list of all the events firing in the system during operation of the UGV. Right now it is showing the X and Y value of the swivel's rotation.

Circuit Diagram for the UGV:

The two drive motors are connected to the 12 volt power supply with the help of a polarity reverse circuit (as depicted by the blue servo). Therefore by controlling the servo, I can control the direction of rotation of the motors.

Polarity Switcher Module:

Read more »

  • 1 × Arduino UNO
  • 1 × Arduino Nano
  • 2 × 12v 1.3Ah batteries
  • 2 × 9v Ni-Mh batteries
  • 1 × 8.8v Li-Po battery

View all 19 components

  • 1
    Part 1: Construction and design of the chassis

    The chassis of the UGV is divided into 4 major parts. These parts are designed as such that they can be completely removed from the chassis when I want to repair them. The function of each part is listed as below (From Image A):

    1. (Image A: Part 1) This part is responsible for holding up the front steering configuration from falling apart from the movement on rough terrain or during operation at high speeds. It holds up the steering with the help of two coils which absorb any shock as shown in Image B14.
    2. (Image A: Part 2) This part is responsible for holding up the two 12 volt batteries. Parts 3 and 4 are connected to Parts 2 and 1 via very long nuts and bolts I bought at the local hardware store. Detailed pictures of Parts 3 and 4:Image A1: Part A1:2 are metal L clamps which I used to hold the rear gear and wheel assembly. Part A1:1 and A1:4 are responsible the fiberglass sheet at the base of the UGV to protect the delicate electronics inside the UGV from dirt and other contaminants on the ground.
      Turning this part upside down:Part A2:2 is the steering configuration at the front and Part A2:1 is the servo mount which drives the steering configuration

  • 2
    Part 2: Construction and design of the steering configuration

    A top view of the steering configuration with the support springs removedPart B0:1 is responsible for holding up the steering configuration with two springs which
    helps to absorb any unwanted shock from the terrain. A closeup of the springs attached as shown in Image B14:

    A close-up of an individual steering configuration:

    A metal gear servo drives each individual steering configuration in the UGV.

    One of the major challenges I encountered while designing this steering was finding an efficient a way to prevent bending of metal parts of the steering during continuous operation on rough terrain. To prevent bending, I simply created an L-shaped geometry with two metal strips as shown in Parts B2:2 and B2:3.
    Part B2:4 is where the servo assembly and the wheel assembly meet to create a steering joint.

    A closeup of the steering joint in Image B5:
    In order to create a very strong joint, I had sandwich layers of metal with layers of fiberglass.
    Part B5:3 is the L clamp holding the entire steering joint. Note this L clamp is much thicker in order to prevent bending. I had to nail it to the wooden chassis for maximum stability. Since the L clamp is very thin by itself in order to act as a suitable joint, I had to add small squares of fiberglass (Part B5:2) In order to add some thickness to the joint.

    A closeup of the part that holds the wheel:

    Part B7:8 is where this part connects to the L clamp holding the steering assembly. Part B7:7 holds the L clamp which holds the steering wheel.
    Part B7:1 is where the servo connects to the steering assembl as shown in Image B2: Part B2:4.

  • 3
    Part 3: Construction and design of the swivel configuration

    A Close-up of the complete swivel configuration:

    The servo which connects to the Horizontal rotation axis:

    The metal connectors help in joining it to the main swivel assembly.

    A view of the main swivel assembly:

    The swivel connects to the chassis as shown below:

View all 3 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates