Unmanned Ground Vehicle (UGV)
The UGV was my Electrical Engineering senior project at UC Riverside. I worked on a team of two other EE classmates. We were to research and develop components, hardware, and software throughout the creation of the UGV. The project also helped me gain experience with working on a team, leadership, project management, and the importance of life long learning in the engineering field.
What is a UGV?
A UGV is a vehicle that can be remotely operated by a user with information provided strictly by the vehicle's sensors. This project was to address the more basic components of a UGV. The main goals of our UGV were to
- Drive the vehicle wirelessly
- Wirelessly transmit video and view the feed in real-time to control the vechile.
- Display telemetry and video in an aethetically pleasing and efficient way.
There were three main design considerations as well. The running time, range of the wireless transmission, and response time. It was to have:
- A battery life of at least one hour
- A range greater than 100 ft.
- A response time of less than a second.
How to accomplish the goals
Goal 1
The first goal was to create the circuitry and build the drivers to communicate wirelessly with the UGV. Constraints such as current and power draw needed to be considered- as well as many other issues.
Goal 2
The second goal was to have a camera attached to the top to see what the UGV sees while simultaneously displaying targets, displaying GPS long/lat, altitude, Angle of Attack, and PWM speed percentage. This was accomplished by using OpenCV, a wireless camera, and a USB video capture device on a laptop using Ubuntu. The camera is to be the eyes and ears of the UGV. This data was to be displayed clearly on the window.
Videos
UGV Tank Operation
Computer Window
Tools
Name | Description | |
---|---|---|
Hardware | Soldering Iron | |
Solderless Breadboard | ||
Perforated PCB | ||
Misc. Tools (Wirestrippers, Clippers, etc) | ||
Multimeter | ||
Oscilloscope | ||
Power Supply | ||
Software | Arduino IDE | An integrated development environment used for developing Arduino code and uploading it to the Arduino board. |
PSpice | Used for developing and simulating basic circuits. | |
OpenCV | Open Source camera vision library used for image processing. | |
GEdit on Ubuntu 12.04 | Text Editor used to develop OpenCV code. | |
Xcode | An integrated development environment for OS X. Used to code various portions of the code in one simple environment. |
Bill of Materials
Product | Price |
---|---|
RC Tank T63805 | $62.17 |
Arduino Wireless Sheild | $30.02 |
USB Live 2 | $43.33 |
Wireless Camera (2.4Ghz) | $29.03 |
Arduino | $24.00 |
Parallax GPS | $50.10 |
PS3 Controller | $49.99 |
Wii Nunchuck | $19.99 |
Mounting Hardware | $14.72 |
2x 6V Battery Pack | $9.54 |
Large PCB | $4.99 |
Small PCB (Two in a Pack) | $4.99 |
TOTAL | $342.87 |
Standards Documentation and Project Modules
Documentation | Link |
---|---|
Open CV 2.4.1 | View OpenCV 2.4.1 Documentation Home |
Python 2.7 | View Python 2.7 Documentation |
L298 Motor Driver | L298 Motor Driver Datasheet |
Arduino UNO (Rev. 3) | Arduino Uno |
I2C | NXP I2C Manual |
Project Modules
Module | Description |
---|---|
Wii Nunchuck | Used to determine pitch and roll data |
Arduino | The microncontroller that will be controlling the UGV |
Xbee | Wirelesss transmitter to send serial data to and from PC |
Motor Controller | Circuit to control drive motors |
Turret Controller | Circuit to control all three turret motors |
Parallax GPS | GPS Unit |
Motors 1 and 2 | Motors that control left and right side's tracks |
Turret Motor | Motor that moves the turret |
PS3 Controller | The device that controls the UGV movements. |
PC: Ubuntu | Computer running Ubuntu 12.04. Acts as the core of the Control Center. |
Wireless Color Camera | Small, color camera that connects to a wireless transmitter. |
2.4Ghz Radio | Radio to transmit video feed. |
USB Live 2 | Converts component video signal to one that can travel through a USB port. |