Friday, 19 September 2014

Unmanned Ground Vehicle development and design


An unmanned ground vehicle is a vehicle or a robot that operates in contact with the ground without an on-board human presence. UGV have different applications including military operations to other dirty and dangerous activities. In this post I will be talking about the key components of a UGV and the option to make it open source.

Introduction to hardware components
Choice of hardware is a key factor to the development of UGV. Depending on the type of application of the UGV, the hardware is to be selected. The hardware will consist of 4 parts.
1: The Controlling unit
2: The Driver unit
3: The Engine unit
4: The Chassis unit.
5: The power unit

The controlling unit
The UGV needs a controller to control it's mobility. Depending on the UGV to be human controlled or autonomous, the choice has to be made accordingly. For a UGV to be human controlled, the controlling unit will need a wireless module. Wireless module may also be needed for an autonomous UGV for live data. What ever the case is, the choice is yours. Arduino is an open source SOC capable of carrying out multiple commands at a time. Starting from beginner level to advanced level, arduino always remains on the front lines. Let us consider an Arduino board named Arduino Leonardo. The Arduino Leonardo has 20 Digital input/output pins out of which 7 pins can be used as PWM pins. a 16 MHz crystal oscillator, a micro USB connection, a power jack, an ICSP header, and a reset button. You can use the board as your controlling unit, Simply you need to code your arduino along with the instructions. Details regarding the Arduino board are available in The arduino can be interfaced with the driver unit by using the pins.
Arduino Leonardo board. PC:

In case of Black e Track(UGV developed by team AARPT), the Arduino leonardo is used as a controlling unit. If your UGV is autonomous, then the sensors must be attached to digital I/O pins in input mode. The digital pins are bi-directional and can work as input as well as output. The arduino leonardo is controlled by a PC using serial port communication.
Note: The arduino leonardo uses serial() function when connections to the PC or other device is via USB. When shifted to rx and tx pins(pin 0 and pin 1) serial1() function has to be used. 
In the case of Black e Track, team AARPT have used wireless communication with PC. The PC sends serial data to the Arduino by serial port communication based on RF frequency of 2.4 GHz. Many hardware are available for wireless communication. List of websites where products can be bought are mentioned at the end of the post.  

The driver unit
The UGV is controlled by the combination of control unit and wireless module. Now there is another unit called the driver unit which is responsible for the driving of motors or servos. In case of Black e Track, team AARPT have used high torque DC metal geared motors. So in order to control the motors, we need a driver which will receive digital signals from the controlling unit. There are some factors that must be kept in mind while choosing the driver unit. e.g: Your UGV must be able to move through rough terrains so you need a driver unit capable of providing much power to the motor. The choice for the hardware is yours. In case of Black e Track, Motor driver of 18V and a max current rating of 20A is used.

The engine unit
The engine unit is the one that provides mobility to the UGV. Depending on the designer of the UGV, the engine unit can be either a 4 wheel drive system or a 2 wheel drive system. For rugged application, it is always advised to make the UGV a 4 wheel drive system. The steering of the 4WD is comparatively easier to implement. Generally differential drive steering mechanism is used to steer the UGV. The designer should keep in mind certain factors including length, breadth and height of the UGV for the choice of the drive system and the steering system. There are several other factors as well. Depending on the type of application the choice is yours for the motor. The motor in case of rugged application must be able to carry the UGV forward in rough and rugged terrain so it's always better to use high torque DC geared motors.

The chassis unit
The chassis or the base of the UGV is a key element of the UGV to operate smoothly. Depending on the drive system or the steering system, you must adapt your chassis to it. eg: In case of 4WD differential steering system, the breadth must be equal to or slightly greater than the length for the UGV to turn effortlessly. Wheel slip should be as low as possible. The design of the chassis unit is very essential for the UGV. Try to make the chassis as light and tough as possible.

The power unit
The power source will supply energy to your UGV. It's always preferred to use a Li-ion battery because of it's capacity in a small size. In Black e Track, the initial version used a DC power supply as we weren't able to manage a battery for some time and financial problems. The next version contains an inbuilt power source of  11.75V 4.5A.

Before getting your hands dirty with the mechanical part of the UGV it's essential you know how to control it. An UGV if controlled remotely, must be operated by a PC with some user interface. Many controlling software are available but it's always preferred you make one. In the above tutorial, I have talked about the use of Arduino board. I have communicated with the Arduino board by serial port communication through RF module of 2.4 GHz. It's pretty easy to code for your UGV's controlling software. I would prefer for the use of Microsoft Visual Studio.

List of websites from where parts can be bought.


Below here is the video of our Black e Track initial version.
PS: The wires are not for controlling. The wires were used for DC power of 12V 3A.