Following youtube, to create self driving car simulation — using Javascript, without any extra libraries!

KHALED MOHAMED
5 min readDec 15, 2023

--

Project Introduction: Self-Driving Car Simulation

I used chat-gpt, to help my write this blog.

Purpose of the Project:

The purpose of our self-driving car simulation project goes beyond just building another application. It serves as a testament to the potential within the open-source community to innovate, create, and contribute to emerging technologies. While self-driving car simulations exist, our goal was to start afresh, create new products, and contribute to the open-source AI tools community. We believe that by embarking on our own journey, we can push the boundaries of what’s possible and inspire others to do the same.

Personal Focus:

As the sole member who has taken on all roles in the project, my personal focus has been on understanding the entire lifecycle of creating a self-driving car simulation. From project management and development to testing and presenting, I’ve aimed to showcase that with determination and the right resources, an individual can undertake and successfully complete a complex project in the field of AI and machine learning.

By sharing my experience and the project’s journey, I hope to inspire others to venture into new technologies and contribute to the ever-growing world of open-source development. This project is not just about simulating a self-driving car; it’s a testament to the idea that, with patience and dedication, anyone can take on a challenging project and make a meaningful impact on the tech community.

Target Audience:

Our project is created for aspiring developers, AI enthusiasts, and anyone interested in exploring the intricacies of self-driving car simulations. By making our project open-source, we aim to contribute to the community’s knowledge base, providing a valuable resource for those keen on diving into AI and autonomous vehicles.

Title: Navigating the Unknown: My Self-Driving Journey

How to make the sensors know where the car corners is.

In the early days of my computer science journey, I found myself navigating the vast landscape of online learning resources, seeking knowledge that would not only deepen my understanding but also ignite a passion within me. It was during this quest that I stumbled upon Dr. Radu’s comprehensive course on self-driving car simulations.

I vividly remember the first video, where the virtual car moved seamlessly through a simulated environment, making decisions based on neural networks and machine learning. The intricate dance between code and data fascinated me. The prospect of creating something so technologically advanced felt both daunting and exhilarating.

Driven by the desire to challenge myself, I embarked on the journey of self-learning. Hours turned into days, and days into weeks, as I delved into the intricacies of neural networks, sensor simulations, and collision detection. The self-driving car simulation project became more than just a learning opportunity; it became a personal challenge to prove to myself that I could tackle the unknown.

There were moments of frustration and setbacks, yet each obstacle became a stepping stone toward mastery. The project’s purpose evolved beyond learning the technical aspects of self-driving cars. It became a symbol of resilience, determination, and the belief that even without formal education in the field, one could take on complex projects and thrive.

The self-driving car simulation project is not just lines of code; it’s a testament to my journey — a journey marked by curiosity, grit, and the unwavering belief that with the right resources and mindset, one can conquer the unknown. This project is my ode to the countless hours spent learning from online courses, late-night coding sessions, and the joy of seeing a virtual car navigate its simulated world based on my creations.

As the sole member of this endeavor, my hope is that this story inspires others to venture into uncharted territories, to pursue projects that ignite their curiosity, and to believe that they, too, can navigate the unknown.

Project Accomplishments:

JavaScript:

  • Context: Used for the core implementation of the self-driving car simulation, including the logic for the car’s movement, collision detection, and integration with neural networks.
  • HTML and CSS:
  • Context: Utilized for building the landing page and providing a visually appealing introduction to the project. Opted not to use additional frameworks to deepen the understanding of these fundamental web technologies.

Overview of Completed Features:

  1. Realistic Simulation Environment:
  • Description: Implemented a simulation environment that closely mirrors real-world driving scenarios. This includes roads with different types and obstacles, creating a foundation for diverse driving conditions.
  • Value: Provides users with an immersive experience, allowing them to observe the self-driving car’s behavior in various realistic scenarios.

2. Neural Network Integration:

  • Description: Integrated a JavaScript neural network library to simulate the car’s decision-making process based on simulated sensor data. The neural network learns and adapts to the environment during the simulation.
  • Value: Enhances the project’s educational aspect by showcasing the practical implementation of neural networks in a dynamic environment.

3. User-Friendly Interface:

  • Description: Designed a user interface for monitoring the self-driving car simulation in real-time. Users can adjust neural network parameters and observe the car’s behavior, fostering a more interactive and educational experience.
  • Value: Improves user engagement and provides a tool for experimenting with different configurations, enhancing the overall learning experience.

Team Members, Roles, and Timeline:

  • Team Leader and Developer: Khaled Mohamed
  • Role: Project manager, developer, tester, and presenter.
  • Timeline: Started learning from YouTube, specifically Dr. Radu’s full course on self-driving car simulations. The project began with individual learning, followed by the implementation phase.

https://www.linkedin.com/in/khaled-mohamed-fathalla-20975b9b/

https://twitter.com/K_H_A_L_E_D___

--

--