Jetson Self Driving Robot Car Jetson Self Driving Robot Car

Introduction

This is the project in module "Computer Vision" in 4th semester of my course, Artificial Intelligence. The goal of this project is to programme a autonomous driving robot with computer vision techniques using Jetson Nano Developent Kit from Waveshare. The desired functions of this autonomous driving robot are road following and obstacle avoidance, which means the robot can drive by itself in a designed track and stop before it hits an obstacle.

Click here to jump to the final result section.

Motivation: Autonomous Driving

👉 Many groundbreaking and innovative inventions in the field of Computer Vision (CV)
👉 Interested to see how the theories we learned are translated into code
👉 How different each AI models process and predicts images

Features

🤖 Stage 1 (Road Following) 🤖
To drive along the designed track
🤖 Stage 2 (Collision Avoidance) 🤖
To avoid obstacles as the robot drives along the designed track i.e. The robot stops if there is an obstacle ahead

Methodology

Workflow is concluded generally as follow:
1. Data collection
2. Train a model with the data collected
3. Loading the model on the Jetbot

Result / Demonstration

Lessons Learned — In a Nutshell

1. Hardware: Understanding how to work with limited resources
👉 Robot CPU is the biggest hardware limitation — Slow Computation
👉 Motor limitations

2. Software: Understand how to read software parameters through documentations
👉 Libraries break apart easily by installing one package — Requires a re-setup
👉 Third party — Only resources from Waveshare
👉 Libraries are constantly updating — Check if parameters are filled correctly

3. Environment: Understand how the contrast in environment plays a role
👉 High contrast envieonment is recommended
👉 Too much light can interfere wih the decision making

RETURN