Development of Unmanned Ground vehicle

Demonstration Video: 
  
Our task was to develop a low cost, simple and light weighted robot with the prospective of developing country which could be used for surveillance, reconnaissance and mine detection purposes. The developed platform was capable to climb inclinations, move through rough terrains with an appropriate speed due to its high power motors. UGV was designed to climb stairs of 30 Degrees. It was tele operated via Lan so it could be used in places where human interference was not possible. Its control has been developed on C# and Arduino. TCP client server communication has been established between UGV (server) and operator (client).The platform was capable of carrying different peripherals on it including manipulator, disruptor and a mine detector. 
In this project I was involved and responsible 
For the Designing, Analysis, Manufacturing and development of Controls of UGV.  
For designing control scheme of the UGV. 
For development of operator GUI in C# 
For development of UGV platform controls using Arduino board.
Responsible for integration of C# and Arduino. TCP network protocol is used to establish communication between C# CUI and mobile robotics platform.

Solid Works 2012 software was used to design and analyze UGV mechanical model.



One of the most important step in the development of UGV was the selection of Motor. Light weight motors having a balance between torque and speed where selected. UGV was manufactured according to the solid works design. Electric circuitry was designed and implemented. 
List of Components:
·         Saber tooth
·         Encoders
·         Circuit breaker 20A
·         Mechanical brakes
·         Ethernet shield
·         Batteries 12V 24 V

Forward kinematics was calculated for the mobile robot. Saber tooth were used to drive motors and IP camera was mounted in base.

Software Methodology:

One of the basic objective of the project is to develop the control scheme of SUGV for its operation in various terrains. The device selected to control the UGV was the Arduino Mega2560. Arduino Mega 2560 is a micro-controller board based on the ATmega2560. The device has been chosen for its ease of use, availability and low power consumption.

To control the SUGV from the operator laptop windows application is developed using C#. Microsoft Windows is an operating system that provides graphical objects used by people to interact with a computer. The computer application developed using C# can be used on any platform i.e. PC, laptop or surface running windows.

UGV  Application: 
App. developed on C# communicated with the UGV platform using ethernet communication. In the communication strategy the arduino on the ugv platform is the server and client is the windows application. The final app. is shown in the figure below.


Networking: 

The plan was to adopt a client/server scenario, to allow the Arduino to receive data sent from the C# . The diagram below illustrates the flow of data from operator to UGV.

     C# PROGRAM --> SEND DATA OVER NETWORK --> ARDUINO RECEIVE --> SEND COMMAND TO UGV 

The Arduino uses an Ethernet shield that has an RJ45 port to connect it to a network. By using a Wi-Fi router it can act as a wireless receiver for the arduino as if it were connected straight in to the network via Ethernet cable.
To send the data through a network, the C# program will send using the TCP protocol. Firstly the C# program will act as a client connecting the arduino (server).