Autonomous Vehicle I (AV-I)

Team Name

HTTP 418

Timeline

Summer 2022 – Fall 2022

Students

  • Biraj G C
  • Dylan Bryce
  • Isabel Metevier
  • Preston Mann

Sponsor

Chris Conly

Abstract

Our primary goal is to design and implement a modular and scalable vehicular robot capable of intelligent decision-making and autonomous driving. Our Autonomous Vehicle (AV-I) will be able to drive on the self-generated path on the assigned bounded track and will be able to remain within bounds of the designated track.

Background

Autonomous driving is a rapidly developing technology and is a field within computer science that has grabbed the attention of people of all backgrounds. With numerous people investing their time, effort, and interest into the technology, we have observed the growth to be rapid but broad.

Massive companies like Tesla, Nvidia, GM, Comma AI, and more, have been inventing new and exciting technologies in the field. With such investment into the technology, self-driving vehicles are the envisioned standard in the automotive industry. Nvidia creates and trains their Neural Network model within an in-house designed virtual world, which they then sell to other car manufacturers. Some car manufacturers such as Tesla, GM, Honda, and more have invested in developing their self-driving technology installed in their autonomous branded cars. Other rising tech companies take creative approaches to the problem. For example, Comma AI develops a device with an embedded camera that interacts with the software of a compatible vehicle and grants them the self-driving ability. Despite the universal effort, a multitude of leaps and bounds remain to be taken to reach the apex of this technology. 

With all the positive progress, we are bound to hit some glitches on the way. There are very few regions where self-driving cars have yet to enhance. One such area is to establish trust and a consensus among the everyday population. No matter how good the technology gets, if there is no trust, it may never succeed. Also, with the current pace of development, we see new technology emerging rapidly. This may be a problem for new or experienced developers interested in getting involved in the technology.     

Our focus will be on gathering the best and most efficient way of implementing this technology. With that and a modular and scalable system, AV-I will be capable of adding new technology to the stack with ease. AV-I is a project focused on a variety of technologies, such as, Computer Vision, Data Processing, Neural Networks and Machine Learning, Interface Design, Hardware Assembly, and Low-Level software design are aspects we aim to touch on. With these aspects to take care of, we hope to gain experience in tackling problems related to autonomous vehicles. Additionally, with HTTP 418 taking on this challenge will allow us to advocate for self-driving technology, which in turn may help to establish trust for a few people at the least.

Project Requirements

  1. AV-I shall be able to drive itself around a track, specified below, using path finding capabilities created through a neural network model, described below.
  2. The vehicle shall be able to path find and navigate a given track. The track shall be predetermined by the user and the vehicle shall have no initial knowledge of the track’s layout. The vehicle shall be capable of navigating any user-constructed track that abides by the track requirements listed below.
  3. To accomplish the task of autonomous decision making, the team shall design a neural network model consisting of input and output layers, fully connected layers, and convolutional neural network (CNN) layers.
  4. The track shall be defined by two parallel tape lines that will bound the vehicle. The track shall be composed of curves that are no sharper than 90 degrees and straight lines which the vehicle will travel down, while staying within the bounds of the tape. The track shall be fully enclosed such that the vehicle is be able to get back to the same spot that it started, i.e. the track shall be a loop. The track shall be located in a well-lit room for optimal viewing.
  5. Training data for the model shall be collected manually by driving the car using a remote control on the tape-bounded tracks.
  6. The developers and/or users shall be able to control the vehicle via a controller interface. This functionality shall be implemented using a laptop connected to the vehicle via Ethernet.
  7. The software architecture of AV-I shall be modular in design, allowing other developers to build upon the existing functionality without making a major change to the entire product.
  8. The vehicle shall capture, process, and pass images (frames) to the neural network model at a minimum of 15 frames per second (FPS).
  9. The hardware components of the system, i.e. the vehicle, shall be delivered to the customer assembled and ready to use.
  10. The system software shall be available to download by the customer from the team’s GitHub repository.

System Overview

The task that we are going to implement is a solution for an autonomous vehicle. The autonomous vehicle will be able to drive on any given track designed by someone outside the team. The only constraint to the track is that it must have bounded lines laid out with blue painter’s tape. This design is to simulate a real road in the world. The autonomous vehicle will be able to drive on the track and follow the tape as if it was driving on the road. The autonomous vehicle should be able to follow the rules of the road as if it was a real one.

The solution that the team will implement is a deep learning model that will be able to generalize training data to perform the tasks given to the autonomous vehicle. Before we can even train the model, we would first need to collect data and preprocess the data. The data will be collected by driving the vehicle and recording its actions. This method of data collection will be time-consuming as we would need to drive the car for hours and set up several different tracks to ensure the data is diverse. Once we have collected enough data, we can then preprocess the data and feed it to the model for training. Once the model is done training, we will need to use an API to interface it with the autonomous vehicle and the controls for the vehicle. To do this we will use a browser interface on the computer that is also be running the model from the browser. We will then feed the frame or frames into the model for prediction of what the autonomous vehicle should do and the model should return the decisions back to the controller for the vehicle to move in the correct direction.

Results

Team HTTP 418 on Demonstration Day
AV-I
AV-I in the testing lab

Future Work

Future expansion of the project shall include the addition of a sign and object recognition model. The vehicle shall be able to detect foreign objects (such as miniature pedestrian models, blocks, and other obstructions) in the road and stop and/or avoid them, if possible. In addition, the model shall recognize miniature street signs, such as stop signs and speed limit signs, and react accordingly. I.e. if a stop sign is detected, the vehicle shall stop. If a speed limit sign is detected, AV-I shall adjust its speed.

Project Files

Project Charter (link)

System Requirements Specification (link)

Architectural Design Specification (link)

Detailed Design Specification (link)

Project Poster (link)

Source Code (link)

Source Code Documentation (link)

drb1848