Unmanned Ground Vehicle using Computer Vision
Unmanned Ground Vehicles (UGV) are robots that are equipped with artificial intelligence (AI) which allows them to maneuver a road autonomously. Lane markings on the road act as references to navigate the vehicle hence, a key component of an autonomous vehicle is Lane Detection. In order to implemen
2025-06-28 16:29:54 - Adil Khan
Unmanned Ground Vehicle using Computer Vision
Project Area of Specialization Artificial IntelligenceProject SummaryUnmanned Ground Vehicles (UGV) are robots that are equipped with artificial intelligence (AI) which allows them to maneuver a road autonomously. Lane markings on the road act as references to navigate the vehicle hence, a key component of an autonomous vehicle is Lane Detection. In order to implement the project, Open CV will be used which is a library of functions used to execute real-time computer vision. It is one of the sub-classifications of artificial intelligence that allows the robot to read and process an image or video.
Behavioral cloning technique will be used to teach the UGV how to move through the track.
Another aspect of autonomous vehicles is signboard detection for which the technique of deep learning will be used. Deep learning can help identify signs and objects from an image, compare them to existing or new datasets, recognize the image and execute the appropriate set of instructions.
The project is implemented on a smaller scale since building a full-scale vehicle is too expensive at the undergrad level. For the same reason, a smaller static environment is created in which the UGV will be tested.
Project Objectives- Detecting a single lane using image processing and ensuring the UGV moves within the lane.
- Detecting signboards using deep neural networks and performing the required tasks (for example stop, speed up, and speed down).
- Avoid static obstacles present in the path.
Steps are taken to remove noise, increase contrast, crop the image, etc to make the image as clear as possible for comparison to existing datasets.
Image Processing The raw image is modified to make it appropriate for image processing. Signboard Recognition PerceptronA perceptron is a simple model of a biological neuron in an artificial neural network. A predicted model is generated using a linear model acquired from previously accumulated data sets.
Deep Neural networkComputers are unintelligent machines, when a human brain identifies an object once, it can identify it again even when changes have been made to its appearance. If the same task is assigned to a computer, it fails miserably since it lacks the ability to learn. Here we introduce deep learning and neural networks.
Neural networks, as implied by their name consist of neurons; more specifically artificial neurons or nodes, which are replicas of the neurons in the human brain. These nodes mimic the algorithm that neurons in the human brain perform to learn. The neural network consists of three layers:
Input layerIn the input layer, all pixels of an image are arranged in a single line and each pixel has been assigned its gray-scale value, known as activation. Each pixel is an artificial neuron and each neuron in the input layer is connected to every neuron in the first hidden layer.
Hidden layersThe number of hidden layers depends on the task and its required accuracy. All processing takes place in these layers. The number of neurons introduced in each layer is up to the user. Similar to the input layer all the neurons in any hidden layer are connected to all the neurons in the output layer.
Output layerThe output layer is made of all possible outputs of the system. The activation of neurons in the output layer determines the similarity of the input image to that present in the existing dataset. All the neurons in the last hidden layer are connected to all the neurons in the output layer. In case neural networks give the wrong answer we make the necessary corrections by calculating error and feeding the correct answer. This is done through backpropagation; the learning method of neural networks.
Convolutional Neural NetworkA convolutional neural network is a type of deep neural network used in image recognition and processing that is specifically designed to process pixel data.
A Convolutional Neural Network typically has five layers:
i. Input layer
ii. Convolutional layer
iii. Pooling layer
iv. Fully connected layer
v. Output layer
Obstacle AvoidanceUsing an ultrasonic sensor the distance between the obstacle and UGV can be detected and based on this distance the obstacle avoidance procedure will take place.
Benefits of the ProjectSince this is a model the benefits this project brings are in research and experimentation. The model can be used to test future self-driving algorithms at minimal cost and in case of damages, the repair cost will also be less.
To test the self-driving car we will create our own physical environment thus, we can share the map and our results so that future autonomous car enthusiasts and researchers can test their own models on similar maps and compare their results with ours. This way we can create a niche community within the country that can help advance the self-driving car vision.
Similar work has rarely been performed on Jetson Nano in Pakistan as the majority of UGV projects are done using Raspberry Pi, so we are not only bringing something new to the table but also using a much more powerful processor which will most likely produce better results and we believe these results will be significant for researchers related to this field.
Technical Details of Final Deliverable- Identifying a lane and staying within the lane.
- Identifying signboards on the track from a predefined dataset and performing the required task by sending signals to the motor driver which controls the motors.
- Identifying that a static object is placed in the path and finding a way to maneuver around the object.
| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| Total in (Rs) | 65250 | |||
| Jetson Nano 4GB Developer Kit | Equipment | 1 | 30000 | 30000 |
| Battery | Equipment | 1 | 5500 | 5500 |
| LCD | Equipment | 1 | 8500 | 8500 |
| Raspberry Pi V2 Camera | Equipment | 1 | 6000 | 6000 |
| Motor driver L298 | Equipment | 1 | 500 | 500 |
| SD card | Equipment | 1 | 1500 | 1500 |
| Casing and exhaust | Equipment | 1 | 1000 | 1000 |
| Ultrasonic Sensor | Equipment | 1 | 250 | 250 |
| Map | Equipment | 1 | 2000 | 2000 |
| Electronic components | Equipment | 1 | 5000 | 5000 |
| Overheads | Miscellaneous | 1 | 5000 | 5000 |