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:
- It has a swivel configuration, to which I can mount cameras or other equipment.
- It has a steering configuration built with two metal gear servos.
- It uses two 500 RPM gear motors and two 12 volt batteries to power its rear wheels.
- It uses a single Arduino UNO in the UGV and an Arduino nano with the PC to transmit the control signals to the UGV.
- 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: