Design, Simulation, And Construction of An Autonomous Vehicle with Environment Perception, Planning, and Control Capabilities (Bachelor’s thesis)

Overview

This project included building an autonomous toy car from scratch. We stripped an RC car of everything!
We used a Jetson Nano as the brains of the car. Furthermore, to avoid the risk of running undesired currents
through the Jetson board, we used an Arduino Uno as a tech shield =) This was a group project, and our team
consisted of 5 students: Milad Soltany, Amirhossein Kazerouni, Amirhossein Heidarian, Abbas Omidi, and Aida
Mohammadshahi.The complete report is available here. (Sorry, the report is in Farsi, hope you at least enjoy the pictures.)

As stated earlier, this was our Bachelor’s Thesis. We managed to get a full mark on our project (20/20).

Images of the car

Paris
Top view.

Snow
Front view (Ultrasonic Sensors).
Forest
Side View.
Mountains
Another View.


Paris
Front and side view

Main Tasks

The car was supposed to do complete three different tasks:

Urban

The Urban Track looked something like this:

Paris
Urban Track view: The red pieces are obstacles and traffic signs were later added to the track

Paris
Top view of the urban track

The car was supposed to complete the track and avoid the obstacles on the road. Moreover, it would have to abide by the rules that the traffic signs introduced. These signs and signposts looked something like this: Paris

Top view of the urban track

Some pictures of how the car would react to signs:

Paris
The car turns left or right according to the signs




Race

This is how the Race Track looked:

Paris
Race Track

The goal was for the car to finish the lap as fast as possible and avoid the red obstacles on the road. And it did so quite well:

Paris
The car performing maneuvers and avoiding obstacles

Paris
This is how our mini Telsa sees the world


Parallel Parking

This is one of the exciting ones. There's a camera fixed above ground that sees the car and an empty parking space. The car is supposed to park in the red spot.

Paris
The car and camera diagram


First, the empty spot and the occupied spots that the car cannot cross are detected

Paris
The black spots denote occupied spots (left). The empty spot on the map (middle), and the occupied ones (righ)

The car's trajectory is calculated then simulated. Afterward, the mapped trajectory is transmitted to the car.

Paris
Simulation graphics
Paris
Mapped Trajectory


The car will then follow the predefiend trajectory and arrives at destination.

Paris
Automatic Parking